Как настроить кодинг-агента чтобы он экономил токены: флаги, техники, компрессоры и пр. От простого

Как настроить кодинг-агента чтобы он экономил токены: флаги, техники, компрессоры и пр. От простого к продвинутому.

Ключевая проблема в том, что кодинг-агенты часто не оптимизированы по выходным токенам (они стоят дороже всего), а bash-тулы и MCP вообще не оптимизированы под экономию. Они забивают контекст своим verbose-аутпутом каждый шаг. Хорошая новость в том, что у нас с вами есть целый арсенал по оптимизации контекста с минимальным уроном для результата. По уровням от дешевого к тяжелому.

1️⃣ Аудит и уборка

/context показывает куда ушли токены. Урежьте количество MCP, уберите глобальные tools которыми не пользуетесь, выкиньте старье. AGENTS.md и CLAUDE.md надо держать компактными — они идут в каждый запрос (подробнее в моем посте). Сюда же в целом можно отнести наведения порядка в документации, настройка .claudeignore, создание иерархических контекстных файлов чтобы агент реже перечитывал кодовую базу и т.д.

2️⃣ Оптимизация через инструкции и флаги

2.1. bash-команды в агенте по дефолту генерят overkill. Пара строк в контекст-файле чинит это:

git status → git status --porcelain
git log → git log --oneline -20
git diff → git diff --stat first
pytest → pytest --tb=short -q
cargo test → cargo test 2>&1 | tail -30
ls on big dirs → ls | head -50

В открытом issue в Claude Code Anthropic-разработчик сам подтверждает этот список как «правильный» и рекомендует класть в ~/.claude/rules/.

2.2. настройка компакшена.

В Claude Code env vars:
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=50 — по % от capacity модели
CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000
— по токенам сессии
CLAUDE_CODE_MAX_OUTPUT_TOKENS — ограничивает длину ответа (использовать с осторожностью)

Борис (создатель CC) сам рекомендует это.

У Codex в ~/.codex/config.toml принцип тот же: model_auto_compact_token_limit = 200000 — прямой token limit. Плюс отдельный tool_output_token_limit защищает от случайного cat huge.log, и compact_prompt позволяет переопределить сам промпт компакшена.

У OpenCode в opencode.json симметрично — compaction.threshold + compaction.maxContext, плюс отдельный плагин dynamic-context-pruning.

Прожорливые MCP-схемы в Claude Code больше не грузятся в контекст целиком: ENABLE_TOOL_SEARCH=true по дефолту, в Codex CLI пока нет, но запросили.

2.3. Лучше, конечно не ждать автокомпакта, и либо чаще создавать новую сессию, либо чаще запускать компакт на «швах» работы (кстати, к нему полезно добавлять инструкцию типа /compact focus on sidebar refactoring.

3️⃣ Тяжелая артиллерия

Можно поставить готовые обертки-оптимизаторы, вот шорт-лист лучших:

RTK — Rust-прокси для bash. PreToolUse hook прозрачно оборачивает команды в rtk <cmd>, режет 60-90% на dev-командах, <10ms overhead.

headroom — работает как прокси (`headroom wrap claude`), MCP или библиотека. Под капотом роутинг: AST для кода, BERT для текста, smart-crusher для JSON. Умеет в reversible compression (модель может запросить оригинал) и оптимизации на промпт-кешинг.

caveman 🪨виральный апрельский хит, заставляет Claude отвечать стилем «пещерного человека». Неплохой обзор раскрывает как плюсы так и минусы. Ставится как плагин или скилл, есть настройки уровня сжатия, есть сабскилы caveman-compress, caveman-commit и тд.

Тестируйте на своих кейсах, не ставьте все сразу — выбирайте что работает именно у вас, в разных проектах стратегии могут отличаться. По цифрам все это дает от 20% до 80% на полных сессиях, такая токен-экономия окупается дважды — кошельком и качеством работы агента: меньше шума в контексте, выше success rate на многошаговых задачах, меньше context rot, агент тупит заметно реже.

🔥 🔁 @nobilix

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *