Contextwaise

Contextwaise is in early access: API keys and the dashboard open at launch. Join the waitlist to get yours first.

Docs · Model routing›
Guides

Model routing

Not every request needs your most expensive model. Contextwaise judges how hard each request is and tells you whether another approved model fits better.

What it does#

You list the models you approve. For each request, Contextwaise rates the task as simple, standard or advanced from the question and your instructions, then compares the cost of staying on your current model with switching, including the one-time cost of a cold prompt cache.

Advice only
Routing runs in shadow mode: Contextwaise never calls a model. You decide whether to follow the advice, and the dashboard shows what following it would have saved.

Turn it on#

Add models (2 to 10 approved models, any mix of providers) and send the model you call today in model. system, outputTokens and promptTokens are optional and sharpen the estimate.

Request
{
  "query": "Summarize this ticket in one sentence.",
  "candidates": [ /* … */ ],
  "model": "claude-opus-5-5",
  "models": ["claude-haiku-4-5", "claude-sonnet-5-5", "claude-opus-5-5"],
  "system": "You are the support assistant for Acme…",
  "outputTokens": 300,
  "conversation": "chat_8f2k"
}

Each model must be in the catalog or priced in Settings → Models. Provider prefixes and date suffixes are accepted, such as anthropic/claude-sonnet-5.

Read the advice#

report.route
"route": {
  "switch": true,
  "model": "claude-haiku-4-5",
  "recommended": "claude-haiku-4-5",
  "currentModel": "claude-opus-5-5",
  "tier": "simple",
  "confidence": 0.91,
  "reason": "cheaper_fits",
  "message": "Claude Haiku 4.5 handles simple requests: about 80% cheaper per turn, and re-caching your prompt (~$0.03) pays back within this turn.",
  "estimate": { "stayPerTurn": 0.06, "switchPerTurn": 0.012, "switchCostOnce": 0.03, "paybackTurns": 1 }
}
  • switch: whether to change model. Follow this, not the tier alone.
  • model: the model to use. The recommended one when switch is true, otherwise yours.
  • message: a one-line explanation you can log or show internally.
  • estimate: cost per turn staying and switching, the one-time switch cost, and how many turns it takes to pay back.

Reasons#

ReasonAdviceMeaning
cheaper_fitsSwitchA cheaper approved model handles this as well.
needs_biggerSwitch upThe task looks harder than your current model handles well.
long_contextKeepThe prompt is long: losing its cache would cost more than switching saves.
already_bestKeepYour current model is already the best fit.
unsureKeepThe request couldn't be judged confidently.
no_current_modelKeepSend model so a switch can be priced.

Switching and the prompt cache#

A new model reads the whole prompt once without cache. Contextwaise only advises a switch when cheaper turns repay that cost within 3 turns of a conversation, or within the request itself when there is no conversation id.

With a conversation id, the tier is decided once and kept for the whole conversation. Avoid switching models mid-conversation on your own: it loses the prompt cache and, on newer Claude models, the reasoning so far.

Rolling it out#

  1. Send models and keep calling your usual model.
  2. Watch the Model routing card on the dashboard's Overview for what following the advice would save.
  3. Follow route.model for one agent first, then widen.