Model selection is usually treated as an architecture decision made before deployment. Pick a frontier model, wire every request to it, and revisit the choice when pricing or benchmarks change.
That is simple and often wasteful. Requests do not have uniform difficulty, value, latency tolerance, or failure cost. The model that is right for a legal-policy exception may be unnecessary for intent classification, structured extraction, or a routine rewrite.
Why one model is wasteful
Suppose a strong model costs ten times as much as a smaller model and improves quality on fifteen percent of your traffic. Sending everything to the strong model purchases no marginal quality on the other eighty-five percent.
A model router converts selection from a deployment constant into a per-request policy:
request
→ safety and product constraints
→ route policy
├─ small / fast model
├─ specialist model
└─ strong / expensive model
→ response verificationThe RouteLLM project demonstrated learned routers that choose between stronger and weaker models using preference data. The important systems idea is broader than a particular router: model choice can be optimized against a workload rather than frozen globally.
Route on marginal value, not abstract difficulty
“Is this query hard?” is not quite the right question. A difficult query may defeat every available model. A simple-looking query may contain the exact edge case where the stronger model helps.
The useful quantity is expected marginal value:
route to strong model when:
E[quality_strong - quality_weak | x] × value(x)
> added_cost(x) + latency_penalty(x) + risk(x)Recent routing work such as RouteLMT frames routing as budget allocation and predicts the stronger model's marginal gain over the smaller model. That framing avoids paying for a larger model merely because a prompt looks complicated.
Build the policy in layers
A production router should combine deterministic constraints with learned or statistical decisions.
- Eligibility: remove models that violate data residency, modality, context-length, safety, or tenant requirements.
- Known lanes: route tasks with stable product contracts to tested specialists.
- Quality prediction: estimate where a stronger model is likely to add value.
- Capacity: incorporate queue depth, rate limits, and current latency.
- Verification: escalate low-confidence or failed outputs when another attempt is worth the cost.
This produces a cascade rather than one classification. A cheap model can answer first, a verifier can inspect the result, and only uncertain cases escalate. The verifier must be cheaper than the cost it saves and sensitive to failures that matter to the product.
Calibrate on your traffic
Public preferences and benchmark scores are useful priors. They are not your routing labels. Your users may ask different questions, value different output properties, and impose different latency constraints.
Build a replay set from real, consented traffic with:
- responses from each eligible model,
- task-specific quality labels or deterministic graders,
- token usage, latency, and price at the time of execution,
- risk and escalation outcomes,
- the router's score and chosen route.
Sweep the routing threshold to produce a quality-cost-latency frontier. Choose an operating point per product tier or workflow; do not compress every trade-off into one universal threshold.
Operate the router like a model
A router can silently degrade even when every downstream model is healthy. Workload mix changes, model versions move, prices change, and a once-cheap model becomes congested.
Log enough to reproduce each decision:
{
"router_version": "route-policy-12",
"eligible_models": ["small-v4", "strong-v2"],
"scores": {"small-v4": 0.82, "strong-v2": 0.91},
"selected": "small-v4",
"constraints": ["region:us", "latency:p95<2s"],
"estimated_cost": 0.0041,
"observed_latency_ms": 611,
"verification": "passed"
}Shadow new policies before activation. Keep a percentage of random exploration so the router continues to observe alternatives. Monitor quality by route, not only in aggregate; aggregate success can hide a small lane with severe regressions.
The routing rule
Do not ask which model is best. Ask which model is eligible, which model is sufficient, and whether the expected quality gain of escalation is worth its real cost for this request.
A leaderboard is a snapshot. A router is a control plane that turns changing models, prices, workloads, and constraints into a runtime decision.