Если вы хотите сократить расход токенов Claude Code, начинать с промпта редко стоит. Основной вес — базовый контекст, который добавляется к каждому запросу ещё до того, как вы наберёте хоть слово. В длинных разговорах он определяет и стоимость, и то, как быстро вы упираетесь в лимиты использования. В статье объясняется, откуда берётся этот базовый контекст, как мы его измеряли и какие настройки сокращают его до 61%.
Куда уходят токены?
Когда вы пишете агенту для кода, модель видит больше, чем вы написали. В запросе также есть:
- Системный промпт
- Определения инструментов (Bash, Read, Edit, Write, Glob, Grep и другие)
- Плагины, hooks и skills уровня пользователя
- Определения инструментов подключённых серверов MCP
- Файлы инструкций проекта (CLAUDE.md, AGENTS.md; см. как держать их короткими)
- Разговор на данный момент
Первые пять пунктов перечитываются на каждом ходу, а последний растёт по ходу работы. Небольшой базовый контекст быстро складывается за сессию в сто ходов.
Измерения: сколько контекста в первом запросе?
Мы измерили контекст, отправляемый модели в первом запросе новой сессии, с Claude Code 2.1 и Codex 0.155:
| Профиль | Claude Code | Codex |
|---|---|---|
| Standard | ≈34,4k | ≈13,3k |
| Balanced | ≈23,7k (−31%) | — |
| Lean | ≈13,3k (−61%) | ≈9,7k (−27%) |
Профиль balanced ограничивает набор инструментов до Bash, Read, Edit, Write, Glob и Grep. Профиль lean дополнительно пропускает плагины, hooks, skills и внешние серверы MCP уровня пользователя. В Codex профиль lean отключает приложения и веб-поиск.
Настройки, которые не помогли
Во время измерений мы обнаружили, что некоторые флаги сами по себе не уменьшали первый запрос:
--strict-mcp-config--exclude-dynamic-system-prompt-sections--disable-slash-commands
Claude Code и так загружает эти части только при необходимости. Настоящая экономия достигается сужением набора инструментов и отказом от загрузки плагинов, hooks и skills уровня пользователя.
Два варианта мы сознательно не включали: --safe-mode отключает ещё и CLAUDE.md проекта, а --bare работает только с ключом API. Оба слишком строги для ежедневного использования.
Как сократить расход токенов Claude Code: шаг за шагом
1. Давайте задаче только нужные инструменты
Агенту, который обновляет документацию или рефакторит один файл, не нужны браузер, инструменты для изображений и десяток серверов MCP. Начинайте такие задачи с профиля balanced или lean.
2. Подключайте серверы MCP выборочно
Каждый сервер MCP добавляет в контекст определения своих инструментов. Давайте сервер только тем агентам, которые им пользуются, а не всем подряд. Менеджер MCP в AgentVera показывает примерную стоимость каждого инструмента в токенах при проверке соединения, так что тяжёлый сервер видно до того, как он раздует каждый ход.
3. Следите за размером контекста
Нельзя сэкономить то, чего не видишь. AgentVera показывает текущий размер контекста каждого агента в его панели, так что вы смотрите на число, а не гадаете, когда разговор стал дорогим.
4. Сжимайте длинные разговоры
/compact подытоживает разговор на данный момент и уменьшает каждый следующий ход. Запускайте его вручную или задайте в AgentVera порог, после которого сжатие будет происходить автоматически.
5. Ограничивайте то, что передаётся между агентами
Когда поток передаёт вывод одного агента другому, отправлять всё целиком не обязательно. Узел Transform в потоках может обрезать ответ, оставить первые или последние N строк или оставить только последний блок кода, чтобы контекст целевого агента не заполнялся шумом.
6. Доводите промпты более дешёвой моделью
Если вы хотите привести черновик в порядок перед отправкой, дорогая основная модель не нужна. Revise в AgentVera запускает claude -p --model sonnet с отключёнными инструментами и без журнала сессии. Содержимое файлов не отправляется; уходят только черновик, имя и роль агента и название проекта.
Выбор профиля
| Работа | Рекомендуемый профиль | Почему |
|---|---|---|
| Тестирование в браузере, интеграции с большим числом MCP | Standard | Нужен полный набор инструментов |
| Повседневная работа над фичами | Balanced | Базовых файловых и shell-инструментов достаточно |
| Документация, небольшие рефакторинги | Lean | Самый маленький базовый контекст, самые дешёвые ходы |
| Долгая исследовательская сессия | Balanced + /compact при пороге | Держит рост контекста под контролем |
Проверьте цифры на своей настройке
Ваши цифры зависят от ваших плагинов, skills и серверов MCP. Чтобы увидеть свой базовый контекст, откройте новую сессию, отправьте одно короткое сообщение и посмотрите размер контекста первого запроса. Затем повторите то же с более узким профилем. Разница — то, что вы платите на каждом ходу сессии.
Считаем разницу за сессию
Проценты бывают слишком абстрактными, поэтому подумайте категориями сессии. Допустим, вы делаете 40 ходов с одним агентом. Если не учитывать историю разговора, базовый контекст перечитывается на каждом ходу.
| Профиль | Базовый контекст в первом запросе | Только базовый контекст за 40 ходов |
|---|---|---|
| Standard | ≈34,4k | ≈1,38M |
| Balanced | ≈23,7k | ≈948k |
| Lean | ≈13,3k | ≈532k |
Эта таблица показывает только базовый контекст; реальный расход выше, когда добавляются история разговора, вывод инструментов и ответы модели. На счёт могут влиять и механизмы провайдера, например кеширование. Тем не менее таблица ясно показывает одно: меньший базовый контекст делает каждый ход дешевле, а разрыв растёт по мере удлинения сессии.
Какой профиль для какой работы?
Профиль — не настройка «поставил и забыл». Он зависит от роли агента:
- Агент-исследователь: читает много файлов и ему могут понадобиться браузер или MCP для документации. Начните с профиля standard и автоматического сжатия при пороге.
- Агент-исполнитель: в основном читает и пишет файлы и запускает команды оболочки. Достаточно balanced.
- Агент для тестов или документации: работает в узкой области. Здесь больше всего экономит lean.
С параллельными агентами эти различия складываются. Если дать каждому агенту профиль под его роль, а не standard всем троим, тот же лимит прослужит дольше.
Автоматический /compact при пороге
Ручное сжатие легко забыть. Автоматическое устроено просто: когда контекст агента превышает ваш порог, запускается /compact. При выборе порога учитывайте:
- Слишком низкий: агент часто подытоживается и может терять ранние детали.
- Слишком высокий: сжатие приходит поздно, и каждый ход до него дорог.
На практике более ранний порог подходит для длинных исследовательских сессий, а более поздний — для коротких сессий реализации. Поскольку AgentVera показывает текущий размер контекста в панели, порог можно подбирать, наблюдая за ним.
Типичные ошибки
- Все MCP для каждого агента. Неиспользуемые определения инструментов читаются на каждом ходу.
- Никогда не сжимать. Сессия в сотни ходов продолжает тащить старые детали, которые ей больше не нужны.
- Передавать вывод как есть. Отправка длинного ответа целиком другому агенту раздувает и его контекст.
- Урезать только промпт. Промпт обычно составляет небольшую часть общего объёма.
Итоги
Основная часть экономии токенов Claude Code приходится на базовый контекст, который перечитывается на каждом ходу. Сужение инструментов под задачу, выборочное подключение серверов MCP и сжатие в нужный момент позволяют сделать ту же работу с меньшим контекстом. В измеренной нами настройке это означало на 61% меньше в первом запросе.
В AgentVera можно задать профили контекста, индикатор текущего контекста и автоматический /compact для каждого агента. Подробности на странице экономии токенов и на странице Claude Code, или начните с бесплатного тарифа. О том, как заполняется окно и когда срабатывает /compact, см. руководство по контекстному окну Claude Code.