Перейти к основному содержимому

Субагенты и параллельные агенты

Продвинутый
What you'll learn
  • Что такое субагент — отдельный экземпляр Claude со своим окном контекста и ограниченным набором инструментов
  • Три причины делегировать: защитить контекст, специализировать и распараллелить
  • Встроенные агенты, которым Claude уже делегирует задачи: Explore, Plan, General-purpose
  • Как определить собственного субагента в .claude/agents/ и почему description и tools — два ключевых поля
  • Когда НЕ стоит распараллеливать и как это связано с API-агентами и рабочими процессами масштаба флота

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

Зачем делегировать

Три задачи, один инструмент. Помните о них всякий раз, когда тянетесь к субагенту:

  • Защитить основной контекст. Глубокое исследование или масштабный обход файлов могут сжечь тысячи токенов; сделайте это в субагенте, и вернётся только вывод.
  • Специализировать. Дайте субагенту настроенный системный промпт и только нужные ему инструменты (например, рецензент только для чтения).
  • Распараллелить. Запускайте независимые подзадачи одновременно — например, исследуйте три модуля параллельно.

Встроенные агенты, которые у вас уже есть

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

ВстроенныйЧто он делает
ExploreБыстрый агент только для чтения (работает на более дешёвой модели) для поиска и понимания кодовой базы без её изменения.
PlanСобирает контекст в режиме планирования, чтобы исследование не попадало в основной разговор, доступный только для чтения.
General-purposeАгент с полным набором инструментов для сложной многошаговой работы, сочетающей исследование и изменения.

Вы редко вызываете их по имени; Claude обращается к ним, когда задача им подходит. Пользовательские субагенты нужны для тех работников, которых вы постоянно пересоздаёте с одними и теми же инструкциями.

Определение собственного

Субагент — это файл Markdown с YAML-frontmatter (тело становится его системным промптом). Обязательны только name и description; всё остальное опционально. Храните его для проекта в .claude/agents/ (закоммитьте в git, чтобы команда им пользовалась) или для пользователя в ~/.claude/agents/. Создайте его командой /agents или вручную.

Guided walkthrough1 of 5
  1. Для проекта в .claude/agents/ (закоммитьте, чтобы команда им пользовалась) или для пользователя в ~/.claude/agents/.

Стартовый субагент code-reviewer:

Субагент code-reviewer (.claude/agents/code-reviewer.md)

---
name: code-reviewer
description: Expert code reviewer. Use proactively after code changes.
tools: Read, Glob, Grep
model: sonnet
---

You are a senior reviewer. Read the changed files, then report only
high-confidence issues: correctness bugs, security risks, and missing
tests. For each, show the file:line, the problem, and a concrete fix.
Do not restate what the code does. Never edit files.

Хорошим субагента делают две вещи:

  • description — это сигнал маршрутизации. Claude читает его, чтобы решить, когда делегировать, поэтому пишите его как триггер — «Use proactively after code changes» подтягивает его автоматически; расплывчатое «helps with code» — нет. Это самая высокорычажная строка в файле.
  • Жёстко ограничивайте инструменты. Поле tools — это белый список (или используйте disallowedTools как чёрный список). Рецензент, который может только Read, Glob, Grep, не сможет случайно отредактировать ваш код — ограничение является гарантией, а не подсказкой. Опустите tools, и субагент унаследует всё, что есть у основной сессии.

Разобранный пример: параллельный веер рецензий

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

Развернуть веером трёх рецензентов одновременно

Review the changes in auth/, billing/, and api/ — use the code-reviewer subagent on each, in parallel.

Claude порождает три экземпляра code-reviewer одновременно. Каждый читает только свой модуль, тратит собственный контекст на содержимое файлов и возвращает короткий список находок. Ваша основная сессия никогда не видит сырых диффов — только три аккуратных отчёта — и всё завершается примерно за время самой медленной отдельной рецензии, а не за сумму всех трёх. Поскольку рецензент работает только на чтение, три агента, работающие одновременно, не могут столкнуться на записи.

Когда НЕ распараллеливать

Watch out
  • Зависимые шаги должны быть последовательными — не разворачивайте веером работу, где шаг B нуждается в выводе шага A.
  • Совместная запись в файлы может конфликтовать; изолируйте её (см. Git Worktrees) или сериализуйте.
  • Накладные расходы на координацию могут превысить выгоду для небольших задач. Делегируйте, когда подзадача весома и независима.

Об изоляции конфликтующих записей см. Git Worktrees.

Субагент против «агентов» API/SDK

Эта страница — про встроенное делегирование Claude Code. Создание собственных агентов программно — это Создание агентов на API. Ментальная модель — цель, цикл инструментов, изолированный контекст — та же самая.

Частые ошибки

Подводные камни — переверните каждую карточку, чтобы увидеть решение
Нажмите Enter или пробел, чтобы перевернуть карточку. Используйте стрелки влево и вправо для перехода между карточками.Показан термин.
1 / 4

Когда нескольких агентов недостаточно

Делегирование горстки субагентов за ход — основа этой страницы. Когда задаче нужны десятки или сотни агентов — обход всей кодовой базы, миграция 500 файлов, исследование с перекрёстной проверкой по множеству источников — оркестрация перерастает одно окно контекста. Для этого существуют Динамические рабочие процессы и ultracode: Claude пишет скрипт, который держит план, а среда выполнения веером запускает агентов в фоне.

Проверьте себя

0/3
  1. Какое поле в frontmatter субагента является сигналом маршрутизации, который Claude читает, чтобы решить, КОГДА делегировать?
  2. Субагенту-рецензенту заданы tools: Read, Glob, Grep. Что гарантирует этот белый список?
  3. Когда распараллеливание субагентов НЕ помогает?
Key takeaways
  • Субагент — это отдельный экземпляр Claude со своим окном контекста и ограниченным набором инструментов; он возвращает результат, а не свой транскрипт.
  • Делегируйте, чтобы защитить основной контекст, специализировать или распараллелить независимую работу.
  • Claude уже поставляется со встроенными Explore, Plan и General-purpose и обращается к ним автоматически.
  • name и description — единственные обязательные поля frontmatter, и именно description — сигнал маршрутизации, который решает, когда Claude делегирует.
  • Белый список инструментов превращает намерение в гарантию; разворачивайте веером только независимые подзадачи и изолируйте совместные записи.

Далее