Multi-Agent Systems

Abstract

Мультиагентная система координирует несколько отдельных agent loops. У каждого участника могут быть собственные инструкции, контекст, tools, permissions и бюджет; взаимодействие происходит через явные сообщения или артефакты.

Несколько ролей в одном prompt не образуют multi-agent system. И несколько последовательных model calls не являются агентами, если их control flow полностью задан кодом.

Когда оправдано

  • несколько направлений можно исследовать независимо и параллельно;
  • подзадачам нужны изолированные контексты;
  • нужны разные tools или permissions;
  • один контекст переполняется результатами отдельных веток;
  • независимые кандидаты улучшают покрытие на eval set.

Когда один агент лучше

  • задача последовательная и сильно связанная;
  • координация дороже самой работы;
  • подзадачи изменяют одни и те же файлы или состояние;
  • нет надёжного способа проверить вклад worker;
  • роли отличаются только persona prompt;
  • один агент с хорошими tools уже проходит evals.

Основные паттерны

Manager–workers

Manager создаёт подзадачи, workers возвращают ограниченные результаты, manager синтезирует ответ. Подходит для динамической decomposition.

Parallel specialists

Независимые workers получают разные области задачи. Агрегатор объединяет результаты по заранее заданной схеме.

Handoff

Один агент передаёт владение задачей другому вместе с состоянием, основаниями и открытыми вопросами. Нужен явный контракт передачи.

Debate или voting

Несколько кандидатов сравниваются независимо. Этот паттерн увеличивает расход и не гарантирует истину: модели могут разделять одни и те же ошибки.

Контракт worker

task: проверить внутренние ссылки раздела
scope: AI/03/.../Архитектура AI-систем
allowed_tools: [read, search]
output:
  findings: [{file, link, reason}]
done_when: every_markdown_file_scanned
forbidden: [edit_files, publish]

Worker должен вернуть evidence и состояние выполнения, а не только фразу «готово».

Основные риски

  • взрыв числа agents, calls и сообщений;
  • дублирование работы и противоречивые версии истины;
  • потеря требований при handoff;
  • race conditions и конфликты записей;
  • prompt injection, распространяющийся между агентами;
  • сложная атрибуция стоимости и ошибки;
  • ложная уверенность из-за согласия похожих моделей.

Что измерять

Сравнивай multi-agent с сильным single-agent baseline:

  • task success и coverage;
  • wall-clock latency и total compute;
  • число дублированных действий;
  • ошибки координации и handoff;
  • стоимость на успешную задачу;
  • воспроизводимость и качество traces.

Источники

Связанные заметки