The first thing I looked for in TypeSafe's docs was a calibration plot. It's a boring chart: take every answer the model said it was 70% sure of, and check whether it was right about 70% of the time. Then do the same at 80%, at 90%, and so on. If a company is selling you honest probabilities, I figured that chart would be on the front page.

I couldn't find it. Not in the launch post, not in the docs, not on the evals site.

That's where this piece comes from. Jev came out on 15 September, and it's an odd thing to call an AI model. It doesn't write. You send it some text, say a support ticket, along with a question and a fixed list of answers, like "approve" or "deny". It sends back a probability for each answer, usually in a few hundred milliseconds. No explanation, no paragraph. Just something like approve, 0.93.

TypeSafe says a new training method makes those numbers trustworthy. They call it RLCD, short for Reinforcement Learning for Calibrated Decisions. And the number matters, because the docs suggest that anything at 0.9 or above can be acted on automatically, without a person looking at it.

So that's my question. If Jev says it's 90% sure, can you let it make the call?

I haven't run Jev myself; this piece doesn't use an API key. What I did was read the four independent studies that came out in its first two weeks, and then build a small toy version of the idea behind RLCD to see where it holds and where it slips. I'm not ranking Jev against ChatGPT or Claude, which makes little sense for a model that can't write a sentence. And if you've seen "RLCD" before, that was a 2023 alignment method from Berkeley, Meta, and UCLA researchers. Same letters, unrelated idea.

Cheap, fast, and honest on average

Here's where I landed, before the details.

Jev is very cheap and very fast. Every study agrees on that, and the gap isn't small: tens to hundreds of times cheaper than calling a chatbot. On accuracy it's roughly as good as a mid-tier chatbot for routing and simple sorting, and clearly worse on hard calls like legal or medical judgement.

Its probabilities do look honest on average. The catch is "on average". In my toy test, a model trained the way RLCD is described gave confidence scores you could safely act on, right up until the tickets coming in looked different from the ones it trained on. Then the same 90% quietly meant something closer to 85%.

I believe the right move is to shift the easy sorting work over now, and to hold off on letting the score make decisions alone until you've checked it on your own data.

What you actually get back from Jev

You send Jev two things. The first is the input, which TypeSafe calls the "state": a string, a JSON object, or a list of text. The second is one or more questions. A question can be yes-or-no, a choice from up to 255 options, or a score on a short scale. For each one you get back the pick and a probability for every option.

Reported

Input costs $0.042 per million tokens and output is free. TypeSafe claims 70 to 500 milliseconds per request and "40x-200x faster" than chatbots on this kind of work. The current version is jev-1.13.0. Source: TypeSafe's launch post (updated 28 September 2026) and docs.

There's also a "confidence" field, but it isn't a separate opinion. It's just a measure of how lopsided the probabilities are. If all the options are equally likely, confidence is 0. If one option has all of it, confidence is 1.

Jev also has no "I don't know" answer. If you want one, you add "none of these" to your list yourself.

The docs give a rule of thumb for the confidence number: act automatically at 0.9 and above, send it to a person below 0.5, and add a check in between. The very next line says the right thresholds "depend on your domain and the performance of the model for your use case." I skimmed past that line the first time. By the end of my test I thought it was the most important sentence in the docs.

It's worth knowing who's behind this. TypeSafe's CEO, Diogo Almeida, spent about four years at OpenAI and was one of the lead authors on InstructGPT, the paper that made RLHF the standard way to train chatbots. The company raised $40 million, led by DCVC. Early users sound happy. Vercel told TechCrunch it moved a safety classifier to Jev and got answers 5 to 18 times faster "with greater accuracy". That's a customer quote, though, not something I can check.

The training method TypeSafe hasn't shown anyone

The easiest way to see what RLCD is supposed to do is to compare it with the two methods it's positioned against.

Each of the older methods has a blind spot about confidence. A reward that only checks correctness never looks at how sure the model said it was, so that number never gets trained at all. A reward based on human preference has the opposite problem: people tend to prefer answers that sound sure of themselves. A 2024 paper found the reward models used in RLHF lean toward confident-sounding answers whether or not they're right. TypeSafe's homepage names overconfidence as one of the things RLCD fixes.

That's about all TypeSafe has said. The method has a name, a goal, and, according to press interviews, training data that is entirely synthetic. There's no paper, no reward formula, and no calibration plot.

My guess at what's underneath is something called a proper scoring rule, like the Brier score. Under one of those, a model earns the most on average by reporting exactly what it believes. Overstating or understating its confidence both cost it. An MIT group published a method along these lines in 2025, adding a Brier penalty to a plain right-or-wrong reward. That's the version I copied for my toy. To be clear, though, TypeSafe hasn't confirmed any of this.

I'll admit I was a bit surprised that the training method is both the headline and the secret. I get why a startup would keep it close. It does mean every claim about RLCD itself rests on trust, and only Jev's measured behaviour can be checked.

Can you let it act on its own when it says 90%?

Not on the strength of calibration alone. A score can be honest on average and still fail to tell you which answers are the wrong ones, and it can be honest on someone else's data and off on yours.

I used to think "well calibrated" meant "knows when it's wrong". I was wrong about that. Picture a model that says 85% about every single ticket and is right on 85% of them. It's perfectly calibrated, and it's no help at all in deciding which tickets a person should look at. A medical study of Jev is what made this click for me, and my toy later turned it into a number.

A three-row table titled three questions before you act on a confidence. Row one: is it calibrated on your mix, not the pooled benchmark? Example: Jev's pooled calibration error was 0.028, but averaged per dataset it was 0.074 against 0.075 for an open Qwen model. Row two: do the high numbers pick out the right answers? Example: on a diagnosis benchmark, Jev's probabilities ranked right above wrong answers with an AUROC of 0.645, against 0.768 for GPT-6 Sol. Row three: what accuracy do you get at the share you will automate? Example: on MetaMedQA, Jev's answers at 0.9 or above covered 52.9% of questions at 93.4% accuracy, and GPT-6 Sol was as accurate at a similar share.
Fig. 1 Three questions to ask before trusting a confidence score, each answered for Jev by an independent study. A good calibration number only answers the first.

What four papers found in two weeks

Researchers moved fast on this one. None of the four studies below has a TypeSafe author. Here are the headlines, with the setting each one used.

StudyWhat they testedWhat stood out
University of Bonn, 29 Sep37 datasets against two open models, no chatbotsBeat Qwen on 27 of 37. Well calibrated overall, but level with Qwen when you look dataset by dataset. Weak in low-resource languages.
Medical benchmarks, 27 SepFour medical tests against GPT-6 Sol at medium reasoningMatched Sol on one test and trailed by over 20 points on diagnosis. Better calibrated on one test, worse at ranking right above wrong on another.
Contract law, 23 SepContractNLI against nine chatbot setupsAbout 5 points behind the best chatbots, at a small fraction of the cost. Gave very consistent answers, including consistently wrong ones.
Edge services, 19 and 26 SepFilling short request formsMuch faster and cheaper on four-field forms. Exact match fell to about half on eight fields.

The Bonn study is the one I'd read first, and it gave me my first real surprise. Averaged across all 37 datasets at once, Jev's calibration error was 0.028, much better than the open Qwen model's 0.063. Averaged one dataset at a time, the two were basically tied: 0.074 against 0.075.

Same model, same data, and the numbers tell two different stories. The difference is in how you average. Lump everything together and the big, easy datasets dominate. Look dataset by dataset and you see how it does on a typical task. Your workload is one task, so the second number is the one that applies to you.

Reported

The medical study (Madrid-García and Merino-Barbancho) found that Jev's answers at 0.9 or above covered about half the questions and were right 93.4% of the time, but GPT-6 Sol was "as accurate when it accepted a similar proportion of questions." On the hardest diagnosis test, Jev's confidence did a poor job of separating right answers from wrong ones: an AUROC of 0.645, where 0.5 is a coin flip, against 0.768 for Sol.

And TypeSafe's own evals? Across four workflows the company wrote itself, Jev scores 67.8% at $0.0004 a case, roughly level with mid-tier chatbots and behind the best. Before quoting that, look at how "accuracy" is defined. It means agreement with the average answer of GPT-6 Astra and Fable 5.1. Agreeing with two strong models is useful. It still isn't the same as being right, and calibration is about being right.

A review of the first 28 Jev papers summed it up fairly: the clearest gains are "in latency and cost, while accuracy gaps remain on harder tasks."

I built a tiny refund desk to find out

None of those papers could answer my actual question, so I set up a toy.

Imagine a team handling refund requests. This is a made-up example, but a common kind of job. They'd like the model to approve or deny tickets on its own when it's confident, and pass the rest to a person. A wrong automatic approval costs money. A ticket sent to a person costs a few minutes.

In my version, every ticket has a single clue, a number from 0 to 9 for how much it reads like a valid refund. Each ticket is also in English or Portuguese, and the model can't see which. In Portuguese the clue is weaker, so the same wording is a less reliable sign. Nine in ten training tickets are English. Because I wrote the world down, I know the true odds for every ticket. That means I can measure the model exactly rather than estimate.

The model is about as simple as they come: a lookup table that, for each clue, picks approve or deny and states a confidence. I trained it three times on the same tickets, changing only the reward.

  • Correct only: a point for a right answer. It never checks the confidence. (The RLVR shape.)
  • Sound sure: a point for being right, plus a bonus for sounding confident. It exaggerates the RLHF bias on purpose.
  • Scored: a point for being right, minus a penalty when the confidence doesn't match the outcome. This is my stand-in for RLCD.

I added two policies I didn't train, for comparison. One states the true odds for each clue, the best a language-blind model could ever do. The other just says 85% about everything.

Before running anything, I wrote down what would count as success and failure.

The question

Same model, same tickets, same training time, only the reward changes. Does the scored reward produce confidence you can safely auto-approve on at 0.9, where the other two don't? And does that still hold when half the tickets are in Portuguese?

Baseline
All three versions automate the same share of tickets at the same error rate, so the reward on confidence makes no practical difference.
Continue if
On normal traffic, the scored version keeps errors among auto-approved tickets at or under 10%, and neither other version does while automating a similar share.
Stop if
On a queue that is half Portuguese, the scored version's error among auto-approved tickets goes above 10%.

Six policies that agreed on every answer

Table of six policies on the refund desk, auto-approving at 0.9. All score 86.8% accuracy. Correct only: calibration error 0.145, automates 40% of tickets with 10.0% error on the training mix and 18.5% on a half-Portuguese queue. Sound sure: 0.118, automates 100%, 13.2% and 20.8%. Scored: 0.046, 60%, 5.7% and 14.2%. Scored with the language in the input: 0.044, 63%, 4.2% and 6.6%. Ideal language-blind: 0.010, 60%, 4.3% and 12.7%. Flat 0.85: 0.018, automates nothing.
Fig. 2 My run on 1 October 2026, averaged over five training runs. Every policy gives the same answers; only the confidence differs. The last column is the queue I set the failure line for.

All six policies got 86.8% of tickets right. They made exactly the same calls. On a leaderboard they'd be a six-way tie.

What changed was how sure they claimed to be, and that's what decides what gets automated.

Reproduced

The sound-sure version claimed 95% or more on everything, so it auto-approved every ticket and got 13.2% of them wrong. The scored version auto-approved 60% of tickets with 5.7% wrong, and stayed under 7.5% on every training run. So the first part of the test passed.

Two things caught me off guard. I expected the correct-only version to be overconfident. Instead it was random. Its confidence never got any real training, so it ended up wherever the noise left it: one run auto-approved 10% of tickets, another 70%. If you'd tested only the lucky run, you'd have concluded it worked fine.

The second was the flat 85% policy, which I'd added almost as a joke. Its calibration error came out better than the trained scored model's, and it automated nothing at all, because it never reaches 90%. I hadn't expected a joke to make the point better than anything I'd planned.

Then I gave it Portuguese tickets

Next I switched to a queue that was half Portuguese, the kind of shift a growing team in a new market would see.

Reproduced

The scored version's error on auto-approved tickets went from 5.7% to 14.2%, above 10% on every run, so the failure line was crossed. The policy that states the true odds, the best a language-blind model can do, went to 12.7%.

I'd expected the trained model to stumble. I didn't expect the perfect one to stumble with it, though it's obvious in hindsight. If the model can't tell the languages apart, it can only be honest about the average ticket it saw in training. A strong clue means 95% in English and about 71% in Portuguese. A model that can't see the difference says the same thing for both.

TypeSafe's docs actually say this, in their own way: calibration holds across many predictions taken together, not for any single one. "Taken together" always means a particular mix. My Portuguese tickets were a slice of that mix, not the whole of it.

Then I tried the obvious fix, which wasn't in my original plan, so treat it as exploring. I gave the model the language as part of its input. Jev takes JSON, so in real life that's just one more field. With it, the error on the mixed queue dropped to 6.6%, back under the line. On a queue of only Portuguese tickets it was still 19.5%, though. One ticket in ten during training wasn't enough for it to learn the Portuguese odds well.

The threshold I picked was the lucky one

The practical fix the docs hint at is to pick your own threshold from your own data. So I did that too. I took 500 labelled tickets from the mixed queue and chose the lowest confidence at which the errors in that sample stayed under 10%.

Reproduced

Aiming at exactly 10%, the real error came out above 10% in 37 of 100 tries. Aiming at 7%, it went over once in 80 tries, and the model still auto-approved about 39% of tickets.

That one surprised me most, and it's probably the most useful result here. If you pick the lowest threshold that passes on a sample, you tend to pick one that happened to get lucky on that sample. The fix is old and dull: leave yourself a margin.

Where I'd still keep a person in the loop

Pulling the papers, TypeSafe's own list of weak spots, and my test together, these are the places I'd be careful.

Languages and customer groups that are a bigger share of your traffic than of the benchmarks. In the Bonn study, accuracy fell as low as 37.4% in Nigerian Fulfulde, and nobody has checked calibration language by language. I expect it moves with accuracy, but that's a guess.

Anything involving numbers, dates, or tricky wording. TypeSafe's own docs are blunt: "Jev is not a calculator," and comparing dates "is unreliable". A confident answer on one of those is a confident guess.

Many yes-or-no questions about the same input. That's where the Bonn study found its weakest calibration.

Long forms with lots of fields, and hard judgement calls. Accuracy drops on both, sometimes by a lot.

Text written to push the answer one way. TypeSafe lists "text that argues for its own classification" as a weakness. A refund request arguing for its own approval is exactly the one I'd want a person to read.

What I'd move to Jev this month

Four-row decision table. Sorting, tagging, routing, and simple yes-or-no checks: move them to Jev and log every probability. Acting alone on high confidence: only after checking 500 of your own labelled cases, choosing the threshold that keeps error under your limit with a margin, per language or customer group. Judgement calls, written reasons, arithmetic, dates, and wide forms: keep a frontier chatbot or code. Kill switch: return to human review when the error among auto-approved cases in a weekly sample exceeds your limit, or a new customer group grows past a tenth of traffic.
Fig. 3 A starting point for October. Your confidence threshold should come from your own labelled cases, not from the docs' 0.9.

If I were running that refund team, I'd move the sorting and tagging over this week and keep a log of every probability Jev returns. For the first month I wouldn't let anything auto-approve. Once a few hundred labelled cases had built up, I'd check how the confidence holds up for each language or customer group, and only then pick a threshold, a bit stricter than I think I need.

Cost and speed

5/55 out of 5

High confidence

Every independent study and the vendor agree: fractions of a cent per decision, well under a second.

Accuracy on routing and simple sorting

4/54 out of 5

Medium confidence

Beat an open 27B model on 27 of 37 datasets; level with mid-tier chatbots on TypeSafe's own workflows.

Accuracy on hard judgement calls

2/52 out of 5

High confidence

About 5 points behind the best chatbots on contracts and over 20 on medical diagnosis.

Calibration as published

4/54 out of 5

Medium confidence

Strong overall; level with an open model task by task; weaker on multi-question yes-or-no.

Telling right answers from wrong ones

3/53 out of 5

Medium confidence

Good on simple routing; noticeably worse than GPT-6 Sol on a hard diagnosis test.

Holding up on your own traffic

2/52 out of 5

Low confidence

Not measured by language or customer group anywhere yet. In my toy, it failed when the mix changed.

Openness about RLCD

1/51 out of 5

High confidence

A name, a goal, and synthetic data. No method, paper, or calibration plot.

Average
3.3 / 5
Binding constraint
How well the confidence holds on your own traffic. Published calibration was measured on other people's data, the biggest study found Jev level with an open model task by task, and in my toy even a perfectly calibrated model failed once the mix changed.
Override applied
None. Split reflects the gap between what Jev is clearly good at, cost and speed, and what you still have to check yourself.

Run the refund desk yourself

The test takes about three seconds and needs no API key or extra packages.

bash
git clone https://github.com/shravan1996/generative-ai-jev-rlcd-calibrated-decisions
cd generative-ai-jev-rlcd-calibrated-decisions
python3 -m unittest discover -s tests -t .
python3 eval.py

Try changing how weak the Portuguese clue is, or the training mix, in data/world.json, and see which versions survive. If you have Jev access, the steps below work on its real output too.

  1. 01

    Label 500 recent cases from your own queue

    Owner
    You
    Artifact
    Inputs, the right answers, and a column for language or customer group
    Signal
    If one group is under a tenth of the file, label more of that group
  2. 02

    Run them through Jev and keep every probability

    Owner
    You
    Artifact
    The pick and the probabilities for each case
    Signal
    Accuracy close to what your current setup gets on the same cases
  3. 03

    Check each group separately

    Owner
    You
    Artifact
    For each group: of the cases Jev called 0.9 or higher, how many were right
    Signal
    Each group close to what Jev claimed
  4. 04

    Pick a threshold with some margin

    Owner
    You
    Artifact
    The lowest confidence where error stays a few points under your limit
    Signal
    It still holds on 200 fresh cases you didn't use to pick it
  5. 05

    Spot-check auto-approvals every week

    Owner
    You
    Artifact
    Fifty auto-approved cases, reviewed by a person
    Signal
    Errors above your limit, or a fast-growing new group, means back to review

Split, for now

Split for moving a classification step to Jev in October 2026.

As far as I can tell, Jev is a genuinely good tool. I don't know a cheaper or faster way to make hundreds of small decisions a second, and the people building on it aren't wrong to be excited. RLCD might well be why its probabilities look as honest as the Bonn study found. I think that's plausible, but nobody outside TypeSafe can check it yet.

What hasn't been shown, by TypeSafe or anyone else, is that those probabilities stay honest for the particular slice of the world your queue lives in. My toy suggests that's exactly where an honest-on-average model goes wrong.

I'd change this to Use if:

  1. TypeSafe, or someone independent, publishes calibration plots broken down by task and by language.
  2. A study shows Jev's confidence separating right from wrong answers as well as a frontier chatbot's on a hard task, not just an easy one.
  3. TypeSafe publishes the RLCD method, so the claim that it fixes overconfidence can be checked.

If you've run Jev on traffic in more than one language and checked its scores language by language, I'd love to see what you found, whichever way it points. It's the biggest open question in this piece, and I'd much rather replace my toy with your real numbers.

Acknowledgements

This piece builds on TypeSafe's launch post and documentation, the four independent evaluations listed below, Tang and Zheng's early evidence review, and reporting from TechCrunch, SiliconANGLE, and InfoQ. Thanks to every author who posted a Jev study with its limitations section intact; that made this possible inside two weeks. Errors in the toy and its reading are mine.

References

TypeSafe

  • Introducing System One models and Jev. Diogo Almeida, TypeSafe, launched 15 September 2026, updated 28 September. RLCD named and described, "epistemically honest probabilities", 70 to 500 ms, pricing, evals reference labels.
  • API reference and models. Request shape, Noul, Choice and Score, jev-1.13.0, context limits, pricing.
  • System One concepts. Calibration described as holding across many predictions, not any single answer.
  • Confidence. The confidence formula, the 0.9 and 0.5 suggestions, and "the correct threshold values depend on your domain".
  • Model jaggedness: jev-1.13. Known weaknesses, last reviewed 17 September 2026.
  • TypeSafe evals. Four workflows, accuracy as agreement with GPT-6 Astra and Fable 5.1 at high thinking.

Independent evaluations

Reporting

Background

This trial

Sources last checked: 2026-10-01