Claude Code: работа с coding-агентом3. Знакомство с Claude Code
Lab: первая правка и откат
Засчитывается, когда отвечены все вопросы квиза
Что получится
Вы пройдёте полный цикл одной правки в Cadence руками агента: промпт со ссылкой на файл → diff в редакторе → проверка командой → откат → возвращение в session. В конце рабочее дерево Cadence чистое, как до начала, а разговор с агентом сохранён, и вы открываете его снова командой claude --continue.
Подготовка
- Стенд из первого раздела: установленный Claude Code с рабочей подпиской или API-ключом.
- Склонированный репозиторий Cadence (
ai-hero-dev/ai-coding-crash-course) с установленными зависимостями. - VS Code или Cursor с расширением Claude Code (см. 3.3).
- Чистое рабочее дерево:
git statusв Cadence не показывает изменений.
Шаги
-
Откройте Cadence в VS Code, откройте встроенный терминал и запустите
claude. Во встроенном терминале CLI подключается к редактору сам;/ideпокажет статус подключения. НажимайтеShift+Tab, пока в строке статуса не появится⏸ manual mode on: в этом режиме агент спрашивает разрешения на правку и показывает diff до неё. -
Проверьте, что дерево чистое, через shell mode:
! git statusКоманда и её вывод попадут в разговор: агент тоже знает, что изменений нет.
-
Наберите промпт, вставив путь к файлу через
@иTab. Для переноса строки используйтеShift+Enter:@package.json add a script named "hello" that runs: echo "Hello from Cadence" Do not change anything else.Отправьте. Агент отвечает сразу, не читая файл отдельно: содержимое
package.jsonпришло вместе с промптом. -
Когда агент предложит правку, в редакторе откроется diff. Прочитайте его: изменение должно быть одной строкой в
scripts. Если агент тронул что-то ещё, откажите с комментарием (No, затемTab) и уточните задачу. Если всё верно — разрешите правку. -
Проверьте результат:
! pnpm helloВ выводе —
Hello from Cadence. Запомните, как выглядит вывод: он понадобится в квизе. -
Откатите правку. При пустом поле ввода дважды нажмите
Esc, в меню rewind выберите промпт из шага 3 и действие Restore code and conversation. -
Посмотрите, что стало с промптом и с файлом. В поле ввода вернулся текст промпта из шага 3 — сотрите его. Затем выполните:
! git statusТеперь отправьте агенту обычный промпт, например «Коротко: есть ли сейчас изменения в рабочем дереве?». Это не формальность: откатанный разговор Claude Code сохраняет вместе со следующим промптом, и без него после выхода убранные сообщения могут вернуться.
-
Выйдите из Claude Code: дважды
Ctrl+Cна пустом поле. Запустите в том же каталоге:claude --continueПролистайте разговор: вы в той же session.
Проверка результата
git statusв Cadence не показывает изменённых файлов:package.jsonтакой же, как до Lab-а.pnpm helloвне Claude Code завершается ошибкой: скрипта больше нет.- После
claude --continueв истории есть ваши команды и промпт из шагов 2 и 7, а сообщений про скриптhelloнет — их убрал rewind.
Если не получилось
- В меню rewind нет вариантов с откатом кода. Вы выбрали промпт, после которого агент не менял файлы. Выберите промпт из шага 3.
- Двойной
Escочистил поле вместо меню. В поле был текст. Сотрите его и повторите; черновик вернётUp. - Агент внёс правку без вопроса и без diff. Session работает в режиме
auto. Откатите правку через rewind, переключитесь в Manual черезShift+Tabи повторите шаг 3. - Diff показался в терминале, а не в редакторе. Claude Code не подключён к IDE: выполните
/ide(см. 3.3). - После
claude --continueсообщения проhelloвернулись. Вы вышли, не отправив агенту промпт после отката. Выполните/rewind, выберите тот же промпт и Restore conversation, затем отправьте любой промпт и только потом выходите. - После rewind в
git statusостались изменения. Если агент менял файл не инструментом редактирования, а shell-командой, rewind его не отслеживает. Верните файл черезgit checkout -- package.json.
Проверь себя
Что показал git status в шаге 7, после rewind?
package.json
вернулся к исходному виду
package.json
со скриптом
hello
package.json
Что оказалось в поле ввода сразу после отката в шаге 6?
pnpm hello
/resume
Каких сообщений не было в истории после claude --continue в шаге 8?
hello
git status
из шага 2
--continue
открывает пустую session
--continue
открывает последний разговор в каталоге, а не пустую session.
Почему агент ответил на промпт из шага 3, не читая package.json отдельным шагом?
@package.json
включила содержимое файла в промпт
git status
из шага 2 показал содержимое файла
@
Claude Code включает в разговор сразу, без вызова Read tool. Модель не помнит прошлых session,
git status
показывает только состояние файлов, а открытая вкладка даёт лишь путь к активному файлу и выделение.
Источники
- Anthropic, Common workflows
- Anthropic, Interactive mode
- Anthropic, Checkpointing
- Anthropic, CLI reference
- Anthropic, Choose a permission mode
- Anthropic, Use Claude Code in VS Code
- По мотивам AI Coding Crash Course, AI Hero: раздел «Getting to know Claude Code»
Текст подготовлен с помощью LLM и может содержать неточности.