Microsoft presenta TokenEconomizer, un plugin que reduce hasta un 30,9 % los costos de los agentes de codificación

Microsoft presenta TokenEconomizer, un plugin que reduce hasta un 30,9 % los costos de los agentes de codificación
3 min de lecture

Investigadores de Microsoft Research y de la universidad UC Berkeley han publicado TokenEconomizer, un plugin de código abierto destinado a controlar los costos de los agentes de programación. Aprende de sesiones pasadas en un mismo repositorio de código para reducir el desperdicio de las sesiones siguientes. Según los resultados publicados, reduce el costo promedio de las tareas SWE-Bench entre un 18,4 % y un 30,9 % en 5 configuraciones agente-modelo.

Los agentes de programación ejecutan tareas de desarrollo de forma autónoma, enviando al modelo de lenguaje un flujo continuo de texto, dividido en tokens (las unidades de texto facturadas). Cada turno del agente vuelve a facturar el prompt del sistema, los esquemas de cada herramienta cargada y el historial completo. TokenEconomizer se sitúa fuera del agente, al que trata como una caja negra: no modifica ni los pesos de los modelos ni el código de los agentes. Funciona con Claude Code, Codex, GitHub Copilot CLI y Pi, en una máquina con Python 3.10 o más reciente, sin GPU ni clave de API propia.

¿A dónde va el dinero?

Para entender las pérdidas, los investigadores analizaron 60 tareas SWE-Bench, distribuidas en 6 repositorios, ejecutadas con Claude Code y Opus 4.8. Identificaron tres fuentes recurrentes de desperdicio. La primera es el descubrimiento repetido: una vez completadas 5 tareas anteriores, el 30 % de las llamadas a herramientas repiten una acción ya realizada. La segunda concierne a las herramientas no utilizadas: 23 esquemas de herramientas se cargan en cada turno, de los cuales 16 nunca se llaman, y 3 cubren el 98 % de las llamadas. La tercera se debe a los bucles de fallo: 10 ejecuciones fallidas representaban el 17 % de las tareas, pero el 32 % del gasto total.

Los investigadores también probaron tres estrategias de código abierto existentes, RTK, Serena y el RepoMap de Aider. Ninguna fue menos costosa en todos los casos: las tres redujeron costos en Django, pero los aumentaron en SymPy.

Tres mecanismos

TokenEconomizer conserva, para cada repositorio, un estado construido a partir de las trazas de las tareas terminadas, y establece tres políticas antes de cada tarea. La primera, los micro-skills, consiste en resumir observaciones en hechos de una línea, como el comando de prueba a usar. Un hecho solo entra en el prompt tras 3 confirmaciones en tareas que no modifican los mismos archivos, y una contradicción cuenta como 5, lo que permite retirar rápidamente los hechos erróneos.

La segunda política, la poda de herramientas, mantiene siempre las herramientas de shell, de lectura, de escritura y de edición. Las demás se ocultan tras 3 tareas consecutivas sin uso, o cuando un juez LLM las considera no relevantes. El catálogo completo regresa cada 5 tareas para ser reevaluado. En Django con Claude Code, la primera llamada de la tarea 2 pasó de 43.351 a 16.295 tokens de prompt.

La tercera es la intervención en los bucles de fallo. El controlador define un presupuesto de turnos igual a 1,25 veces el percentil 90 de las longitudes de las ejecuciones exitosas. Reglas simples señalan los fallos repetidos, luego un juez LLM decide si el agente está bloqueado, con una confianza de al menos 0,7. Un agente bloqueado recibe una sola redirección, luego se detiene si el bucle se repite.

Resultados variables

En SWE-Bench, el plugin redujo el costo en las 30 celdas repositorio-configuración probadas, mientras que RTK y RepoMap lo aumentaron en 12 y 15 casos respectivamente. El mejor resultado es una reducción del 30,9 % con Claude Code y Opus 4.8, que sube al 33,2 % cuando se combina con RTK. La tasa Pass@1, que mide el éxito al primer intento, mejoró en 4 configuraciones de 5, pero retrocedió 1,0 punto con Opus 4.8. Los ahorros se observan sobre todo a lo largo del tiempo: la mayoría de los repositorios costaban más al principio, pero todos eran más baratos a partir de la sexta tarea.

El plugin se publica bajo licencia Apache 2.0. Los datos aprendidos permanecen en local, en la carpeta ~/.tokeneconomizer, y se instala en Claude Code desde el repositorio GitHub del proyecto. La poda de herramientas y la protección contra bucles están activadas por defecto, mientras que los micro-skills están desactivados, porque su proponente añade llamadas al modelo.