Model Routing Layers and the Prompt Cache Tax
One model switch cost 5x a warm turn at 10,000 tokens and 11x at 60,000, measured across three session sizes.

- Switching a 60,000-token session to
anthropic/claude-sonnet-5mid-conversation cost $0.223 for that single turn against $0.020 for the next warm turn on the same model, a factor of 11. - The penalty scales almost exactly with carried context: $0.025 per switch at 10,000 tokens, $0.072 at 30,000 and $0.143 at 60,000, holding cost per 1,000 prefix tokens near-constant at $0.00252, $0.00239 and $0.00238 across a six-fold size range.
- Routing execution to
x-ai/grok-4.5, whose output costs $6 per million tokens against the planner's $30, saved only 0.2% in one clean run and 7.9% in another, while routing the same work toanthropic/claude-sonnet-5andmoonshotai/kimi-k3cost between 16% and 47% more than never routing at all. - Two price distortions survive even a perfect cache: Claude's tokenizer counted 58% more tokens than GPT's for byte-identical text (making Sonnet 5 at $2 per million against GPT-5.6 Sol at $5 roughly a 37% saving rather than 60%), and
openai/gpt-5.6-solsells at $2.50, $5 and $10 per million input tokens for the identical model. - The prescription is to pin the model at the session layer and re-open the choice only on idle timeout or task drift, following vLLM's session-aware routing, which cut model switches by 79.29% across 21,600 turns and drove tool-loop violations from 3,404 to zero at a measured quality drop of 0.0453.
The pitch for routing is a simple one, and it's why Cursor and Ramp both shipped a router this month. Send the easy turns to a cheap model, keep the hard ones on a frontier model, and the bill comes down without the output getting worse. But Prompt caches are where that math starts to come apart. A cache belongs to one model, so the moment you switch, the model you switched to has to read the whole conversation again, and you pay full price for every token of it. So it’s not that simple, here is what we found in brief: Claude Sonnet 5 took over a 60,000-token coding session for me mid-way through, and that one turn billed $0.223. The next turn ran on the same model, in the same conversation, and it cost $0.020. Session size decides how much that hurts you. A switch costs about five times a warm turn when you're carrying 10,000 tokens, and nearly eight times when you're carrying 60,000. Layers are what I'd optimise after running these tests, rather than frequency. Which model handles a request matters less than which part of your system owns that choice, and the rest of this maps the three layers, the two locks that outrank cost, the tokenizer gap that breaks price comparison, and nine changes worth making on Monday.
Routing became infrastructure this month
Cursor Router went generally available for Teams and Enterprise on 22 July, and Ramp opened its router to outside users two days earlier. Model selection stopped being a preference in a dropdown.
Waste on that scale is real. Cursor says roughly 60% of its developers pick a single daily-driver model, which prices routine work at frontier rates.
Both companies put numbers on the fix, and both numbers are their own. Cursor reports 60% savings at frontier quality in its online tests and 30% to 50% for three early-access accounts, Ramp's chief technology officer cites a 30% cut, and nobody outside either company has reproduced any of it.
Claude Opus 5 then shipped on 24 July, two days after Cursor's launch, and as of 27 July Cursor's published model table still listed Opus 4.8 and Fable 5 with no Opus 5 entry.
That staleness was anticipated. Cursor says the classifier was built "for a world in which updated models get shipped early and often," and my read is that the instinct is right and also the whole difficulty, because a router is a bet on a portfolio that moves faster than the bet can be retrained.
The unit of routing is wrong
An agent session is not a sequence of independent prompts. It plans, calls a tool, receives output, gets told "continue," and fixes what broke.
Those short turns carry no meaning alone. "Run that again" is content-free without the forty turns above it, which is exactly why a classifier scoring the latest message reads it as cheap work.
Work from the vLLM Semantic Router team and AMD framed the second question a router has to answer: not only which model for this request, but whether switching inside this session is safe at all. Across 21,600 deterministic turns they cut model switches by 79.29% and eliminated 3,836 unsafe ones, with tool-loop violations falling from 3,404 to zero.
Their recommended policy still costs quality, at a delta of −0.0453 against −0.1433 for pinning one model forever, which is the kind of number vendors tend not to publish about themselves.
Cursor's router runs its classifier on each agent request in Balance and Intelligence modes, per its documentation. That is the per-request bet, stated plainly by the people making it.
What a switch actually costs
Anthropic publishes the multipliers: a cache read costs 0.1x the input price and a five-minute cache write costs 1.25x. Staying put is a 90% discount on everything your agent has already said.