Запознайте се с TokenEconomizer: плъгинът на Microsoft, който намалява разходите за токени на агентите за програмиране с до 30,9%
Екип от изследователи от Microsoft Research и UC Berkeley публикува 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 ключ.
- Производителност: С 18,4% до 30,9% по-ниска средна цена в SWE-Bench и по-ниска цена във всичките 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. Никоя не беше по-евтина навсякъде. И трите намалиха разходите при Django и ги увеличиха при SymPy.
Как работи TokenEconomizer?
TokenEconomizer е външен контролер, който третира агента като черна кутия. Той поддържа състояние за всяко хранилище, изградено от завършени трасета. Преди всяка задача задава 3 политики чрез промпта, настройките на инструментите и потока от събития.
1. Микроумения
LLM предлагащ преобразува обобщенията на трасетата във факти от един ред, като например работещата команда за тестове. Всеки факт включва регулярни изрази детектори, които проверяват последващите трасета без извикване на модел. Фактът се добавя към промпта след 3 потвърждения при задачи с неприпокриващи се редактирани файлове. Неговият коефициент на необходимост също трябва да остане на или над 0,4. Едно противоречие се брои за 5 потвърждения, така че грешните факти бързо отпадат.
2. Премахване на инструменти
Инструментите за shell, четене, запис и редактиране винаги се запазват. Другите инструменти се маскират след 3 последователни задачи, в които не са използвани, или когато LLM съдия ги определи като неуместни. Пълният каталог се връща на всеки 5 задачи за повторен одит. При Django с Claude Code първата заявка на задача 2 спадна от 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 |
|---|---|---|---|---|
| Подход | Научава политики за всяко хранилище от предишни сесии | Компресира изхода от shell команди | MCP сървър с инструменти за код на ниво символи | Класирана карта на символите в хранилището в промпта |
| Учи се от по-ранни задачи | Да | Не | Не | Не |
| Лиценз | Apache 2.0 | Apache 2.0 CLI; BUSL-1.1 engine | GPL-3.0-or-later (MIT за SolidLSP) | Apache 2.0 |
| Агенти | Claude Code, Codex, Copilot CLI, Pi | 18 инструмента за програмиране с AI | Всеки 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 клонирайте хранилището, добавете го като marketplace, след което изпълнете 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 и не забравяйте да се присъедините към нашия ML SubReddit с над 150 хил. членове и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Вече можете да се присъедините към нас и в Telegram.
Искате да си партнирате с нас за популяризиране на вашето GitHub хранилище, страница в Hugging Face, продуктово издание, уебинар и т.н.? Свържете се с нас
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.