---
title: "Jev AI Review: Decision Models for Agent Workflows"
canonical: https://wavect.io/blog/jev-ai-decision-model-review/
language: en
description: "Jev AI review: learn how TypeSafe's decision model returns typed probabilities for model routing, agent control and bounded automation, plus costs and limits."
image: "https://wavect.io/img/blog/headers/header_jev-ai-decision-model-review.png"
---

[**Back**](/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/team/kevin-riedl/)

[Kevin Riedl](/team/kevin-riedl/) https://linkedin.com/in/wsdt

14 min read · 18 Sep 2026 Last reviewed September 18, 2026

[**Next**](/blog/ai-agent-design-patterns/)

# Jev AI Review: Decision Models for Agent Workflows

TL;DR

Jev turns application state and typed questions into bounded choices, scores, probabilities and confidence values. It can replace language-model calls used only for routing, ranking, retry or escalation, while code retains arithmetic, permissions and side effects. TypeSafe's latency and cost multipliers are vendor results, so production teams should pin a version, calibrate thresholds on their own data, start in shadow mode and keep deterministic fallback paths.

**Jev is an AI model for machine-consumable decisions, not human-readable prose.** It receives application state plus declared questions and returns typed choices, scores, probabilities and confidence values. That makes it interesting for the internal control layer of an agent: route, rank, retry, escalate or stop first; ask a language model to communicate only when language is actually required.

**Research date: 18 September 2026.** This is a documentation and architecture review based on Jev 1.13, not an independent latency benchmark or a production deployment. TypeSafe released Jev in early access on 15 September 2026 and describes it as the first public System One model. [TypeSafe's Jev launch article](https://typesafe.ai/blog/introducing-system-one-models-and-jev)

This page owns one narrow search intent: **what Jev is, how its decision interface works and where it fits in production software**. For a category-level comparison of gateways and routers, use our [LLM gateway and router guide](/blog/llm-gateway-router-comparison-2026/). For per-turn coding-agent routing, use the [NeMo Switchyard review](/blog/nemo-switchyard-model-router/). Those are adjacent architectures, not synonyms for Jev.

## What is Jev, and who built it?

Jev is TypeSafe's first publicly available decision model. The company positions it as a low-latency inference layer for judgments that software can consume directly. Instead of asking for a paragraph and then parsing that paragraph into a route, Jev evaluates a closed question such as “Which handler should process this request?” and returns one of the declared options with a probability distribution.

The popular description that Jev was built by “the person who co-invented ChatGPT” is too broad. TypeSafe's founder profile says Diogo Almeida co-invented RLHF and InstructGPT, methods that led to ChatGPT and GPT-4, while the launch article says his OpenAI work contributed to the research behind ChatGPT. That is significant provenance, but it is not the same claim as inventing the entire ChatGPT product. [TypeSafe's team profile](https://typesafe.ai/team)

## How does Jev turn state into typed decisions?

The request has two conceptual parts: **state**, which contains the relevant application data, and **questions**, which declare the judgments to make. TypeSafe's introduction says the questions are evaluated independently and in parallel against the same state. The result is structured data that code can compare, sort, threshold or route without recovering values from prose. [TypeSafe's Jev introduction](https://docs.typesafe.ai/introduction)

Jev exposes three question primitives. The output schema is bounded by what the developer declares, but bounded output does not make the underlying judgment infallible.

| Primitive | Question shape | Returned signal | Good use |
| --- | --- | --- | --- |
| Choice | Select one declared option | Choice, full option probabilities and confidence | Route a request to code, a specialist model or a person |
| Score | Place the state on a declared rubric | Score, level probabilities and confidence | Rank urgency, quality or review priority |
| Noul | Evaluate a yes or no proposition | Probability that the answer is yes | Gate a branch such as “contains a refund request” |

The [official primitives reference](https://docs.typesafe.ai/primitives) stresses atomic questions and code-level composition. A broad request such as “Is this trade safe?” hides market, policy, exposure, timing and execution judgments behind one answer. A better design decomposes those concerns, keeps arithmetic and invariants in code, and uses Jev only where semantic judgment is genuinely needed.

## Jev versus an LLM versus deterministic code

Jev is not simply a chat model with JSON mode. A conventional LLM still generates a token sequence, even when a schema constrains the final output. Jev is designed around declared decisions and probability distributions. The practical advantage is not prettier JSON. It is a narrower contract between probabilistic inference and ordinary software.

| Component | Best at | Do not delegate |
| --- | --- | --- |
| Deterministic code | Arithmetic, permissions, limits, dates, state transitions and side effects | Ambiguous semantic classification that cannot be maintained as rules |
| Jev | Bounded choices, scores and yes or no judgments over supplied state | User-facing prose, exact calculation, open-ended planning or final authorization |
| Language model | Explanation, synthesis, drafting, dialogue and open-ended reasoning | Unsupervised authority over consequential side effects |

The current model page lists `jev-1.13.0`, a 64k request context with a 32k budget for state plus the longest question, text-only input, and a price of USD 0.042 per million input tokens with output tokens free. English is the primary training language; other languages are supported but need workload-specific evaluation. The moving alias `jev-latest` can change behind an application, so a production pilot should log the returned version and pin a tested model when thresholds depend on it. [TypeSafe's current model reference](https://docs.typesafe.ai/models)

## How can Jev route requests between LLMs?

Model routing is a strong emerging use case because a router usually needs a compact judgment, not a polished answer. A useful route set might be `deterministic_code`, `fast_llm`, `reasoning_llm` and `human_review`. Hard constraints such as blocked data classes, context size, provider availability and budget remain in code. Jev handles the semantic part: what kind of work the request appears to require.

The following example follows the current Python SDK shape and deliberately pins the reviewed version. It is an architecture sketch, not a copy-paste production policy.

```
from typesafe_sdk import Choice, Noul, TypeSafeClient

ROUTE_CONFIDENCE = {
    "deterministic_code": 0.90,
    "fast_llm": 0.80,
    "reasoning_llm": 0.75,
    "human_review": 0.00,
}

def choose_handler(request: str, risk_class: str) -> str:
    # Hard policy belongs in code, before probabilistic routing.
    if risk_class == "prohibited":
        return "reject"

with TypeSafeClient(model="jev-1.13.0") as client:
        response = client.system_one(
            state={"request": request, "risk_class": risk_class},
            questions={
                "route": Choice(
                    instructions="Which handler should process `request`?",
                    criteria={
                        "deterministic_code": "A fixed lookup, rule or calculation is sufficient",
                        "fast_llm": "Short language generation with limited reasoning",
                        "reasoning_llm": "Multi-step interpretation or synthesis is required",
                        "human_review": "Ambiguous, sensitive or outside the declared routes",
                    },
                ),
                "needs_current_sources": Noul(
                    instructions="Does `request` require information that may have changed recently?"
                ),
            },
        )

route = response.answers["route"]
    minimum = ROUTE_CONFIDENCE[route.choice]
    if route.confidence < minimum:
        return "human_review"
    return route.choice
```

The SDK quick start documents the `state`, typed questions and `response.answers` interface used above. [TypeSafe's Python quick start](https://docs.typesafe.ai/introduction/quickstart) The separate confidence guide explains that Choice and Score confidence is derived from the shape of the returned probability distribution. It is not a proof that the selected route is correct. Thresholds must be calibrated against representative data and the consequence of a wrong branch. [TypeSafe's confidence reference](https://docs.typesafe.ai/confidence)

TypeSafe's own intent-routing pattern places the model in front of deterministic logic, specialist LLMs and human review. That is the right mental model: Jev selects a bounded handler; the handler remains responsible for its own permissions, validation and output quality. [TypeSafe's intent-routing pattern](https://docs.typesafe.ai/patterns/intent-routing)

## Which agent steps should become decisions instead of prompts?

Many agent workflows call a language model for every internal step because one interface is convenient. That convenience creates avoidable latency, output tokens, parsing, retries and places where prose can drift away from the control contract. The better question is whether the step produces language for a person or a bounded signal for software.

| Workflow step | Jev can provide | Code must retain | Use an LLM for |
| --- | --- | --- | --- |
| Route | Intent, complexity or risk class | Allowed destinations, quotas and provider health | The selected specialist task |
| Approve | A recommendation or semantic policy match | Authorization, limits, record version and final commit | An explanation for the reviewer |
| Rank | Rubric scores or pairwise relevance | Stable sorting, tie rules and mandatory inclusions | Summaries of the ranked items |
| Retry or stop | Whether the latest result appears incomplete or off-task | Retry caps, idempotency and timeout state | A revised response when another generation is justified |
| Escalate | Ambiguity, sensitivity or exception likelihood | Escalation policy and access control | A concise case brief for the human |

TypeSafe's build guidance says to keep deterministic work in code, ask narrow atomic questions, send only relevant state and route uncertainty to a person or a more expensive reasoning model. That supports a more governable agent, but not a magically deterministic one. The interface is typed; the judgment remains probabilistic. [TypeSafe's workflow design guidance](https://docs.typesafe.ai/concepts/how-to-build-with-system-one)

Use our [AI agent design-pattern guide](/blog/ai-agent-design-patterns/) to decide whether the surrounding system should be single-shot, ReAct, planner-executor, reflective or verifier-gated. Use the [AI agent cost-per-action model](/blog/ai-agent-cost-per-action-2026/) to count the router, retries, reviewers and failed outcomes rather than celebrating a cheap individual call.

## Can Jev execute automated trading decisions?

**Jev can participate in a bounded trading workflow, but it should not be the sole authority for market calculations or order execution.** TypeSafe's published function-calling cookbook uses a trading assistant to map natural-language analytics requests into ten ordinary typed functions. It chooses functions and closed-set arguments such as symbol, window and chart style. The example does not establish profitable signal generation, position sizing, order placement or a risk-management guarantee. [TypeSafe's trading function-calling cookbook](https://docs.typesafe.ai/cookbooks/function_calling)

A safer architecture has five boundaries:

1. **Data and feature service:** validates timestamps, computes indicators and normalizes market data deterministically.
2. **Jev decision layer:** classifies semantic regime, event relevance, strategy fit or review priority using closed options.
3. **Risk engine:** calculates position size, exposure, price limits, loss limits, session rules and portfolio constraints in code.
4. **Execution service:** validates an immutable order proposal, enforces idempotency and records broker responses.
5. **Oversight:** starts in shadow mode, compares decisions with an approved baseline, and routes uncertain or high-impact cases to review.

Do not ask Jev to calculate P&L, compare timestamps, derive an exact quantity or infer a missing limit price. Do not treat its confidence as the probability that a trade will make money. A semantic model can help choose a declared branch; a deterministic risk service must decide whether that branch is allowed to touch capital. This article is software architecture analysis, not investment advice.

## Where does Jev 1.13 fail?

TypeSafe publishes a useful jaggedness page for the reviewed version. It says Jev can be literal, weak on numeric precision and date comparison, distracted by large irrelevant state, affected by adversarial content and unsuitable for text generation. It also recommends enforcing structural identities and arithmetic in code. [TypeSafe's Jev 1.13 limitation register](https://docs.typesafe.ai/model-jaggedness/jev-1.13)

- **Typed is not correct.** Jev can stay inside the schema and still select the wrong option.
- **Probabilistic is not deterministic.** Stable structured output reduces interface variance, but repeated judgments are not a mathematical constant.
- **Confidence is not authorization.** A high value cannot grant access, approve a payment or bypass a risk limit.
- **State is an attack surface.** User-supplied or retrieved text can influence a semantic decision; isolate trusted policy and test adversarial inputs.
- **Closed sets need an escape route.** Add an explicit unknown, other or human-review option when the real world may fall outside the declared choices.
- **Language quality varies.** Evaluate every target language separately rather than translating an English threshold.

## Are Jev's speed and cost claims credible?

The numbers are promising, but they need precise attribution. TypeSafe reports 70 to 500 ms end-to-end latency, USD 0.042 per million input tokens and no metered output-token charge. Its launch article describes a 40x to 200x speed range for comparable System One-shaped queries. The company's headline 193.6x faster and 444.6x cheaper figures come from its own four-workflow evaluation and are explicitly described as likely near the high end of real-world gains.

The evaluation site compares structured workflows across models against consensus labels and reports that the workflow form outperformed the same policy expressed as one prompt in its tested setup. It is useful evidence for decomposition, but it remains a vendor-designed harness with model-generated reference labels, not an independent audit or a guarantee for another workload. [TypeSafe's workflow evaluation site](https://evals.typesafe.ai/)

Therefore, avoid publishing “20 to 200 times faster” or “40 to 400 times cheaper” as universal product facts. Measure **cost per accepted decision**: inference, retries, fallback LLM calls, human review, engineering time and the cost of wrong routes divided by decisions that pass the same acceptance criteria.

## How should a team pilot Jev in production?

Start with one frequent, reversible decision that already has labeled outcomes. Model routing is a good candidate because the existing handler can stay as the fallback while Jev runs in shadow mode.

1. **Define the decision contract.** Name the allowed choices, the unknown route, hard rules and which component owns the final side effect.
2. **Build a representative evaluation set.** Include ordinary cases, rare cases, ambiguity, multilingual inputs, prompt injection and stale or contradictory context.
3. **Pin and log the model.** Store the versioned model ID, input schema version, decision, full probability distribution, confidence, chosen handler and outcome.
4. **Calibrate by consequence.** A wrong FAQ route and a wrong payment route should not share a threshold. Low confidence is one escalation signal, not the only one.
5. **Shadow before enforcing.** Compare Jev with the current route, inspect disagreements, then enable only the classes that meet an agreed quality and latency bar.
6. **Retain a bypass.** Provider failure, rate limits or model drift must not trap the workflow. Keep a deterministic default and a fast rollback.
7. **Re-evaluate every version.** An alias can move. Re-run the same set before changing a pinned version or decision policy.

For sensitive data, TypeSafe says customer requests are not used to train Jev and documents zero-data-retention availability for enterprise customers. A buyer still needs to review the applicable DPA, retention configuration, region, access controls and incident terms for the actual account. [TypeSafe's legal and data-handling index](https://docs.typesafe.ai/legal)

Place the pilot inside an observable [agent harness](/blog/agent-harness-engineering/) rather than wiring a probability directly to a side effect. At Wavect, our [AI product and agent engineering](/services/artificial-intelligence/) work starts with the decision contract, evaluation set and rollback path. The [Twinsoft AI case study](/case-studies/twinsoft-ai/) is separate evidence of our delivery work, not a claim that we have deployed Jev for that client. Use the [pre-launch QA checklist](/software-development-guide/software-qa-checklist-before-launch/) for the surrounding release controls, or [bring us one high-volume decision and its acceptance criteria](/contact/).

## Our verdict: Jev is a decision layer, not a smaller chatbot

Jev matters because it challenges a wasteful default: using a prose generator for every internal judgment. A typed, probability-aware decision interface can reduce parsing and make control flow easier to inspect. Model routing, triage, ranking and bounded escalation are plausible early use cases.

The strongest version of the idea is also the least magical. Code retains rules, arithmetic, permissions and side effects. Jev supplies narrow semantic judgments. Language models generate language and perform open-ended reasoning. Humans or independent controls remain responsible where the consequence requires them. That separation can make an agent workflow faster, cheaper and more governable without pretending probabilistic software has become deterministic.

## Frequently asked questions about Jev AI

### What is Jev AI?

Jev is TypeSafe's first System One model. It evaluates supplied application state against typed questions and returns bounded choices, scores or yes and no probabilities that software can consume directly.

### Is Jev a large language model?

TypeSafe presents Jev as a different model class optimized for structured decisions rather than string generation. It still performs probabilistic inference over natural-language state, but its interface and training objective are designed around declared decisions.

### Does Jev generate text?

No user-facing prose. Jev returns typed values, probability distributions and confidence signals for declared questions. Use a language model when the workflow needs an explanation, draft, conversation or other open-ended text.

### Is Jev deterministic?

No. Its output contract is structured and bounded, but the judgment remains probabilistic. Typed output prevents out-of-schema values; it does not guarantee the selected value is correct or identical on every evaluation.

### Can Jev choose which LLM handles a request?

Yes. A Choice question can classify a request into declared routes such as deterministic code, a fast LLM, a reasoning LLM or human review. Hard policy, provider health, budget limits and final authorization should remain in code.

### Can Jev make automated trading decisions?

It can provide bounded semantic judgments inside a trading system, but should not calculate exact prices, sizes, dates or risk limits and should not be the sole order authority. Keep data validation, quantitative risk controls and execution invariants in deterministic services.

### How fast and cheap is Jev?

TypeSafe lists USD 0.042 per million input tokens, free output tokens and reports 70 to 500 ms latency. Its largest speed and cost multipliers come from vendor-run workflows and should be validated on the buyer's own accepted-decision metric.

### Is Jev ready for production?

Jev is available in early access. A bounded production pilot is reasonable when it has a pinned model version, representative evaluations, risk-specific thresholds, shadow comparison, observability, a deterministic fallback and a tested rollback.

## Final thoughts

Jev introduces a useful separation: decisions for machines do not need to be written as prose for people. Its typed choices, scores and probabilities are a promising fit for model routing and other high-volume control steps.

The production opportunity is not to replace every LLM with Jev. It is to put each kind of work in the right layer: deterministic rules in code, bounded semantic judgment in Jev, communication and open-ended reasoning in language models, and independent authorization around consequential actions.

## You may also like..

[**NeMo Switchyard: Per-Turn Model Routing for Agents** Compare Jev's typed semantic decisions with a router that uses coding-agent execution signals to choose a model on each turn.](/blog/nemo-switchyard-model-router/) [**AI enablement or generic AI consulting?** Compare a measurable implementation with advisory work that stops before production.](/compare/ai-enablement-vs-generic-ai-consultancy/)

Models and infrastructure

## Continue through this cluster

Model selection, inference economics, local deployment, compression and serving architecture.

[Start with the cornerstone**Self-Hosting LLMs in the EU: When Open Weights Actually Pay Off**](/blog/self-hosting-llms-eu-cost/)

- [SwarmLLM Review 2026: Browser P2P LLM Inference Across Phones and Laptops](/blog/swarmllm-browser-p2p-inference-review-2026/)
- [Phonely Alma Review: Is the Voice LLM Ready for Production?](/blog/phonely-alma-voice-llm-review/)
- [Utopia Review: Temporal Knowledge Graph for Enterprise](/blog/utopia-temporal-knowledge-graph/)
- [NVIDIA PAIR Review: Local AI Routing and the AMD Gap](/blog/nvidia-pair-amd-rocm-strix-halo/)
- [Tencent Hy4 Preview Review: Is the 1M-Context Coding Model Worth a Pilot?](/blog/tencent-hy4-preview-coding-agent-review/)

[**Back**](/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/team/kevin-riedl/)

[Kevin Riedl](/team/kevin-riedl/) https://linkedin.com/in/wsdt

14 min read · 18 Sep 2026 Last reviewed September 18, 2026

[**Next**](/blog/ai-agent-design-patterns/)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/blog/jev-ai-decision-model-review/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-09-18",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-09-18",
      "url": "https://wavect.io/blog/jev-ai-decision-model-review/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "abstract": "Jev turns application state and typed questions into bounded choices, scores, probabilities and confidence values. It can replace language-model calls used only for routing, ranking, retry or escalation, while code retains arithmetic, permissions and side effects. TypeSafe's latency and cost multipliers are vendor results, so production teams should pin a version, calibrate thresholds on their own data, start in shadow mode and keep deterministic fallback paths.",
  "articleBody": " Blog overview/AI and agents/Models and infrastructure Jev AI Review: Decision Models for Agent Workflows TL;DR Jev turns application state and typed questions into bounded choices, scores, probabilities and confidence values. It can replace language-model calls used only for routing, ranking, retry or escalation, while code retains arithmetic, permissions and side effects. TypeSafe's latency and cost multipliers are vendor results, so production teams should pin a version, calibrate thresholds on their own data, start in shadow mode and keep deterministic fallback paths. Jev is an AI model for machine-consumable decisions, not human-readable prose. It receives application state plus declared questions and returns typed choices, scores, probabilities and confidence values. That makes it interesting for the internal control layer of an agent: route, rank, retry, escalate or stop first; ask a language model to communicate only when language is actually required. Research date: 18 September 2026. This is a documentation and architecture review based on Jev 1.13, not an independent latency benchmark or a production deployment. TypeSafe released Jev in early access on 15 September 2026 and describes it as the first public System One model. TypeSafe's Jev launch article This page owns one narrow search intent: what Jev is, how its decision interface works and where it fits in production software. For a category-level comparison of gateways and routers, use our LLM gateway and router guide. For per-turn coding-agent routing, use the NeMo Switchyard review. Those are adjacent architectures, not synonyms for Jev. What is Jev, and who built it? Jev is TypeSafe's first publicly available decision model. The company positions it as a low-latency inference layer for judgments that software can consume directly. Instead of asking for a paragraph and then parsing that paragraph into a route, Jev evaluates a closed question such as “Which handler should process this request?” and returns one of the declared options with a probability distribution. The popular description that Jev was built by “the person who co-invented ChatGPT” is too broad. TypeSafe's founder profile says Diogo Almeida co-invented RLHF and InstructGPT, methods that led to ChatGPT and GPT-4, while the launch article says his OpenAI work contributed to the research behind ChatGPT. That is significant provenance, but it is not the same claim as inventing the entire ChatGPT product. TypeSafe's team profile How does Jev turn state into typed decisions? The request has two conceptual parts: state, which contains the relevant application data, and questions, which declare the judgments to make. TypeSafe's introduction says the questions are evaluated independently and in parallel against the same state. The result is structured data that code can compare, sort, threshold or route without recovering values from prose. TypeSafe's Jev introduction Jev exposes three question primitives. The output schema is bounded by what the developer declares, but bounded output does not make the underlying judgment infallible. Jev's three documented decision primitives PrimitiveQuestion shapeReturned signalGood use ChoiceSelect one declared optionChoice, full option probabilities and confidenceRoute a request to code, a specialist model or a person ScorePlace the state on a declared rubricScore, level probabilities and confidenceRank urgency, quality or review priority NoulEvaluate a yes or no propositionProbability that the answer is yesGate a branch such as “contains a refund request” The official primitives reference stresses atomic questions and code-level composition. A broad request such as “Is this trade safe?” hides market, policy, exposure, timing and execution judgments behind one answer. A better design decomposes those concerns, keeps arithmetic and invariants in code, and uses Jev only where semantic judgment is genuinely needed. Jev versus an LLM versus deterministic code Jev is not simply a chat model with JSON mode. A conventional LLM still generates a token sequence, even when a schema constrains the final output. Jev is designed around declared decisions and probability distributions. The practical advantage is not prettier JSON. It is a narrower contract between probabilistic inference and ordinary software. Use each component for the work it is shaped to do ComponentBest atDo not delegate Deterministic codeArithmetic, permissions, limits, dates, state transitions and side effectsAmbiguous semantic classification that cannot be maintained as rules JevBounded choices, scores and yes or no judgments over supplied stateUser-facing prose, exact calculation, open-ended planning or final authorization Language modelExplanation, synthesis, drafting, dialogue and open-ended reasoningUnsupervised authority over consequential side effects The current model page lists jev-1.13.0, a 64k request context with a 32k budget for state plus the longest question, text-only",
  "articleSection": "AI Infrastructure",
  "author": {
    "@id": "https://wavect.io/team/kevin-riedl/#person",
    "@type": "Person",
    "name": "Kevin Riedl",
    "sameAs": [
      "https://www.wikidata.org/wiki/Q139796365",
      "https://www.linkedin.com/in/wsdt",
      "https://github.com/wsdt"
    ],
    "url": "https://wavect.io/team/kevin-riedl/"
  },
  "citation": [
    {
      "@type": "WebPage",
      "name": "TypeSafe's Jev launch article",
      "url": "https://typesafe.ai/blog/introducing-system-one-models-and-jev"
    },
    {
      "@type": "WebPage",
      "name": "TypeSafe's team profile",
      "url": "https://typesafe.ai/team"
    },
    {
      "@type": "WebPage",
      "name": "TypeSafe's Jev introduction",
      "url": "https://docs.typesafe.ai/introduction"
    },
    {
      "@type": "WebPage",
      "name": "official primitives reference",
      "url": "https://docs.typesafe.ai/primitives"
    },
    {
      "@type": "WebPage",
      "name": "TypeSafe's current model reference",
      "url": "https://docs.typesafe.ai/models"
    },
    {
      "@type": "WebPage",
      "name": "TypeSafe's Python quick start",
      "url": "https://docs.typesafe.ai/introduction/quickstart"
    },
    {
      "@type": "WebPage",
      "name": "TypeSafe's confidence reference",
      "url": "https://docs.typesafe.ai/confidence"
    },
    {
      "@type": "WebPage",
      "name": "TypeSafe's intent-routing pattern",
      "url": "https://docs.typesafe.ai/patterns/intent-routing"
    },
    {
      "@type": "WebPage",
      "name": "TypeSafe's workflow design guidance",
      "url": "https://docs.typesafe.ai/concepts/how-to-build-with-system-one"
    },
    {
      "@type": "WebPage",
      "name": "TypeSafe's trading function-calling cookbook",
      "url": "https://docs.typesafe.ai/cookbooks/function_calling"
    },
    {
      "@type": "WebPage",
      "name": "TypeSafe's Jev 1.13 limitation register",
      "url": "https://docs.typesafe.ai/model-jaggedness/jev-1.13"
    },
    {
      "@type": "WebPage",
      "name": "TypeSafe's workflow evaluation site",
      "url": "https://evals.typesafe.ai/"
    },
    {
      "@type": "WebPage",
      "name": "TypeSafe's legal and data-handling index",
      "url": "https://docs.typesafe.ai/legal"
    }
  ],
  "dateModified": "2026-09-18",
  "datePublished": "2026-09-18",
  "description": "Jev turns application state and typed questions into bounded choices, scores, probabilities and confidence values. It can replace language-model calls used only for routing, ranking, retry or escalation, while code retains arithmetic, permissions and side effects. TypeSafe's latency and cost multipliers are vendor results, so production teams should pin a version, calibrate thresholds on their own data, start in shadow mode and keep deterministic fallback paths.",
  "headline": "Jev AI Review: Decision Models for Agent Workflows",
  "image": "https://wavect.io/img/blog/headers/header_jev-ai-decision-model-review.svg",
  "inLanguage": "en",
  "keywords": "Jev AI, Decision Models, AI Agents",
  "mainEntityOfPage": {
    "@id": "https://wavect.io/blog/jev-ai-decision-model-review/",
    "@type": "WebPage"
  },
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/blog/jev-ai-decision-model-review/",
  "wordCount": 3095
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/",
      "name": "Home",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/overview/",
      "name": "Blog overview",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/topics/ai-agents/",
      "name": "AI and agents",
      "position": 3
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/clusters/models-infrastructure/",
      "name": "Models and infrastructure",
      "position": 4
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/jev-ai-decision-model-review/",
      "name": "Jev AI Review: Decision Models for Agent Workflows",
      "position": 5
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Jev is TypeSafe's first System One model. It evaluates supplied application state against typed questions and returns bounded choices, scores or yes and no probabilities that software can consume directly."
      },
      "name": "What is Jev AI?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "TypeSafe presents Jev as a different model class optimized for structured decisions rather than string generation. It still performs probabilistic inference over natural-language state, but its interface and training objective are designed around declared decisions."
      },
      "name": "Is Jev a large language model?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No user-facing prose. Jev returns typed values, probability distributions and confidence signals for declared questions. Use a language model when the workflow needs an explanation, draft, conversation or other open-ended text."
      },
      "name": "Does Jev generate text?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. Its output contract is structured and bounded, but the judgment remains probabilistic. Typed output prevents out-of-schema values; it does not guarantee the selected value is correct or identical on every evaluation."
      },
      "name": "Is Jev deterministic?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. A Choice question can classify a request into declared routes such as deterministic code, a fast LLM, a reasoning LLM or human review. Hard policy, provider health, budget limits and final authorization should remain in code."
      },
      "name": "Can Jev choose which LLM handles a request?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "It can provide bounded semantic judgments inside a trading system, but should not calculate exact prices, sizes, dates or risk limits and should not be the sole order authority. Keep data validation, quantitative risk controls and execution invariants in deterministic services."
      },
      "name": "Can Jev make automated trading decisions?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "TypeSafe lists USD 0.042 per million input tokens, free output tokens and reports 70 to 500 ms latency. Its largest speed and cost multipliers come from vendor-run workflows and should be validated on the buyer's own accepted-decision metric."
      },
      "name": "How fast and cheap is Jev?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Jev is available in early access. A bounded production pilot is reasonable when it has a pinned model version, representative evaluations, risk-specific thresholds, shadow comparison, observability, a deterministic fallback and a tested rollback."
      },
      "name": "Is Jev ready for production?"
    }
  ]
}
```
