3,583 papers
arXiv:2610.39813 74 29 окт. 2026 г. FREE

EvoTeam: команда агентов под тип задачи, а правила передачи работы привязаны к команде

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

TL;DR

EvoTeam — подход к мультиагентным системам. Он хранит библиотеку команд: для каждого типа задачи свой состав агентов и свои правила взаимодействия (кто кому передаёт результат и когда можно останавливаться). Под новую задачу система выбирает подходящую команду или собирает новую. После выполнения отдельные «рефлекторы» (LLM-разборщики) смотрят протокол работы и правят три вещи: состав команды, правила этой команды и навыки отдельных агентов.

Главная находка: правила передачи работы, выученные на одном типе задач, ломают другой тип. Пример из статьи: правило «агент-исследователь файлов передаёт находки планировщику и завершает» хорошо работало для диагностики. Когда его унаследовала задача на реализацию кода, система останавливалась до написания кода и тестов. Агенты при этом были умелые. Сломалась организация работы: чужое правило задало неверную передачу и неверное условие остановки.

Поэтому EvoTeam разделяет то, что переносится, и то, что нет. Навыки агентов («как делать X») общие для всех команд. Правила координации («кому передавать и когда заканчивать») живут только внутри команды с похожим разделением труда. В статье такая схема стабильно обгоняет подходы, которые накапливают опыт в одной общей куче, особенно когда задачи разнородные.

🔬

Схема метода

ДЛЯ КАЖДОЙ ЗАДАЧИ:

ШАГ 1: Выбор команды
  Selector сверяет задачу с описаниями команд в библиотеке
  → подходит одна из команд ИЛИ Composer собирает новую из общего пула агентов

ШАГ 2: Набор исполнителей
  Chairman берёт из состава команды только нужных агентов
  → меньше лишних участников и токенов

ШАГ 3: План
  Chairman разбивает задачу на подзадачи и раздаёт агентам
  → кто за что отвечает (без заранее прописанной переписки)

ШАГ 4: Выполнение
  Агенты работают со своими навыками; правила ЭТОЙ команды лежат в контексте как мягкая подсказка
  → агент сам выбирает подходящее правило по описанию и ситуации
  → Chairman перераспределяет подзадачи, если работа встала

ШАГ 5: Рефлексия (три отдельных разбора по протоколу)
  Team Reflector → правит состав команды и её описание
  Rule Reflector → добавляет / правит / удаляет правила ТОЛЬКО этой команды
  Agent Reflector → правит навыки агента (общие для всех команд)

В статье это код с несколькими вызовами LLM. Принцип можно перенести вручную в файл инструкций агента, и ниже показано как.

🚀

Пример применения

Задача: Вы ведёте магазин на Wildberries и ведёте разработку интеграции с API маркетплейса в Cursor или Claude Code. Задачи двух типов. Первый тип: «диагностика» («почему вчера не выгрузились остатки»). Второй тип: «реализация» («добавь выгрузку цен с учётом акций, с тестами»). Раньше в AGENTS.md лежало общее правило: «исследователь собирает находки, отдаёт планировщику, и работа завершена». Для диагностики это идеально. На задачах реализации агент выдаёт отчёт и останавливается, не написав код.

Промпт (фрагмент файла инструкций агенту):



  
    Задачи «почему сломалось / что происходит»: нужен разбор причин, код менять не требуется.
    Исследователь_логов, Исследователь_кода, Планировщик
    
      Исследователь передаёт находки Планировщику. Планировщик формулирует причину и предлагает исправление. Работа завершена после отчёта.
    
  

  
    Задачи «добавь / доработай / отрефакторь»: нужны изменения в коде и проверка тестами.
    Планировщик, Разработчик, Тестировщик, Ревьюер
    
      Планировщик делит задачу. Разработчик пишет код и отдаёт Тестировщику. Тестировщик запускает тесты и возвращает ошибки. Работа завершена, только когда тесты проходят.
      Ревьюер проверяет изменения до финала. Замечания возвращаются Разработчику.
    
  



Перед началом работы выбери команду по описанию задачи. Применяй ТОЛЬКО правила выбранной команды. Правила другой команды игнорируй.

Задача: добавь выгрузку цен на Wildberries с учётом акций, с тестами.

Результат: Агент сначала назовёт выбранную команду («Реализация») и применит только её правила. Он будет передавать код на тестирование и вернётся к правкам, если тесты не проходят. Он не остановится на отчёте. Для задачи-диагностики он выберет другую команду и закончит отчётом, как раньше.

🧠

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

Слабость. Модель хорошо следует правилам, которые лежат в контексте, но плохо оценивает, подходят ли они к текущей задаче. Если в инструкции есть «после отчёта заверши работу», агент так и сделает, даже когда задача требует кода. Чем больше разнородных правил свалено в одну кучу, тем выше шанс, что сработает чужое. В статье это показано: накопленный опыт с других типов задач ухудшал результат по сравнению с обучением только на целевых.

Сильная сторона. Модель хорошо выбирает из короткого списка с описаниями и хорошо работает в заданной роли. «Вот три команды, выбери по описанию задачи» для неё простая операция.

Как метод это использует. Выбор команды становится явным первым шагом, и правила попадают в контекст только из выбранной команды. Навыки отдельных агентов («как писать тесты») при этом общие, потому что они не зависят от того, кто кому что передаёт.

Рычаги управления: - Описание команды (): чем точнее оно описывает тип задачи, тем надёжнее выбор. Размытое описание даёт неверную команду. - Состав (): сузь, чтобы убрать лишних участников и сэкономить токены. Расширь, если задачам нужны разные подмножества агентов. - Условие остановки в правиле: в статье именно оно ломало задачи. Формулируй его через результат («тесты проходят»), а не через действие («отчёт отправлен»). - Мягкость правил: в статье правила дают как «мягкую подсказку», агент сам решает, какое применить. Если нужна жёсткость, замени «применяй» на «обязательно соблюдай».

📋

Шаблон промпта

Это адаптация принципа в виде инструкции агенту. В статье эти шаги выполняет код с отдельными LLM-вызовами.


Ты Chairman — координатор команды агентов. Ты не выполняешь работу сам: выбираешь команду, набираешь исполнителей, раздаёшь подзадачи.



  
    {для каких задач подходит эта организация работы}
    {агенты_через_запятую}
    
      {кто кому передаёт результат; когда работа считается завершённой}
      {ещё одно правило этой команды}
    
  

  
    {для каких задач подходит}
    {агенты}
    
      {передача и остановка}
    
  



  {агент_1}: {навыки и процедуры — общие для всех команд}
  {агент_2}: {навыки}



1. Team Selection: сравни задачу с  каждой команды. Назови выбранную. Если подходящей нет — опиши, какая команда нужна, и предложи состав из агентов в .
2. Agent Recruitment: из  выбранной команды возьми только тех, кто нужен этой задаче.
3. Intra-Team Planning: разбей задачу на подзадачи, назначь каждую агенту. Порядок общения не фиксируй заранее.
4. Team Execution: применяй ТОЛЬКО правила выбранной команды как мягкую подсказку. Выбирай правило по описанию и текущей ситуации. Если работа встала, переназначь подзадачу.
5. Reflection: после завершения ответь на три вопроса.
   - Team: подходил ли состав команды? Что поменять?
   - Rules: какое правило передачи или остановки сработало плохо? Предложи правку ТОЛЬКО для этой команды.
   - Skills: какая процедура агента оказалась полезной или ошибочной? Предложи правку навыка.


Задача: {задача}

Что подставлять: типы ваших задач (2–3 штуки) и для каждого состав ролей и правила «кто кому передаёт и когда конец». Навыки агентов описывайте отдельно и один раз.

🚀 Быстрый старт — вставь в чат:

Вот шаблон EvoTeam (команды агентов с правилами, привязанными к команде). Адаптируй под мою задачу: {опиши свою работу и 2-3 типа задач, которые ты даёшь агентам}.
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит, какие типы задач у вас бывают, какие роли нужны в каждом, кто кому передаёт результат и по какому признаку работа считается законченной. Это нужно, чтобы правила передачи и остановки привязались к конкретной команде, а не оказались общими. Модель возьмёт структуру из шаблона и заполнит её под вашу работу.

⚠️

Ограничения

⚠️ Полный метод требует кода: автоматическая эволюция (библиотека команд, Composer, три рефлектора, допуск новых команд) собрана как программа с множеством вызовов LLM. В чате или в AGENTS.md вы получаете только принцип, и обновлять правила придётся вручную по итогам разбора.

⚠️ Нужен точный выбор команды: вся схема держится на том, что Selector угадывает тип задачи по описанию. Если описания размытые, система выберет не ту команду и применит не те правила.

⚠️ Дорого по числу вызовов: отдельные роли для выбора, набора, планирования и трёх рефлексий добавляют запросы. Для простых задач одного агента это перебор.

⚠️ Слабая отдача на части задач: в таблице результатов на ряде подзадач EvoTeam не лучший. Например, на реализации в LoCoBench его обошёл Meta-Team, а в BeyondSWE выигрыши небольшие. Выигрыш сильнее там, где типы задач сильно различаются.

⚠️ Обрезанный текст: в доступной версии статьи нет результатов абляций и анализа стоимости. Какой из компонентов даёт больше всего, по этому тексту не проверить.

🔍

Как исследовали

Сначала авторы проверили гипотезу о проблеме. Они взяли готовую эволюционирующую систему Meta-Team и дали ей накопить опыт на чужих задачах, а потом дообучиться на целевых. Выходило хуже, чем если учить её только на целевых задачах. Это было верно даже когда шаблон команды совпадал. Протоколы работы объяснили причину: команда, заточенная под веб-поиск (GAIA), не умела организовать написание и тестирование кода. А правило диагностики «отчитайся и заверши» не давало системе дойти до реализации.

Затем они построили EvoTeam и сравнили с семью базовыми подходами: одиночный агент (ReAct), обычная мультиагентная система, OWL, AgentSquare (поиск по производительности), ReCreate, Skill-MAS и Meta-Team. Тестировали на четырёх бенчмарках: веб-задачи (GAIA), реализация и рефакторинг кода (LoCoBench), работа с приложениями через MCP (LOCA-Bench) и поддержка репозиториев (BeyondSWE). Два режима: опыт копится на каждом бенчмарке отдельно или на смеси всех четырёх.

Результаты. Отдельно EvoTeam получил лучший средний балл (58,85 против 58,30 у Meta-Team). На GAIA отрыв пять пунктов (78 против 73). Главное проявилось на смеси: EvoTeam вырос до 59,58, а Meta-Team упал с 58,30 до 55,55. Опыт одной общей кучи ухудшает результат, а опыт, разложенный по командам, нет.

Отдельно проверили перенос между моделями (GPT и DeepSeek): команды и правила, выращенные на одной модели, помогали и на другой. Максимальный прирост на GAIA составил +18 пунктов у DeepSeek, который эволюционировал на GPT. Для практика это значит, что правила координации модельно-независимы и их можно переносить между LLM.

💡

Адаптации и экстраполяции

🔧 Техника: добавить обязательный выбор команды вслух → видны ошибки диагностики задачи

Добавьте в шаблон: «Первой строкой ответа напиши: Выбранная команда: …, потому что …». Если агент выбрал не ту команду, вы это сразу заметите, и правила не сработают втихую.

🔧 Техника: условие остановки через результат → меньше преждевременных остановок

Замените в правилах «работа завершена после отчёта» на «работа завершена, когда {проверяемый результат}». Это прямо закрывает проблему из статьи.

Экстраполяция: ручной «Rule Reflector» после каждой неудачной сессии

Вот протокол последней сессии агента: {протокол}.
Команда была: {название_команды}.
Какое правило передачи работы или остановки из  этой команды сработало плохо?
Предложи: добавить, изменить или удалить правило. Правки только для этой команды, остальные не трогай.
🔗

Ресурсы

  • Работа: EvoTeam: Multi-Agent Collaboration via Evolving Teams
  • Авторы: Qinuo Cao, Xin He, Dianxuan Fu, Lizhi Zhang, Zhaoqing Xing, Jiapu Wang, Xin Wang, Na Zou, Yi Chang, Qinggang Zhang
  • Организации: Jilin University, Nanjing University of Science and Technology, Shanghai AI Lab
  • Код: https://github.com/DEEP-JLU/EvoTeam
  • Бенчмарки из статьи: GAIA, LoCoBench, LOCA-Bench, BeyondSWE
  • Связанные подходы: Meta-Team, Skill-MAS, ReCreate, AgentSquare, OWL

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

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

Обнаружено: Правила координации, которые отлично работают на одном типе задач, ломают агентов на другом. В экспериментах правило «исследователь передаёт находки планировщику и завершает работу» идеально закрывало диагностику, но на задачах написания кода останавливало всю систему до первой строчки кода и тестов. Метод EvoTeam позволяет держать одну мультиагентную систему для разнородных задач без взаимного заражения инструкций. Фишка: навыки отдельных агентов остаются общими, а правила передачи хода и остановки жёстко привязаны к конкретной команде.

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

Раздели опыт мультиагента на два слоя: навыки роли («как писать тесты», «как читать логи») и маршруты команды («кому передать пас и когда свистеть конец матча»). Это как одни и те же атлеты, которые утром играют в баскетбол, а вечером в волейбол: бросок и прыжок остаются при них, но правила свистка и число касаний меняются вместе с площадкой. Привяжи правила взаимодействия и условие финиша строго к карточке команды, а перед стартом заставь координатора выбрать ровно одну команду под задачу и отключить правила остальных.

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

Модель послушно выполняет любое правило из контекста, но плохо понимает, уместно ли оно прямо сейчас. Если свалить опыт всех прошлых задач в один общий файл AGENTS.md, чужое условие остановки («отчёт готов = конец») сработает посреди разработки фичи. В статье общий котёл правил реально ухудшал результат по сравнению с работой без чужого опыта. Явный выбор команды на первом шаге отсекает чужие маршруты, а после задачи три отдельных рефлектора обновляют состав, правила этой команды и общие навыки ролей не смешивая их в кучу.

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

Мультиагентные системы и рабочие инструкции (AGENTS.md, CLAUDE.md) → конкретно для проектов, где одни и те же агенты решают разные по природе задачи (например, то ищут причину сбоя в логах, то пишут новую функцию с тестами). НЕ подходит для простых однотипных поручений одному агенту (лишние вызовы на выбор команды и рефлексию не окупятся) и при размытых описаниях команд, когда селектор путает типы задач.

Мини-рецепт

1. Опиши 2–3 команды в : для каждого типа задач (например, «Диагностика» и «Реализация») задай чёткий , список ролей и свой блок .
2. Прибей условие финиша к результату: в правилах команды пиши критерий конца через проверяемый итог (тесты проходят), а не через действие (отчёт отправлен).
3. Вынеси навыки в общий пул : опиши, как работает каждая роль (разработчик, тестировщик, ревьюер) отдельно от правил перепасовки.
4. Поставь фильтр на входе: первой строкой инструкции прикажи выбрать команду по , набрать из только нужных участников и полностью игнорировать правила других команд.
5. Раздели разбор полётов: после задачи обновляй навыки агента глобально, а правила передачи хода — только внутри выбранной команды.

Примеры

[ПЛОХО] : В AGENTS.md записано общее правило для всех задач: 1) Исследователь ищет файлы и передаёт отчёт Планировщику. 2) После отчёта Планировщика задача завершена. Задача: добавь выгрузку цен с учётом акций и тестами.
[ХОРОШО] : Опиши в инструкции две команды: (правило: завершить после отчёта о причине сбоя) и (состав: Планировщик, Разработчик, Тестировщик, Ревьюер; правило: работа завершена ТОЛЬКО когда проходят автотесты). Добавь в начало: «Сначала выбери одну команду по описанию задачи и применяй ТОЛЬКО её InteractionRules, правила других команд игнорируй».
Источник: EvoTeam: Multi-Agent Collaboration via Evolving Teams
ArXiv ID: 2610.39813 | Сгенерировано: 2026-11-01 20:32

Проблемы LLM

ПроблемаСутьКак обойти
Агент слепо следует правилу передачи работы, даже если оно не подходит к задачеВ инструкции лежит правило: «исследователь передаёт находки планировщику, работа завершена». Для разбора причин поломки оно хорошо. Для задачи «напиши код с тестами» оно ломает всё. Агент выдаёт отчёт и останавливается. Код не написан, тесты не запущены. Агент при этом умелый. Сломалась организация: неверная передача и неверное условие остановки. Модель хорошо выполняет правила из контекста. Но плохо проверяет, подходят ли они к текущей задаче. Чем больше разнородных правил в одной куче, тем выше шанс, что сработает чужоеНе держи все правила в одном общем списке. Раздели работу на типы задач. У каждого типа свои правила передачи и остановки. Перед началом пусть агент назовёт тип задачи. Применять он должен только правила этого типа. Схема — в методе ниже

Методы

МетодСуть
Команды под тип задачи — правила не смешиваютсяОпиши 2–3 типа задач. Для каждого дай блок: описание типа, состав ролей, правила «кто кому передаёт и когда конец». ………. В конце добавь: «Выбери команду по описанию задачи. Назови её. Применяй ТОЛЬКО её правила. Правила других команд игнорируй». Почему работает: модель хорошо выбирает из короткого списка с описаниями. Это простая операция. Чужие правила в этот момент не мешают, потому что их явно отключили. Выбор становится видимым первым шагом, его легко проверить. Рычаги: (1) Описание типа должно быть точным. Размытое описание даёт неверный выбор. (2) Сужай состав ролей, чтобы убрать лишних участников и сэкономить токены. (3) Хочешь жёсткости? Замени «применяй» на «обязательно соблюдай». Когда да: задачи заметно разные (разбор причин, написание кода, ревью), агент работает в файле инструкций вроде AGENTS.md. Когда нет: одна простая задача для одного агента. Лишние блоки только добавят шума
📖 Простыми словами

EvoTeam: Multi-Agent Collaboration via Evolving Teams

arXiv: 2610.39813

Большинство мультиагентных систем ломаются из-за попытки сделать универсальный комбайн. Модель тупо следует инструкциям в контексте: если свалить правила для десятка разных задач в один файл, агент неизбежно применит чужое правило невпопад. EvoTeam решает эту проблему изоляцией: система держит библиотеку специализированных команд, где под каждый тип задачи заранее прописан отдельный состав агентов и жесткие правила взаимодействия.

Это как нанять бригаду, где у пожарного и программиста одна должностная инструкция на двоих. В итоге кодер находит баг, видит строчку «составь акт и жди» — и радостно уходит пить кофе, даже не открыв редактор. Формально инструкция выполнена, по факту — задача провалена. Универсальные регламенты для нейросетей быстро превращаются в тотальный саботаж.

В EvoTeam всё работает без каши. Под конкретный запрос система берет проверенную связку или собирает новую, а после работы запускает LLM-рефлекторы. Эти разборщики анализируют логи и точечно переписывают три вещи: состав команды, правила передачи задач от одного к другому и навыки конкретных агентов. Диагностика проблемы живёт строго отдельно от написания кода, поэтому чужой опыт не ломает рабочий процесс.

Авторы тестировали метод на кодинге и поддержке API, но принцип универсален. Подход спасает любые сложные воркфлоу — от клиентской поддержки до финансовой аналитики и разметки данных. Везде, где один бот должен провести аудит, а второй внести правки, общие инструкции только мешают. Изолированные роли бьют универсалов по всем фронтам.

Хватит раздувать гигантские системные файлы и надеяться на чудо. Исследование доказало: свалка разнородных правил ухудшает результат агентов на целевой задаче. Дроби процессы, собирай под них микро-команды и заставляй модели автоматически чистить собственные регламенты. Иначе твои ассистенты так и продолжат сдавать красивые отчёты вместо реальной работы.

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

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

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