TL;DR
Если главный агент (Claude Code, Cursor, Codex) умеет раздавать подзадачи субагентам, это не даёт выигрыша автоматически. Субагент работает в отдельном «окне» контекста, а главному возвращает короткую сводку. Исследование проверило, насколько разумно агенты делегируют и что это даёт по качеству, скорости и деньгам. Лучше всего сработали узкоспециализированные субагенты (по предметной области) вместо универсальных «исследователь / программист».
Боль в том, что агент делегирует либо слишком мало, либо слишком много. С универсальными субагентами он стесняется делегировать: больше половины задач, где помощь была нужна, он решает один и забивает себе контекст. Если обязать его сначала звать планировщика, он начинает делегировать даже простые задачи, и деньги уходят в пустоту. Одна из топовых моделей запускала субагентов почти на каждую задачу, и выигрыша не было. Причина в том, что у модели нет внутреннего счётчика «а стоит ли?». Её поведение задаёт инструкция.
Суть вывода: описывай субагентов узко и по предметной области, не навязывай обязательное планирование и явно задавай, когда делегировать, а когда нет. Даже при идеальном делегировании субагенты в тесте покупали скорость, но не качество, и платить за это приходилось деньгами.
Схема метода
Это находка о конфигурации агента, а не пошаговая техника. Рабочая схема из выводов:
СЛОЙ 1: Главный агент (инструкция) → правила «когда делегировать / когда нет» + примеры
СЛОЙ 2: Субагенты → узкие роли по предметной области
• разведка (только чтение): литература, данные компании, финрынок, веб
• изменения (с правом записи): внешние системы, отчёты/документы
СЛОЙ 3: Планировщик → отдельный субагент, но НЕ обязательный первым шагом
СЛОЙ 4: Субагент → возвращает короткую сводку, не вызывает «завершение задачи»
Всё это настраивается текстом: системный промпт, файл инструкций, описания субагентов.
Пример применения
Задача: Вы руководите маркетингом интернет-магазина зернового кофе. Каждую пятницу нужен разбор: цены и отзывы конкурентов на Ozon и Wildberries, позиции в выдаче и готовый отчёт на одну страницу. Работа идёт в Claude Code с подключёнными источниками. Простые вопросы вроде «переименуй файл» или «поправь одну цифру» агент должен делать сам.
Промпт (фрагмент для CLAUDE.md):
## Делегирование субагентам
Когда делегировать:
- Подзадача требует прочитать много материала (отзывы, карточки, выгрузки),
а мне нужна только сводка.
- Есть 2+ независимые подзадачи, которые можно делать одновременно
(например, Ozon и Wildberries).
Когда НЕ делегировать (делай сам):
- Правка одного файла или одной цифры.
- Ответ на вопрос по уже загруженным данным.
- Задача решается за 1-3 вызова инструментов.
Субагенты (используй только эти, других не создавай):
- Marketplace-Researcher (только чтение): собирает карточки, цены, отзывы
конкурентов на Ozon и Wildberries. Возвращает сводку до 300 слов.
- Pricing-Analyst (только чтение): сравнивает цены и динамику по выгрузке.
Возвращает таблицу и 3 вывода.
- Report-Builder (запись): собирает итоговый отчёт на 1 страницу из сводок.
Правила для субагентов:
- Работают только в своей папке.
- Возвращают краткую сводку, а не сырые данные.
- Сами задачу не закрывают. Завершаю только я.
Примеры:
- «Разбери 5 конкурентов на двух площадках» → два Marketplace-Researcher
параллельно (Ozon и WB), затем Pricing-Analyst, затем Report-Builder.
- «Какая у нас средняя цена в выгрузке?» → отвечаю сам, без субагентов.
Результат: На большой задаче агент запустит двух исследователей параллельно, потом аналитика и составителя отчёта. Главный контекст останется чистым, потому что сырые отзывы остаются у субагентов. На мелких вопросах агент ответит сам, без запуска субагентов. Это нужно проверять на своих задачах: в исследовании поведение сильно зависело от модели.
Почему это работает
Слабость: у агента нет встроенного чувства меры. Без явных правил модели уходят в крайности. Одни недоделегируют: со слабоописанными универсальными субагентами агент не понимает, что и кому передать. Другие переделегируют: после обязательного «сначала спланируй» план превращается в ритуал, и каждая мелочь уходит субагенту.
Сильная сторона: модель хорошо следует чёткой роли с понятными границами. Если субагент называется Marketplace-Researcher и у него один тип работы, главному агенту очевидно, когда он нужен. Универсальный «Explorer» ничего не подсказывает.
Что получается: узкие роли превращают размытое «может, делегировать?» в простой выбор. Явные правила «когда не делегировать» подрезают лишнее. А разведка идёт в изоляции, и главный контекст не забивается.
Рычаги управления: - Критерии делегирования («только если много чтения или есть параллельные части») → строже: меньше трат, мягче: больше помощи. - Права субагентов (только чтение / запись) → чем уже права, тем безопаснее. - Примеры «делегируй / не делегируй» → калибруют склонность модели. Это особенно важно для моделей, которые делегируют по любому поводу. - Лимит длины сводки → защищает контекст главного агента. - Состав субагентов → убери те, что перекрываются по смыслу.
Шаблон промпта
Сами тексты промптов авторов в основной части статьи не приведены (они в приложении). По описанию, главный агент получал нормы делегирования, профили субагентов и несколько примеров. Шаблон ниже собран по этой структуре.
## Правила делегирования
Делегируй, если:
- {условие_1: например, нужно прочитать много материала, а нужна только сводка}
- {условие_2: например, есть независимые подзадачи, которые можно делать параллельно}
Не делегируй, если:
- {условие_3: например, задача решается за 1-3 шага}
- {условие_4: например, ответ уже есть в загруженных данных}
## Доступные субагенты (других не создавай)
- {Имя_1} ({только чтение / запись}): {узкая область работы}.
Возвращает: {формат сводки, лимит длины}.
- {Имя_2} ({только чтение / запись}): {узкая область работы}.
Возвращает: {формат сводки, лимит длины}.
- {Имя_3} ({только чтение / запись}): {узкая область работы}.
Возвращает: {формат сводки, лимит длины}.
## Правила для субагентов
- Работают только в {своей_папке/области}.
- Возвращают краткую сводку, а не сырые данные.
- Не завершают общую задачу. Завершает главный агент.
## Примеры
- «{пример_большой_задачи}» → {кого и в каком порядке запускать}.
- «{пример_маленькой_задачи}» → делаю сам, без субагентов.
Что подставлять: условия делегирования берите из своих болей (где контекст раздувается, где есть независимые части). Субагентов называйте по предметной области, а не по действию («Исследователь-конкурентов», а не «Explorer»). Примеры берите из реальных задач.
🚀 Быстрый старт — вставь в чат:
Вот шаблон инструкции для главного агента с субагентами. Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какие у тебя типичные задачи, где контекст раздувается, какие источники и инструменты используются и какие задачи точно простые. Это нужно, чтобы узко очертить роли субагентов и написать честные критерии «делегировать / не делегировать». Паттерн она возьмёт из шаблона.
Ограничения
⚠️ Делегирование не повышает качество само по себе: даже при почти идеальном делегировании итоговый успех оказался на уровне одиночного агента. Субагенты дали скорость, но не точность, и стоили дороже.
⚠️ Дорого: для большинства моделей делегирование увеличивает расходы. Для закрытых моделей в тесте оно сопровождалось и ростом затрат, и ухудшением результата.
⚠️ Зависит от модели: модели сильно различаются по склонности делегировать. Одни делегируют почти всё, другие стесняются. Инструкцию придётся калибровать под свою модель.
⚠️ Узкий стенд: все эксперименты шли в одном агентном фреймворке на задачах с MCP-инструментами (учебные системы, склады данных, e-commerce, биржа, видео, ж/д, наука, общепит). Перенос на ваши задачи (код, тексты) не проверен.
⚠️ Выводы про варианты промптов получены на одной модели: сравнение «общие / специализированные / планировщик первым» шло на одной недорогой модели. Для других оно может отличаться.
⚠️ Нет готовых промптов: текст инструкций авторов в основной части не приведён, шаблон выше реконструкция по описанию.
Как исследовали
Авторы взяли 166 рабочих задач из окружения Toolathlon-Gym: восемь сфер, длинные цепочки с реальными инструментами. На каждую задачу они сами разметили эталон: нужно ли делегировать, какими субагентами и в каком порядке. В итоге получилось 89 задач, где помощь нужна, и 77, где агент справляется один.
Сравнивали одиночного агента с четырьмя вариантами делегирования: общие субагенты, специализированные, обязательный планировщик первым и «оракул» (агенту прямо подсказали идеальный план). Мерили три вещи. Первая: делегирует ли агент вовремя, то есть пропуски и лишние запуски. Вторая: совпадают ли запущенные субагенты с эталоном. Третья: что это даёт по успеху, шагам и деньгам, по сравнению с одиночным агентом. Всё свели в индекс MSQ.
Результаты оказались неожиданными. Оракул с почти идеальным делегированием не повысил успех, только скорость. Значит, главная польза субагентов в параллельности и разгрузке контекста, а не в «умности». Обязательный планировщик не помог, а ухудшил: он вызвал массовое делегирование там, где оно не нужно. Из восьми моделей топ-шесть оказались открытыми, а две закрытые флагманские оказались внизу. Одна запускала субагентов почти на каждую задачу, и все показатели у неё ушли ниже паритета. Практический вывод: не перекладывайте решение «делегировать ли» на модель, а задавайте его правилами и узкими ролями.
Адаптации и экстраполяции
🔧 Техника: убрать «планировщик первым» → меньше лишних запусков
Вместо обязательного шага планирования напиши: «Планируй сам, кратко. Субагента-планировщика зови, только если подзадач больше трёх». Статья показала, что обязательный планировщик раздувает делегирование. Мягкое условие этот эффект должно снимать, но авторы такой вариант не проверяли.
🔧 Техника: добавить блок самопроверки перед запуском субагента → меньше пустых запусков
Перед запуском субагента ответь в одну строку: 1) Много ли материала читать? 2) Есть ли параллельные части? Если оба «нет» — делай сам.Это моя достройка на основе выводов о недо- и переделегировании. В статье она не проверена.
Экстраполяция: аудит своих субагентов. Вставьте в чат список своих субагентов и спросите:
Вот описания моих субагентов: {список}. Найди перекрытия по смыслу,
слишком общие роли и субагентов без чёткого условия запуска.
Предложи, как сузить роли по предметной области и что объединить.
Ресурсы
- MS-Eval: Benchmarking Sub-Agent Delegation and Orchestration in MCP-Intensive Working Scenarios (препринт)
- Код: https://github.com/LINs-lab/MS-Eval
- Авторы: Bowen Ding, Qixin Wang, Lexing Yuan, Weiyi Lu, Qiwei Ge, Ruishan Fang, Tao Lin
- Организации: Zhejiang University, Westlake University (School of Engineering; Institute of Advanced Technology, Westlake Institute for Advanced Study)
- Основа бенчмарка: Toolathlon-Gym; фреймворк для запусков: Kimi-Code
