Des chercheurs de Microsoft Research et de l’université UC Berkeley ont publié TokenEconomizer, un plugin open source destiné à contrôler les coûts des agents de programmation. Il apprend des sessions passées sur un même dépôt de code pour réduire le gaspillage des sessions suivantes. Selon les résultats publiés, il abaisse le coût moyen des tâches SWE-Bench de 18,4 % à 30,9 % sur 5 configurations agent-modèle.
- Microsoft Research et UC Berkeley publient TokenEconomizer, un plugin open source qui réduit le coût des agents de programmation.
- Le plugin apprend des sessions passées sur un même dépôt pour limiter le gaspillage de tokens.
- Il combine trois politiques : résumé des faits, élagage des outils inutilisés et interruption des boucles d’échec.
- Il abaisse le coût moyen des tâches SWE-Bench de 18,4 % à 30,9 %, les économies étant surtout visibles à partir de la sixième tâche.
Les agents de programmation exécutent des tâches de développement de façon autonome, en envoyant au modèle de langage un flux continu de texte, découpé en tokens (les unités de texte facturées). Chaque tour de l’agent refacture le prompt système, les schémas de chaque outil chargé et l’historique complet. TokenEconomizer se place à l’extérieur de l’agent, qu’il traite comme une boîte noire : il ne modifie ni les poids des modèles ni le code des agents. Il fonctionne avec Claude Code, Codex, GitHub Copilot CLI et Pi, sur une machine disposant de Python 3.10 ou plus récent, sans GPU ni clé d’API propre.
Où part l’argent
Pour comprendre les pertes, les chercheurs ont analysé 60 tâches SWE-Bench, réparties sur 6 dépôts, exécutées avec Claude Code et Opus 4.8. Ils ont relevé trois sources récurrentes de gaspillage. La première est la découverte répétée : une fois 5 tâches précédentes accomplies, 30 % des appels d’outils répètent une action déjà effectuée. La deuxième concerne les outils inutilisés : 23 schémas d’outils sont chargés à chaque tour, dont 16 ne sont jamais appelés, et 3 couvrent 98 % des appels. La troisième tient aux boucles d’échec : 10 exécutions ratées représentaient 17 % des tâches, mais 32 % des dépenses totales.
Les chercheurs ont aussi testé trois stratégies open source existantes, RTK, Serena et le RepoMap d’Aider. Aucune n’a été moins coûteuse dans tous les cas : toutes trois ont réduit les coûts sur Django, mais les ont augmentés sur SymPy.
Trois mécanismes
TokenEconomizer conserve, pour chaque dépôt, un état construit à partir des traces des tâches terminées, et fixe trois politiques avant chaque tâche. La première, les micro-skills, consiste à résumer des observations en faits d’une ligne, comme la commande de test à utiliser. Un fait n’entre dans le prompt qu’après 3 confirmations sur des tâches ne modifiant pas les mêmes fichiers, et une contradiction en compte 5, ce qui permet de retirer rapidement les faits erronés.
La deuxième politique, l’élagage des outils, garde toujours les outils de shell, de lecture, d’écriture et d’édition. Les autres sont masqués après 3 tâches consécutives sans usage, ou lorsqu’un juge LLM les juge non pertinents. Le catalogue complet revient toutes les 5 tâches pour être réévalué. Sur Django avec Claude Code, le premier appel de la tâche 2 est passé de 43 351 à 16 295 tokens de prompt.
La troisième est l’intervention sur les boucles d’échec. Le contrôleur définit un budget de tours égal à 1,25 fois le 90e percentile des longueurs des exécutions réussies. Des règles simples signalent les échecs répétés, puis un juge LLM décide si l’agent est bloqué, avec une confiance d’au moins 0,7. Un agent bloqué reçoit une seule redirection, puis est arrêté si la boucle se reproduit.
Des résultats variables
Sur SWE-Bench, le plugin a réduit le coût dans les 30 cellules dépôt-configuration testées, là où RTK et RepoMap l’ont augmenté dans respectivement 12 et 15 cas. Le meilleur résultat est une baisse de 30,9 % avec Claude Code et Opus 4.8, qui passe à 33,2 % lorsqu’il est combiné à RTK. Le taux Pass@1, qui mesure la réussite au premier essai, a progressé dans 4 configurations sur 5, mais il a reculé de 1,0 point avec Opus 4.8. Les économies se constatent surtout sur la durée : la plupart des dépôts coûtaient plus cher au départ, mais tous étaient moins chers dès la sixième tâche.
Le plugin est publié sous licence Apache 2.0. Les données apprises restent en local, dans le dossier ~/.tokeneconomizer, et il s’installe sur Claude Code à partir du dépôt GitHub du projet. L’élagage des outils et la garde contre les boucles sont activés par défaut, tandis que les micro-skills sont désactivés, car leur proposeur ajoute des appels au modèle.





