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.
Источники
- Anthropic — How we built our multi-agent research system
- Anthropic — Patterns and problems in emerging multiagent systems