Claude Code: Полное практическое руководство по настройке, агентным циклам и автоматизации разработки
Полный гид по Claude Code: агентный цикл, Plan Mode, оптимизация контекста, CLAUDE.md, субагенты, skills, подключение MCP и детерминированные хуки в settings.json.
Маркетинг-стратег, IT-предприниматель, ментор по вайбкодингу
10+ лет в маркетинге, 300+ клиентских проектов: сайты, реклама, боты. Создатель GoBanana (228K+ пользователей, 11.6 млн ₽ выручки) и VibeCoderz. Делаю AI-продукты сам через Claude Code, Cursor, Windsurf и консультирую тех, кто хочет так же.
🎯 О чём этот конспект: Детальный технический разбор работы Claude Code от Anthropic: от внутренней механики агентного цикла и управления контекстным окном до настройки CLI, IDE, создания постоянной памяти проекта через CLAUDE.md, работы с субагентами, скилами, MCP-серверами и детерминированными хуками автоматизации.
👤 Кому будет полезно: Вайбкодерам, AI-инженерам, fullstack-разработчикам и техническим лидам, стремящимся перейти от обычных AI-чатов к автономной терминальной разработке с полным контролем над кодовой базой.
✨ Что получите: Пошаговую методологию работы «Исследование → Планирование → Код → Коммит», готовые конфигурационные файлы (CLAUDE.md, settings.json, .mcp.json), сценарии хуков для автоформатирования и защиты продакшена, а также правила экономии контекстного окна при создании сложных функций.
1. Архитектура Claude Code: агентный цикл и уровни разрешений
Контекст: В отличие от классических AI-ассистентов, работающих по схеме «текст на входе — текст на выходе», Claude Code функционирует как полноценный терминальный агент. Он получает промпт, собирает контекст, взаимодействует с базовой моделью, вызывает инструменты (чтение файлов, поиск, выполнение shell-команд), предпринимает действия и самостоятельно верифицирует полученный результат. Если цель промпта не достигнута, Claude перезапускает цикл до получения корректного решения. Контроль за безопасностью выполнения команд и правок осуществляется через гибкую систему разрешений прямо в терминале.
Тайминг:[00:13], [01:13], [01:49]
Выгода: Понимание агентного цикла исключает ручные микро-итерации: агент берет на себя исследование и самопроверку, а настроенные уровни доступа предотвращают случайное повреждение рабочего окружения или кодовой базы.
Как применить:
Шаг 1: Управление уровнями разрешений — Claude CLI] — Используйте шорткат Shift + Tab для переключения между тремя режимами работы в зависимости от степени доверия к задаче:
Стандартный режим (Default): Claude запрашивает явное подтверждение на каждое редактирование файла и выполнение shell-команды.
Режим автопринятия изменений (Auto-accept edits): Изменения и создание файлов одобряются автоматически, но выполнение команд оболочки по-прежнему требует вашего подтверждения.
Режим планирования (Plan Mode): Доступны только инструменты чтения (read-only). Агент анализирует кодовую базу и строит план без риска внести изменения.
Шаг 2: Вмешательство в агентный цикл — Claude CLI] — На любом этапе итерации вы можете направить модель, прервать выполнение (шорткатом прерывания процесса в терминале) или добавить дополнительный контекст, скорректировав курс рассуждений.
Результат: Настроенный баланс между скоростью работы агента и безопасностью выполнения операций в вашей операционной системе.
2. Установка и варианты окружения: CLI, IDE, Desktop и Web
Контекст: Claude Code адаптирован под различные сценарии разработки: локальная работа в терминале, глубокая интеграция с кодовыми редакторами или запуск сессий в облаке. Доступ к инструментам открывается независимо от операционной системы — поддерживаются macOS, Linux, WSL и чистый Windows. Новые функции и экспериментальные обновления всегда поступают первыми в терминальную CLI-версию, тогда как Web-версия ориентирована на удаленную параллельную работу с репозиториями GitHub.
Тайминг:[01:73], [02:33], [03:03], [03:16]
Выгода: Быстрое развертывание инструмента в привычном рабочем стеке (терминал, VS Code, JetBrains) с выбором подходящей схемы авторизации (подписка Pro/Max/Enterprise или оплата по токенам через API Key).
Как применить:
Шаг 1: Установка CLI — Терминал ОС] — Выберите команду под вашу платформу:
Для macOS, Linux или WSL (рекомендуемый способ с автообновлением):
curl -fsSL https://claude.ai/install.sh | bash
Для macOS через Homebrew (без встроенного автообновления):
brew install claude-code
Для Windows через PowerShell:
Invoke-RestMethod -Uri https://claude.ai/install.ps1 -Method Get | Invoke-Expression
Для Windows через winget:
winget install Anthropic.ClaudeCode
Шаг 2: Первичная инициализация и авторизация — Claude CLI] — Перейдите в корень рабочего проекта и запустите агент:
cd /path/to/your/projectclaude
Выберите цветовую тему оформления и метод авторизации: аккаунт Claude (Pro, Max, Enterprise) либо передайте ANTHROPIC_API_KEY. Учтите: агент автоматически получает доступ к текущей директории и всем ее вложенным папкам.
Шаг 3: Настройка интеграции с IDE — VS Code / JetBrains] —
VS Code: Откройте панель Extensions, найдите официальное расширение Claude Code от Anthropic (с синей галочкой верификации) и нажмите Install. Перезапустите редактор, затем нажмите Ctrl + Shift + P (или Cmd + Shift + P на macOS) и введите Claude Code: Open New Tab.
JetBrains: Установите плагин Claude Code из JetBrains Marketplace, перезагрузите IDE и кликните по иконке Claude на боковой панели для открытия терминального окна.
Desktop и Web: В приложении Claude Desktop переключите тумблер вверху на вкладку Code. Для удаленной работы без локального запуска перейдите на claude.ai/code и подключите репозиторий GitHub.
Результат: Рабочее окружение Claude Code, настроенное в терминале или встроенное напрямую в используемый редактор кода.
3. Методология разработки: Исследование → Планирование → Код → Коммит
Контекст: Главная ошибка при работе с AI-агентами — сразу требовать написания кода. Это приводит к галлюцинациям, повреждению архитектуры и трате сотен токенов на постоянные правки. Профессиональный пайплайн состоит из четырех строгих этапов: исследование кодовой базы (Explore), формирование плана (Plan), генерация кода (Code) и фиксация изменений с проверкой (Commit). Режим планирования гарантирует, что Claude сначала проверит структуру проекта, зависимости и совместимость, а уже затем начнет писать код по утвержденным вами критериям.
Тайминг:[04:32], [05:76], [06:45], [07:24]
Выгода: Сокращение количества итераций на исправление ошибок в 3–5 раз за счет утверждения технического проекта решения до внесения изменений в файлы.
Как применить:
Шаг 1: Активация режима планирования — Claude CLI] — Нажмите Shift + Tab, пока в строке ввода не появится метка Plan Mode. В этом режиме агент использует инструменты исключительно в режиме чтения.
Шаг 2: Запрос на исследование и декомпозицию — Claude CLI] — Сформулируйте задачу с указанием контекста и критериев:
В нашем приложении нужно добавить конвертацию изображений в WebP внутри пайплайна загрузки.
Определи, где именно в кодовой базе это должно происходить, требуются ли новые зависимости, какие библиотеки лучше использовать и составь пошаговый план внедрения.
Шаг 3: Ревью и корректировка плана — Claude CLI] — Claude изучит файлы, выполнит веб-поиск (при необходимости) и выдаст структурированный список действий. Если предложенное решение вас не устраивает, скорректируйте его промптом до написания кода. После согласования нажмите Approve, чтобы перевести Claude в режим исполнения.
Шаг 4: Валидация через тесты и инструменты — Claude CLI / Браузер] — Убедитесь, что агенту предоставлены измеримые критерии приемки:
Для UI-задач подключите расширение Claude for Chrome, чтобы агент мог открывать вкладку и тестировать интерфейс в реальном браузере.
Настройте запуск тестового набора (npm test, pytest), чтобы агент валидировал изменения после каждого шага.
Шаг 5: Проверка и коммит — Claude CLI] — Запустите субагента для финального код-ревью перед фиксацией, после чего попросите сгенерировать коммит:
Проведи ревью сделанных изменений, запусти тесты и сгенерируй сообщение коммита в соответствии с принятыми в проекте стандартами.
Результат: Чистая реализация функционала с первой попытки без поломки соседних модулей приложения.
4. Контроль и оптимизация контекстного окна
Контекст: Контекстное окно — это оперативная память модели. Любой прочитанный файл, вывод терминальной команды, вызов инструмента и сообщение пользователя занимают полезные токены. При приближении к лимиту контекста Claude запускает автоматическое сжатие (auto-compact), обобщая историю разговора и удаляя технический вывод инструментов. Однако это может привести к потере важных архитектурных деталей. Управление контекстом требует жесткой гигиены и знания специальных терминальных команд.
Тайминг:[07:65], [08:20], [08:44], [08:90]
Выгода: Экономия до 60% контекста за сессию, устранение «забывания» инструкций и предотвращение галлюцинаций в длинных диалогах.
Как применить:
Шаг 1: Мониторинг загрузки контекста — Claude CLI] — В любой момент работы введите команду:
/context
Команда отображает текущий объем занятого контекста, визуальную диаграмму и распределение памяти по категориям (системные инструкции, файлы, история чата, MCP-инструменты).
Шаг 2: Ручное сжатие при работе над текущей фичей — Claude CLI] — Если контекст переполнен, но работа над текущей задачей продолжается и вам нужно сохранить общее понимание прогресса:
/compact
Агент суммирует выполненные шаги, очистит промежуточные дампы команд и освободит оперативную память, сохранив вектор задачи.
Шаг 3: Полная очистка при переходе к новой задаче — Claude CLI] — Если план завершен и вы берете следующий тикет:
/clear
Команда полностью стирает историю предыдущего разговора. Это исключает влияние старого кода и устаревших гипотез на новую сессию.
Шаг 4: Формулирование промптов с защитой от раздувания — Инженерия промптов] — Пишите максимально детализированные запросы. Парадоксально, но короткий размытый промпт («почини баг в юзерах») заставляет Claude читать десятки файлов и делать множество вызовов поиска, что съедает тысячи токенов контекста. Конкретный промпт с указанием путей экономит память.
Результат: Предсказуемая работа Claude Code без потери ключевых вводных на протяжении многочасовых сессий.
5. Долгосрочная память проекта: создание и иерархия CLAUDE.md
Контекст: Без файла памяти Claude начинает каждый сеанс с нуля: исследует архитектуру, угадывает стек, ошибается с выбором библиотек. Файл CLAUDE.md — это Markdown-инструкция, которая автоматически считывается агентом на старте каждой сессии и подмешивается в контекст как постоянная системная директива. Существует строгая иерархия памяти: глобальные настройки пользователя действуют во всех проектах на машине, а проектные настройки хранятся в репозитории и синхронизируются со всей командой.
Тайминг:[10:13], [10:61], [11:18], [11:54]
Выгода: Агент с первого промпта пишет код в едином корпоративном стиле, использует корректные команды сборки и перестает повторять одни и те же архитектурные ошибки.
Как применить:
Шаг 1: Автогенерация базового файла — Claude CLI] — Выполните команду в корне проекта:
/init
Claude просканирует файлы проекта, определит пакетный менеджер, фреймворк, команды линтинга и сгенерирует начальный CLAUDE.md.
Шаг 2: Наполнение проектного CLAUDE.md — Текстовый редактор] — Зафиксируйте ключевые архитектурные договоренности. Пример для Next.js проекта:
# Руководство проекта---## Стек технологий- Next.js 15 (App Router), Tailwind CSS, Drizzle ORM, TypeScript (Strict Mode).---## Команды разработки- Запуск dev-сервера: `pnpm dev`- Запуск тестов: `pnpm test`- Линтинг и проверка типов: `pnpm lint && pnpm tsc --noEmit`---## Архитектурные правила- Все API-маршруты располагать строго в `app/api/`.- Везде, где возможно, использовать Server Actions вместо стандартных API-роутов.- Использовать отступы в 2 пробела, предпочитать именованные экспорты (Named Exports).- Стилизация исключительно через утилитарные классы Tailwind CSS.---## Документация- Спецификация базы данных: @docs/schema.md
Шаг 3: Настройка глобального CLAUDE.md — Файловая система] — Для персональных предпочтений, применяемых во всех проектах на компьютере, создайте конфигурационный файл:
Путь: ~/.claude/CLAUDE.md (или в директории конфигурации вашей ОС).
Сюда помещайте персональные паттерны: формат комментариев в коде, персональные алиасы или тон ответов агента.
Шаг 4: Динамическое обучение памяти — Claude CLI] — Если вам пришлось дважды исправить агента за сессию, отдайте команду сохранить это в память:
Запомни на будущее: в этом проекте мы не используем axios, все запросы делаются через нативный fetch. Добавь это правило в CLAUDE.md.
Результат: Автоматическая адаптация Claude к соглашениям команды без необходимости напоминать базовые правила при каждом старте.
6. Субагенты: изоляция контекста и параллельные задачи
Контекст: Когда агент выполняет сложную поисковую задачу (например, поиск логики обработки платежей по всей незнакомой кодовой базе), он считывает десятки файлов и логирует сотни вызовов функций. Если делать это в основном потоке, контекстное окно забивается техническим мусором, хотя в итоге требуется лишь краткий ответ: имя сервиса или путь к файлу. Субагенты запускаются в изолированных контекстных окнах, выполняют работу автономно, возвращают в основной чат только выжимку (саммари), после чего их промежуточная история удаляется.
Тайминг:[11:91], [12:34], [13:08], [13:31]
Выгода: Сохранение чистоты основного контекстного окна при выполнении тяжелых поисковых и исследовательских операций.
Как применить:
Шаг 1: Использование встроенных субагентов — Claude CLI] — Claude Code по умолчанию задействует специализированных агентов:
General Purpose Subagent — запускается для многоэтапных задач, требующих параллельного исследования и выполнения действий.
Subagent Explore — оптимизирован для быстрого семантического поиска по структуре репозитория.
Subagent Plan — автоматически активируется в режиме планирования для безопасного анализа кода перед генерацией плана.
Шаг 2: Делегирование задач субагентам через промпт — Claude CLI] — Если вам нужен только конечный факт без засорения контекста кодом:
Используй отдельного субагента, чтобы исследовать кодовую базу и выяснить: какой именно сервис и контроллер отвечают за обработку возвратов (refunds) в нашей платежной системе. Верни в основной поток только путь к файлам и краткое описание логики.
Результат: Основной контекст содержит только финальный результат исследования, готовый для постановки следующей задачи реализации.
7. Скилы (Skills): динамические инструкции по требованию
Контекст: Добавление всех проектных инструкций (стандарты ревью PR, формат коммит-сообщений, гайдлайны по UI/UX) в CLAUDE.md быстро перегрузит контекст на старте каждой сессии. Скилы (Skills) решают эту проблему: это изолированные Markdown-файлы с метаданными, которые подгружаются агентом динамически только тогда, когда задача пользователя совпадает с описанием скила.
Тайминг:[13:58], [14:26], [14:58], [15:18]
Выгода: Нулевой расход контекста на второстепенные инструкции во время обычного кодинга; стандарты загружаются ровно в момент вызова соответствующей задачи.
Как применить:
Шаг 1: Разделение областей видимости скилов — Файловая система] —
Персональные скилы: размещаются в ~/.claude/skills/ (доступны во всех ваших проектах: ваш стиль коммитов, персональный кодстайл).
Проектные скилы: размещаются в директории .claude/skills/ внутри корня репозитория (коммитятся в git и шарятся со всей командой: брендбук, чеклист ревью пулл-реквестов).
Шаг 2: Создание файла скила — Текстовый редактор] — Создайте папку .claude/skills/pr-review/ и файл skill.md внутри нее:
---name: PR Review Checklistdescription: Используется при запросе код-ревью, анализе пулл-реквестов или проверке диффа перед мерджем.---# Инструкция по ревью кодаПри анализе изменений проверяй код по следующим критериям:1. Отсутствие прямого проброса `any` в TypeScript.2. Наличие обработки ошибок (try/catch) во всех асинхронных Server Actions.3. Отсутствие хардкода секретов, токенов и URL окружения.4. Вывод оформляй в виде таблицы: Файл | Строка | Проблема | Предлагаемое решение.
Шаг 3: Автоматическая активация скила — Claude CLI] — Вам не нужно вводить специальные слэш-команды. Просто напишите промпт:
Проведи ревью последних изменений в ветке feature/auth перед созданием PR.
Claude сравнит семантику запроса с описанием скилов, обнаружит совпадение с description в файле skill.md, загрузит его инструкции в память и выполнит задачу строго по шаблону.
Результат: Модульная библиотека навыков для команды без захламления базового контекста сессии.
8. Подключение внешних данных через Model Context Protocol (MCP)
Контекст: Большая часть инженерного контекста находится за пределами локальной папки: в таск-трекере Linear, базах данных, внешней документации или issue-трекере GitHub. Model Context Protocol (MCP) — открытый стандарт, позволяющий Claude Code бесшовно обращаться к сторонним системам через локальные (STDIO) или удаленные (HTTP) серверы. Однако определения всех инструментов MCP загружаются в контекст по умолчанию, поэтому их избыток может быстро израсходовать лимит токенов.
Выгода: Прямой доступ агента к тикетам, актуальной документации пакетов и внешним базам данных прямо из терминала.
Как применить:
Шаг 1: Добавление MCP-серверов — Claude CLI] — Используйте команду claude mcp для конфигурации:
# Добавление локального или удаленного сервераclaude mcp add
Шаг 2: Командная конфигурация через .mcp.json — Корень проекта] — Чтобы вся команда получала одинаковые коннекторы при клонировании репозитория, добавьте файл .mcp.json в git:
Шаг 3: Аудит и отключение неактивных серверов — Claude CLI] — Во время сессии проверьте статус подключений:
/mcp
Отключите серверы, которые не относятся к текущей задаче. Если MCP-инструменты начинают занимать более 10% контекстного окна, Claude Code автоматически включает резервный режим поиска инструментов (Tool Search Mode), что снижает точность их вызова.
Шаг 4: Выбор между MCP и CLI — Архитектура окружения] — Если у внешнего инструмента есть готовый терминальный интерфейс (например, утилиты gh для GitHub или aws для облака Amazon), отдайте предпочтение CLI-утилитам или оберните их в скилы. Вызов CLI через bash не тратит токены на постоянное хранение схемы инструментов в контексте.
Результат: Интегрированный пайплайн работы со внешними сервисами без риска переполнения контекстного окна ненужными метаданными.
9. Детерминированные хуки (Hooks): автоматизация и защита окружения
Контекст: Указания в промптах или файле CLAUDE.md носят рекомендательный характер — модель выполняет их в большинстве случаев, но иногда может пропустить вызов линтера или форматирования. Хуки (Hooks) работают принципиально иначе: они детерминированы и срабатывают со 100% гарантией на определенных этапах жизненного цикла агента. Хуки конфигурируются в settings.json, позволяют запускать команды форматирования, логировать действия или намертво блокировать потенциально разрушительные операции (например, запись в прод-конфиги или коммиты в main).
Примечание: Переменная окружения $CLAUDE_PROJECT_DIR гарантирует корректность выполнения скрипта независимо от того, в какой вложенной папке сейчас находится Claude.
Шаг 3: Настройка блокировки опасных действий (PreToolUse) — Скрипты безопасности] — Скрипт перехватывает JSON-входные данные инструмента из stdin. Если операция запрещена, скрипт завершается с exit code 2, а текст из stderr передается обратно модели как системная ошибка.
Создайте файл .claude/hooks/guardrails.sh:
#!/usr/bin/env bashINPUT=$(cat)# Блокировка попыток записи в .env или прод-конфигиif echo "$INPUT" | grep -qE "(\.env\.production|config/production)"; then echo "ОШИБКА: Запись в конфигурационные файлы продакшена строго запрещена политикой безопасности!" >&2 exit 2fi# Блокировка опасных команд bashif echo "$INPUT" | grep -qE "(git push --force|rm -rf /)"; then echo "ОШИБКА: Использование деструктивных команд git/bash заблокировано!" >&2 exit 2fi# Exit code 0 разрешает выполнение действияexit 0
Сделайте файл исполняемым (chmod +x .claude/hooks/guardrails.sh) и подключите его в .claude/settings.json:
Результат: Жесткая детерминированная система контроля: весь код автоматически форматируется, а попытки затронуть чувствительные файлы или ветки мгновенно пресекаются на уровне процесса.
FAQ
В: В чем ключевое отличие Claude Code от чата в веб-версии claude.ai? О: Чат работает исключительно в рамках схемы «текст на входе — текст на выходе». Claude Code реализует агентный цикл прямо в операционной системе: он сам читает проект, планирует шаги, вызывает shell-команды, вносит правки в файлы и запускает тесты для самостоятельной проверки результата до того, как вернуть ответ пользователю.
В: Как быстро переключать режимы разрешений во время работы в терминале? О: Используйте комбинацию клавиш Shift + Tab. Она циклически переключает режимы: подтверждение каждого действия (по умолчанию), автоматическое принятие правок в файлах (Auto-accept edits) и режим безопасного планирования только для чтения (Plan Mode).
В: Почему короткий промпт может забить контекстное окно быстрее, чем длинный? О: Если промпт размыт и не содержит конкретных файлов и указаний («поправь форму логина»), Claude вынужден запускать глобальный поиск по проекту и читать десятки файлов, чтобы понять архитектуру. Подробный промпт с точным указанием компонентов направляет агента напрямую к нужным модулям, экономя тысячи токенов.
В: В каких случаях использовать команду /compact, а в каких /clear? О: Команда /compact используется, когда вы находитесь в процессе работы над текущей задачей и контекст переполнен — она обобщает шаги, сохраняя общее понимание фичи. Команда /clear сбрасывает контекст целиком и используется при переходе к новой независимой задаче, чтобы старые гипотезы не создавали помех модели.
В: Чем отличаются скилы (Skills) от директив в файле CLAUDE.md? О: Файл CLAUDE.md загружается целиком в контекстное окно абсолютно при каждом старте диалога. Скилы хранятся отдельно и содержат метаданные (name и description). Claude активирует скил и загружает его текст в память только тогда, когда задача пользователя напрямую соответствует назначению скила.
В: Что делать, если MCP-серверы расходуют слишком много памяти? О: Проверьте список активных серверов командой /mcp и отключите ненужные. Для утилит, у которых есть консольный интерфейс (GitHub CLI gh, AWS CLI), используйте прямой вызов команд через bash вместо постоянных MCP-коннекторов — это снизит базовую нагрузку на контекст.
В: Как хук PreToolUse сообщает модели, что команда заблокирована? О: Скрипт проверки должен завершиться с кодом возврата 2. Сообщение об ошибке, выведенное скриптом в поток stderr, возвращается агенту в качестве системной обратной связи. Модель понимает причину блокировки и предпринимает альтернативное безопасное действие.
Ресурсы и ссылки
Claude Code Web — облачный интерфейс для запуска агентных сессий через репозитории GitHub — https://claude.ai/code
MCP Connectors Directory — каталог готовых коннекторов Model Context Protocol для подключения сторонних сервисов — https://claude.com/connectors
Claude for Chrome Extension — браузерное расширение для автономного тестирования веб-интерфейсов агентом — упомянуто в видео.
Context7 MCP Server — специализированный MCP-сервер для получения актуальной документации по зависимостям — упомянут в видео.
Конспект создан на основе видео «Как устроен Claude Code: агентный цикл, контекст, MCP и хуки» канала Константин Кузнецов. Все права на оригинальный материал принадлежат авторам.Источник: https://www.youtube.com/watch?v=e88m_qkiDV0