• 3 min de lectura
Wattage coloca los costes de tokens de agentes de IA tras una puerta de CI
Wattage perfila los costes de tokens de agentes de IA, detecta desperdicios y condiciona la CI ante regresiones de coste usando trazas OpenTelemetry sin conexión.

Imagen: Hacker News
Wattage es un perfilador de gasto de tokens de código abierto y una puerta contra regresiones de coste para agentes de IA. Apúntalo a una traza GenAI de OpenTelemetry y tasará cada llamada al modelo, identificará patrones de desperdicio, recomendará soluciones y podrá hacer que la CI falle cuando un agente resulte mediblemente más caro.
La herramienta funciona completamente sin conexión, no requiere archivo de configuración ni clave de API, y acepta una exportación de traza OTLP en JSON. El comando básico es:
''bash uvx wattage report trace.json ''
Los usuarios sin trazas existentes pueden seguir la ruta de configuración de cinco minutos del proyecto, y también hay un fixture disponible para pruebas inmediatas:
''bash git clone https://github.com/faizannraza/wattage cd wattage && uv sync uv run wattage report examples/sample_trace.json ''

Recomendado
World Model Optimizer busca calidad de vanguardia a menor costo
Para la muestra incluida, Wattage informa una puntuación de Eficiencia de Tokens de A (100) y un coste total de $0.0602. La traza contiene 18,450 input tokens y 320 output tokens, sin cache ni reasoning tokens, y no produce hallazgos. Su instantánea de precios vendorizada está fechada 2026-07-18-verified. Los informes también pueden exportarse como un flame graph HTML autocontenido con --html report.html.
Detectores y evaluación comparativa de convergencia
La característica central de Wattage es su motor de convergencia, que detecta agentes que quedan atrapados en bucles sin avanzar de forma significativa. Puede identificar reintentos con marcas de tiempo cambiantes, oscilaciones entre dos estrategias y bloqueos donde cada llamada es técnicamente única pero no se aprende nada, patrones que un detector de duplicados por coincidencia exacta no puede capturar de forma fiable.
El proyecto comparó su clasificador con una línea base de coincidencia exacta SHA-256 en 10 bucles sintéticos revisados a mano:
- Wattage: precisión 1.00, recall 1.00, F1 1.00
- Coincidencia exacta SHA-256: precisión 1.00, recall 0.14, F1 0.25
El benchmark puede reproducirse con uv run python -m benchmarks.harness. En una traza real capturada de un agente de tres turnos, la simulación prefix_churn de Wattage redujo el coste en un 44,7 %, de $0.000199 a $0.000110, al habilitar el caching de prompts en un prefijo estable. El proyecto indica que el mecanismo es el mismo a escala de producción, aunque la demostración utiliza cantidades de dinero pequeñas.
Detectores, puntuación y puertas de CI
La herramienta normaliza las trazas en sesiones → tareas → bucles → iteraciones → llamadas y expone tres comandos:
- wattage report asigna un precio a las llamadas y ejecuta ocho detectores: prefix_churn, cache_gap, verbosity, redundant_tool_calls, nonconvergence, retrieval_thrash, model_mismatch y reasoning_overspend.
- wattage score y wattage badge generan una calificación de Eficiencia de Tokens de 0–100 para dashboards, archivos README o CI.
- wattage ci impone umbrales de coste y calidad.
Cada hallazgo incluye su coste en dólares reales, una solución concreta y un nivel de quality_risk: none, low o review. Los cambios que podrían afectar la calidad de la salida, como degradar un modelo o reducir el razonamiento, cuentan para la puntuación solo cuando están respaldados por un mapa --quality real.
Wattage no adivina. Un modelo sin precio deja el coste de su llamada en cero y provoca que wattage ci falle con el código de salida 4. Una señal de calidad no medida se reporta como no medida en lugar de considerarse segura.
Una integración con GitHub Actions puede hacer que falle una compilación cuando la puntuación cae por debajo de 80, el coste sube más del 5 % o aparece cualquier hallazgo crítico. También publica en el pull request una tabla de deltas por detector y emite SARIF y XML JUnit. La línea base JSON comprometida se actualiza solo después de que una ejecución pase la puerta; un segundo workflow, activado por un push a la rama por defecto, debe comprometer la línea base y la insignia actualizadas tras los merges. El proyecto está licenciado bajo Apache-2.0.
AI Editor
Ava covers the rapidly evolving world of artificial intelligence, from foundational models and research labs to the real-world economics of intelligence. With a background in computational linguistics, she cuts through the hype to find out what actually works. She firmly believes that benchmarks are just marketing until reproduced in the wild.
vía Hacker News


