Команду /compact в Claude Code не нажимают по таймеру. Момент для неё — это пауза в работе: одна задача закончена, следующая вот-вот начнётся. Официальная документация говорит об этом прямым текстом: запускайте /compact на естественной границе в работе, например между задачами, а не дожидайтесь, пока автокомпактизация сработает посреди задачи (документация Claude Code, раздел «Prompt caching»).

Правила вида «жму каждые 30 минут» или «жму, как только контекст перевалил за 70%» бьют мимо цели. Дальше в статье разбираемся почему, но если коротко: цена и потери от компактизации определяются не тем, когда вы её нажали, а тем, что именно вы выбросили и был ли кэш прогрет.

📌 Откуда взяты эти факты: все описания поведения, номера версий и названия настроек ниже сверены 8 августа 2026 года с документацией Claude Code и примечаниями к релизам (последний на тот момент — v2.1.226 от 8 августа 2026 года). Claude Code развивается быстро, и в области компактизации поведение прибавлялось даже в свежих релизах (/autocompact требует v2.1.221 или новее). Свою сборку проверьте командой claude --version.

1. Короткий ответ — нажимать на границе задач, а не по таймеру

Сначала таблица решений. Она нужна затем, чтобы решать по ситуации, а не по часам.

✅ Когда нажимать

Вы закончили одну задачу и вот-вот возьмётесь за длинную. Неважно, что контекста ещё в избытке. Смысл в том, чтобы сдвинуть автоматический запуск вперёд на своих условиях и не дать ничему прервать вас посреди задачи.

🟡 Когда лучше /clear

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

🔵 Когда лучше /rewind

Вы хотите выбросить всё выбранное направление целиком. Откат обрезает историю до точки, которая уже в кэше, поэтому он дешевле компактизации, которой приходится строить новый префикс с нуля.

❌ Когда нажимать не стоит

Посреди задачи. Детали, которыми вы ещё собирались пользоваться, схлопнутся в сводку. Каждое нажатие «на всякий случай» покупает вам обязанность тут же перечитывать те же самые файлы.

Эти четыре случая разделяет один вопрос. Понадобится ли вам ещё то, что вы собираетесь выбросить? Если позаимствовать формулировку документации, компактизация выигрывает тогда, когда отбрасываемый контекст действительно больше не нужен. Работа по расписанию — это способ отказаться от такого суждения, поэтому иногда она попадает, а иногда нет. И промахи обходятся дороже, чем окупаются попадания.

2. Компактизация идёт в три этапа — что на самом деле сказано в документации

Прежде чем спрашивать, нажимать ли вручную, нужно знать про механику, которая работает независимо от того, нажимаете вы что-нибудь или нет. Когда контекст начинает заполняться, Claude Code не бросается сразу суммировать диалог. Документация описывает это так.

«Claude Code управляет контекстом автоматически по мере приближения к пределу: сначала он отбрасывает старые выводы инструментов, а затем, если нужно, суммирует диалог. Ваши запросы и важные фрагменты кода сохраняются, но подробные указания из начала диалога могут быть потеряны. Размещайте постоянные правила в CLAUDE.md, а не полагайтесь на историю диалога» (How Claude Code works)

То есть этапы есть: (1) отбрасываются старые выводы инструментов, (2) диалог суммируется автоматически, (3) вы нажимаете /compact.

1. Отбрасывание вывода инструментов

Диалог остаётся нетронутым, отваливаются только старые результаты инструментов. От вас ничего не требуется. Этот слой работает раньше, чем дело доходит до суммирования.

2. Автокомпактизация

Когда первого этапа мало, сам диалог заменяется сводкой. Это ровно та же обработка, что и ручной /compact; разница только в том, когда она запускается.

3. Ручной /compact

Его единственная настоящая работа — сдвинуть второй этап на удобный вам момент. Плюс к этому вы можете указать, что сохранить, — вторая разница со вторым этапом.

Здесь и лежит ядро ответа. Ручной /compact сдвигает вперёд то, что произошло бы и без вас. Это не рычаг, который экономит тем больше контекста, чем чаще за него дёргать. Нажимать имеет смысл только тогда, когда самостоятельный выбор момента чего-то стоит.

⚠️ Замечание о терминологии. Первый этап в нескольких публикациях называют «микрокомпактизацией» (micro-compaction), но по состоянию на 8 августа 2026 года официальная документация этого названия не использует. Документация даёт описание поведения: старые выводы инструментов отбрасываются первыми. Если вы ищете этот термин и не находите ничего официального, причина в этом.

3. Что уцелеет, а что исчезнет

Что произойдёт с вашими правилами при компактизации, целиком зависит от того, как они были загружены. Документация публикует список по механизмам, так что вот он в упорядоченном виде.

Механизм После компактизации Что это значит на практике
Системный промпт и стиль вывода Без изменений Они не являются частью истории диалога
CLAUDE.md в корне проекта и правила без области действия Заново подгружаются с диска Самое надёжное место. Здесь же ваши правки наконец вступают в силу (см. раздел 8)
Автоматическая память Заново подгружается с диска Она задумана как переживающая смену сессий, так что уцелеть при компактизации — минимум, на что она способна
Правила с ключом paths: Теряются (пока снова не будет прочитан подходящий файл) Чтобы сохранить их, уберите ключ paths: или перенесите правило в корневой CLAUDE.md
Вложенный CLAUDE.md в подкаталоге Теряется (пока снова не будет прочитан файл из того же каталога) То же самое, и это пропажа, которую легче всего не заметить
Тела вызванных вами навыков Подгружаются заново, но с лимитом 5000 токенов на навык и 25 000 суммарно, причём первыми отбрасываются самые старые
Хуки Неприменимо Они выполняются как код, а не как контекст

Из этой таблицы следуют три практических вывода.

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

Второй: у файла навыка важно начало. Обрезка при повторной загрузке сохраняет начало файла, поэтому важные указания в SKILL.md должны стоять сверху. Вдобавок в разделе документации про контекст сказано, что список навыков, загруженный в начале сессии, после /compact заново не подставляется: сохраняются только те навыки, которые вы действительно вызывали.

Третий: о потерях никто не объявляет. Именно поэтому и работает принцип: если потеря чего-то будет болезненной, держите это в файле, а не в диалоге.

4. Стоимость определяется не размером контекста

Предположение «чем больше контекст, тем дороже /compact» звучит естественно и верно ровно наполовину. На цену на самом деле влияет то, прогрет ли кэш промпта. Вот объяснение из документации.

«Чтобы получить сводку, Claude Code отправляет отдельный запрос с тем же системным промптом, теми же инструментами и той же историей плюс указание суммировать в конце. Пока кэш прогрет, этот запрос читает ваш префикс из кэша, поэтому он обходится существенно дешевле, чем можно предположить по размеру контекста, и большая часть времени уходит на генерацию самой сводки. [...] После перерыва, который длиннее времени жизни кэша, читать уже нечего, и запрос на суммирование заново обрабатывает всю историю как некэшированный ввод. Именно поэтому /compact обходится дороже всего, когда вы возобновляете старую сессию» (Prompt caching)

Этот единственный абзац — сильнейший аргумент против запуска компактизации по расписанию.

Нажали в разгар работы (кэш прогрет)

Префикс читается из кэша. Ощущается только время, ушедшее на написание сводки. Одна компактизация здесь стоит дёшево.

Нажали после перерыва (кэш остыл)

Прежде чем что-то суммировать, заново обрабатывается вся история. Самый дорогой момент для той же самой команды. «Наведу порядок первым делом с утра» может оказаться худшим из возможных ходов.

Ход сразу после нажатия

Кэш пересобирается из короткой сводки, так что эта часть не тяжёлая. Впечатление «после компактизации всё тормозит» обычно берётся из двух случаев выше, а не отсюда.

Время жизни кэша зависит от способа аутентификации. На подписке Claude автоматически запрашивается TTL в один час; через API-ключ или облачного провайдера по умолчанию будет пять минут (ENABLE_PROMPT_CACHING_1H=1 поднимает его до часа). А значит, сценарий «вернулся с обеда, сначала запущу /compact» на API-ключе почти гарантированно окажется холодным запуском.

О том, что /compact и сам по себе большой запрос, отдельно напоминает документация по расходам: «/compact читает диалог, который суммирует, поэтому компактизация большого контекста сама является большим запросом. Если вам нужен чистый лист, а не преемственность, /clear обходится бесплатно» (Manage costs effectively). Если смотреть на всё это через призму экономии токенов, найдётся немало моментов, где /clear выигрывает у /compact, нажатого по привычке.

5. /compact, /clear, /rewind и /recap — что когда выбирать

/compact — не единственный способ облегчить контекст. Спутайте команды, которые существуют ради разных целей, и вы будете платить за дорогую.

Команда История диалога Кэш Когда выбирать
/compact [указание] Заменяется сводкой Слой диалога инвалидируется Вы продолжаете работу, но детали истории вам больше не нужны
/clear [имя] Очищается Пересобирается (расходов на суммирование нет вовсе) Следующая работа не связана с прежней. Дайте ей имя, и /resume вернёт её обратно
/rewind Обрезается до более ранней точки Попадает в прежний кэш Вы хотите убрать всё направление целиком. Код можно откатить вместе с ним
/recap Не трогается (сводка только показывается) Сохраняется как есть Вам просто хочется прочитать, «где мы сейчас»
/context [all] Не трогается Сохраняется Измерьте, прежде чем что-то нажимать. Раскрашенная картина того, что занимает место

Про /recap стоит помнить. Многие жмут /compact из соображения «диалог затянулся, хочу его резюме», а для этой цели разрушать историю совершенно не нужно. По документации, /recap всего лишь дописывает сводку как вывод команды, поэтому закэшированный префикс остаётся нетронутым.

Природа /rewind важна ничуть не меньше. В документации объясняется, что откат возвращает вас к тому же содержимому, которое было закэшировано в той точке, поэтому следующий запрос попадает в прежний кэш. Когда вы ушли не в ту сторону, правильный ответ — /rewind, а не /compact: компактизация строит новый префикс, а откат просто возвращается к уже существующему. Контрольным точкам и откату посвящена отдельная статья.

6. Окно автокомпактизации можно сдвинуть самому

Прежде чем мучиться вопросом, нажимать ли вручную, стоит узнать, что точку срабатывания автоматического запуска можно передвинуть. Начиная с v2.1.221 команда /autocompact позволяет задать, насколько полным должен стать контекст, чтобы автокомпактизация включилась.

Установить окно в 500K токенов (сохраняется в пользовательские настройки, поэтому действует и в последующих сессиях)

/autocompact 500k

Вернуться к значению по умолчанию, подходящему модели

/autocompact auto

Допустимый диапазон — от 100K до 1M токенов. Можно написать обычное число вроде 200000, значение с суффиксом вроде 500k или 1M, либо голое число от 100 до 1000 вроде 200 (читается как тысячи). Настройка может прийти из четырёх мест, и приоритет у них фиксированный.

1. Переменная окружения (высший приоритет)

CLAUDE_CODE_AUTO_COMPACT_WINDOW. Пока она задана, она перебивает и команду, и флаг, и файл настроек

2. Флаг запуска

claude --autocompact 500k. Действует только на этот запуск и не меняет сохранённые настройки

3. Команда

/autocompact. Записывается в autoCompactWindow в ваших пользовательских настройках

4. Файл настроек

autoCompactWindow. Если выше стоит управляемая настройка вашей организации, побеждает она

⚠️ Формат отличается именно у переменной окружения. Документация прямо указывает, что CLAUDE_CODE_AUTO_COMPACT_WINDOW принимает только целое число без суффиксов, а значение вроде 500k читается как 500 и подтягивается до минимума в 100K. Напишите её так же, как пишете команду, и вы попросите тысячную долю от задуманного, после чего вас поднимут до минимума и станут компактизировать намного чаще.

Там же есть и второе предупреждение. Показатель used_percentage в строке состояния всегда считается от полного окна контекста модели, поэтому, стоит вам задать эту переменную, процент перестаёт говорить о том, когда сработает компактизация. Ровно здесь и рассыпается практика «смотрю на процент и нажимаю вручную».

Значение по умолчанию, когда окно не задано вовсе, тоже описано. Без всяких настроек компактизация происходит при достижении предела контекста модели, но с исключениями: облачные сессии компактизируются заранее, по мере приближения к пределу, Sonnet 4.6 и Opus 4.6 без расширенного контекста компактизируются на границе 200K, Opus 4.8 и Opus 5, работающие с контекстом 200K на Amazon Bedrock, Agent Platform в Google Cloud или Microsoft Foundry, ведут себя так же, а Sonnet 5 срабатывает на собственном пороге по умолчанию для этой модели.

Автокомпактизацию можно и полностью выключить — настройкой autoCompactEnabled (по умолчанию true, в /config отображается как «Auto-compact») или переменной окружения DISABLE_AUTO_COMPACT. Так делать не рекомендуется. Отключение ничего не уменьшает: контекст просто упирается в потолок, и вы меняете компактизацию на ошибку «Prompt is too long». Автокомпактизация — функция, которая вас защищает, а не мешает вам.

7. Три ситуации, в которых расписание работает против вас

С этими подробностями на руках становится ясно, где подход «просто жать регулярно» теряет деньги.

1. Нажатие посреди задачи

Детали, которыми вы ещё собирались пользоваться, схлопываются в сводку. Вдобавок отваливаются правила с paths: и вложенные CLAUDE.md, так что работа сразу после этого начинает тихо промахиваться мимо ваших правил. Это деградация того сорта, чью причину трудно разглядеть.

2. Нажатие первым делом после перерыва

Кэш истёк, поэтому вся история обрабатывается заново, прежде чем её начнут суммировать. Это самый дорогой момент для того же /compact, и благое намерение «наведу порядок перед началом» шагает прямо в него.

3. Нажатие в короткой сессии

Если суммировать нечего, вы просто получите Not enough messages to compact. Так же бывает, когда контекст заполнила одна гигантская вставка, — и там правильный ответ /clear, а не сводка.

Переверните это, и получится правило: самая ценная ручная компактизация — та, что сделана прямо перед началом длинного куска работы. Нажатие в этой точке снижает шансы, что автокомпактизация прервёт вас на полпути. Ценность в моменте, а не в количестве нажатий.

8. На практике — то, что вы делаете до нажатия, важнее

Реально меняет дело в работе с /compact не то, как вы её нажимаете, а то, что вы успели записать в файлы до этого. Как показывает таблица из раздела 3, CLAUDE.md в корне проекта и ваша автоматическая память заново подгружаются с диска. Всё, что записано там, переживёт любое число компактизаций.

Есть ещё одно свойство, которое обычно упускают. Правка CLAUDE.md во время сессии не вступает в силу тут же. Документация формулирует это так: «правки не инвалидируют кэш, но и не вступают в силу. Новое содержимое загружается при следующем /clear, /compact или перезапуске». С обратной стороны это означает, что /compact — заодно и операция, благодаря которой начинают действовать правила, придуманные посреди сессии.

Чек-лист перед нажатием

  • Записали ли вы правила и решения этой сессии в файл? (Всё, что существует только в диалоге, размывается сводкой)
  • Сказали ли вы, что сохранить? Фокус можно передать прямо в команде: /compact сохрани план правки авторизации и результаты тестов
  • Следующая работа — действительно продолжение? Если она не связана с прежней, /clear обойдётся дешевле
  • Прогрет ли кэш прямо сейчас? (Избегайте момента сразу после долгого перерыва)
  • Если сомневаетесь, запустите /context и измерьте, что на самом деле занимает место

А вот пункт, который чаще всего упускают те, кто раздумывает о ручной компактизации. Привычка «жму сам, на опережение, потому что боюсь, что меня скомпактизируют за спиной и нить потеряется» встречается достаточно часто. Но документация пишет следующее сразу после объяснения автокомпактизации: чтобы контролировать, что сохраняется при компактизации, добавьте в CLAUDE.md раздел «Compact Instructions» либо запускайте /compact с фокусом (How Claude Code works).

Иначе говоря, указание фокуса — не привилегия ручного нажатия. Положите его в CLAUDE.md, и оно подействует в том числе на компактизацию, которая запустится, пока вас нет за столом. Если смысл вашей упреждающей ручной практики в том, чтобы решать, как именно урезают контекст, то вот версия, которая действительно работает: ручная практика помогает только тогда, когда вы смотрите на экран.

Написать это нетрудно. Собственный пример документации выглядит так.

Указания по компактизации по умолчанию, размещённые в CLAUDE.md (пример из официальной документации)

# Compact instructions

When you are using compact, please focus on test output and code changes

Для полноты картины — вот как это устроено на нашем сайте. В CLAUDE.md репозитория этого блога уже давно живут два правила: «когда контекст становится длинным, предложи пользователю /compact» и «перед запуском /compact сохрани в память всё, что должно стать правилом, — обратную связь, принятые решения». Сама эта статья написана в сессии, которая прошла через компактизацию. В повседневной работе окупается не первое правило, а второе. Заранее вынести в файлы то, что стоит сохранить, работает куда надёжнее, чем стараться правильно вылепить сводку.

Стоит добавить ещё одно: /compact — не единственный способ уменьшить контекст. Официальные рекомендации по расходам советуют выносить работу с тяжёлым выводом (прогон тестов, выкачивание документации, обработку логов) в subagent. У subagent своё окно контекста, и возвращает он только сводку, так что основной контекст изначально не раздувается. Устроить всё так, чтобы компактизация не понадобилась, лучше, чем компактизировать грамотно.

9. Два сообщения, на которые вы можете наткнуться

Два сообщения, которые встречаются на практике, объясняют себя далеко не полностью.

Сообщение Что оно значит Что делать
Not enough messages to compact. Нет диалога, который стоило бы суммировать. Так же бывает, когда контекст заполнила одна гигантская вставка Начать заново через /clear
Autocompact is thrashing: the context refilled to the limit... Компактизация прошла успешно, но огромный файл или вывод инструмента тут же заполнял контекст заново, и так несколько раз подряд. Процесс остановлен, чтобы не уйти в бесконечный цикл Четыре шага справа (в рекомендованном документацией порядке)

Восстановление для второго случая расписано в документации по шагам. (1) Читайте огромные файлы по частям — диапазонами строк или по функциям. (2) Компактизируйте с указанием, называющим тот вывод, который надо выбросить (например, /compact keep only the plan and the diff). (3) Перенесите эту работу в subagent, чтобы она шла в отдельном окне контекста. (4) Если прежний диалог больше не нужен — /clear. Показательно, что первым идёт шаг номер один: документация фактически говорит, что это не проблема компактизации, а проблема того, как вы читаете.

Итоги

Запускать /compact вручную по расписанию не нужно. Автокомпактизация сработает независимо от вас, и это та же самая обработка. Собственное нажатие покупает ровно две вещи — выбор момента и указание того, что сохранить, — и обе окупаются в одном-единственном месте: между задачами.

По расходам расписание тоже проигрывает. Цена компактизации задаётся тем, прогрет ли кэш, поэтому послеперерывное «наведу порядок перед началом» — самая дорогая её версия. Если достаточно чистого листа, /clear бесплатен; если вы меняете направление, /rewind дешевле, потому что возвращается к уже существующему кэшу; а если вы просто хотите прочитать сводку, /recap не трогает историю. Выбрать из четырёх правильную выгоднее, чем чаще жать одну и ту же.

Самый практичный вывод, впрочем, лежит вне вопроса о том, как нажимать. Всё, потерю чего вы не можете себе позволить, должно жить в файле, а не в диалоге. CLAUDE.md в корне проекта и автоматическая память заново подгружаются с диска, а правила с paths: и вложенные CLAUDE.md отваливаются молча. Знание об этой асимметрии и отличает долгую сессию, которая держится, от той, которая тихо деградирует.

FAQ

Q1. Так через сколько минут надо нажимать /compact?

Решать это по времени вообще не следует. Единственный рекомендованный момент — сразу после того, как закончена одна задача, и перед началом следующей длинной. Документация говорит «на естественной границе в работе, например между задачами» и не даёт ни временного порога, ни процентного.

Q2. Нормально ли полностью положиться на автокомпактизацию?

Автоматическая и ручная — это одна и та же обработка; различается только момент. Подвох в том, что автоматическая может прервать вас посреди задачи. Одно ручное нажатие перед длинным отрезком работы снижает шансы такого вмешательства. И автоматической тоже можно давать указания: напишите их в CLAUDE.md под заголовком # Compact instructions, и они подействуют на компактизацию, которая запустится, пока вас нет за столом (см. раздел 8).

Q2-2. После того как всё скомпактизировалось само, мои указания будто перестали срабатывать

Вам не кажется. Документация прямо пишет, что «подробные указания из начала диалога могут быть потеряны». Вдобавок правила с paths: и вложенные CLAUDE.md отваливаются, пока подходящий файл не будет прочитан снова, а вызванные навыки отбрасываются начиная с самых старых, как только их суммарный объём превышает 25 000 токенов. Дело не столько в исчезновении содержимого, сколько в том, что набор соблюдаемых правил тихо редеет, поэтому работа продолжается, а падает только точность. Три меры противодействия: (1) перенесите правила, которые должны жить постоянно, в корневой CLAUDE.md, откуда они подгружаются заново; (2) назовите то, что надо сохранить, через # Compact instructions; (3) с помощью /autocompact заставьте её срабатывать раньше, чтобы компактизация не происходила у самого потолка.

Q3. Что использовать — /compact или /clear?

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

Q4. Стирает ли компактизация правила из CLAUDE.md?

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

Q5. Можно ли отключить автокомпактизацию?

Можно (настройка autoCompactEnabled в false, пункт «Auto-compact» в /config или переменная окружения DISABLE_AUTO_COMPACT). Но это не рекомендуется. Отключение не уменьшает контекст: вы просто упрётесь в потолок и получите ошибку. Если вы хотите, чтобы она срабатывала раньше, правильный ход — не выключать её, а сузить окно через /autocompact.

Q6. Сколько токенов расходует /compact?

Это очень сильно зависит от того, прогрет ли кэш. Нажмите её в разгар работы — и префикс прочитается из кэша, обойдясь, по формулировке документации, существенно дешевле, чем можно предположить по размеру контекста. Нажмите её после перерыва, который длиннее времени жизни кэша, и вся история будет обработана заново без кэша, из-за чего та же команда станет максимально дорогой. Время жизни кэша — час на подписке и пять минут по умолчанию через API-ключ или облачного провайдера.

Q7. Можно ли указать, что именно сохранить?

Да. Напишите указание после /compact, и сводка будет сделана с этим фокусом (например, /compact сохрани план правки авторизации и результаты тестов). Если каждый раз подходит одно и то же указание, создайте в CLAUDE.md заголовок # Compact instructions — и оно будет действовать по умолчанию.

Q8. Почему сразу после компактизации ответы кажутся медленными?

Ход сразу после компактизации не тяжёлый. По документации, на этом ходу кэш пересобирается из короткой сводки, так что медленная часть не здесь. Обычно вы ощущаете сам прогон компактизации, пока генерируется сводка, либо случай, когда вы нажали её при уже остывшем кэше.

Q9. Существует ли функция под названием «микрокомпактизация»?

Поведение существует: документация объясняет, что сначала отбрасываются старые выводы инструментов и лишь при необходимости суммируется диалог, — а это прямое утверждение, что до суммирования что-то происходит. Но по состоянию на 8 августа 2026 года официальная документация названия «микрокомпактизация» не использует. Термин пришёл из сторонних публикаций, а не от Anthropic, и относиться к нему стоит соответственно.

Связанные статьи