Start with task classes and constraints
Separate factual extraction, classification, summarisation, writing, tool use, code and multi-step analysis. For every class define accuracy, response time, cost, data-location and provider constraints. Selection happens within an approved pool, not across every available model.
Some rules should be deterministic: personal or confidential data stays in the authorised boundary, certain actions require a tested model version, and a critical process has a validated fallback.
The router is another model that needs evaluation
Routing may use task type, estimated complexity, context length, attached tools, language and a cost, balanced or quality mode. Conversations also need selection stability because changing models between turns can alter style and interpretation of context.
Log the routing reason, selected model, policy version, tokens, latency, evaluation result and fallback. Do not expose user secrets in routing explanations.
Prove the value on a real workload
Build a representative task set with reference answers or scoring criteria. Compare routing against understandable baselines: one strong model, one economical model and simple deterministic rules. Measure end quality, tool success, tail latency, cost per successful result and escalation rate.
Average savings are misleading if rare high-impact requests reach an inadequate model. Reports therefore need quality by risk class and the causes of routing mistakes.
Operations require limits and feedback
Set maximum cost per request, timeouts, retry limits, fallback order and behaviour during provider outages. Any change to the model pool or policy should trigger re-evaluation and gradual rollout.
A mature router does not hide complexity; it makes complexity governable. The team can see which environment completed a task, why it was chosen and when the policy needs adjustment.

