✻ Claude Code по-русски
🎧 Аудиокурс

#Как удержать сессию в рамках

Начальный уровень · Урок 4 из 5 · около 20 минут · Нужно: Первое изменение: от запроса до коммита · Сверено с Claude Code v2.1.285 (stable) 05.10.2026

#Цель

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

#Что понадобится

#Идея

Всё, что есть в разговоре, — ваши промпты, ответы Claude и каждый прочитанный им файл — лежит в окне контекста сессии. Окно большое, но не бесконечное, и длинный разговор, который блуждает по разным темам, оставляет Claude меньше места для работы, важной сейчас (Explore the context window). Держать его под контролем помогают пять команд (Commands):

Команда Что делает
/context Показывает заполненность окна контекста в виде цветной сетки
/compact Сводит разговор до сих пор в краткое изложение, освобождая место
/clear Начинает новый разговор с пустым контекстом
/rewind Возвращается к одному из прежних промптов, восстанавливая код, разговор или и то и другое
/resume Продолжает один из прежних разговоров

Сжимайте, когда хотите продолжить ту же задачу; очищайте, когда начинаете другую. Откатывайте, когда изменение пошло не туда (Checkpointing).

#Разбор примера

  1. Запустите claude в своей копии для практики и наберите /context. Сетка показывает, какая часть окна занята, с разбивкой по категориям, включая ваши сообщения и загруженные файлы памяти вроде CLAUDE.md (Explore the context window). В вашей копии для практики ещё нет CLAUDE.md, так что файлов памяти может и не быть; урок 5 добавит один.
  2. Немного заполните его:
Explain how src/check-links.js decides that a link is broken.

Снова выполните /context: доля сообщений выросла. 3. Сожмите, сказав Claude, что сохранить:

/compact keep what we learned about check-links.js

Разговор заменяется кратким изложением: в /context доля сообщений уменьшается, а свободного места становится больше. После одного короткого вопроса излагать почти нечего, так что изменение небольшое; сжатие окупается, когда разговор становится длинным. 4. Сделайте изменение, которое потом откатите. Rewind не может отменить изменения, которые Claude вносит, запуская команды (см. Осторожно), поэтому промпт просит его инструмент редактирования файлов. Одобрите правку, если Claude спросит:

In src/cli.js, change the success message to "All relative links are fine." Use your file editing tool, not a shell command.

Во втором терминале в той же папке сохраните то, что видит git:

git status --porcelain > .practice/b-4-before-rewind.txt

В файле будет src/cli.js. 5. Откатите. Наберите /rewind или дважды нажмите Esc при пустом промпте. Выберите промпт из шага 4 и вариант Restore code and conversation. Если меню предлагает только Restore conversation, варианты сводки и Never mind, значит, Claude изменил файл командой, а её rewind отменить не может: выберите Never mind, нажмите Esc, чтобы закрыть меню (Interactive mode), выполните git restore src/cli.js во втором терминале и повторите шаг 4.

Когда код восстановлен, сохраните во втором терминале то, что видит git:

git status --porcelain > .practice/b-4-after-rewind.txt

Этот файл пуст: правки больше нет. 6. Откат вернул ваш промпт из шага 4 в поле ввода, так что всё, что вы сейчас наберёте, допишется к нему. Дважды быстро нажмите Esc, чтобы очистить его: после первого нажатия внизу появится подсказка Esc again to clear. Затем наберите /clear. Разговор начнётся заново с пустым контекстом, а старый останется доступен. 7. Наберите /exit, затем снова откройте последний разговор в этой папке (Manage sessions):

claude --continue

Если откроется пустой разговор из шага 6, выполните /resume и выберите предыдущий. Внутри сессии /resume без аргумента открывает выбор прежних разговоров. В выбранном разговоре может всё ещё отображаться откатанная правка, потому что он был сохранён до отката. Ваши файлы остаются в том виде, в каком их оставил откат (git status --porcelain ничего не выводит), поэтому не просите Claude повторить правку.

#Ваша очередь

Повторите пример в своей копии для практики или в своём репозитории:

  1. Выполните /context, задайте один вопрос о коде и снова выполните /context.
  2. Выполните /compact с предложением о том, что сохранить.
  3. Попросите небольшую правку одного файла, закончив промпт фразой «Use your file editing tool, not a shell command.», и одобрите её, если Claude спросит. Сохраните git status --porcelain > .practice/b-4-before-rewind.txt.
  4. Откатите этот промпт вариантом Restore code and conversation и сохраните git status --porcelain > .practice/b-4-after-rewind.txt.
  5. Дважды нажмите Esc, чтобы очистить восстановленный промпт, затем выполните /clear, потом /exit и claude --continue.

#Проверка

Урок пройден, когда выполнено всё это:

Запустите npm run check -- b-4 в своей копии для практики. Если работаете в своём репозитории, запустите вместо этого npm run check -- b-4 --dir <your repo> из копии для практики.

Если первый файл пуст, вы сохранили его до правки; сделайте правку снова, сохраните файл после неё и откатите снова. Если во втором файле всё ещё есть изменённый Claude файл, откатите этот промпт вариантом, который восстанавливает код, и снова сохраните второй файл. Если меню больше не показывает этот промпт (после Restore conversation) или не предлагает варианта, восстанавливающего код (Claude использовал команду), выполните git restore <file> и повторите шаги 3 и 4 задания. Файлы, которые вы изменили до урока, тоже останутся в списке, потому что rewind не может их откатить: закоммитьте их или уберите в сторону через git stash push --include-untracked, затем снова сохраните второй файл.

#Осторожно

#Что дальше


Источники: Commands · Explore the context window · Checkpointing · Interactive mode · Manage sessions

← Первое изменение: от запроса до коммита · Оглавление Начального уровня · Память проекта в CLAUDE.md → · Тема: Память и контекст · Застряли на уроке?