3,583 papers
arXiv:2610.22869 88 16 окт. 2026 г. FREE

MAD-SAE и MS-Eval: делегирование субагентам окупается только при узких специализациях и точном выборе момента

КЛЮЧЕВАЯ СУТЬ
Парадокс: субагенты в тесте дали скорость, но не качество. Итоговая точность осталась на уровне одиночного агента, а счёт вырос. Метод позволяет настроить главного агента так, чтобы он звал помощников только там, где это окупается. Фишка: описывай субагентов узко, по предметной области. Не «исследователь», а «Исследователь-конкурентов на Ozon». Размытое «может, делегировать?» превращается в простой выбор, а контекст главного агента не забивается сырыми отзывами и выгрузками.
Адаптировать под запрос
⚡

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

📋 Дайджест исследования

Ключевая суть

Парадокс: субагенты в тесте дали скорость, но не качество. Итоговая точность осталась на уровне одиночного агента, а счёт вырос. Метод позволяет настроить главного агента так, чтобы он звал помощников только там, где это окупается. Фишка: описывай субагентов узко, по предметной области. Не «исследователь», а «Исследователь-конкурентов на Ozon». Размытое «может, делегировать?» превращается в простой выбор, а контекст главного агента не забивается сырыми отзывами и выгрузками.

Принцип работы

Не «дай агенту универсальных помощников и заставь сначала спланировать». Наоборот: узкие роли плюс явные правила «когда НЕ делегировать». У модели нет внутреннего чувства меры, его задаёт только инструкция. С универсальным «Explorer» агент не понимает, кому что отдать. Он стесняется и тащит всё сам: больше половины задач, где помощь была нужна, решались в одиночку. Обязательный планировщик первым шагом ломает в обратную сторону. План становится ритуалом, и даже мелочь уходит субагенту. Это как начальник, которому не объяснили, кого за что просить. Или которому велели собирать совещание по любому чиху.

Почему работает

Модель хорошо следует чёткой роли с понятными границами. Субагент Marketplace-Researcher делает один тип работы, и главному агенту очевидно, когда он нужен. Узкое имя работает как готовое условие запуска: не надо угадывать, подходит ли помощник. Явные правила «не делегируй, если хватит 1-3 вызовов» подрезают лишнее. Разведка идёт в изоляции, а главному агенту возвращается короткая сводка. Жесть — одна из топовых моделей запускала субагентов почти на каждую задачу. Выигрыша не было. Так что склонность к делегированию надо калибровать под свою модель, а не надеяться на здравый смысл. Рычаги настройки: - Критерии делегирования. Строже — меньше трат, мягче — больше помощи. - Права субагентов (только чтение или запись). Чем уже права, тем безопаснее. - Примеры «делегируй / не делегируй». Они сильнее всего сдвигают поведение моделей, которые делегируют по любому поводу. - Лимит длины сводки. Он бережёт контекст главного агента. - Состав субагентов. Убери тех, что пересекаются по смыслу.

Когда применять

Агентные инструменты (Claude Code, Cursor, Codex) → задачи, где надо прочитать гору материала, а нужна только сводка, особенно когда есть 2+ независимые части, которые можно вести параллельно (например, две торговые площадки сразу). НЕ подходит, если ждёшь рост качества: в тесте итоговая точность не выросла. Не подходит и для мелких задач на 1-3 шага. Для кода и текстов метод не проверяли: тест шёл на задачах с подключёнными инструментами (MCP) вроде магазинов, складов данных и биржи. Выводы про варианты промптов получены на одной недорогой модели.

Мини-рецепт

1. Найди, где раздувается контекст: какие задачи заставляют агента читать десятки страниц ради одной сводки.
2. Напиши два списка: «делегируй, если...» (много чтения, независимые части) и «не делегируй, если...» (правка одной цифры, ответ уже в загруженных данных).
3. Назови субагентов по предметной области: <роль>Исследователь-конкурентов, <роль>Аналитик-цен, <роль>Составитель-отчёта. Без «Explorer» и «Helper».
4. Раздай права: разведчикам только чтение, запись одному составителю.
5. Ограничь сводку: «до 300 слов, без сырых данных».
6. Запрети субагентам закрывать задачу: завершает только главный агент.
7. Добавь 2 примера: один большой, где делегировать, и один мелкий, где «делаю сам».
8. Не ставь планировщика обязательным первым шагом. Пусть будет под рукой, но без принуждения.
9. Проверь на 5-10 своих задачах: считай, сколько раз агент позвал помощников зря. Если часто, ужесточай условия.

Быстрый старт, вставь в чат:
Вот шаблон инструкции для главного агента с субагентами. Адаптируй под мою задачу: [твоя задача]. Задавай вопросы, чтобы заполнить поля. [шаблон]

Примеры

[ПЛОХО] : Используй субагентов: Explorer для исследований, Coder для кода. Сначала всегда вызывай планировщика.
[ХОРОШО] : Делегируй, только если нужно прочитать много отзывов или есть 2+ независимые части. Не делегируй правку одной цифры и ответы по уже загруженным данным. Субагенты (других не создавай): Marketplace-Researcher (только чтение) собирает цены и отзывы конкурентов на Ozon и Wildberries, возвращает сводку до 300 слов. Pricing-Analyst (только чтение) сравнивает цены, возвращает таблицу и 3 вывода. Report-Builder (запись) собирает отчёт на 1 страницу. Задачу закрываю только я. [ХОРОШО, примеры внутри инструкции]: «Разбери 5 конкурентов на двух площадках» → два Marketplace-Researcher параллельно, потом Pricing-Analyst, потом Report-Builder. «Какая у нас средняя цена в выгрузке?» → отвечаю сам, без субагентов.
Источник: MS-Eval: Benchmarking Sub-Agent Delegation and Orchestration in MCP-Intensive Working Scenarios
ArXiv ID: 2610.22869 | Сгенерировано: 2026-10-19 08:50

Проблемы LLM

ПроблемаСутьКак обойти
Агент не чувствует меру в делегировании. Передаёт помощникам либо слишком мало, либо слишком многоУ агента нет внутреннего счётчика «стоит ли делегировать?». Поведение задаёт только инструкция. Два перекоса. Первый: помощники описаны размыто и по действию («исследователь», «программист»). Агент не понимает, что кому отдать. Решает сам и забивает свой контекст. Второй: в инструкции стоит «всегда сначала составь план». План становится ритуалом. Агент отдаёт помощникам даже мелочи, и деньги уходят впустую. Разные модели по-разному склонны к крайностям. Одни делегируют почти всё, другие почти ничегоНе заставляй планировать обязательно. Опиши помощников узко (см. метод ниже). Напиши явные правила «когда делегировать» и «когда делай сам». Добавь по одному-два примера каждого случая. Проверь на своей модели. Если делегирует лишнее, ужесточи критерии и добавь примеры «не делегируй»

Методы

МетодСуть
Узкие роли помощников плюс правила «делегируй / не делегируй» — агент выбирает точноЧто делать. Назови каждого помощника по предметной области, а не по действию. Например, «Аналитик цен конкурентов», а не «Исследователь». Для каждого укажи права (только чтение или запись), формат ответа и лимит длины сводки. Добавь в инструкцию три блока. Делегируй, если: нужно прочитать много материала, а нужна только сводка; есть независимые части, которые можно делать параллельно. Не делегируй, если: задача решается за 1–3 шага; ответ уже есть в загруженных данных. Примеры: одна большая задача с цепочкой помощников и одна мелкая «делаю сам». Добавь строку «используй только этих помощников, других не создавай». Добавь правило «помощник не закрывает общую задачу, её завершает главный агент». Почему работает: узкое имя превращает размытый вопрос «может, делегировать?» в простой выбор: подходит эта роль или нет. Универсальное имя ничего не подсказывает. Правила «не делегируй» срезают лишние запуски. Короткая сводка не даёт сырым данным раздувать главный контекст. Когда да: длинные многоэтапные задачи, много сырого материала, независимые части. Когда нет: короткие задачи на 1–3 шага. Накладные расходы на помощников там не окупаются. Эффект узких ролей подтверждён на одной недорогой модели. Для другой модели проверь отдельно
📖 Простыми словами

MS-Eval: Benchmarking Sub-AgentDelegation and Orchestration in MCP-Intensive Working Scenarios

arXiv: 2610.22869

Раздавать задачи субагентам — модная тема, но сама по себе она не делает систему быстрее или умнее. Главный агент изолирует контекст каждого помощника и ждёт назад лишь краткую выжимку, но у моделей напрочь отсутствует встроенное чувство меры. Без жестких рамок они впадают в крайности: либо тащат весь контекст в одиночку и захлёбываются, либо устраивают бюрократический ад и делегируют субагенту переименование одного файла.

Это как нанять на проект тревожного тимлида и дать ему в подчинение стажёров с размытыми должностями "исследователь" и "программист". Тимлид либо боится доверить им хоть строчку кода и выгорает сам, либо начинает собирать часовые митинги ради правок в одной запятой. Формально процесс выстроен, но по факту это куча сожжённых денег на пустом месте и нулевой выхлоп.

Исследование MS-Eval показало, что универсальные роли — полная лажа. Реально работают только узкоспециализированные субагенты под конкретную предметную область, например, модуль под аналитику отзывов на Wildberries или калькулятор цен. Второе ключевое правило архитектуры — явный порог сложности, чтобы агент выполнял элементарные действия сам, а не сжигал контекст на бесконечные вызовы подчинённых.

Тестировали это на мониторинге маркетплейсов через MCP, но принцип универсален для любой агентной среды вроде Claude Code или Cursor. Настраиваешь ли ты сложный парсинг, аудит кода или аналитику конкурентов — забудь про абстрактных помощников общего профиля. Нарезай изолированные микрозадачи и жестко блокируй бессмысленное планирование, когда требуется элементарное действие.

Хватит плодить сущности ради красивой диаграммы: мультиагентность без специализации умножает расходы на ноль. Затачивай каждого помощника под один конкретный API или узкий массив данных, а тривиальную рутину оставляй главному ядру. Либо ты заранее пропишешь железобетонные правила делегирования, либо твой стек просто сожрёт весь бюджет на токены, так ничего толком и не решив.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с