📄 Claude Code: Управление сессиями и контекстом 1M
Краткий обзор
Материал объясняет, почему окно в 1M токенов не отменяет дисциплину, а делает ее критически важной. Главная мысль: производительность Claude Code падает не из-за “малого контекста”, а из-за его загрязнения, поэтому ключевой навык - управлять ветками сессии через
rewind,clear,compactиsubagents.
🔗 Оригинал: Using Claude Code: Session Management & 1M Context
🏛️ Ключевые идеи
- Деградация контекста (Context Rot): чем длиннее сессия, тем выше риск, что старые и нерелевантные фрагменты начинают отвлекать модель.
- Каждый ход - это развилка: после ответа агента нужно осознанно выбирать
continue,rewind,clear,compactилиsubagents. Rewindлучше “словесных правок”: откат убирает неудачную ветку из контекста, а не наслаивает исправления поверх ошибки.Compactи новая сессия не равны:compactсохраняет линию работы, но с потерями;clearтребует ручного брифа, зато дает максимально чистый контекст.- Субагенты - инструмент гигиены: шумная работа уходит в отдельное окно контекста, в родительскую сессию возвращается только вывод.
💡 Где использовать (Use Cases)
- Длинные инженерные сессии: рефакторинг, миграции, большой дебаг, где критично не потерять главную цель.
- Переход между связанными задачами: например, после реализации фичи перейти к документации без полного пересборa контекста.
- Работа с большим шумом: чтение длинных логов, внешних кодовых баз и артефактов через
subagents. - Стабилизация качества ответов: когда агент начинает “плыть”, выбирать
rewindили раннийcompactвместо продолжения по инерции.
🧩 Структура оригинала (обязательно сохранить)
- A Quick Primer on Context, Compaction & Context Rot
- Every Turn Is a Branching Point
- When to Start a New Session
- Rewinding Instead of Correcting
- Compacting vs. Fresh Sessions
- What Causes a Bad Compact?
- Subagents & Fresh Context Windows
- Summary
Ниже сохранена логика и порядок аргументов оригинального текста, с адаптацией формулировок под русский язык.
🧠 Основная часть (контекстно близко к оригиналу)
A Quick Primer on Context, Compaction & Context Rot
Автор начинает с базы: окно контекста (Context Window) - это весь объем информации, который модель “видит” в момент генерации следующего ответа. Сюда входят системный промпт, история диалога, все tool calls с их выводом и прочитанные файлы. В Claude Code это до 1M токенов.
Но большой объем имеет цену. Деградация контекста (Context Rot) проявляется так: по мере роста окна внимание размазывается между большим числом токенов, а старые нерелевантные фрагменты начинают мешать текущей задаче. В статье упоминается практический ориентир: заметное ухудшение часто появляется в районе ~300-400k токенов, хотя это сильно зависит от типа задачи.
Когда контекст подходит к лимиту, нужна компактизация (Compaction): сжать текущую работу в краткий бриф и продолжить в новом окне. Это можно делать вручную, не дожидаясь автопорогов.
Every Turn Is a Branching Point
После каждого ответа Claude у вас уже накоплен контекст (инструкции, вызовы инструментов, промежуточные результаты), и дальше есть пять разных режимов продолжения:
Continue- продолжить в той же сессии./rewind(двойнойEsc) - откатиться к предыдущему сообщению и пойти по другой ветке./clear- стартовать новую сессию с чистого листа.Compact- сжать историю и продолжить поверх резюме.Subagents- делегировать кусок работы агенту с отдельным чистым контекстом.
Ключевой тезис: естественно просто “продолжать”, но качественная работа строится на осознанном выборе остальных четырех режимов.
When to Start a New Session
Окно в 1M токенов действительно позволяет дольше держать сложные задачи (например, разработку full-stack фичи с нуля). Но это не означает, что новую сессию нужно запускать только после исчерпания лимита.
Практическое правило автора: новая задача = новая сессия.
Серая зона - связанные задачи, где часть контекста полезна, а часть уже лишняя. Пример из статьи: после реализации функции перейти к написанию документации. Формально можно начать новую сессию, но тогда Claude заново перечитает файлы, что медленнее и дороже. Для менее “интеллектуально чувствительных” задач иногда выгоднее остаться в текущем контексте ради эффективности.
Rewinding Instead of Correcting
Самая показательная привычка зрелого управления контекстом - rewind.
Если агент попробовал путь A и зашел в тупик, интуитивно хочется написать: “не сработало, попробуй B”. Но лучше откатиться к точке, где у модели уже есть нужные наблюдения (например, после чтения файлов), и перезапустить ход с уточненной инструкцией. Так вы убираете из окна весь неудачный хвост рассуждений и действий.
Автор также отмечает полезный прием summarize from here: попросить модель собрать аккуратный handoff по полученным выводам и передать следующей итерации, как сообщение “из будущего”.
Compacting vs. Fresh Sessions
Когда сессия стала тяжелой, у вас два механизма “сброса веса”:
/compact- модель сама суммирует разговор и заменяет историю этим резюме;/clear- вы вручную формулируете, что важно, и стартуете чистую сессию.
Разница принципиальная. Compact экономит время, но это сжатие с потерями: вы доверяете модели решение, какие детали оставить. Clear требует больше усилий, зато итоговый контекст точно отражает вашу приоритизацию. Для compact можно задавать фокус, например: оставить рефакторинг auth и выкинуть отладку тестов.
What Causes a Bad Compact?
Плохая компактизация обычно случается, когда модели трудно предсказать ваше следующее направление работы.
Типичный сценарий: автокомпакт срабатывает после длинной отладки и делает резюме именно этой ветки, а затем вы резко переключаетесь на другой warning в bar.ts. Этот warning мог не попасть в сжатую версию - и модель “теряет” важный контекст.
Проблема усиливается тем, что compaction часто происходит в момент, когда контекст уже разросся и интеллект модели работает не в пиковой зоне. Поэтому при 1M окне выгоднее запускать compact проактивно и явно указывать, что именно сохранить.
Subagents & Fresh Context Windows
Субагенты (Subagents) - это не просто делегирование, а стратегия управления контекстом. Если заранее понятно, что задача породит много промежуточного шума, лучше вынести ее в отдельного агента.
Когда Claude создает subagent через Agent tool, тот получает собственное чистое окно контекста, выполняет работу и возвращает в родительскую сессию только синтезированный отчет. Это защищает основную ветку от перегрузки логами и вторичными шагами.
Ментальный тест из статьи: “мне позже понадобится весь вывод инструмента или только итоговый вывод?” Если только итог - это кандидат на subagent.
Примеры задач для субагентов:
- верификация результата по spec-файлу;
- чтение чужого кодбейса и выжимка по реализации auth-flow;
- подготовка документации на базе текущих git-изменений.
Summary
В финале автор сводит всё к простой управленческой рамке: каждый новый ваш запрос после ответа Claude - это точка принятия решения о форме контекста. Пока система не автоматизировала это полностью, качество результата напрямую зависит от того, насколько осознанно вы управляете сессией.
🛠️ Технические детали и реализация
Практический набор команд и решений из статьи:
/rewind(илиEscx2): удалить неудачную ветку и перезапустить задачу от чистой точки./clear: старт новой несвязанной задачи или ручной перезапуск с curated-брифом./compact: сжать длинную историю, желательно с указанием фокуса (что оставить, что выкинуть).summarize from here: сформировать handoff между итерациями работы.subagents: изолировать шумные подзадачи и вернуть только финальный отчет в основную сессию.
Мини-чеклист перед каждым следующим сообщением:
- Это продолжение той же задачи или уже новая работа?
- Нужна точность (лучше
rewind/clear) или скорость (возможенcompact)? - Нужен ли мне весь промежуточный вывод, или достаточно заключения (кандидат на
subagent)?
🔗 Связи
- Быстрый старт Claude Code - базовая эксплуатация и команды.
- _Claude Code Index - центральная навигация по практикам Claude Code.
- Инструкция по эксплуатации - общий рабочий процесс по базе.
- 005. 2026-04-21 - The Anatomy of an Agent Harness - как инженерно изолировать агентные контуры.
Теги: claudecode contextmanagement llmengineering anthropic sessiondesign