Используем субагентов правильно
Вы уже умеете создавать субагентов и писать для них инструкции. Осталось самое трудное — понять, когда их вообще стоит звать. В этом уроке — критерии «да» и «нет», четыре типичные ошибки и три схемы, которые в агентстве работают стабильно.
Когда делегировать
Документация Claude Code называет три ситуации, и они хорошо совпадают с практикой.
Задача порождает много вывода, который вам не нужен. Поиск по кодовой базе, чтение логов, анализ зависимостей, сравнение нескольких реализаций. Результат нужен, промежуточные сотни строк — нет. Это самый частый и самый выгодный случай.
Нужны особые ограничения на инструменты. Ревью, которое не должно ничего менять. Запросы к базе, где разрешено только чтение. Проверка, которую должен делать «независимый» экземпляр без соблазна починить по дороге.
Работа самодостаточна и сводится к отчёту. Если задачу можно описать одним сообщением, а результат — одним ответом, это идеальный кандидат. «Найди все места, где мы вызываем устаревший метод, и верни список» — да. «Давай вместе подумаем, как перестроить модуль» — нет.
К этому добавляется четвёртый случай из практики: несколько независимых исследований. Аналитик хочет узнать, как три сервиса-аналога устроили экспорт данных. Три субагента параллельно, потом сводка. В основном разговоре вы делали бы это последовательно и втрое дольше.
Когда не делегировать
Здесь документация тоже конкретна, и с ней стоит согласиться.
Нужен диалог и итерации. Субагент не задаёт вопросов и не уточняет. Если задача требует «покажи — поправлю — покажи ещё раз», делайте её в основном разговоре.
Несколько этапов делят общий контекст. Планирование, реализация и тестирование одной фичи связаны сотней мелких решений. Субагент, которому поручили «напиши тесты», не знает, почему вы час назад выбрали именно такую структуру данных. Он напишет тесты под то, что увидел, а не под то, что задумано.
Быстрая точечная правка. Поменять текст кнопки, поправить опечатку в конфиге. Субагент стартует с нуля, читает CLAUDE.md, ориентируется в проекте — это дольше, чем сделать самому.
Важна задержка. Субагент, который не является форком, начинает с чистого листа и тратит время на сбор контекста. Если ответ нужен сейчас, делегирование только замедлит.
Общее правило: субагент — это сотрудник, которого вы вызвали из другого отдела. Ему нужно объяснить задачу, он поработает и принесёт отчёт. Для задач на пять минут это не окупается.
Четыре типичные ошибки
Субагент на всё подряд. После первого удачного опыта хочется делегировать каждую мелочь. В результате основной разговор превращается в диспетчера, который ничего не делает сам, а каждое действие занимает втрое больше времени. Делегируйте, когда есть одна из причин выше, а не «на всякий случай».
Цепочки из десяти агентов. «Первый собирает требования, второй пишет план, третий реализует, четвёртый тестирует, пятый пишет документацию…» На каждом звене теряется контекст: следующий агент видит только отчёт предыдущего, а не его понимание. Ошибки накапливаются, и к пятому звену никто уже не помнит, что просил человек. Claude Code по умолчанию ограничивает вложенность субагентов тремя уровнями, но и три — много. Хорошая схема плоская: основной разговор раздаёт задачи и собирает результаты, а не строит конвейер.
Расплывчатое задание. «Посмотри, что там с оплатой». Субагент не видел вашего разговора и не знает, что «там» и что «с оплатой». Хорошее задание — как хорошая задача в трекере: что проверить, где, какой результат нужен. Claude обычно формулирует задание сам, но качество зависит от вашей просьбы: чем точнее вы сказали, тем точнее он передаст.
Слепое доверие отчёту. Пример из нашей практики. Агент разбирал папку с фотографиями заказчика и вернул описание: «ТВ-зона с рифлёной тумбой и реечной панелью». По этому описанию создали проект и опубликовали. На всех трёх фото была кухня: вытяжка, варочная панель, фартук. Описание было выдумано от начала до конца. Отчёт субагента — это утверждение, а не факт. Всё, что уходит клиенту или в код, надо проверить глазами, и чем меньше данных было у агента, тем внимательнее.
Три рабочие схемы
Веер исследований и сводка. Основной разговор запускает несколько субагентов с однотипными заданиями — по одному на сервис, модуль или конкурента. Каждый возвращает отчёт по одному шаблону. Основной разговор сводит их в таблицу. Работает для анализа, аудитов, сравнения библиотек.
Ревьюер после реализации. Вы делаете задачу в основном разговоре с полным контекстом. Когда закончили — запускаете субагента-ревьюера с правами только на чтение. Он смотрит на результат свежими глазами, без вашей истории и без ваших оправданий «так было проще». Именно для этого в описании ревьюера пишут «use proactively, когда пользователь закончил задачу».
Фоновая работа. Субагент запускается в фоне, а вы продолжаете диалог. Тестировщик просит собрать список всех эндпоинтов без тестов, а сам в это время обсуждает с Claude сценарий для нового экрана. Когда фоновый субагент закончит, Claude сообщит. Запросы на разрешения от фонового субагента всплывают в основном разговоре — вы их подтверждаете или отклоняете, не прерывая его работу.
Есть и полезная мелочь: субагента можно продолжить. Он возвращает идентификатор, и если отчёт неполный, Claude может отправить ему сообщение — субагент помнит всю свою историю и подхватит с того места, где остановился. Это дешевле, чем запускать нового и заново объяснять задачу. Встроенные Explore и Plan так не умеют — они одноразовые.
Про стоимость
Каждый субагент — отдельный экземпляр модели. Он заново читает CLAUDE.md, ориентируется в проекте, тратит токены на свой контекст. Пять субагентов на простую задачу стоят дороже, чем один основной разговор, и дольше. Экономия наступает, когда субагент избавляет основной контекст от объёма, который иначе тянулся бы через всю сессию, или когда параллельность реально сокращает время. Если ни того ни другого нет — делегирование чистый расход.
Попробуйте сами
10–15 мин на рабочем месте- Возьмите задачу с несколькими независимыми частями (например, «как в трёх наших проектах реализована авторизация?») и попросите Claude Code разобрать её параллельно субагентами. Сравните время и качество сводки с тем, что получилось бы последовательно.
- Сделайте небольшую фичу в основном разговоре, а затем запустите ревьюера из прошлого урока. Найдите в его отчёте хотя бы одно замечание, которое вы бы сами пропустили, — и хотя бы одно, которое неверно.
- Найдите в своей практике случай, когда вы делегировали задачу, требующую диалога. Как выглядел бы тот же результат, если бы вы сделали её в основном разговоре?
Коротко
- Делегируйте, когда много ненужного вывода, нужны ограничения инструментов, задача самодостаточна или исследований несколько.
- Не делегируйте, когда нужен диалог, этапы делят общий контекст, правка точечная или важна скорость.
- Ошибки: субагент на всё, длинные цепочки, расплывчатое задание, слепое доверие отчёту.
- Схемы: веер исследований со сводкой, ревьюер после реализации, фоновая работа.
- Субагента можно продолжить по идентификатору — это дешевле нового запуска.
- Субагент стоит токенов и времени; выгода есть только там, где он экономит контекст или время.
Видеоверсия
Сценарий озвучки · 486 слов, ≈ 4 мин
Вы уже умеете создавать субагентов и писать для них инструкции. Осталось самое трудное: понять, когда их вообще стоит звать. Потому что субагент — не универсальный ответ.
Начнём с того, когда делегировать. Первый случай — задача порождает много вывода, который вам не нужен: поиск по коду, чтение логов, сравнение реализаций. Результат нужен, промежуточные сотни строк — нет. Это самый частый и самый выгодный случай. Второй — нужны особые ограничения: ревью, которое не должно ничего менять, или запросы к базе только на чтение. Третий — работа самодостаточна: её можно описать одним сообщением, а результат уместить в один ответ. И четвёртый из практики — несколько независимых исследований, которые можно запустить параллельно.
Теперь когда не делегировать. Если нужен диалог: субагент не задаёт вопросов и не уточняет. Если несколько этапов делят общий контекст: планирование, реализация и тесты одной фичи связаны сотней мелких решений, и субагент, которому поручили «напиши тесты», не знает, почему вы час назад выбрали именно такую структуру. Если правка точечная: поменять текст кнопки быстрее самому, чем объяснять. И если важна скорость: субагент стартует с нуля и тратит время на сбор контекста.
Общее правило такое. Субагент — это сотрудник из другого отдела. Ему нужно объяснить задачу, он поработает и принесёт отчёт. Для дел на пять минут это не окупается.
Четыре типичные ошибки. Первая — субагент на всё подряд: основной разговор превращается в диспетчера, а каждое действие занимает втрое дольше. Вторая — цепочки из десяти агентов: первый собирает требования, второй планирует, третий реализует, четвёртый тестирует. На каждом звене теряется контекст, ошибки накапливаются, и к пятому звену никто не помнит, чего хотел человек. Хорошая схема плоская: основной разговор раздаёт задачи и собирает результаты.
Третья ошибка — расплывчатое задание вроде «посмотри, что там с оплатой». Субагент не видел вашего разговора и не знает, что «там». Хорошее задание — как хорошая задача в трекере: что проверить, где, какой результат нужен.
И четвёртая, самая опасная — слепое доверие отчёту. Расскажу случай из нашей практики. Агент разбирал папку с фотографиями заказчика и вернул описание: «телевизионная зона с рифлёной тумбой». По нему создали проект и опубликовали. На всех трёх фото была кухня: вытяжка, варочная панель, фартук. Описание было выдумано целиком. Отчёт субагента — это утверждение, а не факт. Всё, что уходит клиенту или в код, проверяйте глазами.
Три схемы, которые работают стабильно. Веер исследований: несколько субагентов с однотипными заданиями, каждый возвращает отчёт по одному шаблону, основной разговор сводит их в таблицу. Ревьюер после реализации: вы делаете задачу с полным контекстом, а потом независимый экземпляр с правами только на чтение смотрит на результат свежими глазами. И фоновая работа: субагент трудится, а вы продолжаете диалог; когда закончит, Claude сообщит.
Полезная мелочь: субагента можно продолжить. Он возвращает идентификатор, и если отчёт неполный, Claude отправит ему сообщение — субагент помнит свою историю и подхватит с того места, где остановился. Это дешевле, чем запускать нового.
И про стоимость. Каждый субагент — отдельный экземпляр модели. Он заново читает клод-эм-дэ, ориентируется в проекте, тратит токены. Выгода наступает, когда он избавляет основной контекст от балласта или когда параллельность реально экономит время. Если ни того ни другого нет — это чистый расход.
