Skip to main content

Jev, and the case for models that don't talk

TypeSafe's Jev answers typed questions with probabilities instead of generating text. What it is, what the numbers say (vendor and independent), where it breaks, and how we'd decide whether to put it inside a product.

7 min read

On 15 September 2026, TypeSafe AI came out of stealth with a $40M seed round led by DCVC and a model called Jev. Its founders include Diogo Almeida, formerly of OpenAI and a co-inventor of RLHF. The pitch is unusual for a frontier lab: a model that never generates text. You send it application state and a set of typed questions; it returns answers drawn only from the options you supplied, each with a probability. TypeSafe calls this a “System One” model, after Kahneman’s fast, intuitive mode of judgement, as opposed to the slow, deliberate reasoning that chat models simulate.

Jev is five days old, so most of its published numbers are the vendor’s, and they’re labelled as such wherever they appear. The design idea, though, is worth understanding regardless of how Jev itself fares, because it names a gap in how AI has been bolted into software so far.

What it actually is

Jev takes two inputs and returns one structure.

State is the data to judge: a string, or a JSON object or array. A support ticket, a pull request diff, a résumé, a row from a database.

Questions come in three shapes, and every answer is constrained to the shape:

  • Noul, TypeSafe’s term for a yes/no question. Returns a probability between 0 and 1 that the statement is true.
  • Choice: pick one option from a list you wrote (up to 255). Returns the chosen option, a probability distribution over all options, and a confidence value describing how concentrated that distribution is.
  • Score: a position on a rubric of two to ten levels you define, returned as a probability-weighted mean (so fractional positions are possible), plus the distribution and confidence.

The response is JSON with answers, one per question, and token usage. The context window is 32,000 tokens. On Cloudflare Workers AI it’s env.AI.run("typesafe/jev", { state, questions }); it’s also on Vercel’s AI Gateway and OpenRouter.

Two mechanical properties matter more than the marketing. First, every question in a call is evaluated independently and in parallel, so a call with thirteen questions costs roughly the same latency as a call with one. Flavio Copes measured a thirteen-question call at 12.2× cheaper and 10× faster than thirteen sequential calls. Second, because answers are sampled over your options rather than generated token by token, the output cannot violate the schema. There is no “return JSON” prompt to get wrong, no parsing step, no retry loop for malformed output.

What it isn’t

Jev does not write code, prose or explanations. It does not call tools, run loops, or own a workflow. It cannot extract a value from the state and hand it back to you; it can only choose among answers you already wrote down. If your problem is “generate”, it is the wrong tool. If your problem is “decide”, it might be the right one.

That boundary is the point. Most production uses of large language models inside real software are decisions dressed up as generation: is this ticket urgent, which team should see this, is this command destructive, does this document match this policy, which of these five links is the checkout button. Today those are answered by prompting a general model to produce a JSON blob and hoping the JSON is well-formed and the label is right. A model that returns a calibrated distribution over your own labels, in tens of milliseconds, is a different component.

The numbers, and whose they are

Vendor claims (TypeSafe). Latency under 100ms in the launch release; 70 to 500ms in its own documentation, against 3 to 329 seconds for frontier models on comparable queries. Pricing of $0.042 per million input tokens with outputs free, which puts it two to three orders of magnitude below frontier models; TypeSafe’s own headline is “193.6× faster, 440.6× cheaper”, which it describes as a ceiling rather than a typical result. Accuracy claims in the launch material used model-generated labels rather than human-scored ground truth, which independent reviewers have flagged.

Independent measurements. These are early and small, but they are not TypeSafe’s:

  • A classification study by Aman Kumar (early access, September 2026) found Jev beat GPT-5.6 on three of four classification sets and failed on the fourth, a 77-way banking-intent task. Latencies were under a second against 1.4 to 5 seconds for the LLMs.
  • A phishing-detection benchmark on 2,000 synthetic emails: Jev’s direct verdict scored 62.6%. Feeding five Jev signals into a logistic regression scored 95.0% on a held-out set, against a regex baseline of 91.8%. The authors are explicit that this measures the pipeline, not the model alone. Expected calibration error on Jev’s probabilities was 0.154.
  • Vercel reported that within 24 hours of launch Jev was in use by nearly 13% of paid AI Gateway teams, the fastest adoption of any model on the platform. That is a demand signal, not a quality signal.
<100 ms
latency (vendor)
$0.042 / M
input tokens, outputs free (vendor)
62.6% → 95.0%
phishing: raw verdict → 5 signals + regression (independent)

The phishing result is the most instructive line in the table. Used naively, as a single yes/no oracle, Jev was mediocre. Used as intended, as several cheap, fast, calibrated signals that ordinary code combines, it beat a tuned baseline. That pattern will decide whether it’s useful in a given product.

Where it breaks

TypeSafe documents the failure modes itself, which is to its credit. Jev reads literally, so ambiguous instructions degrade answers. It is unreliable at arithmetic, counting and comparing dates. It manages roughly one logical hop, so indirect questions fail. Irrelevant context in the state distracts it, and filtering the state before the call measurably improves accuracy. It is vulnerable to adversarial input, so it should not be the only check on anything a user can type. Answers to separate questions in the same call can be mutually inconsistent, because they were computed independently. And it cannot write anything.

None of these are surprising for a model built to answer fast without deliberating. They do mean that the work moves from prompt engineering to question design: writing options that are exhaustive and mutually exclusive, choosing rubrics with clear levels, and pre-filtering the state so the model sees only what the decision depends on.

Patterns that come out of this

Three practices recur across the early write-ups, and they translate directly into how you’d wire Jev into a system:

  1. Speculative fan-out. Ask every independent question in one call, since they’re free in latency. Rather than “should we escalate this ticket?”, ask “is it about billing?”, “is the customer angry?”, “does it mention a deadline?”, “is there a legal threat?” and combine in code.
  2. Composite scoring. Break a multifactorial judgement into separate Scores, normalise them, and weight them in code you can read and version. The weights are yours, not the model’s.
  3. Confidence gating. Route on the confidence value: above a threshold, automate; in the middle, ask a human to confirm; below, hand off entirely. This is the mechanism that makes a probabilistic component safe to put in front of a destructive action.

The third one is what most excites us. Every agent we’ve built needs a cheap, fast “should I really do this?” check before it deletes, sends or pays. Today that check is either a hard-coded rule or another slow, expensive model call. A calibrated, sub-100ms decision with an explicit confidence is a much better fit, provided the calibration holds up on your data.

How we’d decide whether to use it

We don’t adopt a week-old model because a launch went well. We’d run the same process we run for any component that makes decisions on a client’s behalf:

  • Build an evaluation set first, human-labelled, from the product’s own data. A few hundred examples is enough to start. This is the step the vendor benchmarks skipped.
  • Measure Jev as a signal, not an oracle. Fan out, combine in code, compare against the existing rule or model on accuracy, calibration, latency and cost.
  • Gate by confidence and log everything. Ship it behind thresholds with a human path, and watch the confidence distribution in production, because that’s where calibration drift shows first.
  • Keep it swappable. Behind an interface, with the evaluation set as the acceptance test, so that if a better decision model appears next quarter, or Jev’s pricing changes, the swap is a config change. Model-agnostic is a habit, not a slogan.

If it passes that, it goes in. If it doesn’t, the evaluation set is still the most valuable artefact of the exercise, and it’ll be waiting for the next candidate.

The code for all three checkpoints is in Putting a decision model inside an agent loop.

Why the category matters even if the product doesn’t

The interesting claim in TypeSafe’s launch isn’t about Jev. It’s Almeida’s line that “most intelligence should eventually live inside software, running quietly in the background.” Whether or not TypeSafe wins, the observation stands: the majority of useful AI in a product is not a chat window. It’s thousands of small, fast, typed decisions embedded where if statements used to be, made by something that never writes a sentence. That’s a layer of the stack that didn’t have a name a month ago. Now it does, and it’ll get filled by someone.


Sources

Got an idea?Tell us about it.

Send a short brief. We'll come back with questions, a call slot and a straight answer on whether we're the right team.

Start a project