OpenRouter lance un routeur Auto piloté par les dépenses réelles des utilisateurs
OpenRouter déploie une nouvelle version de son routeur Auto qui sélectionne les modèles en fonction des 55 000 milliards de tokens dépensés chaque semaine sur la plateforme, plutôt que par classification de tâches classique.
En bref
- Le nouveau routeur
openrouter/autos'appuie sur les 55 000 milliards de tokensUnité de texte traitée par un modèle (souvent un morceau de mot). Les coûts et fenêtres de contexte se comptent en tokens. dépensés chaque semaine sur OpenRouter pour choisir les modèles, en analysant les 7 derniers jours d'usage - Il surpasse l'ancien routeur sur la plupart des benchmarksJeu de référence public ou interne pour comparer des modèles (MMLU, HumanEval, etc.) — à lire avec prudence hors domaine. testés (MMLU Pro, WideSearch, DSQA, SWE-Atlas QnA) tout en réduisant les coûts au niveau par défaut
- Le paramètre
cost_tier(low, medium, high, xhigh, max) permet de contrôler l'arbitrage coût/performance ; le routeur maintient la cohérence de modèle sur plusieurs tours de conversation - La classification des promptsConsigne / contexte fourni au modèle pour orienter sa génération (system, user, exemples, outils). (~30 types de tâches) se fait à la volée sans rétention, et le routeur se met à jour automatiquement quand la communauté migre vers de nouveaux modèles
- Une version
openrouter/auto-betadonne accès aux améliorations avant leur déploiement général
Sommaire · 4 sections
Un routeur qui suit les arbitrages collectifs plutôt qu'une heuristique fixe
OpenRouter traite des milliers de milliards de tokens chaque semaine. Le 10 août, la plateforme a déployé une refonte de son routeur Auto (openrouter/auto) qui exploite cette masse : au lieu de classer les tâches puis d'appliquer une règle prédéfinie, le nouveau système observe comment les utilisateurs répartissent leurs dépenses entre modèles pour chaque type de prompt, puis reproduit cet arbitrage.
Concrètement, chaque requête est classée parmi une trentaine de types de tâches (débogage de code, planification multi-étapes, Q&A de connaissances, support client, rapports de recherche…). Le routeur consulte ensuite la part de dépense (« share of spend ») de chaque modèle sur ce type de tâche au cours des 7 derniers jours, puis sélectionne le modèle correspondant au niveau de coût demandé via le paramètre cost_tier (low, medium, high, xhigh, max). OpenRouter qualifie cette approche de « sagesse du marché » : l'hypothèse est qu'un grand groupe d'individus indépendants prend collectivement de meilleures décisions qu'un expert isolé.
Le routeur a été testé en bêta pendant quelques semaines auprès de milliers d'utilisateurs avant d'être activé pour tous ceux qui appellent openrouter/auto.

Performances et coûts : ce que montrent les benchmarks
OpenRouter a évalué le nouveau routeur sur cinq benchmarks couvrant des domaines variés : MMLU Pro (connaissances), τ³-bench Banking (agents), WideSearch (recherche), DSQA (recherche), SWE-Atlas QnA (code). L'objectif au niveau par défaut (cost_tier=low) était d'égaler les performances de l'ancien routeur tout en réduisant les coûts ; au niveau max (cost_tier=max), d'atteindre les performances frontières même si cela coûte plus cher.
Au niveau par défaut, le nouveau routeur affiche des résultats comparables ou supérieurs sur la plupart des tâches. Sur WideSearch, il passe de 53,1 % à 61,6 % de réussite ; sur DSQA, de 43,2 % à 62,9 %. Sur MMLU Pro, il recule légèrement (85,2 % contre 86,6 %), mais OpenRouter note que l'ancien routeur sous-performait face aux modèles budget modernes dans certains domaines. Au niveau max, le nouveau routeur atteint 91,4 % sur MMLU Pro et 60,7 % sur SWE-Atlas QnA, contre respectivement 88,8 % et 2,4 % pour l'ancien.
Côté coûts, le niveau par défaut réduit la facture sur plusieurs benchmarks : de 393 $ à 141 $ sur MMLU Pro, de 464 $ à 297 $ sur SWE-Atlas QnA. En revanche, sur DSQA, le coût passe de 147 $ à 276 $, et sur τ³-bench Banking, de 320 $ à 156 $. Au niveau max, les coûts varient fortement selon la tâche : 1 325 $ sur SWE-Atlas QnA contre 206 $ avec l'ancien routeur, mais 249 $ sur DSQA contre 144 $.
OpenRouter précise que tout routeur qui bascule entre plusieurs modèles entraîne un surcoût lié à la reconstruction du cache d'entrée. Pour limiter ce phénomène, le nouveau routeur applique un comportement « sticky » : il maintient une conversation multi-tours sur le même modèle tant que celui-ci reste un choix de tête pour la tâche en cours.
Fonctionnement technique : classification à la volée et courbe pareto-optimale
Le routeur repose sur quatre étapes :
- Classification de la tâche. Un classifieurModèle qui assigne une entrée à une classe (spam / légitime, fraude / OK…). Évalué via AUROC, précision, rappel ou F1. léger attribue à chaque prompt l'un des ~30 types de tâches définis.
- Classement par part de dépense réelle. Pour ce type de tâche, le routeur consulte les modèles sur lesquels la communauté OpenRouter a effectivement dépensé au cours des 7 derniers jours, signal similaire à la vue « Share of Spend » de la page de classements. Quand les utilisateurs migrent une charge de travail vers un nouveau modèle, le routeur suit dans les jours qui suivent.
- Application du niveau de coût. Le paramètre
cost_tier(low, medium, high, xhigh, max) définit la bande de coût acceptable. Au niveau low, le routeur reste sur les modèles les moins chers capables de traiter la tâche ; au niveau max, il pioche parmi les plus performants et les plus coûteux. - Routage avec fallbacks. Les modèles sélectionnés deviennent le choix principal et des fallbacks, ordonnés par leur part d'usage. Le routeur respecte les restrictions de modèle et de fournisseur configurées sur le compte (modèles autorisés, guardrailsRègles et filtres (policy, classifiers, allowlists) qui limitent les sorties ou actions dangereuses d’un système IA., politiques de rétention de données). Si la classification ou les classements sont indisponibles, le routeur bascule sur un ensemble de modèles par défaut pour éviter l'échec de la requête.
Sur plusieurs tours de conversation, le routeur mémorise le modèle utilisé et le privilégie tant qu'il reste parmi les candidats de tête. Il identifie une conversation soit par un session_id explicite, soit par une empreinte des messages. Les candidats sont reclassés à chaque tour, ce qui permet à un modèle mieux adapté de prendre le relais si la tâche change.
La classification des prompts se fait à la volée, sans rétention. Les classements sont calculés à partir de statistiques de dépense agrégées et anonymisées.
OpenRouter publie un instantané de la courbe de routage (« routing curve ») qui montre, pour chaque type de tâche, quels modèles sont associés à chaque niveau de cost_tier. Cet instantané est daté du 10 août ; la courbe évolue au fil des lancements de modèles et des changements d'usage de la communauté. La page de classements d'OpenRouter affiche les données à jour.

Utilisation et migration
Le nouveau routeur est actif pour tous les appels à openrouter/auto. Exemple minimal :
{
"model": "openrouter/auto",
"messages": [
{ "role": "user", "content": "Explain quantum entanglement in simple terms" }
]
}
Pour spécifier un niveau de coût et restreindre les modèles candidats :
{
"model": "openrouter/auto",
"messages": [{ "role": "user", "content": "..." }],
"plugins": [{
"id": "auto-router",
"cost_tier": "max",
"allowed_models": ["anthropic/*", "openai/*"]
}]
}
Le paramètre cost_tier accepte low, medium, high, xhigh ou max. L'ancien routeur exposait un paramètre numérique cost_quality_tradeoff (0 pour la haute qualité, valeurs supérieures pour plus de sensibilité au coût, par défaut 7). Ce paramètre reste accepté pour la rétrocompatibilité et conserve son comportement de plafond de coût ; il prend le pas sur cost_tier si les deux sont envoyés.
Le champ model de la réponse indique quel modèle a été sélectionné. Aucun frais supplémentaire n'est facturé : on paie le tarif standard du modèle exécuté.
Une version openrouter/auto-beta donne accès aux améliorations de routage avant leur déploiement sur openrouter/auto. Le nouveau routeur a tourné sur cette version pendant quelques semaines, avec des milliers d'utilisateurs en conditions réelles.
Lecture 404 Mates
Pour les agences et les builders qui intègrent plusieurs LLMLarge Language Model : modèle de langage entraîné sur d’énormes corpus pour prédire et générer du texte., ce routeur change la nature de l'arbitrage coût/performance : au lieu de maintenir une logique de sélection interne (souvent figée ou mise à jour manuellement), on délègue cette décision à un signal collectif qui se recalibre chaque semaine. Cela réduit la charge de veille sur les nouveaux modèles et leurs performances relatives, mais introduit une dépendance à la « sagesse » d'une communauté dont on ne connaît ni la composition ni les critères réels de choix — un utilisateur peut privilégier la vitesse, un autre la qualité de sortie, un troisième le coût brut.
Le comportement « sticky » sur plusieurs tours limite les reconstructions de cache, mais implique qu'un changement de tâche en cours de conversation peut ne pas déclencher immédiatement un changement de modèle si le modèle actuel reste « acceptable ». Pour des workflows où chaque tour a des exigences distinctes (par exemple un agent qui alterne recherche, synthèse et génération de code), il faudra vérifier si le routeur bascule assez vite ou si un appel explicite par tâche reste plus prévisible.
Enfin, la transparence de la courbe de routage (publiée sur la page de classements) permet d'auditer les choix du routeur a posteriori, mais l'instantané daté du 10 août rappelle que cette courbe évolue en continu : un test aujourd'hui ne garantit pas le même comportement dans deux semaines si un nouveau modèle capte une part de dépense significative.


