Most production AI systems are running a frontier model on work that does not need one. Not occasionally. Structurally, on the large majority of calls, because the system was built during a prototype phase where using the best available model was the obvious default and nobody revisited it once traffic grew. The bill arrives later, and by then the architecture assumes one model endpoint for everything, which is precisely the assumption that makes the bill hard to fix.
Three Pressures That Made This Urgent
The shift toward smaller models in 2026 is driven by three distinct forces that happen to point the same direction, and it is worth separating them because they imply different architectures.
The first is straightforward inference cost. Hosted frontier APIs at around $5 per million input tokens are entirely reasonable for a product with thousands of daily calls and entirely unreasonable for one with millions. The second is deployment constraint: models that need to run on device, in a factory, on a vehicle, or anywhere with intermittent connectivity cannot call a hosted API at all. The third is data residency, where the workload legally or contractually cannot leave a boundary, which no amount of budget solves.
A team facing only the first pressure can solve it with routing against hosted endpoints of different sizes. A team facing the second or third needs models that run on infrastructure they control, which is a materially larger project involving serving infrastructure, GPU capacity planning, and an operational burden that hosted APIs were absorbing invisibly. Conflating these is the most common planning error in this area.
Why Most Calls Do Not Need a Frontier Model
Audit the actual calls a production AI system makes and the distribution is consistently lopsided. There is a small number of genuinely hard calls: multi-step reasoning, ambiguous requests requiring judgment, code that spans several files and unfamiliar architecture, synthesis across contradictory sources. And there is a very large number of calls that are, on inspection, classification with extra steps.
Is this ticket about billing or delivery. Pull the invoice number and date from this email. Which of these six tools should handle this request. Rewrite this paragraph in the house tone. Does this document mention a termination clause. Summarise this thread into three bullets. Every one of those is a task where a well-chosen model in the 1 to 8 billion parameter range, given a decent prompt and a few examples, performs at or very near frontier quality, and where the difference between 96% and 97% accuracy does not change the product.
"The winning pattern is not small instead of large. It is routing each step to the smallest model that provably clears your accuracy bar, with a calibrated escalation path."
The word doing the work in that sentence is "provably." Routing by intuition about which tasks are easy produces exactly the outcome sceptics predict: a system that is cheaper and worse, in ways that surface as a slow drift in user satisfaction rather than a visible failure. The routing decision has to be grounded in measurement on your own tasks, which means the eval harness comes first.
The Architecture: Cascade, Not Switch
The naive implementation is a switch: a classifier looks at the request and picks a model. It underperforms, because the classifier has to predict difficulty before seeing the answer, which is nearly as hard as answering. The pattern that works is a cascade: attempt with the small model, evaluate the result against a confidence signal, escalate only when the signal says to.
Predict difficulty upfront
Attempt, then escalate
The escalation signal is where the engineering actually lives, and the good news is that the cheapest signals are often the best ones. If the small model's job is to return structured output, schema validation is a free and highly reliable escalation trigger: malformed output escalates, period. If the job is extraction, checking that the extracted values appear verbatim in the source catches most hallucination. If the job is classification, a low margin between top two logits is a strong signal. Reach for an LLM judge as an escalation trigger only when cheaper structural checks genuinely do not apply, because a judge call spends much of what you were trying to save.
What Self-Hosting Actually Costs
The published cost comparisons tend to be honest about inference and quiet about operations. A private endpoint at $500 to $2,000 a month for 10,000 daily queries is a real number for compute. It is not the total cost of running that endpoint, and pretending otherwise is how these projects lose credibility internally when the second invoice arrives.
Add serving infrastructure and its maintenance, GPU capacity that must be provisioned for peak rather than average, an on-call rotation for a component that did not previously exist, model version management, and the engineering time to evaluate and swap models as better small models ship, which in 2026 is roughly monthly. For a team below a certain scale, those fixed costs exceed the inference savings, and the correct decision is to route between hosted endpoints of different sizes and revisit self-hosting later.
The threshold worth reasoning about is volume stability rather than volume alone. Self-hosting rewards predictable, sustained load because you are buying capacity in advance. Bursty workloads with a high peak-to-average ratio are exactly where hosted endpoints earn their margin, since someone else absorbs the idle capacity. Teams whose agent traffic is recursive and spiky, the pattern we described in agent-speed infrastructure, should be especially careful here. A workload that quadruples for ninety minutes is a bad fit for reserved GPUs.
Building the Routing Layer in Four Steps
1. Instrument before you optimise
Tag every model call with a task type at the call site, then measure volume and token spend per type for two weeks. Most teams find that two or three task types account for the overwhelming majority of spend, and that at least one of them is something nobody would have guessed. Optimising the wrong task type is the most common way this work produces a 4% saving and a lot of disappointment.
2. Build the accuracy bar before you build the router
For each high-volume task type, assemble a labelled set from production traffic and define what passing means. This is the same discipline as eval-driven development, applied to a cost decision rather than a capability one. Without it, every routing conversation degenerates into competing anecdotes, and the team that shouts loudest about a bad output wins regardless of the aggregate.
3. Test the ladder, not one alternative
Run your labelled set against four or five models spanning the size range, including at least one open-weight model you could self-host. The result is usually a step function rather than a smooth curve: quality holds steady down to a certain size and then falls off sharply. You want the model just above that cliff, and you want to know where the cliff is, because it moves with every model generation.
4. Ship the cascade behind a flag, at partial traffic
Route 5% of a single task type through the cascade, compare outputs against the frontier path on the same inputs, and watch both the eval score and the real product metric. Expand by task type rather than by percentage, since failures are task-correlated. The whole rollout should take a few weeks and should be reversible in one configuration change.
The On-Device Tier Nobody Prices In
There is a third tier below your cheapest hosted endpoint, and most routing designs ignore it entirely. Models in the 1 to 7 billion parameter range now run acceptably on laptops, phones, and embedded hardware, and forecasts put edge AI devices at around 2.5 billion units by 2027. For a class of work, the marginal inference cost at that tier is zero, because the compute belongs to the user.
The tasks that fit are narrower than the enthusiasm suggests, and they are real: intent classification before a request leaves the device, redaction of sensitive fields before anything is sent upstream, autocomplete and short rewrites, offline fallbacks, and the first pass of a search query. Each of those removes a network round trip as well as a paid call, which is why the latency improvement is often more noticeable than the cost one.
The engineering cost is distribution rather than serving. You now ship model weights, manage their versions across client platforms, and handle devices that cannot run them. That is a real product burden and it is why on-device belongs at the front of a cascade rather than as a replacement for it. Classify locally, escalate to a hosted small model, escalate again to frontier. Three tiers, each an order of magnitude apart in cost, each handling what it can. The same architecture underpins the local personal agent shift, where keeping data on the user's hardware is the point rather than a side effect.
How to Choose Which Small Model to Test
Model selection at this tier moves too fast for a recommendation to survive publication, so the useful thing is the selection criteria rather than a list of names. Four filters narrow the field quickly.
Start with licence, because it eliminates faster than anything else. If you intend to self-host, a permissive open-weight licence is not a preference, it is the entry requirement, and several otherwise attractive models carry usage restrictions that your legal team will find in month three. Next, check whether the model was trained for the shape of your task. A model tuned for instruction following and structured output will outperform a larger general model on extraction work, and the parameter count will mislead you if you only look at that.
Third, confirm the serving story before you fall in love with the benchmark. A model with mature support in the serving runtime you already operate is worth more than a marginally better model that needs a bespoke deployment path. Fourth, and most neglected, check the release cadence of whoever publishes it. You are choosing a dependency you will re-evaluate every few months. A publisher who ships steadily and documents changes is worth a point or two of accuracy against one who ships brilliantly and unpredictably.
Run the finalists against your labelled set on the same day, with the same prompts, through the same harness. Almost every published comparison you will read varies at least two of those three, which is why published comparisons and internal results disagree so reliably.
The Failure Modes to Watch
Three things go wrong often enough to plan for. The first is silent quality decay, where the routed system passes its evals and users still like it less. This usually means the eval captures correctness but not the qualities that made the frontier output pleasant: tone, structure, appropriate hedging. Add those to the eval or accept the trade explicitly; do not discover it through churn.
The second is escalation cascades, where a verifier that is slightly too strict pushes escalation from an expected 15% to 60%, and the system quietly costs more than the unrouted version while running twice the calls. This is why escalation rate needs an alert rather than a quarterly review.
The third is drift after a model update. Small models ship frequently and improve fast, which is good, but a provider silently updating a model behind a stable endpoint name can move your escalation rate and your quality in either direction without any change on your side. Pin versions where the provider allows it, and re-run the labelled set on every version change. This is the routing-layer version of the discipline we described in the multi-model stack, where per-model evals are what make provider diversity an asset rather than an ongoing source of surprises.
The Arithmetic, Worked Through Once
Abstract multipliers are easy to nod along to and hard to take to a budget meeting, so here is the shape of the calculation with the assumptions visible.
Take a support product handling a million interactions a month. Each interaction makes four model calls: classify the request, retrieve and rank context, draft a reply, and check the draft against policy. Three of those four are the routable kind. If all four currently go to a frontier model, three quarters of your call volume is being served at the highest available price for work a smaller model does equivalently.
Route those three to a small model with a 15% escalation rate and the arithmetic moves twice. You have removed roughly 64% of your frontier calls outright, and the escalated remainder costs one extra small call each, which at small-model pricing is close to rounding. The published range of a $50,000 to $150,000 monthly delta at this volume is not a marketing number; it falls naturally out of a mix like this one.
What the arithmetic hides is that the draft step, the one you did not route, is usually the largest single line by token volume, because it generates the most output. Teams often win the easy three quarters of call count and a much smaller share of actual spend. That is still worth having, and it is a good reason to instrument by token rather than by call before you decide where to start.
What This Buys You Beyond Money
The cost saving is the reason teams start and rarely the reason they are glad afterwards. A routing layer is the abstraction that makes a model a replaceable component rather than a structural dependency. Once every call goes through a router with a declared task type and a measured accuracy bar, switching providers is a configuration change, adding a new model is an experiment rather than a migration, and a price increase from any single vendor stops being an emergency.
Latency improves too, and more than people expect. Small models respond faster, and for the 80% of calls that route to them, the user-visible latency of the whole system drops substantially. Interactive products where a response arrives in 400 milliseconds instead of 2 seconds feel different in a way that is hard to quantify and easy to notice.
The honest summary is that this is unglamorous infrastructure work with a large and measurable payoff, and it gets deferred because nothing is visibly broken. The teams doing it in 2026 are mostly the ones who watched an AI budget disappear faster than planned and decided the architecture, rather than the usage, was the thing to change. Doing it before that happens is strictly cheaper, and the eval harness it requires is something you needed regardless.
Tags
Share
Building something like this? See how we ship it or start a project.