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.
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.
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.
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.
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])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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Members post their wins every day — agency owners, ecom founders, course creators, solo operators across 38 countries.
Read the 158-page wins doc →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.