AiBook · Jeremy Schoemaker · 2026 · ch-28.html

Stop Using Opus for Everything

(Spine Ch. 28.)

“You don’t bring a $400 torque wrench to change a light bulb. You bring the cheap one you already own, and you save the good one for the bolt that will kill you if it backs out.”

Me, after a bill line taught me the difference.

I fanned out fifteen subagents (Ch. 16) to survey a repo, and every one of them inherited Opus 5 because nobody had set a per-agent default. Four of them existed to run grep. A Zerg rush (StarCraft, 1998) works because zerglings are cheap; this was a Zerg rush where every zergling cost as much as an ultralisk. Nothing errored. The dashboards were green, the rows filled in, and the only artifact of the mistake was a bill line four days later. That is the whole failure mode: the expensive model isn’t smarter at reading a docs page, just more expensive at it, and nothing in the system will ever tell you.

Bottom line: Haiku researches. Sonnet codes. Fable plans. Opus judges. One god model on every call is how you go broke and still ship dumb. Anthropic’s September 2026 price sheet puts Haiku 4.5 at $1 per million input tokens and $5 per million output, Opus 5 at $5 and $25. That’s 5x for the same fetch. Yes, Fable 5 at $10/$50 is the priciest tier in my table and I still send planning to it, because that is one 6K-token call in front of a run that will spend four million tokens executing. Tiering is not “always go cheap,” it is “spend where being wrong is expensive.” Routing by task tier is the highest-ratio cost fix in an agent system, and it usually makes the output better too: a small fast model that runs twenty times beats a big slow one that runs once and grabs the wrong file.


When it bites


The pattern

FrugalGPT (Chen et al., arXiv:2305.05176, May 2023) showed up to 98% cost reduction by cascading queries to appropriately sized models instead of sending everything to the top. RouteLLM (LMSYS, July 2024, arXiv:2406.18665) got specific: 85% cost reduction on MT Bench while holding 95% of GPT-4 performance, needing GPT-4 for only 14% of calls, 75% cheaper than routing at random.

Two years later the production numbers landed in the same band: 45% to 85% depending on workload (TianPan.co, November 2025), 40% to 85% across the 2026 survey work.

So the tiers. Mine, as a hard rule in my global config, not a suggestion:

Research goes to Haiku. Search, fact-gathering, reading a repo, summarizing a changelog, checking whether a package exists. High input volume, low output volume, which is exactly the shape Haiku’s $1/$5 is built for. A research subagent that reads 800K tokens and writes 2K costs $0.81 on Haiku and $4.05 on Opus. Run twelve in a fan-out and you have paid $9.72 versus $48.60 for identical paragraphs.

Coding goes to Sonnet. Sonnet 5 sits at $2 in, $10 out. Coding is the one task where output tokens are the bulk of the bill, because you are generating diffs, and it is also the task where the frontier-versus-mid gap has narrowed the most. Sonnet writes the patch. If the patch is wrong, you find out from the test suite, not from a more expensive opinion.

Planning goes to Fable. Fable 5 is $10 in, $50 out, the most expensive thing on the sheet, and I still route planning to it. Paying 10x on 0.15% of the volume is a rounding error; a bad plan is not (Ch. 15). The title says stop using Opus for everything, not stop paying for anything.

Judging goes to Opus. Review, adjudication, the “is this actually done” gate. Small input, small output, high consequence. This is where you want the model that will notice the thing the coder rationalized past.

Within a tier the model can still escalate upward, and knowing when is the other half of the job. Confidence-based cascades let the small model abstain rather than guess: 13% cost reduction and 5% fewer errors for a 4.1% bump in abstention (TianPan.co). A model saying “I can’t do this one” beats a confident wrong answer that a downstream step trusts.

Routing stacks with the two cheapest things Anthropic will sell you. Batch API is a flat 50% off both directions. Prompt caching drops cached input to 0.1x base, a 10x cut. Both are a config line, and together with routing they get past 60% total cost reduction.


One worked example

airank, 6 August 2026. For months I paid OpenRouter to tell me what ChatGPT would probably say about a brand. Not what it said. A different model’s impression of it, billed per call, at a price above asking the real thing. Then somebody ran the comparison nobody had run in six months: the real ChatGPT API gave different answers about a third of the time. We killed the approximation layer and went to direct measurement, and the bill went down while the accuracy went up in the same commit. Jeremy Schoemaker, guy who has been buying traffic since dial-up, paid a premium for a guess about an endpoint two lines of curl away. I had a Geocities-grade under-construction GIF where the measurement should have been.

That is the tier-zero version of routing: before you optimize which model handles a task, check that the task needs a model at all. A third of the routing wins I’ve shipped were not “route this to Haiku,” they were “this doesn’t need an LLM call, it needs a SQL query.” Once the fake calls are gone, the surviving ones are the ones you tier. Here are the dollars for those. Every call I make to every provider goes through aigate, so this is the whole bill, not one vendor’s slice.

Model Requests Tokens billed Spend
claude-opus-5 79,302 11,074.1M $7,400.29
claude-fable-5 22,591 5,172.7M $6,218.96
gpt-6-astra 15,090 2,073.4M $6,202.92
muse-spark-1.2 71,182 11,260.4M $3,183.24
claude-sonnet-5 67,259 7,987.7M $2,330.88
claude-fable-5-1 3,345 846.4M $1,121.16

aigate, 30 days ending 8 September 2026. Top six rows by spend. gpt-6-astra and muse-spark-1.2 are non-Anthropic models aigate also bills, because the vault routes every provider, not just this chapter’s four; claude-fable-5-1 is the point-release variant of Fable 5, not a typo. Haiku is absent because the screenshot ranks by spend: the tier I send the most calls to never spends enough to make a top-six list, which is the entire argument in one missing row.

Totals: $27,291.83 tracked cost, 283,164 requests, 40,404.2M tokens billed, 0.0% errors, 1.17 s average latency, peak day $3,155.65.

Divide the columns and the argument stops being rhetorical. Sonnet runs about $0.035 a request, Opus about $0.093, Fable 5 about $0.275. Sonnet took 24% of the requests and 8.5% of the spend: a quarter of the work for under a tenth of the money. That row is the chapter.

Opus at 28% of requests looks like it contradicts “Opus judges.” It doesn’t, quite: judging happens per step, not per run, so one coding task can spend a single Sonnet call and four Opus gate checks. It is still the row I am least happy with, and the next thing I cut is the review calls that are really lookups.

The named reroute is the fan-out from the hook. Fifteen agents surveying a repo, roughly 800K in and 2K out apiece, at $4.05 per request on Opus. Moved to Haiku, the same fan-out bills $0.81 per request, an 80% cut on a job whose output nobody could tell apart.

The line that makes the total survivable is the cache. aigate reports a 97.5% cache hit rate on requests; by tokens it is 97.2%, 39,290.4M of 40,404.2M read from cache. That is why 40 billion tokens cost $27k and not ten times that. Routing picks which model reads your context; caching decides whether you pay full freight to send it again.

What I cannot give you is the before. I never captured a clean untiered month at comparable traffic, so that number does not exist and I am not going to invent one. Everything above is thirty days of a system that was already tiered.


The quiet failure

The loud failure is the bill. Somebody screams, you fix it in an afternoon.

The quiet failure:

Opus makes your bad system look adequate for exactly long enough to ship it.

A frontier model papers over a vague prompt, a missing tool, an unbounded loop, a context window stuffed with garbage. Then you tier the system for cost, the compensation goes away, and eleven things break at once that were broken the whole time. People conclude the cheap model is bad. The cheap model just told you the truth.

Second: the parent’s model silently becomes every child’s model. Set Opus once at the top of a fan-out and fifteen subagents inherit it, including the four that only run grep. Nothing errors. You get pwned by a default you wrote yourself, and the receipt is a bill line, not a stack trace.


Do / don’t

Do

Don’t


Where this sits in the book

Ch. 16 is routing as control flow: which lane a request goes down. This is the cost tier of the same decision, and both failure modes are the agent picking a lane on vibes. Ch. 45 is the token economics in full, where per-call routing rolls up into a monthly number somebody has to defend. Ch. 7 is the tiny model that turned out to be enough: most of what you route to a frontier model was never a frontier problem.


Sources and receipts

Thesis is Jeremy’s (four-tier routing by task type, as a hard config rule). Argument, not citation.

Verified:

What I could not verify: