ENยทESยทDEยทPTยทFR
โŒ˜K

Model Routing

Automatic tier-based model selection routes each query to the most appropriate model: Fast, Primary, or Smart.

Tiers

TierUse CaseTypical Model
FastIntent-gate, greetings, yes/no, short lookupsmistral-small-3.1-24b-instruct, mistral-nemo, gpt-5-nano
PrimaryGeneral conversation and most tool-enabled tasksgpt-5-mini, claude-sonnet-4.5, gemini-3-flash-preview
SmartHigh-stakes or long-form complex executiongpt-5.1, claude-opus-4.6, gemini-3-pro-preview

Fast Tier Model Guidance

Use a cheap, low-latency, non-reasoning instruct model for provider.models.fast. The fast tier is mostly an intent gate and routing pass, not deep execution.

  • Good fast picks: mistralai/mistral-small-3.1-24b-instruct, mistralai/mistral-nemo, google/gemma-3-12b-it
  • Avoid in fast tier: heavy reasoning/thinking models that burn extra tokens on classification-only turns
  • If unsure: start with fast=mistralai/mistral-small-3.1-24b-instruct, primary=openai/gpt-5-mini, smart=openai/gpt-5.1

Classification Rules

Smart Tier (complex tasks)

A query is classified as Smart if any of these are true:

  • Contains a code fence (```)
  • Message length > 500 characters
  • Contains 3+ question marks
  • Contains keywords: implement, refactor, debug, analyze, step by step, write code, architecture, optimize, algorithm, explain how, write a, build a, create a function, design, compare and contrast, walk me through, troubleshoot, review this, fix this, rewrite

Fast Tier (simple queries)

A query is classified as Fast if any of these are true:

  • Exact match greetings/acknowledgments: hi, hello, hey, thanks, ok, yes, no, sure, bye, goodbye, ty, cool, nice, great, awesome, lol, haha, wow (case insensitive)
  • Single word message
  • Short message: <20 chars AND ≤3 words
  • Simple lookup prefix (what is, who is, define, when is, where is) + ≤6 total words

Primary Tier (default)

Everything else falls to the Primary tier.

Disabling Auto-Routing

  • If all three model tiers are the same, routing is automatically disabled
  • Sending /model <name> in Telegram disables routing (manual override)
  • Sending /auto re-enables automatic routing