Контекстное окно Claude Code — это всё, что модель видит на данном ходу: системный промпт, имена инструментов, ваш CLAUDE.md, каждое сообщение, каждый прочитанный Claude файл и каждый вывод команды за сессию. Чтобы управлять им, смотрите, что в нём лежит, через /context, сжимайте длинные сессии через /compact (или доверьте это auto-compact), начинайте несвязанную работу с /clear, держите CLAUDE.md коротким и отдавайте тяжёлые исследования субагентам, чтобы возвращался только их итог. Дальше в руководстве показано, как работает каждый из этих приёмов и когда им пользоваться.
Что заполняет контекстное окно
Контекстное окно измеряется в токенах, и в Claude Code оно заполняется с двух сторон: тем, что загружается до того, как вы что-либо напечатали, и тем, что накапливает сессия по ходу работы.
Загружается при запуске
Согласно документации Claude Code, перед вашим первым промптом в контексте уже лежит следующее:
- Системный промпт и встроенные инструменты.
- Файлы CLAUDE.md (проекта, пользователя и всех родительских папок) и auto memory. Вместо CLAUDE.md может загружаться AGENTS.md.
- Имена инструментов MCP и инструкции серверов. Полные определения инструментов по умолчанию откладываются и загружаются при использовании инструмента.
- Описания skills. Тело skill загружается только при его вызове.
Этот базовый уровень мы измерили в статье о расходе токенов: около 34,4k токенов в первом запросе при стандартной настройке и около 13,3k при облегчённой. Этот базовый объём отправляется заново на каждом ходу.
Добавляется в ходе сессии
Именно здесь возникает основной рост:
| Источник | Почему он быстро растёт |
|---|---|
| Чтение файлов | Большой файл, прочитанный целиком, может стоить тысячи токенов, а повторное чтение стоит столько же |
| Вывод команд | Запуски тестов, сборки и логи часто длинные и в основном шум |
| Ваши сообщения и ответы Claude | Каждый ход остаётся в истории |
| Результаты инструментов серверов MCP | Результат поиска или запроса попадает в контекст целиком |
| Неудачные попытки | Неверные подходы и ваши поправки остаются, пока вы не очистите или не сожмёте контекст |
Одна сессия отладки или изучения кодовой базы может породить десятки тысяч токенов. Это важно, потому что, как сказано в документации Claude Code, качество работы LLM падает по мере заполнения контекста: Claude может начать забывать прежние инструкции или чаще ошибаться.
Насколько велико окно?
Зависит от модели. В документации по настройке моделей Claude Code для последних моделей указано контекстное окно в 1M токенов (модели Fable, Sonnet 5 и новее, Haiku 5.5, Opus 4.7 и новее работают с ним по умолчанию). Opus 4.6 и Sonnet 4.6 достигают 1M только через вариант [1m]; в остальных случаях они работают с границей 200K.
Большое окно даёт запас, но не иммунитет. Сессия, где лежит 600k токенов старых исследований, всё равно медленнее, дороже на каждый ход и шумнее, чем та, что хранит только нужное для текущей задачи.
Смотрите на индикатор: /context
Прежде чем что-то менять, посмотрите. /context показывает актуальную разбивку того, что занимает окно, по категориям, с подсказками. Он также перечисляет, какие файлы CLAUDE.md и памяти были загружены, и это самый быстрый способ найти забытый файл инструкций в родительской папке.
/context
Здесь помогают и несколько связанных команд:
/memoryоткрывает загруженные файлы памяти, чтобы их можно было отредактировать./mcpпоказывает подключённые серверы и позволяет отключить те, которыми вы не пользуетесь./usageпоказывает расход токенов за сессию, включая строку о кэше промптов.
Расход контекста можно вывести и в собственную строку состояния, чтобы видеть его без запроса.
Сжатие: /compact и auto-compact
/compact заменяет разговор на данный момент кратким пересказом и продолжает работу в той же сессии. Claude Code делает то же самое сам, когда вы приближаетесь к лимиту; это и есть auto-compact.
Направьте пересказ
Простой /compact оставляет Claude самому решать, что сохранить. Результат лучше, если вы скажете ему об этом:
/compact Focus on the API changes and the list of files we modified
Сделать это постоянным можно с помощью раздела # Compact instructions в CLAUDE.md, например: «При сжатии всегда сохраняй полный список изменённых файлов и все команды для тестов».
Чтобы сжать только часть разговора, нажмите Esc дважды или выполните /rewind, выберите сообщение и нажмите Summarize from here или Summarize up to here.
Задайте, когда срабатывает auto-compact
По умолчанию Claude Code сжимает разговор, когда он достигает лимита контекста модели; модели с нативным окном 1M сжимают чуть раньше, примерно на 967K токенов. Если хотите сжимать раньше, задайте своё окно:
/autocompact 500k
/autocompact auto
Первая команда сохраняет окно 500k для текущей модели; вторая возвращает значение по умолчанию. Та же настройка есть как autoCompactWindow в settings.json и как переменная окружения CLAUDE_CODE_AUTO_COMPACT_WINDOW для скриптов. Допустимы значения от 100K до 1M.
Что переживает сжатие
В документации перечислено, что возвращается после сжатия: системный промпт, CLAUDE.md в корне проекта, правила без области действия, auto memory и текущий план режима плана. Недавно изменённые файлы читаются заново, а вложенные файлы CLAUDE.md и правила с привязкой к путям загружаются снова, когда Claude опять работает в этих папках. Дословно не сохраняется сам разговор, поэтому инструкция, которую вы только вводили в чате, может потерять детали. Если она важна, поместите её в CLAUDE.md.
Об одной цене стоит помнить: /compact читает весь разговор, чтобы его пересказать, так что само сжатие — крупный запрос.
Начать заново: /clear
/clear опустошает разговор и ничего не стоит. Используйте его при переходе к несвязанной работе. В рекомендациях Claude Code названы два сценария сбоев, которые он исправляет:
- Сессия «всё в одном». Вы начинаете одну задачу, спрашиваете о несвязанном, затем возвращаетесь. Контекст полон нерелевантного материала.
- Бесконечные поправки. После двух неудачных поправок по одной проблеме контекст засорён неверными подходами. Очистите его и напишите лучший первый промпт, в который включите то, что вы узнали.
Если сессия может понадобиться снова, сначала дайте ей имя через /rename, затем выполните /clear; позже /resume вернёт её. Для быстрого вопроса, который не должен оставаться в истории, /btw отвечает, не добавляя ничего в разговор.
| Ситуация | Что выбрать | Почему |
|---|---|---|
| Та же задача, длинная история | /compact <focus> | Сохраняет нить, убирает объём |
| Устарела только ранняя часть | /rewind → Summarize up to here | Свежие ходы остаются целиком |
| Переход к несвязанной работе | /clear | Бесплатно, и ничего лишнего не переносится |
| Две поправки не помогли | /clear + лучший промпт | Неудачные попытки сбивают следующие |
| Разовый вопрос | /btw | Никогда не попадает в историю |
Держите CLAUDE.md небольшим
CLAUDE.md загружается в каждой сессии, поэтому каждая строка оплачивается на каждом ходу. В документации Claude Code советуют держать его в пределах около 200 строк и спрашивать про каждую строку: приведёт ли её удаление к ошибкам? Если нет, вычеркните. У раздутого файла есть и вторая цена помимо токенов: важные правила теряются в шуме, и Claude их игнорирует.
Что делать с остальным:
- Переносите инструкции, привязанные к рабочим процессам (как выпускать релиз, как писать миграцию), в skills. При запуске загружаются только их краткие описания; тело загружается, когда skill используется.
- Давайте ссылки на подробные документы вместо вставки их текста.
- Удаляйте всё, что Claude и так делает правильно без подсказок, или превращайте в hook то, что должно выполняться всегда.
Подробнее о структуре мы пишем в руководстве по CLAUDE.md и AGENTS.md.
Используйте субагентов, чтобы основной контекст оставался чистым
Исследование — классический убийца контекста: чтобы ответить на вопрос «как наша авторизация обновляет токены?», Claude может прочитать двадцать файлов. Субагент работает в собственном контекстном окне, читает всё это там и возвращает в вашу основную сессию только краткий итог.
Use subagents to investigate how our authentication system handles token
refresh, and whether we have any existing OAuth utilities I should reuse.
Хорошие кандидаты для субагента:
- Изучение кодовой базы перед изменением.
- Чтение длинных логов или вывода тестов, чтобы найти единственный важный сбой.
- Ревью diff в свежем контексте, что заодно исключает предвзятость к коду, который только что написала основная сессия.
Субагенты не бесплатны. Они расходуют собственные токены, а в документации Claude Code отмечено, что команды агентов тратят примерно в 7 раз больше токенов, чем одна сессия. Выигрыш здесь в качестве и сосредоточенности основной ветки, а не всегда в меньшем счёте.
Сколько стоят серверы MCP
Model Context Protocol раньше был одной из самых больших статей расхода при запуске, потому что определения всех инструментов каждого сервера загружались сразу. Теперь Claude Code по умолчанию откладывает определения инструментов (tool search), поэтому, пока инструмент не используется, в контексте лежат только его имя и инструкции сервера.
Это меняет совет, но не отменяет его:
- Отключайте через
/mcpсерверы, которыми вы не пользуетесь в этом проекте. - Предпочитайте CLI-инструменты вроде
gh,aws,gcloudилиsentry-cli, если они есть. В документации их называют самым экономным по контексту способом добраться до внешних сервисов. - Следите за результатами инструментов, а не только за определениями. Запрос к базе данных или снимок страницы, возвращённые инструментом MCP, попадают в контекст целиком.
Признаки «гниения» контекста
«Гниение контекста» (context rot) — неформальное название сессии, которая незаметно стала хуже, потому что её контекст слишком заполнен или слишком шумный. Типичные признаки:
- Claude забывает правило, которое вы назвали раньше в разговоре, или правило из CLAUDE.md.
- Он заново читает файлы, которые уже читал, или спрашивает о том, что и так знает.
- Он повторяет подход, который вы уже отвергли.
- Ответы становятся расплывчатее, а правки затрагивают не то место.
- Каждый ход кажется медленнее, а счётчик токенов растёт быстрее.
Если вы видите два признака или больше, выполните /context. Если основную часть занимает разговор, сожмите его с указанием фокуса; если сессия блуждала по разным задачам, очистите её. Учтите и то, что после простоя кэш промптов истекает, поэтому следующее сообщение заново обрабатывает весь контекст по полной цене. Большая сессия после долгого простоя — хороший момент, чтобы сжать или очистить контекст перед продолжением.
Привычки, которые сохраняют сессии здоровыми
- Одна задача на сессию. Дайте ей имя, завершите, очистите.
- Указывайте, а не бродите. Ссылайтесь на файлы через
@pathи называйте функции, вместо того чтобы просить Claude «осмотреться». - Ограничивайте исследования. «Найди, где применяются лимиты запросов в
src/api» лучше, чем «исследуй ограничение запросов». Или отдайте это субагенту. - Сокращайте вывод команд. Запускайте отдельные тесты, а не весь набор, и фильтруйте логи до того, как их прочитает Claude.
- Сжимайте с фокусом и заранее. Сжатие, которое вы направили, до того как окно почти заполнено, обычно сохраняет нужные детали лучше, чем автоматическое на пределе.
- Относитесь к CLAUDE.md как к коду. Сокращайте его, когда Claude начинает игнорировать правила.
Какое место занимает AgentVera
AgentVera запускает Claude Code, Codex и других агентов CLI бок о бок в одном десктопном приложении. Оно не заменяет привычки выше, но снимает с вас часть учёта, когда вы запускаете сразу несколько агентов. Всё это описано на странице экономии токенов:
- Размер контекста в реальном времени в панели каждого агента, измеряемый по собственной истории CLI, поэтому работает не только с Claude Code и Codex.
- Auto-compact включён по умолчанию с порогом 150k токенов, через собственную команду каждого CLI (
/compact,/compress,/summarize,/smol). Меняется в разделе Settings → Token savings. - Профили контекста (Standard, Balanced, Lean), которые сокращают базовый объём при запуске для каждого агента.
- Защита от повторного чтения, а также умные инструменты для Claude Code: они отклоняют повторное чтение неизменённого файла и сначала передают агенту структуру большого файла.
- Карта проекта, чтобы агенты находили нужные файлы, не читая их по одному.
- Менеджер MCP, проверка соединения в котором показывает приблизительную стоимость каждого инструмента в токенах.
Освоить /context, /compact и /clear самостоятельно всё равно стоит. Они работают одинаково с AgentVera и без неё.