Вики · Веер делегирования
Тени
Субагент — тень основной сессии: он работает в собственном контекстном окне со своим системным промптом, своим набором инструментов и своими правами. Отсюда и польза, и все ограничения.
Что уходит наружу и что возвращается
При старте субагент получает: собственный системный промпт (тело его markdown-файла), задачу, которую написал ему агент, файлы CLAUDE.md всех уровней, снимок состояния git, предзагруженные скиллы и список соседних агентов сессии. Встроенные Explore и Plan пропускают CLAUDE.md и снимок git ради скорости.
Не получает: историю вашего разговора, стиль вывода и автопамять. Единственное исключение — форк, который наследует беседу родителя.
Возвращается только финальный текст плюс небольшой метаданный хвост со счётчиками. Цифры из документации показывают масштаб выигрыша: субагент прочитал 6100 токенов файлов, вам вернулось 420. Это не оптимизация на проценты — это другой порядок расхода котла (Котёл).
Отсюда два вывода, которые надо принять сразу. Первый: субагенту нужно давать самодостаточное задание, он не знает, о чём вы говорили. Второй: результат стоит требовать в структурированном виде — если вернётся эссе, разбирать его придётся вам.
Где живут описания
| Расположение | Область |
|---|---|
| Управляемые настройки | вся организация (высший приоритет) |
Флаг --agents с JSON | текущая сессия |
.claude/agents/ | проект, коммитится в репозиторий |
~/.claude/agents/ | все ваши проекты |
agents/ внутри плагина | там, где плагин включён |
Поля описания
Обязательны два: name (строчные буквы и дефисы) и description — по нему агент решает, кому делегировать.
---
name: code-reviewer
description: Проверяет дифф на корректность и безопасность
tools: Read, Grep, Glob, Bash
model: sonnet
memory: project
---
Ты старший инженер. Проверь изменения и верни список находок...Полезные необязательные: tools (белый список) и disallowedTools (чёрный), model (включая inherit), permissionMode, maxTurns, skills (предзагрузка), mcpServers, hooks, memory, effort, background, isolation: worktree, initialPrompt.
Урезание прав — не формальность, а способ сделать результат предсказуемым. Исследовательскому субагенту хватает Read, Grep, Glob; с таким набором он физически не может «заодно поправить» файл (Круг дозволенного).
Как вызвать
- обычной фразой: «используй субагента, чтобы исследовать X» — агент решит сам;
- гарантированно:
@agent-code-reviewerили выбор из подсказки по@; - на всю сессию:
claude --agent code-reviewerили ключagentв настройках; - форк текущего разговора:
/subtask <задача>— тень получает всю историю, инструменты и права родителя, а прогретый кэш делает её дешевле.
Встроенные: Explore (только чтение, быстрый поиск по коду), Plan (только чтение, исследование под план), general-purpose (всё доступное). Explore и Plan одноразовые: их нельзя продолжить.
Ограничители
Глубина вложенности по умолчанию 3, одновременных субагентов — 20; оба меняются переменными CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH и CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS. Конкретного субагента можно выключить запрещающим правилом Agent(Explore).
Фоновый субагент работает с урезанным набором инструментов. Если ваши шаги зависят от инструмента вне этого набора, форкнутому скиллу нужен background: false (Устройство артефакта).
Чего субагенты не делают
- Не откатываются. Правки субагента обычно не попадают в чекпойнты сессии, и
/rewindих не вернёт — только git. Исключение: форкнутый скилл, запущенный на переднем плане (Долгая сессия и точки возврата). - Не выходят за пределы сессии. Субагент живёт внутри той сессии, что его породила. Чтобы обмениваться находками между вашими собственными сессиями, нужен другой механизм.
- Не изолируют файлы. Два субагента, правящих один каталог, конфликтуют так же, как два человека. Изоляция — отдельная механика: Веер.
Самый частый и самый выгодный сценарий — не «пусть он напишет код», а «пусть он прочитает и вернёт выжимку». Второй по выгодности — проверка чужой работы свежим взглядом: Вторые глаза.
Сверено по
Прокачаться: юниты