Most of What Your Agent Calls an LLM For Is a Yes or a No

Surya Pratap
By Surya Pratap

September 21, 2026

11 min read

AI & Technology
A two-part diagram. On the left, a single agent turn broken into the questions it actually asks — which tool to call, whether the action is risky, whether the task is finished, whether to retry or escalate, each of which resolves to an enumerated value or a yes-or-no, and finally one question that genuinely needs prose written. On the right, the two claims made for a System One model held apart by how well they will age: a calibrated probability rather than a bare label, described as the durable idea because a probability can carry a tunable threshold, and the speed and cost figures of roughly 40 to 200 times faster and 444 times cheaper, marked as self-reported by the vendor with no independent verification.Four decisions and one sentenceHover to explore
The expensive part of an agent turn is rarely the writing. It is the forty small decisions that each cost a full model call.

Every so often a product launch is worth reading for its premise rather than its benchmarks. This one has a premise I think is right and benchmarks nobody outside the company has checked, which is an unusual combination and worth separating carefully.

This article works from LangChain's "Building a harness with Jev" by Sydney Runkle and Hunter Lovell, published 17 September 2026; TypeSafe AI's own announcement; a practical API walkthrough; and MindStudio's sceptical read of the claims. Every performance figure below is TypeSafe's own. Section 7 says what that means. The argument from section 2 onward is mine.

1. What was actually shipped

TypeSafe AI released Jev, which it calls a System One model — a class it defines as models built to make fast, structured decisions that software consumes directly, rather than to generate text. LangChain published a harness built on it the same week.

The shape of the thing: you hand it a state and a set of typed questions, and it answers all of them in one pass with probabilities attached. Three question types:

  • Choice — pick one of up to 255 options, with a probability per option
  • Score — place the input on an ordered scale of 2 to 10 levels
  • Noul — a yes-or-no, returned as a single number between 0 and 1
from typesafe_sdk import Choice, Noul, TypeSafeClient

client = TypeSafeClient()
response = client.system_one(
    state={"ticket": "I was charged twice"},
    questions={
        "department": Choice(
            instructions="Which team handles this",
            criteria={"billing": "Payment issues", "technical": "Bugs"},
        ),
        "urgent": Noul(instructions="Message conveys urgency"),
    },
)

Two architectural differences do the work. The model samples all outputs in one query in parallel rather than autoregressively, which is where the latency claim comes from. And it is trained with what TypeSafe calls RLCD — Reinforcement Learning for Calibrated Decisions — which optimises not for an answer a human rater approves of, but for an answer paired with a probability that reflects how often that answer is right.

The published figures: 70–500ms end to end, $0.042 per million input tokens with output free, and on the company's own workflow evaluations 193.6× faster and 444.6× cheaper than the frontier models it compared against. Context is capped at 64k tokens total, 32k for the state.

2. The premise, which is the part that survives

Strip away the vendor and look at what an agent turn actually consists of.

Which tool should I call? An enum. One of eleven options.

Is this action risky enough to stop? A yes or a no.

Is the task finished? A yes or a no, asked on every single loop.

Retry, escalate, or give up? An enum again.

Then, once, at the end: write the answer. That one needs a language model, and nothing here replaces it.

The expensive part of an agent turn is rarely the writing. It is the forty small decisions that each cost a full model call.

Every one of those decisions currently goes through a model built to produce sentences, priced per token, generating autoregressively, and then gets parsed back down to a single word. You are paying generation prices and generation latency for work whose entire output fits in a byte.

Decisions and generation are different workloads and should not share a model

the idea, separated from the product

That claim costs nothing to evaluate and does not depend on any of TypeSafe's numbers being right. It is the same move as separating OLTP from analytics, or a cache from a database: two access patterns wearing one component because nobody had yet noticed they were two things.

3. The claim with the longest shelf life is calibration, not speed

Speed and cost advantages get competed away. Within two quarters there will be four of these, and the price will be whatever the second-cheapest one charges. Calibration is the part I would actually build against.

Here is the difference in practice. An LLM asked "is this urgent?" returns urgent. A calibrated classifier returns 0.71.

A label gives you a branch. A probability gives you a threshold, and a threshold is a dial:

  1. You can set different bars for different consequences.

    Block at 0.9, flag for review at 0.6, log below that. One question, three behaviours, no extra model calls. With a bare label you get one behaviour and no way to trade precision against recall.

  2. You can tune the bar against the capacity you actually have.

    This is the control I argued for in the piece on Anthropic's oversight numbers: decide how many items a human will review each week, then move the threshold until that is what arrives. You cannot do that arithmetic on labels.

  3. Confidence becomes a routing signal rather than a vibe.

    Low confidence is precisely the case that should escalate to a slower, more capable model. Most routing today guesses complexity from the input; a calibrated score measures uncertainty about the output, which is the thing you actually wanted to know.

The important word is calibrated. Any model will emit a number if you ask it for one, and the softmax probability on a token is not a claim about correctness. Whether Jev's calibration holds is exactly the sort of thing that needs third-party measurement — and has not had any.

4. What "zero type errors" does and does not promise

TypeSafe claims Jev has a guaranteed 0% structured-output error rate, framed as a mathematical property of the architecture rather than a benchmark result. Taken literally, and I have no reason to doubt it, that means the model cannot return something outside the schema you declared.

Shape is not correctness

A guarantee about type is a guarantee that the answer is well-formed, not that it is right. If you ask which of eleven tools to call, you will always get one of the eleven — and it can be the wrong one of the eleven, every time, with no parse error to tell you. This is worth being clear-eyed about, because "never hallucinates" is already doing rounds as a description of this model, and it means something much narrower than it sounds: it never hallucinates a shape. Nothing about the architecture prevents a confidently wrong classification.

That said, eliminating malformed output is a real operational win, and if you have ever shipped an agent you know why: the retry-on-parse-failure path is where a surprising amount of latency, cost and strange behaviour lives. Removing an entire class of failure is worth something even when it is not the class that worries you most.

5. Measure your own System One share this week

Before evaluating any product here, find out whether the premise describes your system. This is an hour of work and the answer is durable regardless of which vendor you end up using.

Instrument every model call your agent makes and bucket it:

BucketTestWhat it tells you
DecisionThe output is parsed down to an enum, a boolean, or a numberCandidate for a classifier
ExtractionThe output is a small fixed schema pulled out of a larger inputCandidate, if the schema is stable
GenerationThe output is prose a human or another system will readStays on a language model
ReasoningThe output is a multi-step plan whose intermediate steps matterStays, and probably on your best model

Then compute two numbers: the share of calls in the first two buckets, and the share of spend. In most agent stacks I have seen, the first number is high and the second is lower but nowhere near proportionate — decisions are usually short prompts, so they are cheap individually and numerous enough to matter in aggregate, and they dominate latency because they sit on the critical path of every loop.

The threshold I would use:

If decisions and extraction are under a third of your calls, this is an optimisation and you should ignore it until something else is fixed. If they are over two thirds — which is the common case for anything with a tool loop — then your architecture already has two workloads in it and you are one vendor decision away from being able to split them.

6. What to do about it without joining a waitlist

Jev is early access, so the practical question is what you can do now. Three options, in increasing order of effort.

Batch the questions you already ask. The single cheapest win here has nothing to do with new models. If your loop makes four separate calls to decide four things about the same state, ask all four in one call with a structured schema. You pay for the state once instead of four times.

Move the easy decisions to a small model now. "Is the task finished" does not need your best model. A small model with constrained decoding handles most gate questions, and you can measure the disagreement rate against your current model before switching anything.

Build the threshold before you have the probability. Write the two-tier gate — block above, review between, log below — even while the middle tier is stubbed. When a calibrated score does arrive, you are wiring in a number rather than redesigning a control flow.

Keep the evaluation set model-agnostic. If you ever want to swap a decision onto a classifier, the thing that makes it a two-hour job instead of a two-week one is having a labelled set of that decision's inputs and correct answers. Most teams have this for their end-to-end task and nothing for the individual decisions inside it.

That last one is the real prerequisite. You cannot safely move a decision to a cheaper model without a way to tell whether it got worse, and building that set is work you owe yourself whether or not a System One model ever enters the picture.

7. What I would not claim

Every performance number here is self-reported. No independent party has benchmarked Jev. The model is behind a waitlist, the evaluations are not on public benchmarks, and the comparison numbers come from the company selling the product. That does not make them false; it makes them unverified, and they should carry exactly the discount you would apply to any vendor's own figures.

TypeSafe discloses its own methodology limits, and they are real. The workflow evaluations were built by its model capabilities team, which the company acknowledges could bias them. The comparison baseline is the average of two frontier models. The demos used simplified queries with human-readable keys. Credit for publishing all of that; it does not stop it mattering.

"193.6× faster, 444.6× cheaper" is a ceiling, not an expectation. TypeSafe says as much — it expects these to be at the higher end of real-world gains. Quoting the headline figure as what you will get would be misreading the company's own caveat.

I have not used it. Everything above is read from published material. I am recommending the architectural question, not the product.

Calibration claims are the ones I would most want checked. It is the part of this with real engineering value and the part hardest to verify from outside, and a calibration curve that holds on the vendor's workflows may not hold on yours. If you pilot this, measure calibration on your own data before you wire a threshold to anything that matters.

The honest summary

The launch will be argued about on its numbers, and that argument cannot be settled yet by anyone outside the company.

The part that does not depend on the numbers is the decomposition. An agent loop is mostly a decision engine with a writer bolted on at the end, and the industry has spent two years serving both halves from the same component because that component was the only one available. Someone was going to notice. That there is now a vendor, a training method and a LangChain integration attached to the observation is less interesting than the observation.

Instrument your agent and find out what fraction of its model calls return something you immediately parse down to a single value. If that number is two thirds, you already have two workloads — and you were always going to have to split them, whoever ends up selling the second one.

Sources: LangChain, "Building a harness with Jev" by Sydney Runkle and Hunter Lovell, 17 September 2026 — the harness framing, the question types and the routing and guardrail use cases. TypeSafe AI, "Introducing System One Models & Jev" — the System One definition, the parallel sampler, RLCD, the 70–500ms latency range, the $0.042 per million input tokens with free output, the 193.6× and 444.6× workflow figures, the zero type-error claim, and the methodology caveats quoted in section 7, all of which are TypeSafe's own. A practical guide to Jev — the SDK surface, the 255-option ceiling on Choice, and the 64k total and 32k state context limits. MindStudio, "RLCD vs RLHF" — the absence of any independent verification. The decomposition argument, the case for calibration over speed, the shape-versus-correctness distinction and every recommendation are mine. For the cost mechanics this sits on top of see every file your agent reads stays on the bill, and for the threshold argument see Anthropic's agent oversight numbers.

IdeaToMVP Academy

Want to build with AI — not just read about it?

4-week live cohort for founders. Learn to ship AI agents, scope MVPs, and automate your business — taught by the same team that writes these guides.

Explore the Academy →
Share this post :