What Is Jev? A Decision Model That Picks Instead of Writing
An LLM writes an answer word by word. A decision model like Jev picks one option from your list and says how sure it is. Here's how that works, what it costs, and where it breaks.
Before you start
This is an intermediate lesson. It goes faster if you already know these:
- What an LLM is, and that it writes text one token (a small piece of text) at a time. The lessons "What Is an LLM?" and "Tokens and Tokenization" cover it.
- Structured output: asking an LLM to answer as data with fixed fields, such as JSON, instead of free prose. A later lesson goes deep on it.
- A probability or confidence score: a number from 0 to 1 for how likely something is.
- Checking a model against labelled examples: answers you already know are right. The LLM Evals lessons, such as "LLM Eval Methods", show how an eval (a repeatable test of a model's answers) works.
Alex pays for a sentence to get one word
Alex runs a small app for selling second-hand bikes. Every new listing needs two answers before it goes live: which category it belongs in (road, mountain, kids or parts), and whether it looks like a scam. Today an LLM answers. For a child seat for a rear rack, it writes: "This is a child seat that fits a rear rack, so the kids category fits best." Alex's code keeps one word, kids, and throws away the other fifteen. Alex pays for the whole sentence on every listing, and the seller waits for it.
So the question for this lesson: when should Alex stop asking a model to write, and ask it to pick instead? By the end you'll know what a decision model is, how to read its confidence score, and when to choose one over an LLM.
Think of a school exam. An essay answer is written word by word, and anything can end up on the page. A multiple-choice bubble sheet only has the printed options: you fill in one circle, and as you do, you know how sure you are. An LLM is the essay writer. This lesson is about the bubble sheet.
How a decision model works, in three steps
- Three things go in. A question ("Which category?"), the fixed list of allowed answers (road, mountain, kids, parts) and the text to decide on, the listing. Whatever happens, the answer is one of those options.
- Every option is scored at once. Instead of writing tokens one after another, it gives each option a score. For the child seat, in this example: road 0.02, mountain 0.01, kids 0.94, parts 0.03.
- The top option comes back with its score. Kids, at 0.94: that's the top option's score, which this lesson reads as how sure the model is. TypeSafe's API returns the option probabilities plus a separate confidence number (how far the top option stands out from the rest, not a probability itself), so check both on your own data. The model only answers; Alex's code decides. Alex's rule looks at the lower confidence of the two questions: at 0.9 or more the app acts (publish, or block a scam); under 0.9 a person checks the listing.
- Question + options (a fixed list) to Decision model (Jev, one pass)
- Listing text (the input) to Decision model (Jev, one pass)
- Decision model (Jev, one pass) to kids · 0.94 (pick + confidence)
- kids · 0.94 (pick + confidence) to Publish or block (lower score 0.9 or more)
- kids · 0.94 (pick + confidence) to A person checks (lower score under 0.9)
A model that picks from your list and tells you how sure it is is called a decision model. Jev, released by TypeSafe AI on 15 September 2026, is one. TypeSafe calls it a "System One" model, borrowing the psychology term for fast, gut-level judgement, as opposed to slow, step-by-step reasoning.
| Claim about Jev | Status | Where from |
|---|---|---|
| Returns one of the options you send | Vendor-stated (docs) | TypeSafe docs |
| Whole answer in one pass, not token by token | Vendor-claimed | TypeSafe |
| Several questions in one request | Vendor-claimed | TypeSafe |
| Trained with RLCD (Reinforcement Learning for Calibrated Decisions) | Vendor-claimed | TypeSafe |
| Trained mostly on synthetic data | Vendor-claimed | TypeSafe |
| Built like an encoder, or a decoder with a scoring head | Unknown | Not published |
| How much world knowledge it has | Unknown | Not published |
Returns one of the options you send
- Status
- Vendor-stated (docs)
- Where from
- TypeSafe docs
Whole answer in one pass, not token by token
- Status
- Vendor-claimed
- Where from
- TypeSafe
Several questions in one request
- Status
- Vendor-claimed
- Where from
- TypeSafe
Trained with RLCD (Reinforcement Learning for Calibrated Decisions)
- Status
- Vendor-claimed
- Where from
- TypeSafe
Trained mostly on synthetic data
- Status
- Vendor-claimed
- Where from
- TypeSafe
Built like an encoder, or a decoder with a scoring head
- Status
- Unknown
- Where from
- Not published
How much world knowledge it has
- Status
- Unknown
- Where from
- Not published
Six listings through a 0.9 threshold
Here is Alex's rule on six listings. The answers are made up for this lesson, not real Jev output. The lower confidence column is the one the rule reads.
| Listing | Category | Scam? | Lower confidence | Action |
|---|---|---|---|---|
| Carbon road bike, £850 | road 0.97 | no 0.95 | 0.95 | Publish |
| Kids' 16-inch bike, £40 | kids 0.98 | no 0.97 | 0.97 | Publish |
| New e-MTB £300, bank transfer only | mountain 0.93 | yes 0.96 | 0.93 | Block |
| Pair of wheels, £120 | parts 0.94 | no 0.92 | 0.92 | Publish |
| Vintage frame, price on WhatsApp | parts 0.58 | no 0.71 | 0.58 | A person checks |
| Child seat for a rear rack, £35 | kids 0.94 | no 0.97 | 0.94 | Publish (wrong: Alex files seats under parts) |
Carbon road bike, £850
- Category
- road 0.97
- Scam?
- no 0.95
- Lower confidence
- 0.95
- Action
- Publish
Kids' 16-inch bike, £40
- Category
- kids 0.98
- Scam?
- no 0.97
- Lower confidence
- 0.97
- Action
- Publish
New e-MTB £300, bank transfer only
- Category
- mountain 0.93
- Scam?
- yes 0.96
- Lower confidence
- 0.93
- Action
- Block
Pair of wheels, £120
- Category
- parts 0.94
- Scam?
- no 0.92
- Lower confidence
- 0.92
- Action
- Publish
Vintage frame, price on WhatsApp
- Category
- parts 0.58
- Scam?
- no 0.71
- Lower confidence
- 0.58
- Action
- A person checks
Child seat for a rear rack, £35
- Category
- kids 0.94
- Scam?
- no 0.97
- Lower confidence
- 0.94
- Action
- Publish (wrong: Alex files seats under parts)
# decide() is a stand-in for a real decision model: it returns this
# lesson's made-up answers. No network, no real SDK.
ANSWERS = {
"Carbon road bike, £850": [("road", 0.97), ("no", 0.95)],
"Kids' 16-inch bike, £40": [("kids", 0.98), ("no", 0.97)],
"New e-MTB £300, bank transfer only": [("mountain", 0.93), ("yes", 0.96)],
"Pair of wheels, £120": [("parts", 0.94), ("no", 0.92)],
"Vintage frame, price on WhatsApp": [("parts", 0.58), ("no", 0.71)],
"Child seat for a rear rack, £35": [("kids", 0.94), ("no", 0.97)],
}
QUESTIONS = [
("Which category?", ["road", "mountain", "kids", "parts"]),
("Does it look like a scam?", ["yes", "no"]),
]
THRESHOLD = 0.9
def decide(questions, listing):
"""Answer every question at once: one (option, confidence) each."""
answers = ANSWERS[listing]
for (_, options), (pick, _) in zip(questions, answers):
assert pick in options # it can only return one of your options
return answers
for listing in ANSWERS:
(category, c1), (scam, c2) = decide(QUESTIONS, listing)
lowest = min(c1, c2)
if lowest < THRESHOLD:
action = "send to a person"
elif scam == "yes":
action = "block"
else:
action = "publish"
print(f"{listing:<35} {category:<8} scam={scam:<3} {lowest:.2f} {action}")
decide() stands in for the real model and returns the table's made-up answers. Alex's threshold rule is ordinary code around it.Now the bill, using TypeSafe's list price as third-party reports give it. Assume 50,000 listings a day at about 300 tokens each, counting the question and options as well as the listing (real prompts can be longer):
| Step | Working | Result |
|---|---|---|
| Tokens sent in a day | 50,000 listings × 300 tokens | 15 million |
| Price of what you send | 15 × $0.042 per million (reported) | about $0.63 |
| Price of the answers | free, says TypeSafe | $0 |
| A day of decisions | illustrative, prices may change | about $0.63 |
Tokens sent in a day
- Working
- 50,000 listings × 300 tokens
- Result
- 15 million
Price of what you send
- Working
- 15 × $0.042 per million (reported)
- Result
- about $0.63
Price of the answers
- Working
- free, says TypeSafe
- Result
- $0
A day of decisions
- Working
- illustrative, prices may change
- Result
- about $0.63
Because only what you send is charged, Alex knows the price of a decision before sending it. On speed, TypeSafe reports about 70–500 ms per decision and headline figures of tens to hundreds of times faster and cheaper than LLMs; those are the vendor's numbers, and they vary by source. Independent tests are still few. In one public test of spotting phishing emails (2,000 phishing emails, September 2026), Jev's median reply took 239 ms against 687 ms for Claude Haiku 4.5, at about a twelfth of the cost.
Could an LLM with structured output do Alex's job? Yes. What changes is the wait, the price of each decision, and a confidence you can put a threshold on. Together they make running a check on every listing practical.
Where it breaks: confident, wrong, uncalibrated
Belief one: it can only pick from the list, so it can't be wrong. Look at the child seat. Alex files seats under parts, but the model said kids at 0.94. It can't invent an answer outside your list. It can still pick the wrong one, confidently.
Belief two: 0.94 means right 94 times in 100. That's only true if the model is calibrated: its scores match reality, so of all answers scored about 0.8, about 8 in 10 are right. TypeSafe's confidence page describes the score as how peaked the option scores are and tells you to test thresholds on your own data. One public phishing test (September 2026) measured an average gap of about 0.15 between score and hit rate (for example, answers scored 0.9 that are right only 3 times in 4); its author recommends calibrating per question on labelled data.
So before trusting 0.9, Alex hand-labels a few hundred past listings, groups the model's answers by score band (0.9–1.0, 0.8–0.9 and so on) and checks how often each band was right.
- Few independent benchmarks yet: most numbers are TypeSafe's own. One pre-registered 400-item study reports 95.9% right with no examples given, but the same article reports a set where it was right only 44.7% of the time, on a question it had no way to know, at an average probability of 0.74: confident, and often wrong.
- Text only, and no outside knowledge: no web search; it decides only on what you send.
- No explanation: you get an answer and a probability, not a reason.
- Reported weak spots with date comparisons and arithmetic (TypeSafe's own docs).
- Closed weights, one vendor, early access: pricing and terms can change.
When to use a decision model, and when an LLM
- Decision model: one answer from a fixed set, many times a second or millions of times a day. Sorting text into labels, scam and safety checks, choosing which tool or model handles a request, quick yes/no checks inside a bigger AI workflow.
- LLM: open-ended writing, explanations, summaries and multi-step reasoning, where the answer isn't on any list.
- Both: a big model plans the work, and cheap decisions run at every step.
Check yourself: a listing comes back road at 0.91 and scam "no" at 0.88. Publish, block or send to a person? A person checks it: the rule reads the lower confidence, and 0.88 is under 0.9.
Summary
Key takeaways
- An LLM writes an answer; a decision model picks one from your list and tells you how sure it is.
- You send a question, a fixed list of options and the text; you get back one option and a confidence from 0 to 1.
- Your code, not the model, acts on the confidence: above your threshold it acts, below it a person checks.
- Picking only from your list doesn't make it right: it can choose a wrong option confidently.
- A score only means "right that often" if it's calibrated, so test it on your own labelled data first.
- Jev's speed and price figures are TypeSafe's own; independent tests are still few.
Interview corner
When would you use a decision model instead of an LLM?
When the job is choosing one answer from a fixed set, at high volume or where every second counts. A decision model scores every option in one pass and returns a confidence you can set a threshold on, so each decision is faster and cheaper. I'd keep an LLM for open-ended writing, explanations and step-by-step reasoning, and either way I'd measure accuracy and calibration on my own labelled data first.
Practice
Check your understanding
0 of 5 answered
Finished this lesson?
Mark it done to track your progress. Saved in this browser only.
FAQ
Frequently asked questions
What is Jev AI?
Jev is a decision model from TypeSafe AI, released on 15 September 2026. You send it a question, a fixed list of allowed answers and some text, and it returns one of those answers with a confidence score instead of writing a reply.
Is Jev an LLM?
Not in the usual sense. An LLM writes text one token at a time; TypeSafe says Jev scores all your options in one pass and returns a pick. How it's built inside hasn't been published.
How much does Jev cost?
Per third-party reports of TypeSafe's list price, it's about $0.042 per million tokens you send, with the answers free. That's the price at launch, and it can change.
Can I trust Jev's confidence score?
Not without checking. A score means "right that often" only if it's calibrated, and one public phishing test measured an average gap of about 0.15 between score and hit rate. Label a few hundred of your own examples and check the hit rate per score band before you set a threshold.
Sources


