То, как вы управляете сессиями, контекстом и компактизацией в Claude Code, сильно влияет на качество работы — больше, чем может показаться на первый взгляд.
Контекст, компактизация и context rot
Контекстное окно — это всё, что модель видит при генерации ответа: системный промпт, история диалога, вызовы инструментов, результаты и прочитанные файлы. В Claude Code оно составляет один миллион токенов.
По мере заполнения контекста качество ответов снижается. Это явление называют context rot: внимание модели распределяется на слишком большой объём данных, и старый, нерелевантный контент начинает мешать.
Когда контекстное окно почти заполнено, система автоматически сворачивает историю в краткое описание — этот процесс называется компактизацией (compaction). Его можно запустить и вручную.
Каждый шаг как точка ветвления
После выполнения задачи у вас есть несколько вариантов действий:
- Продолжить — отправить новое сообщение в той же сессии
- /rewind (Esc Esc) — вернуться к любому предыдущему сообщению и начать оттуда
- /clear — начать новую сессию, сохранив ключевые выводы
- Compact — сжать историю в резюме и продолжить на его основе
- Subagents — делегировать задачу агенту с чистым контекстом, получив только результат
Продолжение — самый простой путь. Остальные нужны для эффективного управления контекстом.
Когда начинать новую сессию
Общее правило: новая задача — новая сессия.
Большое контекстное окно позволяет выполнять длинные задачи — например, создание full-stack приложения с нуля. Но context rot при этом не исчезает.
Иногда задачи связаны, и часть контекста остаётся полезной. Например, написание документации к недавно реализованной фиче. Начинать новую сессию — значит, заставлять Claude заново читать файлы. Это медленнее и дороже.
Rewind вместо коррекции
Команда /rewind (или двойное нажатие Esc) позволяет вернуться к любому предыдущему сообщению. Все последующие шаги удаляются из контекста.
Это часто лучше, чем исправлять ошибку в продолжении. Например: Claude прочитал файлы, попробовал подход — и он не сработал. Вместо «это не работает, попробуй X» лучше вернуться к моменту после чтения и сказать: «Не используй подход A — модуль foo его не поддерживает. Переходи сразу к B».
Можно также попросить Claude «подвести итоги с этого места». /rewind создаст сообщение-резюме, отражающее опыт предыдущей попытки.
Compact против чистой сессии
Когда сессия становится слишком длинной, избавиться от лишнего контекста можно двумя способами: /compact или /clear.
Compact просит модель самой решить, что важно, и сжать историю в резюме. Это требует меньше усилий, но часть данных может потеряться. Можно направить процесс: /compact focus on the auth refactor, drop the test debugging.
/clear означает, что вы сами определяете, что сохранить: «рефакторим middleware авторизации, ограничение вот такое, важные файлы A и B, вариант Y отброшен». Затем начинаете с чистого листа. Больше работы, но полный контроль над контекстом.
Что приводит к плохой автокомпактизации?
Автокомпактизация может оказаться неудачной, особенно если модель не может предсказать, куда пойдёт работа дальше.
Например: после долгой отладки сессия сворачивается, и вы просите: «теперь исправь то предупреждение, которое мы видели в bar.ts». Но если оно не попало в резюме, Claude не узнает о нём.
Дополнительная сложность: в момент компактизации context rot уже сильный, и модель работает хуже. У вас есть время, чтобы запустить /compact вручную и чётко указать, чем займётесь дальше.
Subagents и чистые контекстные окна
Subagents полезны, когда блок работы породит много промежуточного вывода, который потом не понадобится.
Subagent получает собственное чистое контекстное окно. Он выполняет задачу и возвращает только итог — без шума.
Критерий из Anthropic: понадобится ли мне вывод инструментов в будущем, или только результат задачи?
Claude Code может запускать subagents автоматически, но лучше указывать это явно. Например:
- «Запусти subagent, чтобы проверить результат по следующей спецификации»
- «Запусти subagent, чтобы он изучил кодовую базу и объяснил, как реализован auth flow, — потом реализуй то же у нас»
- «Запусти subagent, чтобы написал документацию по фиче на основе моих git-изменений»
Итоговая таблица
Что использовать:
Та же задача, контекст ещё актуален
Продолжить
Всё, что в окне нужно — незачем пересоздавать.
Claude пошёл не туда
Rewind (Esc Esc)
Сохраняем полезные действия, убираем неудачную попытку, переформулируем запрос.
Сессия захламлена отладкой или исследованием
/compact <hint>
Минимум усилий; модель решает, что важно. Можно направить.
Начинается действительно новая задача
/clear
Нулевой context rot; вы сами контролируете, что переходит.
Следующий шаг породит много промежуточного вывода
Subagents
Шум остаётся в контексте дочернего агента; назад — только результат.