Model Routing
Automatic tier-based model selection routes each query to the most appropriate model: Fast, Primary, or Smart.
Tiers
| Tier | Use Case | Typical Model |
|---|---|---|
| Fast | Intent-gate, greetings, yes/no, short lookups | mistral-small-3.1-24b-instruct, mistral-nemo, gpt-5-nano |
| Primary | General conversation and most tool-enabled tasks | gpt-5-mini, claude-sonnet-4.5, gemini-3-flash-preview |
| Smart | High-stakes or long-form complex execution | gpt-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
/autore-enables automatic routing