Pourquoi le routage de modèles s’avère contre-productif et comment créer des agents qui n’épuisent pas votre budget
Le routage de modèles promet de réduire vos dépenses en agents d’IA en déchargeant les tâches courantes sur des modèles moins chers comme Claude Haiku, tout en réservant les modèles de pointe comme Claude Sonnet au raisonnement complexe. Dans la bonne configuration, les stratégies de routage peuvent réduire les coûts d’inférence de 40 à 85 %. Mais si vous implémentez de manière incorrecte le routage au sein d’un agent multi-tour, vous risquez de payer plus cher que si vous n’aviez jamais effectué de routage. Voici pourquoi et comment le corriger.
Comment les coûts des jetons s’accumulent au cours d’une session
Comprendre pourquoi le routage s’avère contre-productif nécessite de comprendre comment les sessions agentiques accumulent des coûts. Chaque échange au sein d’une conversation augmente de manière cumulative le nombre de jetons, et cet effet cumulatif est le moteur à la fois de vos économies et de vos risques.
Chaque échange dans une session d’agent comporte une charge utile de jetons croissante. Le tableau ci-dessous montre comment la distribution évolue au cours d’une session typique de trois tours :
| Échange | Nouveaux jetons d’entrée | Jetons mis en cache |
| Tour 1 | Haut (message de base) | Aucun |
| Tour 2 | Faible (message de suivi) | Haut (tout le tour 1) |
| Tour 3+ | Minimal | Très élevé (effet cumulé) |
Dès le tour 3, les jetons mis en cache constituent la grande majorité de votre charge utile de jetons. C’est l’efficacité que vous cherchez à protéger. Changer de modèle en cours de session détruit entièrement cette protection.
Pourquoi changer de modèle en cours de session augmente-t-il vos coûts ?
Changer de modèle LLM en cours de session annule les économies de cache de prompts accumulées, car le cache de chaque fournisseur est propre au modèle. Le nouveau modèle n’a pas accès à l’historique stocké du modèle précédent et doit relire l’intégralité de la conversation depuis le début au tarif standard des jetons d’entrée.
Les caches de prompts fonctionnent par correspondance de préfixes. Le fournisseur de LLM stocke un hachage du préfixe de votre message. Tant que le préfixe reste stable et que le modèle reste le même, chaque échange suivant bénéficie de tarifs fortement réduits pour les jetons mis en cache. Anthropic, par exemple, offre jusqu’à 90 % de réduction sur les jetons d’entrée mis en cache. Dès que vous changez de modèle, le nouveau modèle démarre avec un cache froid. Il traite l’ensemble de l’historique de la conversation au coût total des jetons d’entrée, comme si le tour 1 n’avait jamais eu lieu. Pour les sessions courtes, c’est un désagrément mineur. Pour les workflows de codage agentique où les fenêtres de contexte peuvent s’étendre jusqu’à 50 000 jetons ou plus, un seul changement de modèle en cours de session peut faire grimper les coûts au point d’éliminer toutes les économies que le routage était censé apporter.
Ce que vous ne devez pas faire
Plusieurs schémas de routage courants ressemblent à des optimisations, mais nuisent activement à votre profil de coûts. Voici les causes les plus fréquentes d’augmentations inattendues de coûts dans les systèmes d’agents en production :
- Changer de modèle au milieu d’une longue conversation effectuer de résumé : cela oblige le nouveau modèle à retraiter l’ensemble de l’historique de la conversation au coût total des jetons d’entrée. Le coût d’un défaut de cache pour une session de 20 000 jetons peut être supérieur aux économies que le changement devait générer.
- Activer le routage automatique en cours de session dans les passerelles LLM : les outils de passerelle LLM tels que LiteLLM, OpenRouter et Portkey prennent en charge le routage automatique en fonction de la complexité de la requête. C’est puissant pour les requêtes à un seul échange, mais l’activer en milieu de session dans une boucle agentique invalide votre cache KV à chaque limite de routage.
- Modifier des outils ou des prompts système en cours de session : les définitions d’outils se trouvent dans le préfixe mis en cache. L’ajout ou la suppression d’un outil au cours d’une session invalide l’ensemble du cache en aval de ce changement. Considérez la configuration d’outil de session comme immuable une fois démarrée.
- Utiliser des appels de compression avec un modèle distinct : de nombreux agents compressent l’historique long en générant un appel de résumé avec un modèle peu coûteux. Si cet appel utilise un modèle différent ou un prompt système différent, il génère son propre défaut de cache et réinitialise le cache de la session principale au retour.
Éviter ces schémas nécessite une conception de session intentionnelle, et pas seulement une logique de routage correcte. Votre stratégie de routage ne vaut que ce que vaut votre architecture de session.
Que faire à la place
Le routage efficace des modèles dans les systèmes agentiques relève du niveau de la session, et non du niveau de la requête. Les pratiques suivantes vous permettent de bénéficier des avantages financiers du routage sans sacrifier les économies liées au cache de prompts qui rendent l’IA agentique économiquement viable :
- Minimiser le nombre d’échanges par tâche et déléguer tôt : maintenez les sessions d’agent individuelles aussi courtes que possible. Lorsque vous savez qu’une tâche nécessite un contexte étendu (par exemple, une refactorisation complexe de plusieurs fichiers, une vérification de conformité de longue durée), déléguez-la à un sous-agent dès le début, avant que la session n’accumule de l’historique. Des sessions courtes signifient de petits caches, ce qui signifie qu’un changement de modèle coûte moins cher.
- Utiliser le schéma de sous-agent pour la diversité des modèles : au lieu de changer de modèle au sein d’une même session, créez un agent orchestrateur qui délègue les sous-tâches à des sous-agents spécialisés. Chaque sous-agent repart de zéro avec uniquement le contexte dont il a besoin et s’exécute sur le modèle le mieux adapté à sa tâche spécifique. Aucune invalidation du cache. Aucune pénalité d’historique accumulé. Ce schéma (parfois appelé l’architecture orchestrateur-sous-agent) est le moyen le plus propre d’obtenir une diversité de modèles basée sur les coûts sans subir la pénalité d’un changement en cours de session.
- Résumer délibérément avant tout changement de modèle requis : si un changement de modèle en cours de session est inévitable, créez un passage de relais structuré : résumez explicitement le contexte actif, l’état actuel de la tâche et les décisions en suspens dans un message compact. Démarrez une nouvelle session avec le nouveau modèle en utilisant uniquement ce résumé comme entrée. Vous payez des coûts d’entrée standard sur un petit résumé au lieu de coûts mis en cache sur une relecture d’historique de 20 000 jetons.
- Verrouiller la configuration de votre session : les prompts système, les définitions d’outils et la sélection du modèle doivent être fixés au début de la session. Considérez-les comme un schéma : les modifier en cours de session constitue un événement de migration, et non un ajustement de configuration. Si votre framework d’agents permet le chargement dynamique d’outils, auditez où et quand ces chargements se produisent par rapport à votre limite de préfixe de cache.
Comment JFrog Boost protège automatiquement l’efficacité de votre cache
Bien que la gestion de la logique de routage des modèles soit essentielle à la pérennité des agents, la surcharge de contexte agit comme un véritable multiplicateur de force pour le gaspillage de jetons. Chaque fois qu’un agent exécute un build, lance une suite de tests ou récupère des logs, des centaines de lignes de bruit répétitif du terminal inondent l’historique de la conversation.
Dans une session multi-tour, ce bruit s’accumule rapidement. Cela transforme ce qui aurait dû être un historique léger en une charge utile de 50 000 jetons en quelques tours. Cela nuit directement à votre ingénierie des coûts : si votre session est encombrée de bruits de terminal, la « pénalité liée aux défauts de cache » dont nous avons parlé précédemment devient exponentiellement plus coûteuse dès qu’un changement de modèle intervient en milieu de session.
Lorsqu’ils utilisent des agents de codage, les développeurs ne devraient pas avoir à filtrer manuellement la sortie du terminal simplement pour éviter qu’une étape de build bruyante ne gonfle leur facture de LLM.
JFrog Boost est conçu pour résoudre cette surcharge de contexte directement au sein du workflow de développement. Boost est un outil CLI léger qui compacte intelligemment la sortie du terminal lors des boucles agentiques, en éliminant les éléments répétitifs tout en préservant parfaitement le signal critique, comme les traces de pile d’erreurs exactes. Au lieu d’envoyer des milliers de jetons de logs de build bruts à votre modèle, Boost allège la charge utile avant même qu’elle n’atteigne l’agent.
En conservant un historique de session allégé, Boost réduit considérablement le nombre de jetons de base traités à chaque échange. Cela minimise la pénalité financière des changements inévitables de routage des modèles, prolonge la durée de vie de votre fenêtre de contexte et maximise l’efficacité économique de vos caches de prompts.
Conception pour une économie d’agents durable
Le routage de modèles permet de réaliser de réelles économies, mais uniquement lorsqu’il respecte les mécanismes sous-jacents des caches de prompts des fournisseurs. Pour créer des workflows d’agents durables, traitez votre historique de conversation comme un actif hautement optimisé : gardez vos sessions principales légères, déléguez le contexte lourd à des sous-agents éphémères et veillez à ce que toute transition de modèle nécessaire soit gérée au moyen d’un résumé d’état structuré plutôt que par une relecture de l’historique brut.
En fin de compte, l’ingénierie de systèmes agentiques durables exige de traiter l’efficacité des jetons comme une contrainte essentielle, au même titre que la vitesse et la précision.
Pour mettre en œuvre automatiquement ces optimisations au niveau de la session et éliminer le gaspillage de contexte dans vos workflows de développement, vous pouvez installer Boost et commencer à économiser des jetons dès aujourd’hui.
Contactez-nous
Nous aimerions connaître vos expériences, vos schémas d’architecture et vos défis concernant le routage de modèles. N’hésitez pas à nous contacter ou à suivre nos recherches en cours sur les agents de codage :
→ X : https://x.com/ShayFrektman, https://x.com/yahav_ohana
→ LinkedIn : https://www.linkedin.com/in/shay-dahan, https://www.linkedin.com/in/yahav-ohana/
→ Substack : https://substack.com/@yahavohana




