TypeSafe AI · Jev · released September 2026 · tested on my own machine

Jev AI Model Routing Changes Everything

Jev AI just changed how model routing works, and this is the part that's going to save you the most.

Right now, every job your AI agents do goes to the same big model, whether it's tiny or huge.

Jev sits in front of your agents and picks the right model for every single task before the work even starts.

It makes that call in under half a second.

Today I'll show you how the routing works, what to write so it picks correctly, and the one setting most people get wrong.

Picks the right model for every task before the work startsEvery jobtiny or hugeJev · the front doorpicks the laneunder half a secondCheap job→ cheap modelHard job→ strong modelRisky job? It sends that one to you.
The actual sources ↓
§1What model routing is

Model routing means one thing

One decision, made before any work startsQuick lookup → small, fast modelIn the middle → a mid-size modelHard planning → your strongest modelBefore the jobsomething decideswho does itThat's it. That's model routing.
§2The problem

The Pay-Twice Problem

The old way to route: read the job with a big model firstThe job arrivesyou need to knowhow hard it isCall a big model“how hard is this?”you payCall a modelto do the workyou pay againThe first call often cost about as much as just doing the job
THINKING IT? "Everyone says routing is smart. So why isn't everyone doing it?"

Because to route a job you have to read it, and reading it meant calling a big model.

You paid once to ask the question and again to do the work.

§3What most people did

So everything went to one strong model

Most people gave up on routingRename a filePull one fact out of a pageFix a typoPlan the whole quarterOne strong modelevery taskevery timeIncluding the jobs a tiny model could have handled in a second
§4What Jev is

Jev breaks that loop

TypeSafe's first System One model · released September 2026$0.042per million tokens infreeoutput tokens32,000token context window384 mstypical reply at my deskBuilt to make fast, structured decisions that software can use directly
price, context, output: TypeSafe AI + OpenRouter model page · reply time: my own 100-job run
§5Why that changes routing

The routing call becomes background noise

real run · OpenRouter · my machine · replayed at reading pace

What you're watching: the same 20 jobs routed three ways. Jev answered in about 382 ms. Claude Haiku 4.5 took 974 ms and Claude Sonnet 5 took 1966 ms. All three got 20 out of 20 right.

Asking a writing model to route vs asking JevOLD WAY~2 s a joba writing model reads the jobit writes its answer outyou pull one word from it37× the price of Jevtoo dear to run on every jobNEW WAY~0.4 s a jobJev reads the jobit picks one of your lanesyour code gets the lane nameplus how sure it ischeap enough for every jobSame 20 jobs, same rules, same right answers
§6What makes Jev different

Jev doesn't write any text at all

You can't chat with it. It won't explain its thinking.A statethe situationthe job in front of youYour questionswith the answersyou allowJevno chat, no essayAnswersin your shapeplus probabilitiesYou give it a situation and questions. It gives you answers and odds.
§7The question type for routing

For routing, you use Choice

real run · Jev through OpenRouter · my machine · replayed at reading pace

What you're watching: one real routing call. The job goes in, my four lanes go in as a Choice question, and Jev comes back with one lane, the odds for all four, and how sure it is. Then a refund job goes straight to the human lane.

§8Why the limit helps

An answer your software can act on

A routing decision has to be something software can use straight awayA PARAGRAPHuseless to code“This task appears fairly simple,though it could involve somenuance depending on context…”your code has to dig through itand hope it finds one wordA CLEAN ANSWERready to uselane: cheapcheap 0.99 · strong 0.01confidence 0.99if sure → send itif not sure → send it upThat constraint is the whole point
A paragraph of reasoning is useless to a program.
§9How you define the lanes

Each lane is a model plus one plain sentence

LangChain's routing middleware, in three parts“fast” → a cheap modeldirect lookups, extraction, localized changes“powerful” → a stronger modelarchitecture and high-stakes decisionsOne instruction over the topchoose the least costly model that can complete the taskA set of choices. A model on each. A criteria line in plain English.
LangChain · ModelRouterMiddleware · shortened from their docs
router = ModelRouterMiddleware(
    choices={
        "fast": ModelChoice(
            model="openai:gpt-5.6-terra",
            criteria="Direct lookups, extraction, and localized changes...",
        ),
        "powerful": ModelChoice(
            model="openai:gpt-6-astra",
            criteria="Architecture ... and high-stakes decisions.",
        ),
    },
    instructions="Choose the least costly model that can complete the task safely.",
)

agent = create_agent("openai:gpt-5.6-terra", middleware=[router])
source: LangChain blog “Building a harness with Jev” + LangChain docs · TypeSafe provider · model routing
§10What those lines really are

They're job descriptions, not code

You're describing the work, the way you would to a new hire on day oneWHAT YOU'D EXPECTtechnicala decision treekeyword listsif-this-then-that rulesa developer to maintain itbreaks on anything newWHAT IT ISthree sentenceswhat this lane is forwritten like you'd brief a persona few examples insideanyone on the team can edit ithandles jobs it's never seenThree sentences about what each model is good at
THINKING IT? "I'm not technical. I can't build a router."

You're not building one. You're writing three sentences about which jobs go where.

If you can brief a new hire, you can write a criteria line.

§11Vague lines, vague routing

“Simple stuff” tells Jev nothing

real run · Jev through OpenRouter · my machine · replayed at reading pace

What you're watching: 100 everyday business jobs, each labelled by hand first, routed with four vague lines: private stuff, simple stuff, hard stuff, risky stuff. 65 landed where I'd have sent them, and 28 big or risky jobs were sent too low.

§12Write them for a person

Put examples inside the criteria line

real run · Jev through OpenRouter · my machine · replayed at reading pace

What you're watching: the same 100 jobs and the same model. The only change is the four sentences, now written as job descriptions with examples inside. 98 out of 100 matched my labels, in 3.6 seconds.

my four criteria lines · copy and change the examples
local:
  Jobs on my own private files or data that should never leave my machine, and repetitive file chores. Examples: renaming or sorting files in a folder, pulling numbers out of my customer spreadsheet, payslips, bank statements, private notes or transcripts.

cheap:
  Small jobs on public or already-approved content that take one quick step. Examples: pulling one fact out of a page, rewriting a sentence, fixing grammar, writing a subject line, answering a question from our published FAQ.

strong:
  Work that needs planning, research, analysis or many steps, where a weak answer would cost us. Examples: a full site audit, a strategy or launch plan, designing a system, debugging across services, a long researched article, reviewing a contract.

human:
  Anything that sends, publishes, pays, deletes, signs, bans or agrees to something on my behalf and cannot be undone. Examples: issuing a refund, emailing a client or the whole list, changing prices on the live site, wiping a database, replying to a lawyer or journalist.
§13The four lanes

Local. Cheap. Strong. Human.

The four lanes I'd think in terms ofLocal · on your machine · private or repetitiveCheap · small hosted model · volume workStrong · your best model · the hard thinkingHuman · you · never automaticJevthe front doorone Choice questionThree of them are models. One of them is you.
§14The lane most people skip

The human lane is a destination, like any model

When Jev says “human”, nothing happens until you lookA risky job“issue a $2,400refund right now”Jev routes itlane: humanThe system stopsand waits for youno guessingYou say yes or nothen it carries onIn my run, 25 out of 25 risky jobs went to the human lane
THINKING IT? "If it keeps stopping to ask me, what's the point?"

It only stops for the jobs you said should never be automatic: sending, paying, deleting, publishing.

In my 100 jobs that was 25. The other 75 ran without me.

Three of the lanes are models. One of them is you.
§15Where it sits in my setup

The routing decision is the front door

Different agents, same brain underneathClaude CodeHermesOpenClawAntigravityCodexJevthe front doorevery job passes itOne Obsidian vault as memory · models through OpenRouter
§16One example

Two “SEO tasks”. Two different lanes.

Both are “SEO tasks” — Jev split them before either one started“Rewrite this one sentence from our homepage so it sounds friendlier.”→ cheap lane · 1.00 sure · 499 ms · a strong model here is waste“Run a full technical SEO audit of our 400-page site and write a fix plan.”→ strong lane · 1.00 sure · 350 ms · a cheap model here is riskReal answers from my run
§17 Skip the plumbing

Get more leads and customers — with all your agents in one place

Inside the AI Profit Boardroom you get the Agent OS zip file — the system that plugs your Claude, your Hermes and your OpenClaw into one dashboard. A routing layer like Jev is exactly the kind of thing you drop in front of it.

A routing layer in front of your agents — your lanes, your criteria lines, your confidence line, worked out with you
The Agent OS zip file — Claude, Hermes, OpenClaw and the rest, plugged into one place
Four coaching calls every week — we go through setups like this live
The cheap lane pointed at the right small model — so agent work gets faster without getting worse
Free local models for everyday jobs — plus the tools you already pay for, wired in
3,900+ business owners — plenty started with no AI experience at all
Join the AI Profit Boardroom →Inside the AI Profit Boardroom · skool.com/ai-profit-lab
Set up in an afternoon · used in 38 countries · new tools added the week they ship
THINKING IT? "Doesn't running the Agent OS burn a fortune in tokens?"

No. Everyday jobs run on a free local model on your own machine, free APIs slot in for more, and the hard work goes through the tools you already pay for — your Claude subscription already includes the Claude CLI.

Inside the Boardroom there are full token-saving tutorials too, so you learn to cut usage right down.

§18The part most people skip

Jev hands you the confidence, not just the winner

real run · Jev through OpenRouter · my machine · replayed at reading pace

What you're watching: three real jobs from my run. Each one got a lane, but look at the big number under it. Two are sure. The third is only 0.49 sure, and it's the one Jev got wrong.

§19What the number gives you

Low confidence goes up a level, never down

A low number means: this job doesn't look like anything you describedJev says“cheap lane”How sure?check the numberHigh → send itto the cheap laneLow → send it upstronger modelor a personSo you send it up a level instead of down
§20Routing as a safety layer

One rule turns routing into a safety layer

My 100-job run, with a line at 0.602misses out of 1002 of 2misses under 0.60 sure0misses left above the lineBoth wrong answers were also the unsure ones — so the rule caught them
THINKING IT? "What if it sends something important to the cheap model?"

That's what the line is for. Anything under it goes up a level or to you.

In my run the 2 wrong answers were both under 0.60, so neither would have run on its own.

§21An honest limit

The threshold is a filter, not proof

All 300 routing answers from my three runs, grouped by how sure Jev wasunder 0.50 sure27 of 53 right0.50 to 0.7016 of 34 right0.70 to 0.9038 of 56 right0.90 and up155 of 157 rightHigher number, more of the batch is right — never a promise about one answer
Treat the threshold as a filter, not as proof.
§22Every question at once

More questions barely change the response time

Same jobs, one question vs five · typical of 24 runs each1 question384 ms · 566 tokens5 questions372 ms · 682 tokensFour extra answers for about a hundred extra tokens
§23One call, several answers

The routing call can ask five things

real run · Jev through OpenRouter · my machine · replayed at reading pace

What you're watching: two real jobs, five questions each, one call each. Every answer comes back together: the lane, how much damage a mistake could do, whether it touches anything outside, whether information is missing, and whether a person should look first.

§24A profile of the job

Your front door builds a small profile of every job

What the front door knows before any work startsWhich modelthe laneHow careful to bethe risk scoreHow much context to loadis anything missing?Whether to stop and askdoes a person need to look?I'd rather have that than a router that only knows one thing
§25A detail that gets glossed over

Routed once, stuck for the whole chat

LangChain's version: routed once, from the latest messageMessage 1quick question→ cheap laneMessage 2still cheapMessage 3still cheapMessage 4something much harderstill in the cheap laneThree messages later they're asking for something hard — from the cheap lane
source: LangChain docs · “evaluates the most recent human message and applies the selected model throughout the entire run”
§26The choice you have to make

Sticky, or re-route every turn?

Both have a costSTICKYpredictableone model for the whole runcheapoutput feels consistentbut a hard job can landin the wrong laneEVERY TURNaccuratea fresh decision each messagemore accurateless stablecan flip models mid-joboutput can feel inconsistentSticky is predictable and cheap. Re-routing is more accurate but less stable.
§27My preference

Sticky within a task. Fresh on a new task.

real run · Jev through OpenRouter · my machine · replayed at reading pace

What you're watching: one real six-message chat. Each message gets two questions in the same call: which lane, and is this a new task? Follow-ups stay put. When a new task starts, it routes again — cheap, then strong, then human.

§28When the router has a bad day

A routing call should never stop the job

What happens when the router itself has a bad dayThe routeris a network callNetwork calls failtimeoutsexpired keysThe jobstill has to happenA routing decision should never be the reason a job doesn't happen
§29The rule

If it fails or takes too long, fall straight through

real run · Jev through OpenRouter · my machine · replayed at reading pace

What you're watching: three real runs of the same job. First, Jev answers in 344 ms. Then I give it a time budget it can't hit, and it gives up after 71 ms and uses the default model. Then an expired key — same result, the job still runs.

THINKING IT? "What if adding this breaks what I've already got?"

It can't, if you build it this way. The router sits on top of a system that already works.

If Jev is slow or down, the job goes to your default model, the same as it does today.

The router is a bonus layer. The system works without it.
§30What people are doing with it

Real examples, from the first week

High-volume decision problemsKyle Jeong · Browserbasebrowser-use agents for fractions of a centRyan Vogelemail triage at scaleThe cost of the deciding used to make the whole idea not worth doing
source: LangChain blog · “Building a harness with Jev”
§31The pattern to notice

Work that was never worth doing before

Routing isn't only about spending less on the work you already doBEFOREpriced outthe checking cost morethan the outcome was worthso nobody checkedso the job never existed“not worth automating”NOWworth doingthe checking costs almost nothingso you can check everythingevery email, every pageevery claim in a reportnew jobs appearIt's about work that was never worth doing before
§32Thousands of tiny judgments

Same shape, every time: thousands of tiny judgments

All three of my 100-job runs, added up300routing decisions11 stotal time$0.0057total, at list priceSorting emails. Scoring pages. Checking claims. They were all priced out.
135,671 tokens in × $0.042 per million · output free
§33Where it doesn't work · 1

Jev gives you a number, not a reason

There is no written “why”Jev's answerlane: cheap · 0.91no explanationNeed to explain itlater?debugging, auditsLog the full stateyourselfOr escalateto a modelthat can writeSave what Jev saw — or send that case to a model that writes
§34Where it doesn't work · 2

“Can't hallucinate” is narrower than it sounds

My vague-criteria run100 of 100answers inside my four lanes35of them the wrong laneThe shape is guaranteed. The judgment isn't.
§35Where it doesn't work · 3

These are the company's own numbers

TypeSafe is upfront about thisTheir team wrote the eval workflows“some bias could exist” — TypeSafeReference answers came from other modelsan average of two big modelsThe 0% error figure isn't measured“our number is not empirical” — TypeSafeThe price could movetreat it as today's priceTake the speed and cost claims as theirs until someone independent checks
source: TypeSafe AI · “Introducing System One Models & Jev”
§36Where it doesn't work · 4

It's early access. The pattern survives.

Build on the pattern, not the providerEvery jobarrivesA cheap decision layerJev todaysomeone else tomorrowExpensive modelsonly when neededThe idea isn't going anywhere, whoever ends up supplying it
§37How to know if it's any good

Don't guess. Don't switch it on live.

A dry run on decisions your system already madeA few hundredpast examplesyou know the answerRun Jev on themact on nothingComparewhat it chosevs what happenedNothing is acted on. You're only comparing.
§38Read the disagreements

The disagreements point at a vague line

real run · Jev through OpenRouter · my machine · replayed at reading pace

What you're watching: my own three rounds on the same 100 jobs. Round one: 65 matched, and 16 human jobs went to a model, so I rewrote the human line. Round two: 73. Round three, all four lines rewritten: 98.

§39Then go live, carefully

Start with the reversible calls

Boring. And the whole difference.Dry runnothing acted onRewrite the linesrun it againReal callsreversible ones firstEverything elseonce you trust itA router you trust, or a router you keep turning off
A router you trust, or a router you keep turning off.
§40The bigger shift

One enormous model, doing everything

A very expensive way to answer a question that only has four possible answersWrite the contentDo the researchDecide what tool to useJudge if the answer was goodDecide whether to try againDecide whether it was finishedOne enormous modelfor two yearsthis was the planFour of these six are small decisions
§41The shape that's forming

A different shape

What's forming nowOne strong modelthe hard thinking and the writingA cheap decision modelthe constant small calls around itSmall specialistsretrieval and sortingPlain codethe hard rules, never up for debateFour parts, each doing what it's good at
§42Where you'll meet it first

Routing is the easiest piece to add and to measure

Where most people will meet that shape for the first timeAdd routingthe easiest pieceMeasure itright lane or noteasy to countThen the next pieceof the new shapeEasiest to add. Easiest to measure.
§43“This is for big operations”

Right now, you're the router

Every one of those is a routing decisionWhich model do I use for this?Is this good enough to send?Should I check this one myself?Youall day longmaking these callsRouting matters most when you're small
Wrong: This is for big operations with huge volume.
Right: It matters most when you're small, because when you're small you are personally making these calls all day.
§44“I'm not technical enough”

The whole setup is four things

That's the configurationThree laneslocal · cheap · strong (plus you)Three plain-English sentenceswhat each lane is forOne instructionpick the cheapest one that can do the jobOne threshold numberbelow it, send it to a personThe hardest part is a business question, not a technical one
Wrong: I'm not technical enough for this.
Right: The setup is three lanes, three sentences, one instruction and one number. Deciding your lanes is a business question.
§45“I'll wait until it settles”

The tools will change. The pattern won't.

Deciding what a job is worth before you spend on itWAITstart from zerothe tools keep changingso you keep waitingthe next one landsyou still don't know the patternyou start from zero againLEARN IT NOWswap laterdecide what a job is worthbefore you spend on ittrue in every version of thisa new provider arrivesyou just swap it inPeople who learn the pattern now just swap providers later
Wrong: I'll wait until it settles down.
Right: The tools keep changing, the pattern doesn't. Learn it now and you only ever swap providers.
Don't take my word for it

Members post their wins every day — agency owners, ecom founders, course creators, solo operators across 38 countries.

Read the 158-page wins doc →
§46 Your move

Get more leads and customers — with the routing layer already inside your agent system

The routing layer we're talking about runs inside a system that already holds all your agents. That's the Agent OS, and you get the zip file inside the AI Profit Boardroom.

The Agent OS zip file — every agent you run, in one system
The 30-day roadmap for putting it in, plus the video walkthrough
Daily updates as we improve it
Coaching calls — which tasks belong in your cheap lane, what to write in your criteria, where to set your confidence threshold
A prompt library and daily tutorials
3,900+ business owners building the same kind of setups — plenty with no technical background
Join the AI Profit Boardroom →Inside the AI Profit Boardroom · skool.com/ai-profit-lab
258 documented member wins · 38 countries · everything from this guide, already wired in
§47One last thought

It was never normal. It was the only option.

The reason this landed so hard isn't the priceLAST TWO YEARS“normal”a frontier modelanswering yes-or-no questionsall day, in every loopwe got comfortable with itit was the only optionNOWa better questionlook at one step in the loopdoes this step actuallyneed the big model?a surprising amount of the timethe answer is noWe told ourselves that was normal
§48The real shift

More things become worth doing

Every time you look at a step in an agent loop, there's a better question availableAny step inan agent loopAsk honestlydoes this needthe big model?Often: nogive it to thedecision modelNew worktoo small to beworth it yesterdayThat's the real shift. More things become worth doing.