Вы умеете измерять контекст — теперь пора научиться на него влиять. У Claude Code есть два инструмента освобождения места, и разница между ними принципиальная: один стирает историю, второй заменяет её сводкой. Выбор между ними определяет, останется ли у агента понимание того, над чем вы работали.
Ошибка дорого стоит в обе стороны. Сжать историю там, где нужно было начать с нуля, — значит потащить в новую задачу сводку старой со всеми тупиковыми попытками. Начать с нуля посреди сложной задачи — значит заново объяснять то, что агент только что понял.
Что уже умеем / что добавим
Вы знаете устройство контекстного окна и умеете читать его состояние через /context. Теперь добавим действие: разберём /clear и /compact, посмотрим, что именно переживает сжатие, познакомимся с автоматическим сжатием и научимся управлять моментом его срабатывания.
Что вы узнаете в рамках статьи
- Чем
/clearпринципиально отличается от/compact - Что переживает сжатие контекста, а что теряется
- Как направлять сжатие инструкцией, чтобы сохранить нужное
- Как работает автоматическое сжатие и как сдвинуть его порог
- По какому правилу выбирать между очисткой и сжатием
Ключевые термины
/clear— команда, начинающая новый диалог с пустым контекстом. Предыдущий разговор сохраняется и доступен через/resume. Псевдонимы:/reset,/new./compact— команда, освобождающая место сжатием текущего разговора в структурированную сводку. Принимает необязательную инструкцию для фокуса сводки.- Сжатие (компакция) — замена истории сообщений её сводкой с сохранением ключевых решений и состояния файлов.
- Автосжатие — то же сжатие, запускаемое Claude Code самостоятельно при приближении к пределу окна.
/autocompact— команда, задающая, насколько заполнится окно до срабатывания автосжатия./rewind— меню отката, позволяющее в том числе сжать только часть разговора: от выбранного сообщения или до него.
Две разные операции, а не два способа одного
Главное отличие проще всего описать через то, что остаётся после команды.
После /clear не остаётся ничего. Начинается новый разговор с пустым окном: заново загружается стартовый контекст — системный промпт, CLAUDE.md, автопамять, — а история предыдущего диалога в новом контексте отсутствует полностью. Она не уничтожена: разговор сохранён на диске, и к нему можно вернуться через /resume. Но для агента в текущем окне его нет.
После /compact остаётся сводка. Claude Code отправляет отдельный запрос, который читает весь разговор и пишет его структурированное изложение, затем заменяет историю этой сводкой. Разговор продолжается: агент по-прежнему знает, над чем вы работали и к чему пришли, — но в сжатом виде, без деталей.
# Переключаетесь на другую задачу — истории не нужно
> /clear
# Продолжаете ту же задачу, но место кончается
> /compact
Есть и удобная деталь: /clear принимает имя, которым помечается покидаемый разговор, чтобы потом найти его в списке.
> /clear release-prep
Что переживает сжатие
Сжатие затрагивает историю сообщений, но не всё содержимое окна. Часть загружается заново из файлов и потому не теряется:
- Системный промпт — не входит в историю, остаётся без изменений.
CLAUDE.mdв корне проекта — перечитывается с диска и подставляется заново.- Автопамять — тоже подставляется заново с диска.
- План, написанный в режиме планирования — восстанавливается.
- Прочитанные и отредактированные файлы — Claude Code перечитывает до пяти из них, начиная с изменённых последними.
А вот что сжимается вместе с остальным разговором: всё, что было сказано только в переписке. Договорённости, уточнения, ваши поправки — они попадут в сводку в лучшем случае в общих чертах.
Отсюда практический вывод, к которому мы подступались в прошлых уроках: правило, которое должно действовать всегда, надо держать в CLAUDE.md. Тогда оно переживёт любое количество сжатий, потому что подставляется из файла, а не хранится в истории.
Ещё одна деталь — сжатие можно направить:
> /compact сфокусируйся на изменениях в модуле авторизации
Инструкция говорит, что важно сохранить. Без неё сводка сама решает, что существенно, и может отбросить нужное. Привычка добавлять фокус окупается: она стоит одной строки, а спасает от потери контекста задачи.
Автосжатие и управление порогом
Полное окно не обрывает сессию. Claude Code следит за заполнением и по мере приближения к пределу освобождает место сам: сначала убирает старый вывод инструментов, затем, если этого мало, сжимает разговор — тем же механизмом, что и /compact.
Проблема автосжатия не в качестве, а в моменте. Оно срабатывает тогда, когда кончилось место, а не тогда, когда вам удобно. Если это случается посреди сложного шага, вы получаете паузу и сводку ровно в тот момент, когда контекст задачи был нужен целиком.
Отсюда рекомендация: запускать /compact самому, в естественной паузе между задачами. Тогда вы сами выбираете, что теряется, и не платите этой паузой посреди работы.
Порог автосжатия настраивается:
# Посмотреть текущее значение
> /autocompact
# Сжимать раньше — при заполнении окна до 500k
> /autocompact 500k
# Вернуть значение по умолчанию для вашей модели
> /autocompact auto
Есть и промежуточный вариант между «всё» и «ничего» — сжатие части разговора. Команда /rewind открывает меню, где можно выбрать сообщение и сжать историю от него вперёд или до него назад. Первое сворачивает недавние шаги, сохраняя ранний контекст; второе — наоборот, сворачивает начало, оставляя свежее в полном виде.
Правило выбора
Свести всё к одному вопросу можно так: связана ли следующая работа с предыдущей?
Если нет — /clear. Вы закончили с одной задачей и берётесь за другую: правили платежи, теперь занимаетесь вёрсткой формы. Всё, что накопилось, для новой задачи не просто бесполезно — оно вредно, потому что отвлекает внимание модели и занимает место, нужное для новых файлов.
Если да — /compact. Вы посреди одной большой работы, окно кончается, но понимание задачи агенту нужно сохранить.
Есть третий случай, который сначала неочевиден. Если вы дважды подряд поправили агента по одному и тому же поводу и он всё ещё делает не то — контекст засорён неудачными попытками, и они тянут решение обратно в ту же колею. Здесь правильный ход — /clear, а затем новый, более точный промпт, вобравший то, что вы поняли из неудач. Чистая сессия с хорошей формулировкой почти всегда обгоняет длинную с накопленными исправлениями.
# Признак: третья попытка объяснить одно и то же
> /clear
> Исправь обработку истёкшего токена в src/auth/refresh.ts.
Ранее пробовали ловить исключение в middleware — не работает,
потому что до middleware управление не доходит. Начни с самого refresh.ts.
Частые ошибки
- Считать
/clearкнопкой удаления разговора. Разговор сохраняется и доступен через/resume. Команда очищает контекст, а не стирает историю с диска, поэтому её не стоит бояться. - Дожидаться автосжатия вместо ручного
/compact. Автоматика срабатывает в момент нехватки места, а не в удобный момент. Сжатие в естественной паузе между задачами дешевле и предсказуемее. - Полагаться на то, что важные договорённости переживут сжатие. В сводку попадает не всё. Постоянные правила выносите в
CLAUDE.md— они подставляются из файла и не зависят от того, что решила сохранить сводка. - Продолжать длинную сессию после двух неудачных исправлений. Каждая неудачная попытка остаётся в контексте и тянет модель к тому же решению. Дешевле очистить контекст и переформулировать задачу.
Наиболее частые вопросы
- Можно ли вернуться к разговору после
/clear? — Да. Разговор сохранён; открыть его можно через/resume, а в том же процессе Claude Code — через меню отката. - Сколько стоит
/compact? — Это отдельный запрос к модели, который читает весь разговор. Пока кэш тёплый, он обходится заметно дешевле, чем можно предположить по объёму контекста; после долгого перерыва — дороже, потому что историю приходится обрабатывать заново. - Переживёт ли сжатие мой
CLAUDE.md? — Да, файл в корне проекта перечитывается с диска и подставляется в контекст заново после сжатия. - Что лучше при неудачном пути:
/compactили откат? — Откат. Если вы хотите отказаться от направления целиком,/rewindвозвращает к более раннему состоянию, которое уже находится в кэше, тогда как сжатие строит новое. - Нужно ли сжимать перед закрытием терминала? — Нет. Разговор сохраняется автоматически, и вернуться к нему можно в любой момент.
Итоги
Поздравляем: вы освоили самый практичный навык этой главы. Теперь вы не ждёте, пока агент начнёт путаться, а управляете его памятью осознанно: очищаете контекст между несвязанными задачами, сжимаете с фокусом внутри одной большой работы, знаете, что переживёт сжатие, а что нужно заранее вынести в файл, и умеете сдвинуть порог автоматики под свой стиль работы. Это ровно те привычки, которые отличают уверенную работу с агентом от борьбы с ним.
Дальше мы посмотрим на контекст с другой стороны. Пока речь шла об одном разговоре — но разговоров бывает много, они живут дольше одного вечера и иногда должны расходиться на варианты. В следующем уроке разберём управление сессиями: как вернуться к вчерашней работе, как переключаться между параллельными задачами и как ответвить разговор, чтобы попробовать другой подход, не потеряв текущий.