- Difficulty: estimate how hard the prompt is (e.g. a trained classifier) and send easy ones to a cheap model, hard ones to a costly model
- Clustering: group prompts by similarity, then route each cluster to whichever model historically scores best on it
- RL: train the router with reinforcement learning, rewarding it for picking the model that balances quality and cost well
- Uncertainty: let a model score its own confidence, and escalate to a stronger model whenever confidence is low
- User preference: learn from human ratings of which model’s answers people actually prefer, and route toward that pattern
These are the most common building blocks — real routers often combine several.