Плагін Microsoft зменшує витрати Claude Code і Codex
TokenEconomizer від Microsoft Research і UC Berkeley вчиться на минулих сесіях агента в репозиторії. Tool pruning прибирає інструменти, які давно не використовувались. Loop guard при зацикленні дає агенту одну підказку змінити підхід, але хід сам не зупиняє. Micro-skills запамʼятовує факти про репо, за замовчуванням вимкнений. На 277 задачах SWE-Bench середня вартість упала на 18,4–30,9%, Pass@1 зріс у 4 з 5 комбінацій агент–модель.
Модель і код агента не змінюються, навчене лежить у ~/.tokeneconomizer, окремий API-ключ не потрібен. На аудиті безпеки, де кожна задача в новому репо, економія менша: 6–20%.
Встановлення в Claude Code і Codex
Потрібні Python 3.10+ у PATH і сам агент, залогінений будь-яким способом. Для Claude Code: git clone https://github.com/microsoft/TokenEconomizer.git, потім claude plugin marketplace add "$PWD/TokenEconomizer" і claude plugin install tokeneconomizer@tokeneconomizer. Клон не видаляйте, бо плагін запускається з нього. Запустіть claude, довірте папку й виконайте /tokeneconomizer:status. Один раз на машину і після кожного оновлення Claude Code запускайте /tokeneconomizer:toolprune refresh-catalog. Він без виклику моделі записує всі інструменти, які завантажує сесія, і без нього pruning бачить не все.
У Codex ті самі кроки виконуються через codex plugin marketplace add і codex plugin add. На запиті Hooks need review оберіть Trust all and continue. Хуки запрацюють лише з наступної сесії, тому зробіть /exit, перезапустіть і перевірте через $tokeneconomizer:status. Codex до 0.141.0 хуків плагінів не виконує. Шлях до marketplace тримайте абсолютним: Copilot CLI сприймає ./TokenEconomizer як назву GitHub-репозиторію.
Що вмикати і як налаштувати
За замовчуванням увімкнено tool pruning і loop guard, а модель викликається лише тоді, коли хід схожий на зациклення. Micro-skills вимкнено, бо пропозер фактів додає виклики моделі, а виграш залежить від репо. Вмикається командою /tokeneconomizer:config set microskills=on. Є обережніші режими:
toolprune=proposeлише пропонує deny-список і нічого не змінює доtoolprune apply;microskills=envfactsвчиться тільки на повторюваних збоях, без викликів моделі;loopguard_nudges=2дає дві підказки замість однієї;TE_DISABLE=1 claudeвимикає плагін на одну сесію,TE_LOOPGUARD=off codexвимикає один механізм.
Команда всередині агента коштує один хід моделі, з терміналу вона безкоштовна.
Де воно ламається
Loop guard хід не зупиняє, а лише повідомляє, як це зробити. У Claude Code рядки плагіна видно тільки в детальному транскрипті (Ctrl+O). Плагін просить Claude повторити повідомлення у відповіді, але модель може переформулювати його або пропустити. У Codex Esc перериває хід, проте запущена команда працює до /stop, а codex exec повідомлень хуків не друкує. У headless-запусках (claude -p, codex exec) ніхто не стежить, тож позначений хід триває до кінця або до лімітів агента.
Tool pruning записує deny-список лише після того, як сесії в репо простоюють q хвилин, або не пізніше ніж через добу після формування списку. Ефект настає не одразу. Якщо файл не можна безпечно змінити (закомічений .codex/config.toml, невалідний JSON налаштувань, симлінк за межі репо), список лишається пропозицією, і на старті сесії пояснюється причина. Плагін вчиться на повторних сесіях у тому самому репо, тому на аудиті безпеки, де кожне завдання в новому репозиторії, економія була 6–20%.
Що перевірити
/tokeneconomizer:statusдрукує блок статусу, отже встановлення спрацювало./tokeneconomizer:toolpruneпоказує, які інструменти прибрано.toolprune restoreзнімає лише записи плагіна; повернуті інструменти повторно не прибираються, ваших deny-правил плагін не чіпає.te statusпісля headless-запусків рахує редиректи й повідомлення still stuck.- Команди тестували на найстарішій і найновішій версії кожного діапазону; новіші версії не перевірено, opencode підтримується експериментально.