Когда применять subagent
Критерии: контекст, изоляция, параллель. Типовые шаблоны вызова и анти-кейсы.
Реши, нужен ли subagent для задачи {{task}}. Если да — выбери шаблон.
1. Три критерия в одну сторону
Subagent имеет смысл, когда минимум 2 из 3 выполнены:
| Критерий | Что означает |
|---|---|
| Контекст | Задача требует прочитать много (10+ файлов, длинные логи), и этот контекст не нужен главному после ответа |
| Изоляция | Промежуточные размышления не должны загрязнять основной диалог (поиск, разведка, перебор гипотез) |
| Параллель | Есть 2+ независимых ветки, которые можно запустить одновременно |
Если выполнен только один — обычно дешевле сделать главному агенту самому.
2. Когда subagent противопоказан
- Задача в один tool call (
Readфайла,Bashкоманда) - Нужен короткий ответ "да/нет"
- Subagent должен записать что-то в общий файл — будет конфликт с другими
- Нужно интерактивно уточнять у пользователя — subagent не видит чат
- Дешевле и быстрее главному вызвать инструмент напрямую
3. Типовые шаблоны
A. Recon (разведка)
Задача: "найди где в репо определяется X" / "какие компоненты используют Y".
- Вход: запрос + корневая папка
- Subagent делает кучу
Grep/Read, возвращает 5-15 файлов с цитатами - Изоляция: главному не нужны все промежуточные grep'ы
B. Парallel-investigation
Задача: "проанализируй 3 независимые гипотезы багa".
- 3 subagent'а в параллель, каждому одна гипотеза + контекст
- Каждый возвращает: подтверждена / опровергнута / неясно + evidence
- Главный мержит и решает
C. Long-running build/test
Задача: запустить тесты / собрать проект.
- Subagent запускает, ждёт, ловит ошибки, возвращает summary
- Главный продолжает работать, пока ждёт
D. Spec-driven specialist
Задача: применить узкий навык (security-review, design-review).
- Specialist-агент с собственным системным промтом и tools
- Возвращает структурированный отчёт по фиксированной форме
E. Lookup в большом источнике
Задача: ответ есть в большом доке / API, главному не нужен весь док.
- Subagent читает, возвращает выжимку с цитатами
- Главный использует выжимку, не загружая всё себе
4. Шаблон вызова
Agent: <role>
Goal: <single sentence>
Inputs:
- <data 1>
- <data 2>
Constraints:
- не редактируй файлы
- не выходи за scope X
Return format:
## Summary (≤ 50 слов)
## Findings
## Open questions
## Confidence: low | medium | high
Если шаблон длиннее 30 строк — задача слишком большая, разбей.
5. Чек перед запуском
- Объяснил subagent'у что делать и что вернуть
- Дал минимально необходимый контекст (не больше)
- Указал что не делать (write/edit, выход за scope)
- Зафиксировал формат возврата
- Знаю, что буду делать с его ответом
Если хоть на один "нет" — не запускай.
6. Анти-кейсы
- "Запусти subagent на всё подряд" — главный быстрее
- Цепочка subagent → subagent → subagent: каждый теряет контекст предыдущего
- Subagent для one-shot бага: оверкилл
- Subagent без формата возврата: получаешь эссе, парсишь его глазами
- Делегирование решения: subagent не должен решать "продолжать ли" — это работа главного
На выходе
- Решение: subagent или нет, с обоснованием по 3 критериям
- Если да — шаблон с заполненными полями
Создать специализированного агента
Определить роль, инструменты, границы и системный промт нового агента для Claude Code.
Шаблон системного промта агента
Готовая структура: роль, контекст, инструменты, алгоритм, формат, anti-patterns.
Декомпозиция задачи на агентов
Разбить большую задачу на параллельных независимых агентов с чёткими интерфейсами.