Два предыдущих поста были разогревом к моей оде самой главной фиче кодинговых агентов 2025 (помимо того факта что они вообще появились в этом году) – субагентам.
Итак, мы разобрались в том, что, для того чтобы эффективно использовать агентов для кодинга, нужно бережно обращаться с контекстом. Для каждой подзадачки создавать отдельную сессию, результаты которой собирать текстовыми файликами в основную сессию. Как бы было круто если бы и это агенты могли делать сами, да?
Вот тут то нам и помогают субагенты. Я люблю о них думать как о функциях в коде – элементах абстракции, которые надо вызвать, чтобы получить какой-то результат, не загружая основной контекст текущей задачи какими-то подробностями. Точно также основной агент может вызвать субагента чтобы получить результат, не потратив контекст основной задачи.
Как правильно использовать субагентов? Можно нагуглить множество репозиториев типа https://github.com/VoltAgent/awesome-claude-code-subagents чтобы посмотреть как делать НЕ НАДО. Субагенты – не "виртуальная команда" и не надо перечислять ключевые слова из собеседования на позицию миддл фронтендера, чтобы получить "виртуального фронтенд-инженера". Правила кодинга должны лежать отдельно от описания агента – либо в документации, либо в skills.
Как же тогда делать правильно? Правильно дифференциировать агентов по набору доступных им инструментов и используемой модели. Например, сделать research субагента с подключёнными к нему MCP для поиска по документации и гитхабу. Или small субагента с claude haiku для решения простых задач, требующих большого количества контекста без принятия решений: дебаг сборки, поиск нужных файлов в проекте.
Ещё хорошие идеи для субагентов:
- second_opinion: агент с альтернативной моделью для ревью планов и отчэтов о работе. Например, мне не нравится скорость chatgpt-5, но она неплохо подсвечивает проблемы, которые проглядели модели от claude
- internal_docs: агент, который ищет по внутреней документации. Если есть ограничения по nda, можно натравить локальную модель
- manual_qa: агент с дешевой моделью и тулом для доступа к браузеру/эмулятору, который может прокликать сценарий чтобы проверить что код работает
Но вообще, прежде чем выделять каких-то специализированных субагентов, просто напиши
use subagents to complete these tasks. Обычно простого вызова изкоробочного субагента общего назначения более чем достаточно для решения задачи.