AI Model Routing: Cut Chatbot Cost Without Losing Quality

Use an AI model routing policy to send each chatbot request to the cheapest model that meets your quality, latency, privacy, and fallback rules.

Cover Image for AI Model Routing: Cut Chatbot Cost Without Losing Quality

AI model routing moved from an architecture discussion to a product category this week. On August 19, Ramp launched Router, a service that selects models by quality and cost. The same day, Stripe announced an agreement to acquire OpenRouter, which routes usage across hundreds of models and providers. The market signal is clear: production teams no longer want every request tied to one model.

For a chatbot team, the useful question is narrower: which requests may use a cheaper model, which require a stronger one, and what happens when the router is wrong? Start with five controls: define traffic classes, give each class a quality floor, route to the cheapest model that clears it, escalate on explicit signals, and preserve a safe fallback. The routing decision table below is the asset to build first.

Write a Five-Field Routing Policy

A router should execute a policy your support, product, and engineering teams can read. Do not start with a clever classifier and reconstruct its rules after an incident.

Policy fieldDecision to recordSupport example
Traffic classWhat kind of job is this?FAQ lookup, account action, policy exception
Quality floorWhat must always be correct?Price matches the current billing page
Preferred tierCheapest tested tier that clears the floorFast, standard, or high-reliability model
Escalation signalWhat moves the request upward?Conflicting sources, missing identity, exception request
Failure pathWhat happens if no tier is eligible?Clarify, hand off, or return a bounded answer

Keep the policy independent of vendor names. “Standard tier” survives a model release; “always use Model X” becomes stale as soon as prices, latency, or behavior change. Map current models to tiers in a separate registry that can be evaluated and updated without rewriting routing logic.

This separation also makes ownership clearer. Support owns the traffic classes and unacceptable mistakes. Engineering owns execution, timeouts, and observability. The evaluation set decides which models are eligible. Procurement can compare providers without quietly lowering the answer-quality bar.

Route by Consequence, Not Prompt Length

Long prompts are not automatically hard, and short prompts are not automatically safe. “Summarize this public help article” may contain thousands of tokens but little decision risk. “Can you make an exception?” is short but could trigger an unauthorized discount, refund, or promise.

Use the consequence of a wrong answer as the first routing dimension. Then consider reasoning difficulty, context size, tool use, latency, language, and privacy.

Traffic classTypical requestsMinimum routeEscalate whenSafe failure path
DeterministicGreetings, button labels, known status textNo model or smallest eligible tierThe request contains another intentShow fixed copy or ask one question
Grounded lookupHours, shipping policy, feature availabilityFast tier with retrievalSources conflict or lack the answerCite the source or say it is unavailable
Comparative judgmentPlan comparison, troubleshooting, multi-document synthesisStandard tierConstraints conflict or evidence is incompleteExplain the uncertainty and clarify
Consequential decisionRefund exception, access change, legal or privacy issueHigh-reliability tier plus server checksPolicy is ambiguous or action needs approvalHand off without claiming completion

This table is a starting point, not a model benchmark. A fast model earns a class only after it passes that class’s evaluation set. The process in the chatbot model evaluation guide keeps prompts, retrieval, and grading constant so a routing decision is based on your workload rather than a public leaderboard.

Do not route solely on the first user message. Conversation state can change the class. “Where is my order?” begins as a grounded lookup. “The courier marked it delivered, but the photo is not my building” becomes a dispute with identity, evidence, and policy implications. Reclassify after tool results and after any turn that changes the requested outcome.

Choose the Smallest Router You Can Audit

There are three common designs, and most website chatbots should combine the first two.

Rules handle known boundaries. Authenticated actions, regulated topics, refund exceptions, data deletion, and requests containing sensitive fields can go directly to a restricted route. Rules are cheap, reproducible, and easy to explain during an incident. They are brittle when asked to understand every variation of ordinary language.

A classifier handles ordinary variation. A small model or purpose-built classifier assigns a traffic class and confidence. It can recognize that “my package never turned up” and “delivery says complete, nothing here” describe the same job. Limit its output to your known classes and validate the result before using it.

A cascade lets output quality trigger escalation. The cheaper eligible model answers first. A validator checks required facts, citations, tool results, or a narrow rubric. If the answer fails, the system retries on a stronger tier. Cascades are useful when difficult requests are hard to identify before generation, but they add latency and can pay for two calls.

A practical hybrid looks like this: hard rules reserve consequential work; a classifier routes the remaining traffic; deterministic checks inspect the answer; and only ambiguous failures enter a cascade. Avoid asking one language model to route, answer, and declare its own answer correct. That design turns a single blind spot into three agreeing decisions.

Worked Example: 10,000 Support Conversations

Suppose a support chatbot handles 10,000 conversations per month. Its current high-reliability model averages $0.08 per conversation, so model cost is $800. These are hypothetical unit costs; replace them with your invoices and measured token usage.

A replay test finds that 70% of conversations clear every hard gate on a fast tier at $0.003 each, 25% need a standard tier at $0.015, and 5% require the high-reliability tier at $0.08. Classification and validation add an average of $0.001 per conversation.

  • Fast tier: 7,000 × $0.003 = $21.00
  • Standard tier: 2,500 × $0.015 = $37.50
  • High-reliability tier: 500 × $0.08 = $40.00
  • Routing and validation: 10,000 × $0.001 = $10.00
  • Total routed cost: $108.50

The modeled saving is $800 - $108.50 = $691.50, or 86.4%. That number is not yet a business result. If 120 conversations are wrongly sent to the fast tier and 30 reopen as support tickets, the router may have traded inference cost for more expensive human work and angrier customers.

Calculate cost per durable resolution instead:

(model cost + routing cost + review cost + reopened-case cost) / conversations resolved without reopening

This denominator prevents a cheap but unreliable route from winning. The chatbot cost guide explains the other expenses that sit around inference and should be included in the same calculation.

Record a Route Receipt for Every Decision

When a routed answer fails, the team needs more than the final model name. Store a compact receipt with the conversation event:

{
  "policyVersion": "support-router-7",
  "trafficClass": "grounded_lookup",
  "signals": ["shipping_intent", "source_found"],
  "preferredTier": "fast",
  "selectedModel": "provider/model-version",
  "validator": {
    "grounded": true,
    "requiredFactsPresent": true
  },
  "attempt": 1,
  "fallbackUsed": false
}

Do not log raw sensitive prompts merely to explain routing. Stable class labels, rule matches, document identifiers, model versions, latency, token counts, validator results, and redacted error codes are usually enough. Keep the policy version so an old conversation can be replayed against the rules that actually handled it.

The receipt should distinguish three events: routing miss (the wrong class was chosen), model miss (the class was right but the selected model failed), and system miss (retrieval, a tool, or policy data failed). Without that split, teams often upgrade the model to fix a stale knowledge source or change the classifier to fix a broken API.

Test Router Regret, Not Just Router Accuracy

Classification accuracy treats every mistake as equal. Routing regret measures the consequence of the decision compared with the best eligible route.

A needless upgrade from fast to standard has small cost regret. Sending a billing exception to a model that invents an approval has severe quality regret. Track them separately rather than averaging them into one comforting percentage.

Your weekly routing review should include:

  • Hard-gate failure rate by route: unsupported claims, missed approvals, privacy failures, or incorrect actions;
  • Unnecessary upgrade rate: requests that a cheaper eligible tier would have handled;
  • Late escalation rate: conversations that reached a stronger tier only after a bad answer was shown;
  • Fallback success rate: requests completed safely after a provider timeout or refusal;
  • Durable resolution and reopening rate: outcomes after 24 or 72 hours, not just first-session completion;
  • Latency and cost by traffic class: averages plus the slowest five percent.

Sample routed conversations from every class, including successful ones. Reviewing only escalations teaches you about obvious failures but not the expensive route that quietly receives easy traffic. If you need a confidence threshold for answer-versus-escalate decisions, use the calibration process in the chatbot confidence score guide rather than treating the model’s verbal confidence as a probability.

Make Fallbacks Preserve the Quality Floor

Provider outages and rate limits are when routing policy is easiest to violate. A fallback should be another model proven for the same traffic class, not whichever endpoint still responds.

For grounded lookups, a peer model may be safe if it receives the same retrieved evidence and passes the same citation checks. For a consequential decision, a weaker model should not inherit authority because the preferred provider timed out. Return a bounded status, collect the necessary details, or hand the case to a person.

Set retry budgets by user experience. One fast retry may be invisible; three sequential model attempts can turn a support widget into a loading screen. Run independent provider health checks outside the customer request so the router does not discover a broad outage one conversation at a time.

Version the fallback tree and test it deliberately. Simulate timeouts, malformed output, quota errors, missing retrieval results, and a model that responds successfully but violates a hard gate. The model rollback checklist is useful when an upstream model changes behavior even though its API name stays stable.

Roll Out With Shadow Decisions First

Before a router controls production, run it in shadow mode. The current model still answers customers while the router records which tier it would have selected. Replay the same redacted conversations through candidate tiers and grade them against class-specific gates.

Move one low-consequence class at a time. Start with grounded FAQs that have authoritative sources and an obvious refusal when evidence is missing. Hold out a control group, compare durable resolution and cost, and stop the rollout if any hard-gate failure rises. Only then add comparative or action-adjacent traffic.

Set an expiration date on routing evidence. A model that passed a shipping-policy set three months ago has not automatically passed today’s policy, prompt, retrieval index, or provider revision. Re-run the class evaluation after any of those inputs changes.

AI model routing is valuable when it makes cost a constrained optimization problem: spend less only after answer quality, safety, and recovery requirements are met. The router’s real product is not model choice. It is an auditable promise that each request receives no less capability than its consequences demand.

Build your chatbot for free →

No credit card required.

Inizia gratisNessuna carta di credito richiesta
AI Model Routing: Cut Chatbot Cost Without Losing Quality – Agentkit