Do models like Jev get it right when correctness is business-critical?
Nice staff. After the trial shift the manager kept asking me out even after I said no twice. I've asked the recruiter to stop him contacting me.
Is this a serious concern? Does someone need to follow up? You probably knew both answers by the second line. That gut call is what Kahneman calls System 1, and TypeSafe borrowed the name for Jev. I wanted to know how far it carries when the decision matters. Each dot is one of the 60 reviews, and the orange one is this review.
Adam Kovacs, Chief AI Strategist, AI Enablement Academy Agentics Foundation Meetup, Budapest, 8 October 2026
I'm Adam Kovacs.
Co-founder and Chief AI Strategist, AI Enablement Academy
Co-founding Member and International Ambassador, Agentics Foundation
Executive Director, OPEN Talent Society
Before this, I spent six years in recruiting at Amazon.
I build hands-on AI training for teams, and open benchmarks on recruiting problems like this one.
github.com/adambkovacs
What a decision model is
A decision model takes text and a typed question, and returns one of your options with a probability in one pass.
System 1: the quick gut call
It works when the answer is one of a short list and each question asks about one thing. It can't invent a label.
Is a harassment report a serious concern? Jev caught all 25.
System 2: stopping to ask if it's the right question
It takes your words literally and can't say why it answered. It won't tell you when the question doesn't fit.
"Train got cancelled... Really helpful of them." Is that a testimonial?
The launch wave
Jev shipped on 15 September. By 7 October, Cloudflare, AWS, Perplexity and OpenAI had each shipped a decision model of their own.
They take your text and typed questions and return one option, and most of them work the same way. Within a day of launch, nearly 13% of paid teams on Vercel's AI Gateway were using Jev. Credit to TypeSafe: they published a page listing where Jev fails. Most vendors don't.
Jev 1.13TypeSafe
Clef, Strands DeciderCloudflare and AWS, same day
Perplexity Deciderlisted on OpenRouter
OpenAI Decisionspublic beta
The test
Every model got the same 60 fictional reviews and four questions about each. Matched means all four answers agree with our key.
How was the experience?sentiment, negative, positive, neutral, mixed, can't tell
Does someone need to follow up?follow-up, yes, no, can't tell
Does it report a serious concern?concern, harassment, discrimination or a privacy breach; a bad experience alone doesn't count, yes, no, can't tell
Could it work as a testimonial?testimonial, yes, no, can't tell
An AI assistant drafted the reviews and the key, and people checked all 60. Three labels are still disputed.
P0 is the plain task. P1 tells the model it's a classifier. P2 adds step-by-step instructions for deciding.
39 general models and settings ran all three prompts, most of them three times from scratch, next to the seven decision models and Jev.
The answer: four decisions per review
On 60 test reviews, Jev matched our answer key on all four decisions for 54. General models from Gemma 26B up to Opus 5.5 matched 58 or 59, at four to forty times the cost.
Jev 1.13direct API, first pass, plain prompt
5 reviews Opus matched and Jev missed
54
OpenRouter, three passes: 54, 53, 52
Opus 5.5high effort, ten reviews per request
59
three passes: 59, 58, 58
0all 60 reviews
Matched means agreeing with our answer key on all four. Three of the key's labels are still disputed.
If the decision matters, create a rule that hands the hard reviews to a person.
Show of handsHands up if you've shipped an LLM classifier. Keep it up if a second model checks it.
Proof 1: the gap is five reviews
Every run shows the same gap: Jev matched 52 to 54 of 60, and Opus 5.5 matched 58 or 59.
Each grid is one model. Columns are the prompt versions P0, P1 and P2, rows are three fresh passes, and a blank cell means that run doesn't exist.
all four matched, of 60: 40 to 60blank means no run
Sonnet 5.5 matched 58 in all nine runs. Gemma 26B and Qwen 27B, both free to download, each matched 59 on their first pass.
Proof 1: one pass over 60 reviews
A Jev pass over all 60 reviews cost $0.006, and an Opus pass about $0.22. Opus matched five more reviews, and at this volume that's pocket change, so the question is which five.
Jev, OpenRouter P0 pass
$0.006
Opus 5.5 high, ten reviews per request
$0.22
Jev caught all 25 reviews the key flags as a serious concern. On the harassment review that opened the talk, it still said nobody needed to follow up, at 0.49 confidence.
Proof 1: what the general models taught us
More effort didn't buy more matches. Bigger models didn't buy more matches either. The big models gave the same answers, wrong ones included. Multiple runs proved non-deterministic outcomes.
Gemini 3.1 Pro matched 56 of 60 at low effort for $0.063, and 55 at high effort for $0.257.
44 runs from 7 models across three vendors gave exactly the same answers.
31 of 50 decision-model setups gave identical answers across three runs. 11 of 202 general-model setups did.
Why five reviews matter
Typed output fixes the format, and the decision can still be wrong.
Perplexity Decider matched 54 of 60 in all nine runs, with the same six misses. A model that gives the same wrong answer every time never shows you it's wrong.
Miss a harassment report and the candidate posts about it on X and Reddit. Hiring gets a lot harder after that.
Great soup, tiny portions, wouldn't eat there again.
Shout it outSeven decision models read this review. How many of them flagged it as off-topic?
Replay of saved answers, 2026-10
Proof 2: seven decision models, one review
Great soup, tiny portions, wouldn't eat there again.
0 of 7 decision models matched the key.
Jev 1.13 is not one of the seven. Its saved answer:
It gave the same wrong answer: no serious concern, at 0.91 confidence.
89 of the 113 general-model configurations with a valid answer said can't tell on all four.
The models answered the question on the form and didn't notice it didn't apply. Asking "is this even the right question?" is System 2, and it isn't in the model.
Replay of saved answers, 2026-10
Proof 2: six reviews a person would pause on
Four of these are judgment calls and two are plain misses.
These are exactly the six reviews Jev's first pass missed, and three carry labels a second review of our key disputes. The misses weren't random, so you can route reviews like these to a person. Under each card: the key's four answers, then seven tiles, one per decision model, with its four answers as squares. An orange square is an answer that differs from the key.
All 60 reviews by how many of the 7 decision models missed
260
151
122
13
24
15
16
27
DEV-030fixed, I think
The accessibility issue from the assessment has been dealt with, I think. Someone said it was fixed, but I don't know whether that means I get another assessment or just that they've closed the ticket.
DEV-029off-topic
Great soup, tiny portions, wouldn't eat there again.
DEV-006it happened again
Same as last time. That thing happened again and it still isn't sorted.
DEV-013a friend heard a rumour
A friend told me they heard this firm asks inappropriate questions. My own interview was straightforward, and I have no complaint about it.
DEV-027kind words, cancelled train
Train got cancelled so they switched me to video with the same interviewers and gave me five mins to catch my breath. Really helpful of them.
DEV-059serious concern, no complaint
Nice staff. After the trial shift the manager kept asking me out even after I said no twice. I've asked the recruiter to stop him contacting me.
Replay of saved answers, 2026-10
Proof 3: the number next to the answer
Every answer comes with a confidence score. On these 60 reviews Jev's score tracked how often it was right, and it was still 0.96 confident on a wrong testimonial.
Jev 1.13 P0, testimonial field, 60 answers sorted by confidence
cutoff 0.90
0.9 cutoff keeps 54 of 60
0.7 keeps 58
0.5 keeps 58
DEV-027, the train review: key, then Jev's answer
Sentiment? key positive, Jev negative at 0.71 Follow-up? key no, Jev no Serious concern? key no, Jev no Testimonial? key yes, Jev no at 0.96
DEV-029, the soupNot a testimonial, at 0.88. Key: can't tell.
keptwithheldwrong answer (red: DEV-027)
A 0.9 cutoff keeps only answers at that confidence or above. It keeps 54 of 60 here, the wrong one included, though it would have caught the harassment follow-up miss at 0.49. A low score marks a hard review. A high score doesn't mean the answer is right.
How far each model's confidence sat from how often it was right, over 720 answers on these 60 reviews, smaller is better: Jev 0.011, Clef Flash 0.358. It describes these reviews and doesn't predict the next batch.
Proof 3: the fixes I'd reach for first
The obvious fixes didn't reliably help.
A longer prompt
P0 is the plain task: the rubric and the answer schema. P1 adds a classifier role and the rule to use only the feedback as evidence. P2 keeps P1 and adds a numbered procedure: is the text usable, then each field in turn. The procedure lowered 21 of 39 setups.
Clef, matched of 60, same every pass
54P0
51P1
49P2
39 saved setups
P0 to P1, adding framing
15 up, 15 same, 9 down
P1 to P2, adding the tree
4 up, 14 same, 21 down
A majority vote
Voting Jev's three passes never beat its best single pass. A vote of three gave strong general models 0.14 more matches out of 60. That's nothing, so ask a different model instead.
Fine-tuning
It starts paying off around 200 labels, and we have 9 testimonials.
Cloudflare's Clef may only read the first 2,000 tokens, so it might never have seen the whole set of instructions.
The rule: agree or defer
Agree or defer. Run two cheap models that make different mistakes. Accept a review only when both give the same four answers. Send the rest to a person.
53 accepted, 0 disagreed with the key
7 to a person
S + P, Solar Decide and Perplexity Decider, $0.037 for both runs
58 accepted, 0 disagreed with the key
2 to a person
Q + G, Qwen 27B and Gemma 26B, $0.069 for both runs. Other Gemma runs let one error through.
The rule: the policy and the queue
The rule says what a model may auto-accept. The escalation lines say who reads the rest.
Run two decision models on every review.
Auto-accept only when all four answers are identical.
If either model flags a serious concern, a person reads it.
If either model says can't tell, a person reads it.
Keep the confidence score for the record, and don't use it to decide.
Solar + Perplexity, all 60 reviews, 35 reach a person
7the two models disagreed, to a person
24agreed, a serious concern was flagged, to a person
4agreed, one said can't tell, to a person
25auto-accepted
We put a lot of serious concerns in this set on purpose, so a normal pile would make a shorter queue.
Show of handsOne model at 0.96 confidence, or two cheap models that agree?
The rule: every pair
All 21 pairs and the human queue.
This table shows every pair of two decision models, so you can see the rule isn't one lucky pair.
Pair, fresh1/P0
Accepted
Errors
Deferred
+ concern
+ can't tell
To a person
Two runs
5pairs let zero errors through.
6pairs accepted the soup with the same wrong answer.
32 to 42of 60 reach a person under the full policy, by pair.
Solar + Perplexity: 7 deferred, 24 escalated for a concern, 4 for a can't tell; 35 reach a person. Solar sits in four of the five zero-error pairs.
+ concern and + can't tell: accepted, then routed to a person anyway. The rule was fixed before any pair was computed. No pair is selected. Green rail: zero accepted errors.
The tool: classification-bench
classification-bench runs this test on your own cases, labels and questions.
Bring any model through an OpenRouter key, or Claude Code and Codex on the subscription you already have.
Bring datayour inputs, your labels
Planmodels, prompts, passes
Runstays inside your budget
Evaluateagreement, answer changes
Reportper label, per pass
OpenRouterCloudflare ClefClaude CodeCodexLiquid / Solar / Qwen
What should you do
I'd pull 60 of my own cases and label them myself, before any model sees them.
I'd give every question a can't-tell option.
I'd run two cheap models and keep only what they agree on.
I'd count how many land in the human queue, and check the rare cases I care about got through.
All five take your text plus typed questions with the options you supply, and return one option per question with a probability, in one pass, with no text to parse.
TypeSafe
Jev 1.13
$0.042 / M input
Early access
No changelog
Publishes a failure-mode page
OpenAI
Decisions on gpt-6-luna
$0.10 / M input
Public beta
Has a refusal type
Perplexity
Decider
$0.02 / M input
Apache-2.0 (v1)
Liquid AI
d1
$0.04 / M input
Price per blog methodology
Upstage
Solar Decide
beta
Price unverified
A2
Prompt levels P0, P1, P2, every pass, in these saved runs.
P0 is the plain task: the rubric and the answer schema. P1 adds a classifier role and the rule to use only the feedback as evidence. P2 keeps P1 and adds a numbered procedure: is the text usable, then each field in turn. Columns are prompt versions, rows are fresh passes.
Each row below counts the 39 model setups that ran both prompt versions: how many matched more of the 60 reviews on all four answers, how many matched the same number, and how many matched fewer.
P0 to P1, 39 setups
15 up, 15 same, 9 down
P0 to P2, 39 setups
7 up, 16 same, 16 down
P1 to P2, 39 setups
4 up, 14 same, 21 down
A3
Confidence and calibration, on these 60 reviews.
Gap between confidence and hit rate, lower is closer
Model
Gap
Of its 10 least-confident, in the hardest 10
Jev
0.011
0
Liquid
0.035
0
Tev
0.047
0
Luna
0.074
0
Solar
0.145
0
Clef
0.217
0
Clef Flash
0.358
0
Jev P0: answers kept at or above a cutoff
Field
0.5
0.7
0.9
Sentiment
57
55
47
Follow-up
58
58
52
Concern
59
57
53
Testimonial
58
58
54
7of Jev's 10 least-confident reviews are among the 10 hardest.
These are worked out afterwards. No answer was actually withheld.
A4
Equal scores hide different answers.
58in every Sonnet 5.5 xhigh cell, and it still changed DEV-006 and DEV-030 between passes.
31of 50 decision-model groups changed nothing across three passes.
11of 202 general-model groups did the same.
Perplexity Decider matched 54 of 60 in all nine runs, with the same six misses every time. A model that gives the same wrong answer every time never shows you it's wrong.
blank means no runcolumns P0 P1 P2, rows fresh pass 1 2 3
Replay of saved answers, 2026-10
A5, hard review
DEV-030: uncertain resolution.
Saved answer, first P0 pass
Sentiment
Follow-up
Serious concern
Testimonial
All four
0 of 7 decision models matched all four fields. Orange: differs from the key.
Replay of saved answers, 2026-10
A6, hard review
DEV-029: off-topic.
Saved answer, first P0 pass
Sentiment
Follow-up
Serious concern
Testimonial
All four
0 of 7 decision models matched all four fields. Orange: differs from the key.
Replay of saved answers, 2026-10
A7, hard review
DEV-006: vague recurrence.
Saved answer, first P0 pass
Sentiment
Follow-up
Serious concern
Testimonial
All four
0 of 7 decision models matched all four fields. Orange: differs from the key.
Replay of saved answers, 2026-10
A8, hard review
DEV-013: second-hand rumour.
Saved answer, first P0 pass
Sentiment
Follow-up
Serious concern
Testimonial
All four
0 of 7 decision models matched all four fields. Orange: differs from the key.
Replay of saved answers, 2026-10
A9, hard review
DEV-027: kindness during a logistics failure.
Saved answer, first P0 pass
Sentiment
Follow-up
Serious concern
Testimonial
All four
0 of 7 decision models matched all four fields. Orange: differs from the key.
Replay of saved answers, 2026-10
A10, hard review
DEV-059: serious concern without a complaint.
Saved answer, first P0 pass
Sentiment
Follow-up
Serious concern
Testimonial
All four
0 of 7 decision models matched all four fields. Orange: differs from the key.
Thank you!
Questions?
Adam Kovacs, Chief AI Strategist, AI Enablement Academy Agentics Foundation Meetup, Budapest, 8 October 2026