A routing demo that cuts your LLM bill on ten curated prompts is not evidence that routing will hold up on your traffic. The demo measures the router’s best case; production measures its worst. RouteLLM-style model routing is a production assumption, not a free win, and a proof-of-concept exists to test that assumption before you commit. The pitch is easy to like. Most of the queries hitting a chatbot or a RAG endpoint are simple — a greeting, a factual lookup, a short rephrasing. A handful are genuinely hard and need the strongest model you have. Routing sends the easy ones to a small, cheap model and reserves the expensive one for the queries that actually need it. Teams cite inference cost reductions in the range of roughly 40–85% versus always calling the strongest model (a market-direction figure quoted by routing vendors, not a benchmark of your workload). On a curated demo set, the number holds. On your query distribution, it might not — and the gap between those two is exactly what a POC has to surface. What matters most about RouteLLM AI in practice? RouteLLM is a router: a lightweight classifier that sits in front of two or more models and, for each incoming query, decides which model should answer it. The decision is usually framed as a difficulty or quality prediction. The router estimates whether the cheap model will produce an answer good enough to meet your quality bar; if yes, it routes there and pockets the cost difference. If not, it escalates to the strong model. The routing signal itself can come from several places. Some routers score the query with a small learned model trained on preference data — pairs of responses where a human or a judge model marked one as better. Others use a similarity match against a reference set of “hard” queries, or a cascade where the cheap model answers first and a confidence check decides whether to re-ask the strong model. Frameworks in this space, including the open-source RouteLLM project, expose a threshold you tune: push it toward cost and more traffic goes to the cheap model; push it toward quality and more escalates. In practice, that threshold is the whole ballgame. It encodes an assumption about your query mix that was calibrated on someone else’s data. The demo you saw was almost certainly run at a threshold tuned to the demo prompts. The question a POC answers is what that threshold does to your answers, at your traffic mix, once real users are on the other end. What is model routing, and how does a router decide between a cheap and a strong LLM? Model routing is the general pattern; RouteLLM is one implementation of it. The router is a policy that maps a query to a model. The simplest version is a binary choice — small model or large model — but the same idea extends to a fleet: a tiny model for classification-shaped queries, a mid-tier model for most generation, and a frontier model reserved for reasoning-heavy prompts. The decision mechanism matters because it determines where the router itself can be wrong. A learned router carries its own inference cost — you are running a classifier on every query before you run any model — and its own error rate. It will sometimes send a hard query to the weak model (a misroute that degrades the answer) and sometimes send an easy query to the strong model (a missed saving). Neither failure is visible in a throughput number. A misroute produces a plausible-looking but worse answer, and unless your POC is measuring answer quality on production-representative queries, the degradation is silent. That silence is the core risk. A router optimised for cost will, by construction, try to send as much traffic as it can to the cheap model. The prompts where the cheap model is almost good enough are precisely the ones where the difference is hardest to catch in a quick eyeball review — and precisely the ones a curated demo tends to leave out. Which assumptions should a POC test — cost, quality, or latency? All three, and the point of the POC is that they trade against each other. You cannot read the cost saving in isolation, because the saving is bought with quality risk and paid for in added latency. A routing POC scoped to test only “does cost go down” will always say yes, because that is the one number routing is designed to move. The honest question is whether cost goes down at a fixed quality threshold, on your traffic, net of the router’s own overhead. Here is the measurement structure a routing POC should isolate. Assumption under test What you actually measure Evidence class Why the demo hides it Cost saving is real Net cost per resolved query at a fixed quality threshold — not raw token savings benchmark (your workload) Demo counts token savings, ignores misroutes that force a re-ask Quality holds Misroute rate: fraction of hard queries sent to the weak model, scored against a quality bar benchmark (your workload) Curated prompts exclude the near-miss cases Latency is acceptable Router’s added p95 latency (classifier inference + any cascade re-ask) benchmark (your workload) Demo runs at low concurrency, router overhead invisible Traffic mix is representative Query distribution of the POC sample vs. production logs observed-pattern Demo prompts are hand-picked, not sampled The measurements have to run on a sample drawn from your production logs, not a vendor prompt set. If you can pull a few thousand real queries — anonymised — and replay them through the router, you get an honest picture. Logging each query’s route decision, cost, latency, and quality score into an experiment table you can sign off on is the difference between a demo and evidence; our note on logging POC evidence you can actually sign off on covers how to structure that record so the go/no-go decision rests on data rather than impression. What is the real cost model of routing once you account for its own overhead? The headline saving assumes routing is free. It is not. Every query pays for the router’s classifier inference before any answer model runs. That is small per query, but it applies to 100% of traffic, including the easy queries that would have been cheap anyway. And every misroute that triggers a cascade re-ask pays for two model calls — the failed cheap attempt plus the escalation. Write the real cost per query as the sum of three terms, not one. First, the router’s own inference cost, paid on every query. Second, the weighted model cost — the fraction routed cheap times the cheap price, plus the fraction routed strong times the strong price. Third, the re-ask penalty — the misroute or cascade rate times the cost of the extra call. A worked illustration makes the trap concrete. Worked example (illustrative, assumptions stated): Suppose the strong model costs 10× the cheap model per query, and a demo claims 70% of traffic routes cheap. Naively that reads as a large saving. Now add the router’s overhead at, say, 3% of the cheap-model cost on every query, and assume a 12% cascade re-ask rate where a cheap answer fails its quality check and escalates. The re-asks pay the cheap cost and the strong cost. On these assumptions the net saving is materially smaller than the headline — and if your true cheap-route fraction is 55% rather than 70% because your traffic is harder than the demo’s, the margin erodes further. The numbers here are illustrative to show the structure; the point is that only a replay on your own traffic produces the real ones. None of these terms show up on a benchmark that reports token savings. They only appear when the POC measures net cost per resolved query — the cost divided by the count of queries that actually met the quality bar, so that a cheap answer which failed and forced a re-ask is not counted as a win. How do you write go/no-go success criteria for a routing POC? Success criteria written before the POC runs are what keep the decision honest. Write them as thresholds, not aspirations, and commit to them before you see the results. The three numbers from the table above become the gate. Net cost per resolved query must fall by at least the margin that justifies the integration and monitoring work — decide that margin up front, in your own cost terms, not the vendor’s percentage. Misroute rate on production-representative hard queries must stay below a bar you can live with, measured against a quality score you defined before running. Router p95 latency overhead must fit inside your existing latency budget; if the classifier plus cascade re-asks push p95 past your SLO, cost saving is not the deciding variable. A routing POC that passes all three on a replay of real traffic is a real result you can act on. One that passes only on curated prompts has proven nothing about production. We treat routing exactly the way an A5-style risk assessment treats any high-risk cost-or-quality assumption: name it, scope a POC that tests it on representative data, and let the go/no-go signal be the measured net cost per query at threshold quality rather than the demo. When is RouteLLM-style routing the wrong choice? Routing earns its keep when your traffic is genuinely bimodal — a large mass of easy queries and a distinct tail of hard ones — and when the cheap and strong models are far enough apart in both price and capability that the split is worth the machinery. When traffic is uniformly hard, routing sends everything to the strong model anyway and you have added a classifier that only costs you. When the price gap between models is small, the saving does not cover the router’s overhead and misroute risk. And when a wrong answer is expensive — a medical, legal, or financial context where a silent misroute is a liability — the quality risk usually outweighs the cost saving, and you are better served by prompt-level cost work such as tightening context or trimming the context window you pay for at inference. Even when routing turns out to be the wrong choice, the POC is not wasted. A replay of a few thousand production queries with per-query cost, latency, and quality scores is a durable, packageable artifact: it tells you your true query difficulty distribution, your real cost floor, and where your quality risk actually lives. That evidence outlives the routing question and feeds every downstream cost decision. FAQ How does RouteLLM AI work? RouteLLM is a lightweight router that scores each incoming query and decides whether a cheap model can answer it well enough or whether it should escalate to a stronger, more expensive model. The routing signal usually comes from a small learned classifier trained on preference data, exposed as a threshold you tune toward cost or quality. In practice, that threshold was calibrated on someone else’s data, so the demo saving may not survive your own query mix. What is model routing, and how does a router decide between a cheap and a strong LLM for a given query? Model routing is a policy that maps each query to a model — most simply a binary cheap-or-strong choice, extendable to a whole fleet. The router predicts whether the cheap model will meet your quality bar and routes accordingly, carrying its own inference cost and its own error rate. It will sometimes misroute a hard query to the weak model, degrading the answer silently unless quality is being measured on representative queries. Which assumptions about RouteLLM should a POC test before committing — cost, quality, or latency — and how are they measured? All three, because they trade against each other: cost saving is bought with quality risk and paid for in added latency. Measure net cost per resolved query at a fixed quality threshold, the misroute rate of hard queries sent to the weak model, and the router’s added p95 latency. Run all three on a replay of a few thousand real production queries, not a vendor prompt set. What is the real cost model of routing once you account for the router’s own inference and misroute rate? The real cost per query is three terms, not one: the router’s classifier cost paid on every query, the weighted cost of the cheap and strong models by route fraction, and the re-ask penalty when a misroute forces a second call. Headline token-saving numbers ignore the last two. Only net cost per resolved query — cost divided by queries that actually met the quality bar — captures the true figure. How do you write go/no-go success criteria for a routing POC so the decision rests on evidence, not a benchmark demo? Write the three numbers as committed thresholds before the POC runs: a minimum net cost-per-query reduction in your own cost terms, a maximum misroute rate against a pre-defined quality score, and a p95 latency overhead that fits your existing SLO. A routing POC that passes all three on a replay of real traffic is actionable; one that passes only on curated prompts has proven nothing about production. When is RouteLLM-style routing the wrong choice, and what packageable evidence remains if the POC stops there? Routing is wrong when traffic is uniformly hard, when the price gap between models is too small to cover router overhead, or when a silent misroute is a liability in a high-stakes domain. Even then the POC leaves a durable artifact: a replay of production queries with per-query cost, latency, and quality scores that reveals your true difficulty distribution and cost floor. That evidence feeds every downstream cost decision regardless of the routing verdict. Routing is one lever, and the POC that tests it here is scoped to the prototype. The harder question comes next — keeping the router honest under live traffic, where the query mix drifts and yesterday’s threshold silently stops paying off — which is where the prototype-to-production GenAI work on deploying and monitoring a router belongs.