Claude Code: работа с coding-агентом1. Перед стартом
Lab: собираем стенд
Засчитывается, когда отвечены все вопросы квиза
Стенд — всё, на чём идут Lab-ы курса: Claude Code, учебный репозиторий с приложением Cadence и request logger, который показывает запросы агента к модели. Примеры проверены на Claude Code 2.1.308. Номер вашей версии может быть больше — это нормально.
Что получится
claude --versionпечатает номер версии;- в браузере открыт Cadence с тестовыми курсами и пользователями;
- в
request-logger/logs/лежит файл.mdс полным запросом, который Claude Code отправил модели в ответ на ваше «hello».
Request logger встаёт между Claude Code и API Anthropic: пропускает запросы без изменений и пишет копию каждого на диск.
Подготовка
- Подписка Claude Pro или выше (см. 1.2).
gitи Node.js 24 или новее: проверьтеgit --versionиnode --version.- Терминал: на Windows — WSL 2 или PowerShell, на macOS и Linux — любой.
- Редактор со встроенным терминалом, например VS Code.
Шаги
-
Установите Claude Code. На macOS, Linux и в WSL:
curl -fsSL https://claude.ai/install.sh | bashВ Windows PowerShell:
irm https://claude.ai/install.ps1 | iexУстановщик не показывает прогресс загрузки. Когда он закончит, откройте новое окно терминала.
-
Проверьте установку.
claude --versionВы увидите строку вида
2.1.308 (Claude Code). -
Склонируйте учебный репозиторий и перейдите в него:
git clone https://github.com/ai-hero-dev/ai-coding-crash-course.git cd ai-coding-crash-course -
Установите зависимости.
npm installВ конце будет строка вида
added 670 packages, а в корне появитсяnode_modules. Предупреждения о deprecated-пакетах — норма. -
Создайте базу и заполните её.
npm run db:migrate npm run db:seeddb:migrateзакончится строкойmigrations applied successfully!,db:seed— сводкой созданных данных: курсы, квизы, записи, покупки. В корне появитсяdata.db. -
Создайте учебную ветку.
git checkout -b dev -
Запустите Cadence.
npm run devОткройте в браузере адрес, который напечатает dev-сервер. В панели разработчика внизу страницы переключите пользователя на Emma Wilson: у неё два курса. Оставьте сервер работать в этом терминале.
-
Запустите request logger во втором терминале, из корня репозитория:
npm run request-loggerПри первом запуске он спросит агента — выберите Claude Code, затем провайдера — Anthropic, затем запомнить ли выбор. После этого он напечатает:
Agent Claude Code (Anthropic) Listening http://localhost:8787 Forwards https://api.anthropic.com Run your agent in another terminal with: ANTHROPIC_BASE_URL=http://localhost:8787 ENABLE_TOOL_SEARCH=true claude -
Запустите Claude Code через logger в третьем терминале, из корня репозитория. Скопируйте команду, которую напечатал logger, а не набирайте её сами:
ANTHROPIC_BASE_URL=http://localhost:8787 ENABLE_TOOL_SEARCH=true claude -
Войдите. На вопрос о доверии к папке ответьте «да». На экране входа выберите вход по подписке Claude, подтвердите в браузере и вернитесь в терминал: там появится
Login successful, нажмитеEnter. Если браузер показал код вместо перехода обратно — вставьте его в терминал (так бывает в WSL и в SSH-сессиях). -
Проверьте модель. Выполните
/model: выбрана опция Default, effort —medium. -
Отправьте первое сообщение.
helloАгент ответит приветствием. Работает он так же, как без logger-а: прокси пропускает трафик без изменений.
Проверка результата
Откройте папку request-logger/logs/ и в ней самый новый файл .md. Если файлов несколько на одно сообщение, это нормально: Claude Code может отправлять служебные запросы, и каждый ложится отдельной записью.
Файл размечен XML-тегами, а не заголовками Markdown, потому что внутри много чужого Markdown. Найдите в нём:
<meta>— время, модель иupstream status; в нашем прогоне этоclaude-opus-5-5и200;<system-prompt>— постоянную инструкцию, которую агент добавляет к каждому запросу: рабочая папка, платформа, правила сессии;<tools>— описания tools в JSON; в нашем прогоне этот блок занял около 580 строк из примерно тысячи, больше половины файла;<messages>— вашеhelloи служебные вставки перед ним;<response>— причину остановки иusage, расход токенов.
В нашем прогоне на одно hello ушло около 22 тысяч токенов в cache_creation_input_tokens — system prompt и tools уходят с каждым запросом. Запишите своё число: оно понадобится в квизе и в следующих разделах.
Когда закончите, остановите logger: Ctrl+C в его терминале. Без logger-а запускайте агента обычной командой claude.
Если не получилось
claude: command not foundпосле установки — каталог установки ещё не вPATH. Откройте новое окно терминала; если не помогло, запуститеclaude doctorили смотрите раздел о PATH в документации по установке.- Установщик падает с
syntax error near unexpected token '<'или403— откройте страницу Troubleshoot installation в документации и найдите там свою ошибку. - Вход не возвращается из браузера — вставьте код из браузера в приглашение
Paste code here if prompted. - Страница курса в Cadence падает с
no such column— база отстала от схемы, выполнитеnpm run db:migrate. - Logger запомнил не того агента —
npm run request-logger -- --forceспросит заново. - Файл лога огромный, а блок tools занимает почти всё — Claude Code был запущен без
ENABLE_TOOL_SEARCH=true. Запускайте его ровно той командой, которую напечатал logger.
Проверь себя
Какой блок занял большую часть файла лога для вашего hello?
<messages>
<system-prompt>
<tools>
<response>
<messages>
на первом сообщении короткая.
Где в файле лога вы нашли, сколько токенов ушло на запрос?
<meta>
, в строке
model
<headers>
<response>
, в поле
usage
<response>
содержит причину остановки и
usage
с полями вроде
input_tokens
и
cache_creation_input_tokens
. В
<meta>
— время, модель, endpoint и статус.
Порядок какого размера получился у вас в usage на одно hello?
Зачем в команде запуска стоит ENABLE_TOOL_SEARCH=true?
ANTHROPIC_BASE_URL
указывает не на Anthropic, Claude Code отключает tool search и пишет в запрос схему каждого tool. Флаг возвращает обычное поведение, и в логе видно то, что агент отправляет на самом деле.
Источники
- Anthropic, Advanced setup
- Anthropic, Authentication
- Anthropic, Model configuration
- AI Hero, ai-hero-dev/ai-coding-crash-course — учебный репозиторий и его
request-logger/README.md; шаги проверены на стенде - По мотивам AI Coding Crash Course, AI Hero
Текст подготовлен с помощью LLM и может содержать неточности.