Claude Code: AI-агент в терминале
Концепции
Официальная документация | Quickstart | Как работает Claude Code
Claude Code работает как агент прямо в терминале. Он читает файлы, пишет код, запускает команды, работает с git и понимает контекст проекта. Ключевое отличие от чат-интерфейсов: Claude Code действует автономно, выполняя цепочки действий для достижения цели.
Агентный цикл: Claude получает задачу, анализирует кодовую базу, планирует шаги, выполняет действия инструментами и проверяет результат. Каждое действие требует подтверждения пользователя (настраивается через permissions).
CLAUDE.md: файл с инструкциями проекта. Claude читает его в начале каждой сессии. Аналог .editorconfig, но для AI-агента.
MCP (Model Context Protocol): открытый протокол для подключения внешних инструментов. Через MCP Claude получает доступ к базам данных, API, браузеру и другим сервисам.
Субагенты: изолированные AI-процессы для параллельного выполнения задач. Каждый работает в своём контексте с ограниченным набором инструментов.
Установка
Для работы нужна подписка Anthropic (Pro, Max, Team, Enterprise) или API-ключ (ANTHROPIC_API_KEY).
Проверка:
Интерфейс и навигация
Режимы ввода
| Клавиша | Действие |
|---|---|
Enter | Отправить сообщение |
Escape | Отменить ввод |
Ctrl+C | Прервать выполнение |
Ctrl+D | Выход |
Ctrl+G | Открыть внешний редактор для промпта |
Ctrl+R | Поиск по истории |
Shift+Tab | Переключение режима permissions |
Ctrl+T | Список задач |
Ctrl+O | Подробный транскрипт |
Up/Down | Навигация по истории |
Vim-режим
Включает vi-подобную навигацию в поле ввода. Повторный вызов отключает.
Slash-команды
| Команда | Назначение |
|---|---|
/help | Справка |
/clear | Сбросить историю разговора |
/compact | Сжать контекст (освободить место) |
/cost | Показать расход токенов |
/model | Переключить модель или уровень effort |
/memory | Редактировать файлы памяти |
/init | Создать CLAUDE.md для проекта |
/doctor | Диагностика конфигурации |
/status | Статус аутентификации |
/permissions | Текущие разрешения |
/hooks | Управление хуками |
/agents | Список субагентов |
/mcp | Аутентификация MCP-серверов |
/plugin | Управление плагинами |
/review | Интерактивный code review |
/fast | Переключить быстрый режим (тот же Opus, быстрее вывод) |
/ide | Подключиться к IDE из внешнего терминала |
/vim | Переключить vim-режим |
/keybindings | Настроить сочетания клавиш |
/terminal-setup | Настройка терминала |
CLAUDE.md: инструкции для агента
CLAUDE.md содержит правила, контекст и предпочтения проекта. Claude читает этот файл автоматически при старте сессии.
Иерархия файлов
| Расположение | Область | В git |
|---|---|---|
./CLAUDE.md | Проект (для команды) | Да |
./.claude/CLAUDE.md | Проект (альтернатива) | Да |
./.claude/rules/*.md | Модульные правила проекта | Да |
./CLAUDE.local.md | Локальные настройки проекта | Нет |
~/.claude/CLAUDE.md | Персональные для всех проектов | Нет |
Файлы загружаются сверху вниз. Managed-политики (от организации) имеют наивысший приоритет.
Формат
Синтаксис @path/to/file импортирует содержимое файла (до 5 уровней рекурсии).
Модульные правила
Директория .claude/rules/ позволяет разбить инструкции по темам:
Правила можно привязать к конкретным путям через frontmatter:
Permissions: система разрешений
Claude запрашивает подтверждение перед потенциально опасными действиями. Поведение настраивается.
Режимы
| Режим | Поведение |
|---|---|
default | Стандартный: спрашивает перед каждым действием |
acceptEdits | Автопринятие редактирования файлов |
plan | Только чтение, без модификаций |
bypassPermissions | Пропуск всех проверок (опасно) |
Переключение: Shift+Tab в интерактивном режиме.
Правила в settings.json
Порядок проверки: Deny → Ask → Allow. Первое совпадение выигрывает.
Расположение settings.json
| Файл | Область |
|---|---|
~/.claude/settings.json | Все проекты |
.claude/settings.json | Текущий проект (git) |
.claude/settings.local.json | Локальный (не в git) |
Приоритет: managed → CLI args → local → project → user.
Модели
Доступные модели
| Алиас | Модель | Контекст |
|---|---|---|
opus | Claude Opus 4.6 | 200K |
sonnet | Claude Sonnet 4.6 | 200K |
haiku | Claude Haiku 4.5 | 200K |
sonnet[1m] | Sonnet с 1M контекстом | 1M (бета) |
opus[1m] | Opus с 1M контекстом | 1M (бета) |
Переключение
Effort level (только Opus)
Управляет глубиной рассуждений:
| Уровень | Когда использовать |
|---|---|
low | Простые задачи, быстрые правки |
medium | Баланс скорости и качества |
high | Сложные архитектурные задачи (по умолчанию) |
Настройка через /model (стрелками) или CLAUDE_CODE_EFFORT_LEVEL=medium.
Инструменты агента
Claude Code использует набор инструментов для взаимодействия с файловой системой и окружением.
Основные инструменты
| Инструмент | Назначение |
|---|---|
Read | Чтение файлов (текст, изображения, PDF, Jupyter) |
Write | Создание новых файлов |
Edit | Точечное редактирование (замена строк) |
Glob | Поиск файлов по паттерну (**/*.ts) |
Grep | Поиск по содержимому (regex) |
Bash | Выполнение shell-команд |
Task | Запуск субагентов |
WebFetch | Загрузка веб-страниц |
WebSearch | Поиск в интернете |
Субагенты (Task)
Субагенты решают задачи в изолированном контексте. Полезны для параллельной работы и защиты основного контекста от больших объёмов данных.
Встроенные типы:
| Тип | Назначение | Инструменты |
|---|---|---|
Explore | Быстрый анализ кодовой базы | Read, Glob, Grep |
Plan | Планирование реализации | Read, Glob, Grep |
general-purpose | Сложные многошаговые задачи | Все |
Создание кастомного субагента (.claude/agents/reviewer.md):
Субагент будет доступен через /agents и Claude сможет делегировать ему задачи автоматически.
Память субагентов
MCP: подключение внешних инструментов
Model Context Protocol позволяет подключать базы данных, API, браузеры и другие сервисы.
Добавление серверов
Управление
Области видимости
| Область | Файл | Для кого |
|---|---|---|
| Local | ~/.claude.json | Только для тебя |
| Project | .mcp.json (в git) | Вся команда |
| Managed | Системный путь | Организация |
Аутентификация
Для серверов с OAuth:
Hooks: автоматизация
Хуки выполняют shell-команды в определённые моменты работы Claude.
События
| Событие | Когда срабатывает |
|---|---|
SessionStart | Начало или возобновление сессии |
PreToolUse | Перед вызовом инструмента (может заблокировать) |
PostToolUse | После успешного вызова инструмента |
Stop | Claude завершил ответ |
Notification | Claude отправляет уведомление |
Примеры
Уведомление на рабочий стол (Linux):
Автоформат после редактирования:
Блокировка редактирования .env:
Коды возврата: 0 = разрешить, 2 = заблокировать.
Настройка
Хуки добавляются в settings.json (user, project или local) или через /hooks в интерактивном режиме.
Auto Memory
Claude автоматически сохраняет заметки между сессиями.
Хранилище: ~/.claude/projects/<project>/memory/MEMORY.md
Что сохраняется:
- Паттерны и конвенции проекта
- Решения повторяющихся проблем
- Предпочтения пользователя
- Архитектурные заметки
Управление:
Отключение:
Первые 200 строк MEMORY.md загружаются автоматически. Для больших заметок создавай отдельные файлы и ссылайся из MEMORY.md.
IDE-интеграции
VS Code
Установка: поиск “Claude Code” в Marketplace или vscode:extension/anthropic.claude-code.
Возможности:
- Inline-диффы с превью
@-упоминания файлов с диапазонами строк- Планирование перед применением изменений
- Несколько вкладок разговоров
| Клавиша | Действие |
|---|---|
Cmd/Ctrl+Esc | Переключение фокуса: редактор ↔ Claude |
Cmd/Ctrl+Shift+Esc | Новая вкладка разговора |
Alt+K | Вставить @-ссылку на файл |
JetBrains (IntelliJ, PyCharm, WebStorm)
Установка: поиск “Claude Code Beta” в Marketplace.
Ctrl+Esc / Cmd+Esc для переключения фокуса.
Переменные окружения
| Переменная | Назначение |
|---|---|
ANTHROPIC_API_KEY | API-ключ для аутентификации |
ANTHROPIC_MODEL | Модель по умолчанию |
CLAUDE_CODE_EFFORT_LEVEL | Уровень effort (low/medium/high) |
CLAUDE_CODE_DISABLE_AUTO_MEMORY | Отключить auto memory |
CLAUDE_CODE_DISABLE_1M_CONTEXT | Отключить 1M контекст |
CLAUDE_CODE_SHELL | Переопределить shell |
Типовые workflow
Исследование кодовой базы
Реализация фичи
Отладка
Git-операции
Рефакторинг
Skills: переиспользуемые команды
Skills (скиллы) позволяют упаковать инструкции, шаблоны и workflow в slash-команды. В отличие от субагентов, скиллы работают в основном контексте разговора.
| Аспект | Skills | Субагенты |
|---|---|---|
| Вызов | /skill-name или автоматически | Автоматическая делегация |
| Контекст | Основной (или fork) | Изолированный |
| Типичное применение | Шаблоны, workflow, конвенции | Исследование, параллельные задачи |
Структура файлов
Расположение по приоритету:
| Путь | Область |
|---|---|
.claude/skills/<name>/SKILL.md | Проект (в git, для команды) |
~/.claude/skills/<name>/SKILL.md | Персональный (все проекты) |
<plugin>/skills/<name>/SKILL.md | Плагин |
Для monorepo скиллы обнаруживаются рекурсивно вверх по директориям.
Формат SKILL.md
Поля frontmatter
| Поле | Назначение | По умолчанию |
|---|---|---|
name | Идентификатор для /name | Имя директории |
description | Когда использовать (Claude читает это) | Первый абзац |
argument-hint | Подсказка аргументов в автодополнении | Нет |
allowed-tools | Разрешённые инструменты | Все |
model | Модель (sonnet, opus, haiku, inherit) | Наследуется |
disable-model-invocation | Только ручной вызов через / | false |
user-invocable | Виден ли в меню / | true |
context | fork для запуска в субагенте | Inline |
agent | Тип субагента при context: fork | general-purpose |
Аргументы
| Переменная | Пример | Описание |
|---|---|---|
$ARGUMENTS | Все аргументы строкой | /skill foo bar → foo bar |
$0, $1, $2 | По индексу | /skill foo bar → $0=foo, $1=bar |
Динамический контекст: !backtick`
Команды с ! выполняются до того как Claude увидит промпт. Результат подставляется на место:
При вызове /pr-review сначала выполнятся команды gh, затем Claude получит промпт с реальными данными.
Запуск в изолированном контексте
Для тяжёлых задач, которые не должны засорять основной контекст:
context: fork запускает скилл как субагент. Результат возвращается в основной разговор.
Примеры скиллов
Коммит с конвенциями:
Code review по чеклисту:
Генерация миграции БД:
Управление доступом
В settings.json:
Когда создавать скилл
- Повторяющийся workflow (коммиты, ревью, деплой)
- Конвенции команды, которые нужно формализовать
- Задачи с фиксированной структурой (чеклисты, шаблоны)
- Интеграции с внешними инструментами (gh, jira, kubectl)
Для разовых задач достаточно обычного промпта. Для сложных автономных задач лучше субагенты.
Эффективные паттерны
Будь конкретен: “Добавь обработку ошибок в src/api/users.ts для случая когда БД недоступна” лучше чем “улучши обработку ошибок”.
Используй CLAUDE.md: Один раз опиши конвенции проекта, и Claude будет следовать им во всех сессиях.
Контекст через @: В IDE используй @src/models/user.ts чтобы явно указать файлы для контекста.
Субагенты для параллелизма: “Исследуй модули auth, database и api параллельно” запустит три субагента одновременно.
Plan mode для сложных задач: Переключись в plan (Shift+Tab) перед большими рефакторингами. Claude исследует код и предложит план до начала изменений.
/compact для длинных сессий: Когда контекст забивается, /compact сожмёт историю, сохранив ключевую информацию.
Итеративность: Лучше несколько точных промптов чем один огромный. Claude сохраняет контекст разговора.