Субагенты: запустить помощников

Представь, что ты менеджер. Есть задача которую можно разбить на части и раздать трём людям одновременно — вместо того чтобы делать всё самому по очереди. Claude Code работает точно так же через субагентов.

Один главный агент принимает задачу, разбивает её и запускает несколько помощников. Пока ты занимаешься другим — они работают. Потом собирает результаты.

Если запутался в слове «агент»

Слово «агент» перегружено — им называют скилл, команду, субагент и бот для клиентов. Это четыре разные вещи. Если впервые сталкиваешься — сначала глянь статью 12 про виды агентов, там карта на одну страницу. Потом возвращайся сюда — здесь конкретно про субагентов как фичу Claude Code.

Что такое субагент

Главный агент (оркестратор) создаёт субагентов — отдельные изолированные разговоры. У каждого субагента чистый контекст, конкретная задача, и он не знает что делают другие.

Это решает сразу две проблемы. Первая — скорость: несколько задач идут параллельно, не по очереди. Вторая — качество: каждый агент сфокусирован на своём, не отвлекается на чужой контекст.

Аналогия

Оркестратор = дирижёр. Субагенты = музыканты. Каждый играет свою партию, дирижёр слушает всех и собирает симфонию.

Папка .claude/agents/

Каждый субагент — это markdown-файл в папке .claude/agents/. Создаёшь файл, описываешь агента — он готов к работе.

▸ Структура папки
project/
  .claude/
    agents/
      researcher.md     ← агент для исследований
      code-writer.md    ← агент для написания кода
      reviewer.md       ← агент для проверки

Внутри каждого файла — два блока: шапка с метаданными и системный промпт. Вот как выглядит файл агента-исследователя:

▸ .claude/agents/researcher.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.

O
Opus — Планирование
Самый умный, медленный, дорогой. Для архитектурных решений, сложного анализа, задач где важна глубина мышления.
S
Sonnet — Код и контент
Баланс скорости и качества. Рабочая лошадка. 90% задач — сюда. Пишет код, рефакторит, создаёт контент.
H
Haiku — Поиск и мелкие задачи
Быстрый и дешёвый. Для поиска, сортировки, кратких ответов, задач с большим объёмом данных.
▸ Правило выбора модели
Сложная задача / принять решение → Opus
Написать код / рефакторинг / статья → Sonnet (по умолчанию)
Поиск / суммаризация / простой ответ → Haiku

Foreground или background

Субагент может работать в двух режимах. Foreground — главный агент ждёт пока субагент закончит, только потом продолжает. Это нужно когда результат одного шага нужен для следующего.

Background — субагент работает параллельно, главный агент не ждёт и занимается другими задачами. Это для независимых задач, которые можно делать одновременно.

На практике Claude Code разбирается с этим сам, исходя из твоих инструкций. Просто описываешь что нужно сделать — он решает как лучше организовать процесс:

▸ Пример инструкции оркестратору
"Запусти три агента параллельно:
 - Один ищет конкурентов в этой нише
 - Второй анализирует наш сайт
 - Третий пишет черновик статьи
 Жди всех трёх, потом соберём результаты."

Оркестрация через CLAUDE.md

Можно прописать в CLAUDE.md когда и какого агента вызывать. Тогда Claude сам будет выбирать нужного агента под тип задачи — без лишних объяснений:

▸ Добавить в CLAUDE.md
## Агенты и когда использовать

Если задача = исследование → агент 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 — и твой проект начинает работать как слаженная команда, а не один человек в очереди.