Claude Code: кратко о главном
🎯 О чём этот конспект: Детальный технический разбор работы 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 перезапускает цикл до получения корректного решения. Контроль за безопасностью выполнения команд и правок осуществляется через гибкую систему разрешений прямо в терминале.
Тайминг: , ,
Выгода: Понимание агентного цикла исключает ручные микро-итерации: агент берет на себя исследование и самопроверку, а настроенные уровни доступа предотвращают случайное повреждение рабочего окружения или кодовой базы.
Как применить:
- Шаг 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.
Тайминг: , , ,
Выгода: Быстрое развертывание инструмента в привычном рабочем стеке (терминал, 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/project
claudeВыберите цветовую тему оформления и метод авторизации: аккаунт 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.
- VS Code: Откройте панель Extensions, найдите официальное расширение
Результат: Рабочее окружение Claude Code, настроенное в терминале или встроенное напрямую в используемый редактор кода.
3. Методология разработки: Исследование → Планирование → Код → Коммит
Контекст: Главная ошибка при работе с AI-агентами — сразу требовать написания кода. Это приводит к галлюцинациям, повреждению архитектуры и трате сотен токенов на постоянные правки. Профессиональный пайплайн состоит из четырех строгих этапов: исследование кодовой базы (Explore), формирование плана (Plan), генерация кода (Code) и фиксация изменений с проверкой (Commit). Режим планирования гарантирует, что Claude сначала проверит структуру проекта, зависимости и совместимость, а уже затем начнет писать код по утвержденным вами критериям.
Тайминг: , , ,
Выгода: Сокращение количества итераций на исправление ошибок в 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), обобщая историю разговора и удаляя технический вывод инструментов. Однако это может привести к потере важных архитектурных деталей. Управление контекстом требует жесткой гигиены и знания специальных терминальных команд.
Тайминг: , , ,
Выгода: Экономия до 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-инструкция, которая автоматически считывается агентом на старте каждой сессии и подмешивается в контекст как постоянная системная директива. Существует строгая иерархия памяти: глобальные настройки пользователя действуют во всех проектах на машине, а проектные настройки хранятся в репозитории и синхронизируются со всей командой.
Тайминг: , , ,
Выгода: Агент с первого промпта пишет код в едином корпоративном стиле, использует корректные команды сборки и перестает повторять одни и те же архитектурные ошибки.
Как применить:
- Шаг 1: Автогенерация базового файла — Claude CLI] — Выполните команду в корне проекта:
/initClaude просканирует файлы проекта, определит пакетный менеджер, фреймворк, команды линтинга и сгенерирует начальный 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. Субагенты: изоляция контекста и параллельные задачи
Контекст: Когда агент выполняет сложную поисковую задачу (например, поиск логики обработки платежей по всей незнакомой кодовой базе), он считывает десятки файлов и логирует сотни вызовов функций. Если делать это в основном потоке, контекстное окно забивается техническим мусором, хотя в итоге требуется лишь краткий ответ: имя сервиса или путь к файлу. Субагенты запускаются в изолированных контекстных окнах, выполняют работу автономно, возвращают в основной чат только выжимку (саммари), после чего их промежуточная история удаляется.
Тайминг: , , ,
Выгода: Сохранение чистоты основного контекстного окна при выполнении тяжелых поисковых и исследовательских операций.
Как применить:
- Шаг 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-файлы с метаданными, которые подгружаются агентом динамически только тогда, когда задача пользователя совпадает с описанием скила.
Тайминг: , , ,
Выгода: Нулевой расход контекста на второстепенные инструкции во время обычного кодинга; стандарты загружаются ровно в момент вызова соответствующей задачи.
Как применить:
- Шаг 1: Разделение областей видимости скилов — Файловая система] —
- Персональные скилы: размещаются в
~/.claude/skills/(доступны во всех ваших проектах: ваш стиль коммитов, персональный кодстайл). - Проектные скилы: размещаются в директории
.claude/skills/внутри корня репозитория (коммитятся в git и шарятся со всей командой: брендбук, чеклист ревью пулл-реквестов).
- Персональные скилы: размещаются в
- Шаг 2: Создание файла скила — Текстовый редактор] — Создайте папку
.claude/skills/pr-review/и файлskill.mdвнутри нее:
---
name: PR Review Checklist
description: Используется при запросе код-ревью, анализе пулл-реквестов или проверке диффа перед мерджем.
---
# Инструкция по ревью кода
При анализе изменений проверяй код по следующим критериям:
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).
Тайминг: , , , ,
Выгода: Гарантированное соответствие кода стандартам форматирования и аппаратный барьер от случайного выполнения опасных shell-команд.
Как применить:
- Шаг 1: События жизненного цикла — Конфигурация] — Доступны ключевые триггеры хуков:
UserPromptSubmit— срабатывает в момент отправки промпта пользователем до начала его обработки моделью.PreToolUse— запускается непосредственно перед вызовом инструмента (может заблокировать вызов).PostToolUse— запускается сразу после завершения работы инструмента (например, после изменения файла).Notification— срабатывает при отправке уведомлений агентом.Stop— вызывается в момент завершения генерации ответа моделью.
- Шаг 2: Настройка хука автоформатирования (PostToolUse) —
.claude/settings.json] — Настройте запуск Prettier/Ruff после любого редактирования файлов агентом:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|MultiEdit",
"command": "npx prettier --write \"$CLAUDE_PROJECT_DIR/**/*.{ts,tsx,js,json,css}\""
}
]
}
}Примечание: Переменная окружения $CLAUDE_PROJECT_DIR гарантирует корректность выполнения скрипта независимо от того, в какой вложенной папке сейчас находится Claude.
- Шаг 3: Настройка блокировки опасных действий (PreToolUse) — Скрипты безопасности] — Скрипт перехватывает JSON-входные данные инструмента из
stdin. Если операция запрещена, скрипт завершается с exit code 2, а текст изstderrпередается обратно модели как системная ошибка.
Создайте файл .claude/hooks/guardrails.sh:
#!/usr/bin/env bash
INPUT=$(cat)
# Блокировка попыток записи в .env или прод-конфиги
if echo "$INPUT" | grep -qE "(\.env\.production|config/production)"; then
echo "ОШИБКА: Запись в конфигурационные файлы продакшена строго запрещена политикой безопасности!" >&2
exit 2
fi
# Блокировка опасных команд bash
if echo "$INPUT" | grep -qE "(git push --force|rm -rf /)"; then
echo "ОШИБКА: Использование деструктивных команд git/bash заблокировано!" >&2
exit 2
fi
# Exit code 0 разрешает выполнение действия
exit 0Сделайте файл исполняемым (chmod +x .claude/hooks/guardrails.sh) и подключите его в .claude/settings.json:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash|Edit",
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/guardrails.sh"
}
]
}
}Результат: Жесткая детерминированная система контроля: весь код автоматически форматируется, а попытки затронуть чувствительные файлы или ветки мгновенно пресекаются на уровне процесса.
Claude Code: ответы на частые вопросы
В: В чем ключевое отличие 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: инструменты и ссылки из видео
- 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