Как настроить кодинг-агента чтобы он экономил токены: флаги, техники, компрессоры и пр. От простого к продвинутому.
Ключевая проблема в том, что кодинг-агенты часто не оптимизированы по выходным токенам (они стоят дороже всего), а 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
Добавить комментарий