Знакомьтесь: TokenEconomizer — плагин Microsoft, сокращающий расходы токенов программирующих агентов до 30,9%
Команда исследователей из Microsoft Research и Калифорнийского университета в Беркли выпустила TokenEconomizer — контроллер затрат с открытым исходным кодом для агентов программирования. TokenEconomizer — это плагин, который обучается на прошлых сессиях в репозитории, чтобы сокращать потери в последующих. Он работает с Claude Code, Codex, GitHub Copilot CLI и Pi. Он не изменяет веса модели или код агента. На 277 задачах SWE-Bench он снизил среднюю стоимость на 18,4–30,9% в 5 конфигурациях агент–модель.
Кратко
- Пакет: Пакет Python на основе стандартной библиотеки и плагины для агентов с 3 переключаемыми механизмами.
- Работает на: Любой машине, на которой запущены Claude Code, Codex, Copilot CLI или Pi с Python 3.10+. GPU и собственный API-ключ не требуются.
- Производительность: Средняя стоимость SWE-Bench ниже на 18,4–30,9%, причём она снизилась во всех 30 ячейках «репозиторий–конфигурация».
- Лучший результат: Снижение стоимости на 30,9% для Claude Code с Opus 4.8 (33,2% в сочетании с RTK).
- Худший результат: Экономия всего 6,4–9,3% при аудитах ReposVul; Pass@1 снижается на 1,0 балла для Opus 4.8.
Почему агенты программирования тратят токены впустую?
При каждом обращении агента система заново тарифицирует системный промпт, каждую загруженную схему инструмента и всю историю. Исследовательская команда проанализировала 60 задач SWE-Bench в 6 репозиториях с использованием Claude Code и Opus 4.8. Они выявили 3 повторяющихся источника потерь:
- Повторное исследование: когда текущей задаче предшествуют 5 задач, 30% вызовов инструментов повторяют более раннее действие.
- Неиспользуемые инструменты: в каждом обращении загружаются схемы 23 инструментов. 16 из них никогда не вызываются, а 3 охватывают 98% вызовов.
- Циклы ошибок: 10 неудачных запусков составляли 17% задач, но на них приходилось 32% общих расходов.
Они также протестировали 3 фиксированные стратегии с открытым исходным кодом: RTK, Serena и RepoMap от Aider. Ни одна из них не оказалась дешевле во всех случаях. Все 3 снижали стоимость на Django и повышали её на SymPy.
Как работает TokenEconomizer?
TokenEconomizer — это внешний контроллер, который рассматривает агента как «чёрный ящик». Он хранит состояние для каждого репозитория, сформированное на основе завершённых трассировок. Перед каждой задачей он устанавливает 3 политики через промпт, настройки инструментов и поток событий.
1. Микронавыки
Модуль предложений на основе LLM преобразует сводки трассировок в факты длиной в одну строку, например в рабочую команду тестирования. Каждый факт сопровождается детекторами на основе регулярных выражений, которые проверяют последующие трассировки без вызова модели. Факт добавляется в промпт после 3 подтверждений в задачах с непересекающимися изменёнными файлами. Его коэффициент востребованности также должен оставаться на уровне не менее 0,4. Одно противоречие засчитывается как 5 подтверждений, поэтому ошибочные факты быстро удаляются.
2. Отбор инструментов
Инструменты оболочки, чтения, записи и редактирования сохраняются всегда. Другие инструменты маскируются после 3 последовательных задач, в которых они не использовались, или когда судья на основе LLM признаёт их нерелевантными. Полный каталог возвращается каждые 5 задач для повторной проверки. На Django с Claude Code первый запрос во второй задаче сократился с 43 351 до 16 295 токенов промпта.
3. Вмешательство в циклы ошибок
Контроллер обучается бюджету обращений: 1,25 от 90-го перцентиля длины успешных запусков. Недорогие проверки на основе правил выявляют повторяющиеся сбои или высокую плотность ошибок. Затем судья на основе LLM определяет, застрял ли агент, с уверенностью 0,7 или выше. Застрявший агент получает 1 перенаправление, а при повторении цикла — команду остановиться.
Что показывают результаты SWE-Bench?
| Конфигурация | Стоимость по сравнению со стандартной | Pass@1 по умолчанию | Pass@1 TokenEconomizer |
|---|---|---|---|
| Claude Code + Sonnet 5 | -23,6% | 74,7 | 76,0 |
| Claude Code + Opus 4.8 | -30,9% | 74,0 | 73,0 |
| Codex + GPT-5.6 Terra | -24,7% | 73,8 | 74,7 |
| Codex + GPT-5.6 Sol | -26,1% | 80,1 | 81,7 |
| Copilot CLI + Sonnet 5 | -18,4% | 75,0 | 77,6 |
Источник: arXiv 2610.22732, таблица 1. В стоимость включены все вызовы контроллера. По 3 начальных значения на конфигурацию.
Показатель Pass@1 улучшился в 4 из 5 конфигураций. Более низкий уровень рассуждений позволил сэкономить, но снизил Pass@1 на 1,8–10,3 балла. RTK сам по себе повышал стоимость в 12 из 30 ячеек «репозиторий–конфигурация», а RepoMap — в 15.
Экономия накапливается со временем. Сначала большинство репозиториев обходились дороже, но к шестой задаче все они стали дешевле. Отдельно в Claude Code отбор инструментов обеспечил экономию 13,2–17,7%, микронавыки — 11,8–14,3%, а защита от циклов — 5,4–7,1%.
Результаты сохранились и за пределами SWE-Bench. Стоимость снизилась на 16,0–21,2% на Web-Bench и на 16,5–19,6% на CredData. В ReposVul снижение составило всего 6,4–9,3%, поскольку более короткие запуски оставляют меньше возможностей для сокращения.
Как он сравнивается с другими инструментами экономии токенов?
| Характеристика | TokenEconomizer | RTK | Serena | Aider RepoMap |
|---|---|---|---|---|
| Подход | Обучает политики для каждого репозитория на основе прошлых сессий | Сжимает вывод команд оболочки | Сервер MCP с инструментами работы с кодом на уровне символов | Ранжированная карта символов репозитория в промпте |
| Обучается на предыдущих задачах | Да | Нет | Нет | Нет |
| Лицензия | Apache 2.0 | CLI под Apache 2.0; движок под BUSL-1.1 | GPL-3.0-or-later (MIT для SolidLSP) | Apache 2.0 |
| Агенты | Claude Code, Codex, Copilot CLI, Pi | 18 инструментов для программирования с ИИ | Любой клиент MCP | Aider |
| Изменение средней стоимости SWE-Bench (статья, 5 конфигураций) | -18,4% – -30,9% | -8,9% – +4,5% | Не включён в основные запуски (повысил общую стоимость при профилировании) | -6,1% – +6,5% |
| Ячейки с более высокой стоимостью (из 30) | 0 | 12 | Не раскрыто | 15 |
Данные о стоимости: статья о TokenEconomizer. Лицензии и утверждения: репозитории или документация каждого проекта.
Как установить TokenEconomizer?
Для работы плагина требуется один из 4 агентов и Python 3.10 или новее. В Claude Code клонируйте репозиторий, добавьте его как маркетплейс, а затем выполните команду claude plugin install tokeneconomizer@tokeneconomizer. Обученные данные хранятся локально в ~/.tokeneconomizer. Отбор инструментов и защита от циклов включены по умолчанию. Микронавыки по умолчанию отключены, поскольку модуль предложений добавляет вызовы модели.
Основные выводы
- TokenEconomizer снижает стоимость SWE-Bench на 18,4–30,9%, не изменяя агента.
- Он оказался дешевле во всех 30 ячейках «репозиторий–конфигурация»; RTK и RepoMap — нет.
- Отбор инструментов — самый эффективный отдельный механизм, обеспечивающий экономию 13,2–17,7%.
- Pass@1 вырос в 4 из 5 конфигураций и снизился на 1,0 балла для Opus 4.8.
- Он распространяется по лицензии Apache 2.0 и устанавливается в Claude Code, Codex, Copilot CLI и Pi.
Ознакомьтесь со статьёй, репозиторием на GitHub и страницей проекта. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с аудиторией 150k+ и подписаться на нашу рассылку. Стоп! Вы пользуетесь Telegram? Теперь к нам можно присоединиться и в Telegram.
Хотите стать нашим партнёром для продвижения своего репозитория на GitHub, страницы на Hugging Face, выпуска продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.