Сегодня мы представляем важное обновление команды /usage, которое поможет вам лучше отслеживать использование Claude Code. Это решение стало результатом многочисленных глубоких обсуждений с пользователями.
В ходе этих обсуждений мы неоднократно слышали о разнообразных привычках управления сессиями. Особенно после того, как Claude Code увеличил размер контекстного окна (Context Window) до 1 миллиона токенов, эти различия стали еще заметнее.
Вы предпочитаете держать открытыми всего одну-две сессии в терминале? Или создаете новую сессию для каждого промпта? Когда вы обычно используете сжатие (Compact), откат (Rewind) или подагентов (Subagents)? И что приводит к неудачному сжатию?
Здесь кроется настоящая наука. Эти, казалось бы, незначительные детали сильно влияют на ваш опыт использования Claude Code. И все это сводится к одному: как управлять вашим контекстным окном.
Быстрый ликбез: контекст, сжатие контекста и деградация контекста

«Контекстное окно (Context Window)» — это вся информация, которую модель «видит» перед генерацией следующего ответа. Оно включает ваш системный промпт (System Prompt), историю чата до текущего момента, каждый вызов инструмента (Tool Call) и его результат, и даже каждый прочитанный файл. Теперь Claude Code обладает огромным контекстным окном объемом до 1 миллиона токенов (Token)(Примечание: Токен — это основная единица обработки текста в больших моделях, обычно одно английское слово — это ~1 токен, один иероглиф может занимать 1-2 токена).
К сожалению, использование контекста имеет свою цену, обычно мы называем это деградацией контекста (Context Rot)(Примечание: Явление, при котором по мере увеличения истории диалога модели приходится обрабатывать слишком большой объем информации, что приводит к рассеиванию внимания, забыванию важной ранней информации или помехам от нерелевантного контента). По мере роста контекста производительность модели часто ухудшается, потому что ее внимание распределяется на большее количество токенов. Ранний, уже неактуальный контент начинает мешать текущей задаче модели.
Контекстное окно имеет жесткий лимит емкости. Поэтому, когда вы接近 его заполнения, вы должны обобщить свою текущую задачу в краткое описание и продолжить работу в новом контекстном окне с этим описанием.
Мы называем этот процесс сжатием контекста (Compaction)(Примечание: Процесс переформулирования сверхдлинной истории в сжатое изложение для освобождения места в памяти). Вы также можете в любой момент запустить этот процесс вручную.

Представьте, вы только что попросили Claude выполнить задачу, и он ее завершил. Теперь в вашем контексте есть некоторая информация (например, вызовы инструментов, их вывод, ваши инструкции).
Что делать дальше? Вы можете удивлены, сколько у вас есть вариантов:
· Продолжить (Continue) — отправить следующее сообщение в той же сессии.
· Откат (/rewind или двойное нажатие Esc) — вернуться назад к предыдущему сообщению и попробовать снова оттуда.
· Очистить (/clear) — начать совершенно новую сессию, обычно с кратким резюме, которое вы сделали из предыдущего диалога.
· Сжать (Compact) — обобщить текущий диалог и продолжить работу на основе этого резюме.
· Подагенты (Subagents) — делегировать следующий этап работы другому ИИ-агенту (AI Agent) с чистым контекстом и получить обратно только его финальный результат.
Хотя «Продолжить» — это наиболее естественная реакция, остальные четыре варианта созданы именно для того, чтобы помочь вам лучше управлять вашим контекстом.

Когда стоит начать новую сессию?
Когда же стоит поддерживать длинную старую сессию, а когда начать с чистого листа? Наше эмпирическое правило: когда вы начинаете новую задачу, вы должны начать и новую сессию.
Контекстное окно в 1 миллион токенов означает, что теперь вы можете надежно выполнять более длинные и сложные задачи. Например, попросить Claude с нуля построить для вас полноценное приложение.
Но иногда вы можете выполнять взаимосвязанные задачи. В этом случае вам нужно сохранить часть предыдущего контекста, но не весь. Например, вы только что написали новую функцию и теперь хотите создать для нее документацию. Вы, конечно, можете начать новую сессию, но это значит, что Claude придется заново читать все файлы кода, которые вы только что написали — это медленнее и дороже.
Используйте «Откат» вместо «Исправления»

Если бы мне пришлось выбрать одну привычку, которая олицетворяет «отличное управление контекстом», это было бы привычка хорошо использовать «Откат (Rewind)».
В Claude Code двойное нажатие Esc (или команда /rewind) позволяет вам вернуться к любому предыдущему сообщению и отправить промпт заново с этой точки. Весь диалог, произошедший после этого узла, будет полностью удален из контекста.
При исправлении ошибок ИИ «Откат» часто является более разумным подходом. Пример: Claude прочитал пять файлов, попробовал один метод, и он не сработал. Ваша instinctive реакция может быть написать в чат: «Это не сработало, попробуй метод X.» Но более умный подход — откатиться к моменту, когда он только что прочитал эти пять файлов, и сказать ему с учетом нового опыта: «Не используй метод А, модуль foo его не поддерживает — сразу пробуй метод Б.»
Вы даже можете использовать функцию «обобщить отсюда (summarize from here)», чтобы Claude сам обобщил полученный урок в «сообщение для передачи». Это похоже на то, как «будущая» версия Claude, которая только что наступила на грабли, оставляет записку «прошлому» себе, который еще не начал действовать.

Сжатие контекста vs Новая сессия
Когда сессия становится слишком длинной, у вас есть два способа «разгрузить» ее: использовать /compact (сжать) или /clear (очистить и начать заново). Эти операции звучат похоже, но ведут себя по-разному.
Сжатие (Compact) — это когда модель обобщает диалог до текущего момента и заменяет длинную историю этим резюме. Этот процесс «потерьный», meaning вы передаете Claude право решать, «какая информация важна».
Плюс в том, что вам не нужно ничего писать, и Claude может быть внимательнее вас в сохранении важных уроков или записей файлов. Вы также можете управлять направлением сжатия, дав ему инструкции (например: /compact сосредоточься на рефакторинге модуля аутентификации, выбрось все о тестировании и отладке).

Использование /clear требует от вас самим написать ключевые моменты (например: «Мы рефакторим middleware аутентификации, текущие ограничения — X, важные файлы — A и B, и мы уже исключили метод Y»), а затем начать заново в абсолютно чистом состоянии. Хотя это требует усилий, но resulting новый контекст на 100% состоит из того, что вы считаете真正 релевантным и важным.
Какое «Сжатие» проваливается?

Если вы часто ведете очень длинные сессии, вы, вероятно, сталкивались с ситуациями, когда «сжатие» оказывалось крайне неудачным. Мы заметили, что такие «провалы» обычно происходят в特定ный момент: когда большая языковая модель (LLM) не может предсказать направление вашей следующей работы.
Например, после долгой отладки кода система запускает автоматическое сжатие и обобщает процесс поиска проблемы. А затем вы пишете: «Теперь почини то другое предупреждение, которое мы видели ранее в bar.ts.»
Но так как фокус предыдущей сессии был полностью на отладке первого бага, это неисправленное предупреждение, скорее всего, было сочтено нерелевантной информацией и просто отброшено при обобщении.
Это довольно сложная проблема. Потому что в момент сжатия, ограниченная деградацией контекста, модель часто находится в состоянии, когда ее «интеллект» не на пике. К счастью, с контекстом в 1 миллион токенов, у вас теперь больше пространства, чтобы proactively выполнить /compact, заранее указав описание «что я хочу сделать дальше».
Подагенты и новое контекстное окно

Подагенты — также отличный способ управления контекстом. Это особенно полезно, когда вы заранее знаете, что определенная работа приведет к большому количеству «промежуточных результатов», которые можно «уничтожить после прочтения» (больше никогда не понадобятся).
Когда Claude через инструмент агента (Agent tool) порождает подагента,这个小家伙 получает совершенно новое контекстное окно. Он может делать там что угодно, выполнять сколько угодно работы. По завершении, он обобщит результат и вернет «родительскому» Claude только финальный отчет.
Наш «вопрос на засыпку» для решения, использовать ли подагента: нужно ли мне потом смотреть подробные выводы работы этих инструментов, или мне нужен только конечный вывод?
Хотя Claude Code будет автоматически вызывать подагентов в фоновом режиме, иногда вы можете очень явно им управлять. Например, вы можете сказать:
· «Отправь подагента проверить по этому файлу спецификации, правильно ли мы сделали предыдущую работу»
· «Отправь подагента прочитать другой кодобаз и обобщить, как там реализован процесс аутентификации, а затем сам по образцу реализуй его здесь»
· «Отправь подагента написать документацию для этой новой функции на основе моих Git-изменений»
В итоге, когда Claude завершил ответ, и вы готовы отправить новое сообщение, вы стоите на перепутье решений.
Мы надеемся, что в будущем Claude будет достаточно умен, чтобы самому управлять всем этим за вас. Но на данный момент,熟练ое владение этими решениями — это ваш путь к тому,лению Claude выдавать высококачественные результаты.






