CoreCodeБлог

Руководства

Контекстное окно Claude Code: что его заполняет и что сохраняет /compact

Опубликовано · Проверено

Контекстное окно содержит всё, что Claude знает о вашей сессии: ваши инструкции, прочитанные файлы, его собственные ответы и содержимое, которое никогда не появляется в терминале. Эта страница разбирает документацию Anthropic Explore the context window: что загружается при старте, как проверить использование, что происходит при заполнении окна, что остаётся после /compact и как работают /compact, /clear и /rewind. Документация проверена 30 октября 2026 г.

Главное
  • Контекстное окно содержит не только ваш разговор: CLAUDE.md, auto memory, имена инструментов MCP и описания skills загружаются ещё до того, как вы что-либо наберёте.
  • Выполните /context, чтобы получить актуальную разбивку по категориям с советами по оптимизации.
  • Claude Code автоматически сжимает контекст при приближении к лимиту, поэтому заполненное окно не завершает сессию.
  • После сжатия CLAUDE.md в корне проекта и auto memory заново подгружаются с диска. Правила с paths: и вложенные файлы CLAUDE.md вместо этого загружаются заново по требованию.
  • Чтобы краткое изложение сохранило важное для вас, выполните /compact с инструкциями, например /compact focus on the auth bug fix. При переходе к несвязанной работе используйте /clear.

Что попадает в контекстное окно

В документации есть интерактивная временная шкала, которая проигрывает сессию от запуска до сжатия. Количества токенов на ней показательные, а не ваши реальные. Согласно документации, порядок примерно такой:

О написании subagents см. subagents в Claude Code. О skills — skills в Claude Code. О CLAUDE.md — как написать CLAUDE.md.

Как проверить использование контекста

В документации сказано выполнить /context в любой момент, чтобы увидеть реальное использование: актуальную разбивку по категориям с советами по оптимизации, в том числе какие файлы CLAUDE.md и auto memory загрузились. Выполните /memory, чтобы открыть и отредактировать эти файлы.

Справочник команд описывает эти две команды так:

КомандаЧто говорится в документации
/context [all]Визуализирует текущее использование контекста в виде цветной сетки с советами по оптимизации для тяжёлых для контекста инструментов, раздутой памяти и предупреждениями о заполнении. Когда разговор превышает контекстное окно, вывод содержит предупреждение о том, насколько превышен лимит и какая команда освободит место. В полноэкранном режиме /context сворачивает разбивку по элементам, чтобы сетка оставалась видимой. Передайте all, чтобы развернуть её.
/memoryРедактирует файлы CLAUDE.md, включает и выключает auto memory и показывает записи auto memory.

Документация о расходах добавляет, что /usage проверяет текущее использование токенов и что можно настроить строку состояния так, чтобы она показывала его постоянно. /usage показывает стоимость сессии, лимиты тарифа и статистику активности.

Что происходит, когда контекст заполняется

Claude Code автоматически сжимает контекст при приближении к лимиту, поэтому заполненное окно не завершает сессию. Автоматический проход работает так же, как шаг /compact на временной шкале.

Момент, когда запускается автоматическое сжатие, зависит от вашей модели и конфигурации. Пороги по умолчанию для каждой модели и способ исправить ситуацию, когда Claude Code предполагает неверное окно для вашего ID модели, документация держит на странице model-config. На этой странице конкретных чисел нет.

Если вам нужно окно побольше, а не разговор поменьше: в документации сказано, что модели Fable, Sonnet 5 и новее, Haiku 5.5, Opus 4.6 и новее и Sonnet 4.6 поддерживают контекстное окно в 1 миллион токенов. Доступность по тарифам и способ выбрать вариант модели [1m] описаны в разделе Extended context. Там же сказано, что при большем лимите сжатие работает так же.

Что переживает сжатие, а что нет

Когда длинная сессия сжимается, Claude Code пересказывает историю разговора, чтобы она уместилась в контекстное окно. Начиная с v2.1.198 запрос на сжатие наследует конфигурацию extended thinking вашей сессии: рассуждает с включённым thinking, если он включён в сессии, и остаётся выключенным в противном случае. Thinking влияет только на то, как создаётся краткое изложение; настройки сессии потом не меняются. Что происходит с каждым видом содержимого, зависит от того, как оно было загружено:

МеханизмПосле сжатия
Системный промпт и output styleОба по-прежнему действуют
CLAUDE.md в корне проекта и правила без привязки к путямЗаново подгружаются с диска
Auto memoryЗаново подгружается с диска
Описания skillsПересобираются из ваших текущих skills и подгружаются заново. Нужен Claude Code v2.1.304 или новее
Снимок статуса GitЕсли сессия началась со снимка, Claude Code читает новый из вашего репозитория
План, который Claude написал в режиме планированияЗаново подгружается с диска
Правила с frontmatter paths:Claude Code загружает их заново по требованию
Вложенные CLAUDE.md в подкаталогахClaude Code загружает их заново по требованию
Файлы, которые Claude читал или правилClaude Code перечитывает до пяти, начиная с изменённых последними
Тела вызванных skillsПодгружаются заново, не более 5 000 токенов на skill и 25 000 токенов суммарно; самые старые отбрасываются первыми
Фоновые команды и фоновые subagentsПродолжают работать. Claude Code напоминает Claude, какие ещё выполняются, чтобы он не запускал дубликат
Контекст, ранее добавленный hooksСжимается вместе с остальным разговором
Hooks SessionStart, подходящие под источник compactClaude Code запускает их и добавляет их вывод в сжатый контекст

Три детали, на которые указывает документация:

Что можно сделать до сжатия

Действовать можно до запуска автоматического прохода. В документации перечислены пять способов:

ПодходКак
Сжатие с фокусомВыполните /compact с инструкциями, например /compact focus on the auth bug fix, перед началом долгой новой задачи. Краткое изложение сохранит то, что выбрали вы, а не то, что автоматический проход счёл важным.
Сжатие части разговораВыполните /rewind, выберите сообщение и нажмите Summarize from here или Summarize up to here.
Сжатие раньшеВыполните /autocompact с числом токенов, например /autocompact 500k, чтобы задать, насколько заполнится контекстное окно до запуска автоматического прохода.
Очистка между задачамиВыполните /clear, переходя к несвязанной работе. Старый разговор вытесняет нужные дальше файлы и стоит токенов при каждом сообщении.
Делегирование больших чтенийОтдайте исследование subagent, чтобы содержимое файлов оставалось в его контекстном окне, а не в вашем.

Справочник команд говорит о задействованных командах следующее:

КомандаЧто говорится в документации
/compact [instructions]Освобождает контекст, сжимая разговор до этого момента. Можно передать инструкции, на чём сфокусировать сжатие.
/clear [name]Начинает новый разговор с пустым контекстом. Передайте имя, чтобы подписать предыдущий разговор в списке /resume. Чтобы освободить контекст, продолжая тот же разговор, используйте вместо этого /compact. Вернуться к предыдущему разговору можно через /resume. Алиасы: /reset, /new.
/rewindОткатывает разговор и/или код к предыдущей точке или сжимает всё начиная с выбранного сообщения. Алиасы: /checkpoint, /undo.
/autocompact [auto|<tokens>]Задаёт окно автосжатия: насколько заполнится контекстное окно, прежде чем Claude Code сожмёт его автоматически. Передайте размер, например 500k, или auto, чтобы вернуться к окну, подобранному под вашу модель. Claude Code сохраняет значение в пользовательских настройках и применяет его к текущей сессии. Нужен Claude Code v2.1.221 или новее.

Как держать контекст компактным

Советы по контексту из документации о расходах:

О том, как эти привычки влияют на счёт, см. наше руководство по экономии токенов, а о поведении кэша — руководство по кэшу. Эта страница посвящена тому, как устроен сам контекст.

FAQ

Заполненное контекстное окно завершает мою сессию?

Нет. В документации сказано, что Claude Code автоматически сжимает контекст при приближении к лимиту, поэтому заполненное окно не завершает сессию. Вы можете и сами выполнить /compact раньше и инструкциями задать, что сохранит краткое изложение. Момент автоматического сжатия зависит от вашей модели и конфигурации.

Переживают ли сжатие правила из моего CLAUDE.md?

CLAUDE.md в корне проекта и правила без привязки к путям заново подгружаются с диска. Правила с frontmatter paths: и вложенные CLAUDE.md в подкаталогах иначе: они загружаются по требованию, а сжатие их пересказывает и теряет. Если правило должно сохраняться после сжатия, в документации сказано убрать frontmatter paths: или перенести его в CLAUDE.md в корне проекта.

Чем /compact отличается от /clear?

/compact освобождает контекст, сжимая разговор, и разговор продолжается. /clear начинает новый разговор с пустым контекстом, а к предыдущему можно вернуться через /resume. Справочник команд прямо говорит: чтобы освободить контекст, продолжая тот же разговор, используйте /compact. При переходе к несвязанной работе документация рекомендует /clear.

Источники