Subagents: изоляция исследований и параллельная работа
Автор: Казачкин Даниил Михайлович · Обновлено
Подагент Claude Code получает собственное окно контекста, выполняет ограниченную задачу и возвращает основному сеансу результат. Это полезно для длинного исследования, независимой проверки и параллельных направлений, которые не должны заполнять основной диалог промежуточными логами.
Когда делегировать
Подагент подходит, если работу можно описать как самостоятельный результат: найти все места использования API, проанализировать угрозы, проверить тестовое покрытие или независимо отревьюить diff. Простую справку, необходимую прямо сейчас, дешевле получить в основном сеансе.
Делегируемая задача должна иметь границы и формат ответа. «Разберись с backend» слишком широко; «найди все записи поля status, укажи транзакционные границы и ничего не меняй» — проверяемо.
Контекст и возврат результата
Подагент не обязан видеть историю основного разговора. Он получает описание задачи и доступный проектный контекст, работает отдельно, а затем возвращает сводку. Именно изоляция предотвращает попадание большого объёма поиска в основное окно.
Если основной агенту нужны доказательства, попросите подагента вернуть пути, строки, команды и нерешённые вопросы, а не только вывод.
Ограничение возможностей
В определении custom subagent можно задавать allowlist tools или disallowedTools, модель, permission mode и MCP-серверы. Исследователю часто достаточно Read, Grep, Glob и безопасного Bash. Агенту review обычно не нужны Edit и Write.
Custom subagents хранятся как Markdown-описания в поддерживаемых директориях конфигурации Claude Code. Не выдавайте подагенту больше прав, чем требует его роль.
Параллелизм без конфликтов
Параллельно хорошо выполнять независимые read-only исследования. Если несколько агентов редактируют одни файлы в одной директории, изменения могут конфликтовать. Для изоляции редактирования применяют Git worktree или настройку subagent isolation, а границы файлов заранее распределяют.
Agent tool и фоновый режим
В актуальной документации инструмент запуска подагентов называется Agent; название Task в старых примерах относится к прежнему имени того же механизма и пока поддерживается как alias.
Подагент может работать в фоне, пока основной сеанс продолжает другую независимую работу. Если его вывод нужен для следующего решения, запросите foreground-выполнение или дождитесь результата до изменения связанных файлов. Foreground-подагент передаёт permission prompts пользователю. Background-подагент использует уже выданные разрешения и автоматически отклоняет вызов инструмента, которому понадобилось бы новое подтверждение; при таком отказе задачу можно повторить в foreground.
Фоновая работа особенно полезна для чтения тестовых логов или независимого поиска. Не отправляйте туда действие, которое должно немедленно получить ввод пользователя или разделяет изменяемые файлы с основным агентом.
Упражнение: независимая проверка
Поручите основному агенту реализовать небольшое изменение, а затем дайте подагенту только review:
> Проверь итоговый diff на логические ошибки, потерю обратной совместимости и отсутствующие тесты. Не редактируй файлы. Для каждого замечания приведи сценарий сбоя и ссылку на строку; отклони неподтверждённые предположения.
Сравните замечания с самооценкой основного сеанса.
Что важно запомнить
- Подагент изолирует контекст, а не просто создаёт ещё один список задач.
- Делегируйте самостоятельный результат с ясными границами.
- Ограничивайте инструменты согласно роли.
- Для параллельного редактирования нужна файловая или worktree-изоляция.
Частые вопросы
Подагент автоматически знает весь разговор?
Нет. Его ценность как раз в отдельном контексте. Передайте все требования, без которых самостоятельный результат невозможен.
Больше подагентов всегда быстрее?
Нет. Делегирование имеет стоимость и требует объединения результатов. Параллелить стоит независимые, достаточно крупные направления.
Можно ли дать подагенту отдельный MCP-сервер?
Да. Определение custom subagent поддерживает scoped MCP servers и ограничения инструментов.