Опубликовано: 27 июля 2026 г.3 мин

Wattage: open-source профилировщик токенов и шлюз регрессии стоимости для AI-агентов

Представлен Wattage — open-source инструмент, анализирующий трассировки AI-агентов, оценивающий их стоимость и выявляющий неэффективные паттерны с помощью встроенных детекторов.

Wattage: open-source профилировщик токенов и шлюз регрессии стоимости для AI-агентов

Разработчики представили Wattage — open-source инструмент, который анализирует трассировки вызовов AI-агентов, оценивает их реальную стоимость и выявляет неэффективные паттерны. Названный по аналогии с бытовым ваттметром, он работает с экспортом трассировок OTLP JSON, функционирует полностью офлайн и не требует API-ключей. Все вызовы LLM оцениваются по актуальным вендорским прайс-листам, а если модель не распознана, её стоимость не угадывается — ставится ноль, а CI-система получает соответствующий сигнал.

Как устроен анализ трассировок и детекторы

Wattage строит единую нормализованную модель данных (сессии → задачи → циклы → итерации → вызовы) на основе семантических конвенций OpenTelemetry. Команда wattage report trace.json генерирует терминальный отчёт или HTML-файл с флейм-графом. В инструмент встроено восемь детекторов, каждый из которых находит конкретный тип неэффективности и выводит реальную цену в долларах с конкретным способом исправления:

  • prefix_churn — повторная отправка стабильного префикса промпта вместо кэширования
  • cache_gap — кэш создаётся, но почти не используется последующими чтениями
  • verbosity — выход далеко выходит за рамки необходимого для текущего шага
  • redundant_tool_calls — повторяющийся вызов инструмента (точное или нечёткое совпадение)
  • nonconvergence — зацикленность агента без реального прогресса
  • retrieval_thrash — повторяющиеся запросы к RAG без получения релевантных результатов
  • model_mismatch — более дорогая модель используется там, где хватило бы дешёвой
  • reasoning_overspend — избыточное использование reasoning-токенов на простых шагах

Каждая находка дополнительно маркируется уровнем риска для качества (none / low / review). Изменение, которое потенциально влияет на качество ответов (например, downgrade модели), засчитывается только при наличии подтверждения через --quality map.

Детектор неконвергенции: почему он важен

Отдельного внимания заслуживает механизм обнаружения неконвергенции. В отличие от наивного поиска точных SHA-256 дубликатов, он способен распознавать ситуации, когда агент имитирует полезную работу: генерирует каждый вызов с новой временной меткой, осциллирует между двумя стратегиями или «застревает» в цикле, где каждый шаг технически уникален, но не приводит к прогрессу.

Разработчики провели бенчмарк на 10 размеченных синтетических лучах. Результаты классификатора Wattage против SHA-256 exact-match:

  • Wattage: Precision 1.00, Recall 1.00, F1 1.00
  • SHA‑256 exact-match: Precision 1.00, Recall 0.14, F1 0.25

На реальном трейсе (3-turn demo) симуляция исправления prefix_churn показала снижение стоимости на 44,7% — с $0.000199 до $0.000110. Разработчики подчёркивают, что механизм идентичен тому, что будет работать на production-масштабах.

Интеграция с CI: гейт, который не пропускает подорожание

Wattage можно использовать не только как анализатор, но и как шлюз регрессии стоимости. Команда wattage ci и готовый GitHub Action встраивают проверку в пайплайн: при каждом PR, затрагивающем код агентов или промптов, запускается генерация трассировки и сравнение с эталоном (baseline.json).

Сборка завершается ошибкой (exit code 1), если:

  • счётчик Token Efficiency падает ниже заданного порога (например, 80)
  • стоимость растёт больше заданного процента (например, 5%)
  • обнаружены критические проблемы

В PR публикуется таблица изменений по каждому детектору, а также генерируются отчёты в форматах SARIF (для GitHub Security) и JUnit. Важный нюанс архитектуры: эталон обновляется отдельным воркфлоу на push в основную ветку, а не в рамках самого PR, чтобы у каждого PR была стабильная точка отсчёта.

Как попробовать и расширить

Для запуска не нужны конфигурационные файлы или API-ключи — достаточно выполнить uvx wattage report trace.json или uv run wattage report examples/sample_trace.json. Результат можно получить как терминальную таблицу, так и автономный HTML-файл (--html report.html). Кроме того, Wattage генерирует SVG-бейдж с единой оценкой Token Efficiency, который автоматически обновляется при слиянии в основную ветку. Проект распространяется под лицензией Apache 2.0, а разработчики могут добавлять собственные детекторы через entry-point группы Python без необходимости модифицировать ядро инструмента.

Источник: https://github.com/faizannraza/wattage

Поделиться

Обсудить с ИИ

Комментарии(0)

Оставьте комментарий

Войдите, чтобы присоединиться к обсуждению

Читайте также