Субагенты: запустить помощников
Представь, что ты менеджер. Есть задача которую можно разбить на части и раздать трём людям одновременно — вместо того чтобы делать всё самому по очереди. Claude Code работает точно так же через субагентов.
Один главный агент принимает задачу, разбивает её и запускает несколько помощников. Пока ты занимаешься другим — они работают. Потом собирает результаты.
Слово «агент» перегружено — им называют скилл, команду, субагент и бот для клиентов. Это четыре разные вещи. Если впервые сталкиваешься — сначала глянь статью 12 про виды агентов, там карта на одну страницу. Потом возвращайся сюда — здесь конкретно про субагентов как фичу Claude Code.
Что такое субагент
Главный агент (оркестратор) создаёт субагентов — отдельные изолированные разговоры. У каждого субагента чистый контекст, конкретная задача, и он не знает что делают другие.
Это решает сразу две проблемы. Первая — скорость: несколько задач идут параллельно, не по очереди. Вторая — качество: каждый агент сфокусирован на своём, не отвлекается на чужой контекст.
Оркестратор = дирижёр. Субагенты = музыканты. Каждый играет свою партию, дирижёр слушает всех и собирает симфонию.
Папка .claude/agents/
Каждый субагент — это markdown-файл в папке .claude/agents/. Создаёшь файл, описываешь агента — он готов к работе.
project/
.claude/
agents/
researcher.md ← агент для исследований
code-writer.md ← агент для написания кода
reviewer.md ← агент для проверки
Внутри каждого файла — два блока: шапка с метаданными и системный промпт. Вот как выглядит файл агента-исследователя:
--- name: researcher description: Research agent. Searches for information, reads docs, summarizes findings. Use for: finding information, checking documentation, competitive analysis. tools: Read, Grep, Glob model: haiku --- You are a research assistant. Your task is to find and summarize information. Always cite sources. Be concise. Output structured summaries.
Поле description — самое важное. Именно по нему оркестратор решает, какого агента вызвать под конкретную задачу. Пиши описание чётко: что делает, когда использовать. Поле tools ограничивает доступ — если не указать, субагент наследует все инструменты главного агента. model можно задавать алиасом (sonnet/opus/haiku) или конкретным ID. Если не указать — наследует модель основной сессии.
Выбор модели под задачу
Разные агенты могут использовать разные модели. Это позволяет не тратить дорогие токены Opus на задачи, которые отлично решает дешёвый Haiku.
Сложная задача / принять решение → Opus Написать код / рефакторинг / статья → Sonnet (по умолчанию) Поиск / суммаризация / простой ответ → Haiku
Foreground или background
Субагент может работать в двух режимах. Foreground — главный агент ждёт пока субагент закончит, только потом продолжает. Это нужно когда результат одного шага нужен для следующего.
Background — субагент работает параллельно, главный агент не ждёт и занимается другими задачами. Это для независимых задач, которые можно делать одновременно.
На практике Claude Code разбирается с этим сам, исходя из твоих инструкций. Просто описываешь что нужно сделать — он решает как лучше организовать процесс:
"Запусти три агента параллельно: - Один ищет конкурентов в этой нише - Второй анализирует наш сайт - Третий пишет черновик статьи Жди всех трёх, потом соберём результаты."
Оркестрация через CLAUDE.md
Можно прописать в CLAUDE.md когда и какого агента вызывать. Тогда Claude сам будет выбирать нужного агента под тип задачи — без лишних объяснений:
## Агенты и когда использовать Если задача = исследование → агент researcher Если задача = написание кода → агент code-writer Если задача = проверка результата → агент reviewer Для комплексных задач: сначала researcher, потом code-writer, потом reviewer.
Это особенно удобно для повторяющихся рабочих процессов. Один раз описал логику — и не думаешь об этом каждый раз заново.
Встроенные субагенты Anthropic
Claude Code поставляется с пятью встроенными субагентами. Запускаются автоматически когда задача подходит, или по явному вызову:
| Агент | Модель | Что делает |
|---|---|---|
Explore |
Haiku | Поиск по кодовой базе: где что определено, кто что использует. Только чтение, не пишет файлы |
Plan |
наследует | Сбор контекста для plan mode перед тем как Claude представит план. Только чтение |
general-purpose |
наследует | Универсальный агент для сложных multi-step задач — и поиск, и действия. Самый часто используемый |
statusline-setup |
Sonnet | Настройка statusline в терминале (запускается через /statusline) |
claude-code-guide |
Haiku | Отвечает на вопросы про сам Claude Code: как что работает, настройки, команды |
Agent Teams — следующий уровень
Обычные субагенты не знают друг о друге — каждый работает в своём изолированном пузыре. Agent Teams — это другой режим, где агенты могут общаться между собой напрямую.
Когда это нужно: сложные исследовательские задачи, где важно рассмотреть тему с нескольких сторон — один агент ищет аргументы за, другой против, третий синтезирует. Или сценарии ревью, где один агент пишет, другой критикует.
Agent Teams выключены по умолчанию. Чтобы включить — нужна переменная окружения CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 и Claude Code версии 2.1.32+. Без этого функция не работает.
Также жрёт много токенов и времени. Для стандартных задач — субагенты без общения между собой. Agent Teams рассматривай только когда тебе действительно нужны несколько независимых точек зрения на одну задачу.
Субагенты — это способ делать несколько вещей параллельно, не засоряя основной контекст. Создаёшь .claude/agents/ с описаниями, выбираешь модель под задачу, прописываешь логику в CLAUDE.md — и твой проект начинает работать как слаженная команда, а не один человек в очереди.