Когда, зачем и как правильно начинать новую сессию в Claude Code

Когда, зачем и как правильно начинать новую сессию в Claude Code

То, как вы управляете сессиями, контекстом и компактизацией в 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
Шум остаётся в контексте дочернего агента; назад — только результат.

Читать оригинал