Sep 16, 2026 · ml · 20 min read · 4029 words intermediate

System One Models and Jev — TypeSafe AI's Bet That Not Every Decision Needs a Language Model.

ml inference reinforcement-learning mlops structured-output

On September 15, 2026, TypeSafe AI announced a new model category it calls System One Models, and shipped the first one, Jev, in early access. The pitch: most of the AI calls buried inside production software aren't "write me an essay" — they're small, structured judgments (is this angry? which of these twelve categories? how confident are you?) that a full frontier LLM is wildly over-provisioned to answer, at 3–330 seconds and $0.20–$10 per million tokens, when 70–500 milliseconds and four cents would do. Jev trades away free-text generation entirely — no reasoning traces, no explanations, no chat — for typed, calibrated, parallel-sampled outputs trained with a new objective TypeSafe calls RLCD (Reinforcement Learning for Calibrated Decisions). This piece works through the architecture, the training objective and how it differs from RLHF and RLVR, the workflow-evals benchmark methodology and its actual numbers, the open-source LLM adapter that makes the comparison reproducible, and — because a vendor's own launch post is not a neutral source — where the claims currently outrun the evidence.

1. The idea: not every AI call needs a language model

TypeSafe frames the split using Daniel Kahneman's Thinking, Fast and Slow distinction between System 1 cognition — fast, intuitive, pattern-matching, running below conscious deliberation — and System 2 — slow, effortful, step-by-step reasoning. It's a slightly loaded borrowing, since Kahneman's System 1 is also where human cognitive biases live, but the software analogy TypeSafe wants you to draw is narrower and more defensible than the human one: a lot of what production AI systems actually do at scale is not open-ended reasoning, it's classification, routing, scoring, extraction, and branching — the kind of decision a rules engine used to make with a hand-written heuristic, now made better by a learned model, but still fundamentally a small, structured, repeated judgment rather than a conversation.

Large language models can do this work today — you send a prompt, ask for JSON, and parse the response — but they're built and priced for the System 2 case: an architecture that generates a full probability distribution over the next token, sequentially, one token at a time, hundreds or thousands of times per response, with test-time reasoning chains that can run for minutes on hard problems. Using that machinery to answer "is this email spam?" is a category mismatch, and it's an expensive one at the volumes real systems operate at: a fraud-scoring pipeline evaluating every transaction, a content moderator scoring every upload, a workflow agent deciding at every step which of ten tools to call next.

Two categories of AI call inside a production system System One task "is this angry?" "which of these 12 categories?" "score this 0–1" typed, structured, repeated millions of times per day → Jev: 70–500 ms, $0.042/MTok in System Two task "write this PR description" "debug this stack trace" "plan this multi-step task" open-ended, sequential text deliberate, often one-off → frontier LLM: 3–330 s, $0.20–$10/MTok in

Fig. 1 — TypeSafe's structural claim is not "Jev replaces LLMs," it's that most individual AI calls inside a workflow are the left box, and routing them through the right box's architecture wastes two to three orders of magnitude of latency and cost per call.

2. Jev, concretely: what it actually takes and returns

Jev is TypeSafe's description of "a frontier-intelligence function call: unstructured state in, typed probabilistic decisions out." In practice that means three question shapes, each returning a calibrated probability distribution rather than a string:

Question typeShapeExampleReturns
Noulbinary"Is this review positive?"single probability, e.g. 0.94
Choicecategorical, up to 255 options"Which of these 8 support categories?"full probability distribution across options
Scorecontinuous"Rate the writing quality 0–1"distribution + point estimate + confidence

Two design choices fall directly out of the System 1 framing:

  • No generated text at all. Jev can't write an explanation, a rationale, or a chain of thought — it can only emit the typed answer to a question you defined in advance. That is a real capability loss (you can't ask it "why"), and it's also exactly how you eliminate an entire class of failure: a model that cannot generate free text cannot hallucinate a fact, invent a field name, or produce malformed JSON, because "malformed" isn't a category its output space contains.
  • Parallel sampling instead of sequential decoding. A standard LLM produces output autoregressively — token n depends on tokens 1…n−1, so generation is inherently sequential even with speculative decoding tricks layered on top. Jev's architecture, per TypeSafe, uses what they call a parallel sampler: because the output space is a fixed, small, pre-declared set of typed slots (a probability per Noul, a distribution per Choice) rather than an open-ended token sequence, every output can in principle be computed in one pass rather than one-token-at-a-time. That's the mechanical reason the latency figure lands at 70–500 ms instead of multiple seconds — it isn't a smaller model doing the same sequential thing faster, it's a different generation procedure that sidesteps sequential dependency for this specific output shape.
What's not disclosed: TypeSafe's launch post explicitly withholds the model architecture itself — "details remain proprietary." Everything above about why parallel sampling is possible for this output shape is the load-bearing engineering logic that would make the speed claim plausible; none of it has been independently verified against an actual weights inspection, and TypeSafe says architectural detail is coming in a future post.

3. RLCD: training a model to know how often it's right

The training method is the part of this announcement with the most genuine novelty, and it's worth being precise about what problem it's solving. Post-training an LLM today typically means one of two things:

MethodReward signalWhat it optimizes forWhere it's used
RLHF (reinforcement learning from human feedback)human preference judgments between candidate outputsoutputs humans prefer — helpful, well-formatted, non-offensivechat model alignment
RLVR (reinforcement learning from verifiable rewards)an automatic checker — did the code compile, did the math check outoutputs that are verifiably correct on checkable tasksreasoning models, code models
RLCD (TypeSafe, new)whether stated confidence matches observed accuracyoutputs whose probability is calibrated — a 90% claim is right ~90% of the timeSystem One decision models (Jev)

Neither RLHF nor RLVR directly targets calibration. A model trained with RLHF can be confidently wrong — nothing in "humans preferred this response" forces the stated or implied confidence to track actual correctness rate. A model trained with RLVR is only as good as tasks that have a hard verifier, which most System One classification and scoring tasks don't (there's no compiler for "is this customer angry"). RLCD's stated objective is narrower and more mechanical than either: TypeSafe puts it as training the model so that "if it flags 100 customer messages as having a 90% chance of expressing anger, about 90 should actually express anger." That's a direct statement of calibration as the optimization target, not a side effect hoped for as a byproduct of preference or correctness training.

Calibration, formally, is the property that among all predictions the model assigns probability \(p\), the empirical frequency of the positive outcome is also \(p\). One standard way to score it is the Brier score for a binary prediction \(\hat{p}\) against outcome \(y \in \{0,1\}\):

\[ \text{Brier} = \frac{1}{N}\sum_{i=1}^{N} (\hat{p}_i - y_i)^2 \]

A lower Brier score means predictions are both accurate and well-calibrated — a model that's always 51% confident and right 51% of the time can have a decent Brier score despite being useless for decision-making, while a model that's 99% confident and right 60% of the time scores badly despite occasionally being "smart." RLCD's implicit bet is that for automation — code that reads a probability and branches on a threshold — calibration matters more than raw top-1 accuracy, because a well-calibrated 70%-confidence output tells the calling code exactly how much to trust it, while an overconfident LLM logit does not.

What TypeSafe hasn't published: the actual RLCD training algorithm, loss function, or the calibration dataset/methodology used to construct reward signal. "How often it's right" requires ground-truth labels for the calibration target during training, and the launch post is silent on where those labels come from, at what scale, or how the method avoids collapsing to a well-calibrated-but-low-accuracy fixed point (the "always predict the base rate" degenerate solution that trivially satisfies calibration while providing zero discriminative value). This is the single most important open technical question in the whole announcement.

4. The rest of the stack: state in, structured decisions out

TypeSafe describes three components built together, not just a new model dropped into an existing serving stack:

  1. A new model architecture generating structured outputs directly rather than a token sequence later parsed into structure — proprietary, undisclosed.
  2. A parallel sampler replacing sequential decoding, described above.
  3. RLCD as the training methodology, described above.

The framing throughout is "unstructured state in, typed probabilistic decisions out" — meaning the input side stays flexible (you hand it arbitrary program state: a customer message, a transaction record, a partially-filled form) while the output side is fixed at question-definition time by a schema you write. This is the opposite shape from a standard LLM tool-calling setup, where the input (a chat message list) is the rigid, standardized part and the output (whatever JSON the model decides to emit against a requested schema, with no guarantee it validates) is the unreliable part.

5. Cost and latency: the headline numbers

MetricFrontier LLMs (typical range)Jev (TypeSafe's figures)Ratio claimed
End-to-end latency3–329 seconds70–500 milliseconds≈40×–200× faster
Input token price$0.20–$10 / MTok$0.042 / MTok≈5×–240× cheaper
Output token price≈5× input price, typicallyfreen/a (structural — see below)
Reported workflow-level gain (production workloads)up to 193.6× speed, 444.6× costvendor-reported, single workload class

"Output tokens are free" sounds like a pricing gimmick until you connect it to the architecture: Jev doesn't generate a token sequence, so there's no variable-length output to meter by the token the way an LLM's response length is metered. Whatever unit cost exists is folded into the flat per-call/per-input-token price instead — which also removes an entire class of cost unpredictability that comes from an LLM occasionally deciding to write three paragraphs of unrequested reasoning before answering a yes/no question.

6. Workflow evals: how TypeSafe actually measured this

Rather than a single benchmark accuracy number, TypeSafe built a comparison method it calls workflow evals, published in detail at evals.typesafe.ai. The core methodological move: instead of asking a model to solve an entire task end-to-end in one prompt, the workflow decomposes the task into a sequence of narrow Noul/Choice/Score questions and defers everything else — control flow, aggregation, thresholding — to ordinary code. This is a genuinely interesting and defensible eval design choice independent of who's promoting it: it isolates "how good is this model at answering a single well-posed structured question" from "how good is this model at figuring out what questions to ask and how to combine the answers," which is a different (and much harder to attribute) skill.

Ground truth for each question comes from an average of GPT-6 Astra and Claude Fable 5.1's responses at high thinking levels — using the most expensive, most capable models available as the reference labels, on the theory that if you can't get human labels at scale, the next best proxy is the two most capable systems you can afford, averaged to reduce single-model idiosyncrasy.

ApproachAccuracyCost / caseLatency
Claude Opus 5, single prompt64.8%$0.3417
Claude Opus 5, decomposed workflow73.1%$0.1761
Jev, decomposed workflow~67.8% (avg across tasks)$0.0004~0.4 s

Two things are worth pulling apart in that table, because they point in different directions. First: workflow decomposition itself is a real, model-agnostic improvement — Opus 5 goes from 64.8% to 73.1% accuracy and gets cheaper just from restructuring the same underlying model's usage pattern, before Jev enters the comparison at all. That's a useful, transferable finding independent of whether you ever adopt Jev. Second: Jev's own accuracy (~67.8%) sits below Opus 5's workflow-decomposed accuracy (73.1%) in this table, while its cost is roughly 440× lower and its latency roughly an order of magnitude better. TypeSafe's own framing — "the Pareto frontier for almost 2 orders of magnitude" — is a claim about the cost/accuracy trade curve, not a claim that Jev is more accurate than a frontier model on these tasks. It is explicitly a "much cheaper, meaningfully less accurate, but Pareto-efficient at its price point" result, which is a legitimate but different claim than the "eliminates hallucination and type errors entirely" line from the launch post might lead a skimming reader to assume.

Reading the per-model breakdown honestly: across the four published workflows, accuracy varies a lot by task and model — Claude Sonnet 5 lands 60–73% on customer-service-shaped tasks, Gemini Flash ranges 37–77%, Llama 52–76%. No single non-Jev model dominates every workflow, and Jev's own accuracy band (reported around 67.8% on average) sits inside that same noisy range rather than clearly above or below it. The honest read of this data is "Jev is competitive with mid-tier LLM accuracy on these decomposed tasks, at a small fraction of the cost and latency" — a solid but more modest claim than "eliminates errors."

7. The "0% hallucination" claim — and why it needs an asterisk

TypeSafe's launch post states Jev achieves 0% type errors, and frames this as a mathematical guarantee rather than an empirical measurement — worth reading exactly as stated: schema conformance is guaranteed, because the output space is a closed, pre-declared set of typed slots the architecture cannot escape from (there's no way to emit malformed JSON if you never generate JSON as text in the first place — you populate typed fields directly). That is a real and valuable property, and it's the correct way to eliminate an entire category of production failure that LLM-based structured output pipelines do suffer from today (a model emitting a stray comma, an extra field, a string where a number was expected).

But "0% type error" is a claim about output format, not about output correctness. A Jev call can be perfectly well-typed — a valid float between 0 and 1, in the right field — and still be wrong about whether the customer is actually angry. TypeSafe's own workflow-evals numbers above show this plainly: 67.8% average accuracy is not 0% error in any sense that matters to a system relying on the answer. The launch post's own headline language ("eliminate hallucination and type errors entirely") conflates two different guarantees — a structural one that's genuinely airtight by construction, and a semantic one that the accuracy table directly contradicts. Read the type-safety claim as "the field will never be malformed," not as "the answer will never be wrong."

8. The adapter: an admirably falsifiable design choice

The most methodologically credible thing about this launch is that TypeSafe open-sourced system-one-adapter-python — a drop-in replacement for the same evaluation API, backed by any LLM provider instead of Jev. This means every comparison in the launch post and on the evals site is, in principle, independently re-runnable by a third party against a model of their choosing, using the exact same question-asking interface:

from system_one_adapter import SystemOneAdapterClient, Noul

client = SystemOneAdapterClient(
    structured_outputs=True,
    llm_answer_mode="probabilities",
    normalize_probabilities=True,
)

response = client.system_one(
    state="This book was a delight to read.",
    questions={"positive": Noul(instructions="The book review is positive.")},
    provider="openai",
    model="gpt-4o-mini",
)

The adapter supports both a "probabilities" mode (asking the LLM for a per-label distribution, mirroring Jev's native output) and a "discrete" mode (single-value answers), plus full usage diagnostics — token counts, retry counts, latency, and a debug log of every underlying LLM call including failures. That last piece matters more than it looks: it means the workflow-evals numbers for competing LLMs aren't hand-run once and reported — they're produced through the same harness Jev is measured with, which is the right way to run a comparison a skeptical reader should trust more than most vendor benchmarks, precisely because a third party can point the same client at Gemini or Llama or a future Jev-2 and reproduce the table above without TypeSafe's involvement.

It doesn't remove every source of bias — see below — but it's a meaningfully more falsifiable posture than a PDF of internal numbers, and it deserves to be called out as good practice separate from whether the underlying claims hold up.

9. Where this is aimed

Use caseWhy System One fits
Classification / routing / scoring inside a pipelinehigh call volume, low per-call latency budget, output feeds directly into code logic
Map-reduce over large datasetsconverting unstructured records into structured features at scale, where LLM cost/latency compounds linearly with row count
Real-time / latency-sensitive UX100ms-class latency makes AI judgments usable inside an interaction loop, not just async batch jobs
Guardrailing other LLM outputsscoring, judging, and jailbreak detection on the output of a separate (often larger, slower) generation step

Two demo projects illustrate the latency claim concretely rather than abstractly. Doom Bot runs real-time game intelligence off structured game state at roughly $7/hour for 10 queries/second — a workload that would be economically and latency-wise unworkable against a frontier LLM's multi-second response times. Wikiracing has the model navigate Wikipedia by picking a link at each step from a page that can offer hundreds to thousands of link choices — a high-cardinality selection problem where TypeSafe argues the compounding benefit of a low, well-calibrated per-step error rate shows up clearly, since a small per-step hallucination rate compounds multiplicatively across a multi-step path.

10. Stated limits, and the gaps around them

  • Cardinality cap of 255 choices. A Choice question can't select from more than 255 options in one call; higher-cardinality decisions need a two-stage scoring approach (narrow, then choose). This is a real constraint for tasks like "which of our 10,000 SKUs does this describe," and TypeSafe doesn't give a worked example of the two-stage pattern's accuracy or latency cost yet.
  • No image input. Structured state is currently text-only, ruling out a large class of moderation and classification tasks that need visual input.
  • Evaluation workflows authored by TypeSafe's own capabilities team. The four published workflows were built in-house, which the company itself flags as a potential source of bias — a team building both the model and the eval tasks has an incentive, even unintentionally, to pick tasks the model is good at.
  • Reference-label bias toward two labs. Ground truth comes from averaging GPT-6 Astra and Claude Fable 5.1 — both large, expensive, RLHF-trained chat models. Whatever biases those two models share (and two models from adjacent training paradigms share more than two independently-sourced human raters would) propagate directly into what "accuracy" means throughout every table in this piece.
  • No public benchmark numbers. The launch post explicitly declines to report standard benchmarks like MMLU, and gives no detail on training data sourcing or why the new training algorithm was specifically necessary rather than an existing calibration technique (e.g. temperature scaling, Platt scaling, or conformal prediction) applied post-hoc to an existing LLM's logits. TypeSafe says more will come in future posts; as of this writing it hasn't.
What's verified vs. vendor-claimed, at a glance Independently checkable open-source LLM adapter published eval harness code structural type-safety (by construction) stated 255-choice cardinality cap RLCD framed as a calibration objective Vendor-claimed, unverified model architecture (proprietary) exact RLCD algorithm / loss 193.6× / 444.6× workflow gains accuracy vs. public benchmarks training data provenance

Fig. 2 — The launch post mixes a genuinely reproducible half (the adapter, the harness, the structural type guarantee) with a genuinely opaque half (the model itself, the training method's mechanics, the highest-multiplier headline numbers). Treat each side with the scrutiny it has earned separately.

11. Why it's named after an economist

Jev is named for William Stanley Jevons, the 19th-century economist behind the Jevons paradox — the observation that making a resource more efficient to use can increase total consumption of it, because the efficiency gain lowers the effective cost per use and unlocks new uses that weren't previously worth the cost. Jevons originally described this for coal consumption after steam-engine efficiency improvements; TypeSafe is explicitly betting on the same dynamic for AI decision-making — that a 40×–200× drop in the cost of making one small structured decision doesn't just make existing AI-in-the-loop systems cheaper, it makes economically viable a category of use cases (per-row feature extraction over petabyte datasets, per-transaction real-time scoring, per-turn game-state judgments) that were never going to run through a $5-per-million-token frontier LLM in the first place. Whether that bet plays out is an economic claim about elasticity of demand for automated decisions, not a technical claim this article can independently verify — but it's the correct lens for judging why a company would build a narrower, less capable model at all rather than just serving a smaller LLM faster.

Is Jev a smaller/distilled LLM?

TypeSafe describes it as a distinct architecture generating structured outputs directly rather than a token sequence, using a parallel sampler rather than sequential decoding — not simply a smaller version of an existing LLM. The specific architecture is undisclosed, so this can't be independently confirmed beyond TypeSafe's own description.

Does "0% hallucination" mean the answers are always correct?

No. It means the output is guaranteed to be schema-valid (a properly typed field, not malformed JSON or off-schema text) by construction. The workflow-evals accuracy numbers (~67.8% average, below Opus 5's 73.1% workflow-decomposed figure) show semantic correctness is a separate, much lower number — see §7.

Can I reproduce TypeSafe's comparison myself?

Partially. The open-source system-one-adapter-python package lets you run the same question-asking interface against any LLM provider, and the eval harness details are published at evals.typesafe.ai. What you can't reproduce is Jev's own side of the comparison unless you have early access, and you can't inspect the RLCD training method or model architecture at all — both remain proprietary.

Takeaways

  • The structural argument is sound independent of whether Jev specifically delivers: most AI calls buried in production workflows are narrow, structured, high-volume decisions, and routing them through a frontier LLM's sequential-token, unbounded-output architecture is genuine overkill on both latency and cost.
  • RLCD targets calibration directly, which neither RLHF nor RLVR do — a real, well-motivated gap in existing post-training objectives, though the actual training mechanics are undisclosed and the risk of collapsing to a well-calibrated-but-low-discrimination solution isn't addressed in the launch post.
  • The 0% type-error claim is a real, structurally-guaranteed property — but it is a claim about output format, not output correctness, and the workflow-evals accuracy table (~67.8% average) makes that distinction concrete.
  • Workflow decomposition (narrow questions + code, instead of one big prompt) is a legitimate, transferable finding on its own — it improved Claude Opus 5's accuracy from 64.8% to 73.1% while lowering cost, before Jev enters the comparison at all.
  • The open-source adapter is the most credible part of this launch — it makes the LLM side of every comparison independently reproducible, which most vendor benchmark posts don't offer.
  • The highest-multiplier numbers (193.6×, 444.6×) are self-reported on a single production workload class, evaluated with in-house-authored tasks and reference labels drawn from two RLHF-trained chat models — directionally informative, not independently verified, and the launch post itself withholds the architecture and training details needed to fully evaluate them.

References & further reading

← browse the archive home →
© cvam — written in plaintext, served warm