Оркестрация агентов
Оркестрация агентов
Оркестрация агентов — это паттерн, при котором центральный координатор
(оркестратор) разбивает большую задачу на подзадачи, раздаёт их
специализированным исполнителям-агентам, следит за ходом работы, собирает
результаты и проверяет их, прежде чем склеить в итоговый ответ. Сам
оркестратор руками почти ничего не делает — его работа думать,
распределять и принимать.
История
У этой идеи два корня — академический и инженерный, и они долго росли
порознь.
Академический корень — теория многоагентных систем. В 1973 году Карл Хьюитт
предложил актор-модель (actor model): вычисление как множество независимых
«акторов», которые общаются только сообщениями и не лезут в память друг
друга. В 1980-е из этого выросла целая дисциплина — распределённый
искусственный интеллект (Distributed AI), а к 1990-м — многоагентные системы
(multi-agent systems) как самостоятельная область: как автономные программы
договариваются, соревнуются и кооперируются. Классический учебник Майкла
Вулдриджа «An Introduction to MultiAgent Systems» — как раз оттуда (первое
издание — 2002 год).
Инженерный корень — оркестрация процессов и задач, без всякого ИИ. Само
слово «оркестрация» пришло в IT из мира SOA (сервис-ориентированной
архитектуры) начала 2000-х: стандарт BPEL описывал, как центральный движок
дирижирует цепочкой веб-сервисов. Дальше вехи:
- 2014 — Google открывает Kubernetes, «оркестратор контейнеров»: слово
окончательно закрепляется в значении «центральный мозг, который
распределяет работу по исполнителям». - 2014–2015 — Максим Бошемин в Airbnb пишет Apache Airflow: оркестрацию
batch-задач как DAG (направленный ациклический граф зависимостей). Сегодня
это стандарт де-факто в data-инженерии. - 2016–2019 — Uber делает Cadence, из которого вырастает Temporal:
оркестрация долгоживущих бизнес-процессов с гарантиями надёжности.
А потом эти два корня срослись. Осенью 2022 года выходит статья ReAct
(Yao и соавторы): языковая модель может чередовать рассуждение и действия
через инструменты — так LLM превратилась в агента. Дальше лавина: LangChain
(Харрисон Чейз, октябрь 2022), AutoGPT (весна 2023 — первый вирусный
«автономный агент»), Microsoft AutoGen (2023), CrewAI (2023–2024),
LangGraph. В 2024-м Anthropic публикует протокол MCP для подключения
инструментов к моделям, а в 2025-м выпускает Claude Code с сабагентами и
рассказывает в инженерном блоге, как устроена их мультиагентная
research-система: оркестратор на старшей модели плюс параллельные
сабагенты-исполнители на младших. По данным Anthropic, такая связка обошла
одиночную старшую модель примерно на 90% на их внутреннем
research-бенчмарке — ценой примерно пятнадцатикратного расхода токенов
по сравнению с обычным чатом.
Сегодня «оркестрация агентов» — центральный архитектурный вопрос всей
индустрии ИИ-инструментов: один большой агент или дирижёр с командой?
Что это такое
Представь, что у тебя есть очень умный, но очень дорогой консультант и
команда толковых, но более дешёвых исполнителей. Глупо просить консультанта
самому перелопачивать документы — пусть он решит, какие документы нужны,
раздаст поручения, а потом проверит и сведёт результаты. Вот это и есть
оркестрация агентов: разделение «думать» и «делать».
Формально в паттерне три роли. Оркестратор — держит в голове цель,
декомпозирует задачу, пишет задания, принимает работу. Исполнители
(workers, сабагенты) — каждый получает своё задание, свой чистый контекст и
инструменты, делает кусок работы и возвращает результат. Часто есть третья
роль — верификатор: отдельный агент со свежим взглядом, который
проверяет результат исполнителя фактами, а не на слово.
Важные пары различий:
- Оркестрация vs хореография. В оркестрации есть центр, который всеми
командует. В хореографии центра нет: участники реагируют на события друг
друга, как танцоры на сцене. Хореография гибче, но её труднее отлаживать —
никто не видит картину целиком. - Оркестратор vs пайплайн. Пайплайн — жёсткая труба: шаг 1, шаг 2,
шаг 3, всегда одинаково. Оркестратор решает по ситуации: сколько
исполнителей запустить, что переделать, когда остановиться. Пайплайн —
конвейер, оркестратор — прораб. - Агент vs скрипт. Скрипт выполняет заранее написанные шаги. Агент сам
решает, какие шаги нужны: цикл «подумал — сделал — посмотрел на результат —
подумал снова». Отсюда и сила, и главный риск: агент недетерминирован
(может повести себя по-разному на одинаковом входе). - Оркестрация агентов vs оркестрация контейнеров. Слово одно, вещи
разные. Kubernetes распределяет по серверам одинаковые копии программ,
а агентный оркестратор раздаёт разные интеллектуальные задания разным
исполнителям. Общая только идея центрального координатора.
Ключевая причина, почему это вообще нужно именно в мире LLM, — контекстное
окно (рабочая память модели). Оно конечно, и чем оно забитее, тем хуже
модель держит внимание. Десять исполнителей с чистыми контекстами прочитают
в сумме в десять раз больше, чем один агент, — и каждый будет свеж.
Аналогии из жизни
Дирижёр и оркестр. Дирижёр не играет ни на одном инструменте во время
концерта — он задаёт темп, даёт вступления, балансирует громкость. Струнные
не обязаны слышать, что там у ударных: каждый смотрит в свою партию и на
дирижёра. Так же оркестратор: сам не «играет», а координирует
специалистов, каждый из которых видит только свой кусок.
Где ломается: у музыкантов партитура написана заранее и отрепетирована,
а агенты сочиняют свою «партию» на ходу — и дирижёру в оркестре не нужно
после концерта проверять, те ли ноты сыграла валторна. Оркестратор агентов
обязан проверять: исполнитель может уверенно вернуть ерунду.
Прораб на стройке. Прораб читает проект, разбивает его на работы —
фундамент, электрика, штукатурка, — нанимает бригады, следит за сроками и
принимает каждую работу по акту. Сам он кирпичи не кладёт, и это правильно:
его час дороже, а решений, которые может принять только он, хватает.
Где ломается: бригады работают в одном физическом здании и видят работу
друг друга — электрик видит, где штукатур закончил стену. Агенты же
изолированы: исполнитель А не знает, что сделал исполнитель Б, пока
оркестратор явно не передаст ему это в задании. На стройке общее состояние
даётся бесплатно, в мультиагентной системе — только ручной передачей.
Кухня ресторана. Шеф на выдаче (экспедитор) читает заказы, раскидывает
тикеты по станциям — гриль, соусы, десерты, — а потом собирает блюда на
тарелку и смотрит на каждое перед выносом в зал. Станции узкоспециализированы
и работают параллельно: пока гриль жарит, кондитер собирает десерт.
Где ломается: кухня — общее пространство, где все слышат выкрики шефа и
видят очередь заказов, то есть контекст разделяется сам собой. И повар не
может «сгаллюцинировать» стейк — блюдо либо есть, либо нет. Агент может
вернуть текст, который выглядит как выполненная работа, но ею не является;
поэтому агентному «шефу» нужна проверка фактов, а не только взгляд на тарелку.
Как это работает
Разберём типичный цикл на примере, близком к реальности: «изучи вопрос и
подготовь отчёт».
┌──────────────┐
│ Оркестратор │ 1. декомпозиция, план
└──────┬───────┘
┌─────────┼─────────┐
▼ ▼ ▼
┌────────┐┌────────┐┌────────┐
│Развед- ││Развед- ││Развед- │ 2. параллельные исполнители,
│чик A ││чик B ││чик C │ у каждого чистый контекст
└───┬────┘└───┬────┘└───┬────┘
└─────────┼─────────┘
▼
┌──────────────┐
│ Оркестратор │ 3. сбор, синтез, новые задания
└──────┬───────┘
▼
┌──────────────┐
│ Верификатор │ 4. проверка фактами, свежим взглядом
└──────────────┘
Шаг 1. Декомпозиция. Оркестратор читает задачу и решает, на какие
независимые куски она режется. Независимость — ключевое слово: куски без
пересечений можно выполнять параллельно, куски с общими файлами или
зависимостями — только последовательно, иначе исполнители затрут работу
друг друга.
Шаг 2. Задание (спека). Каждому исполнителю пишется самодостаточное
задание: цель, контекст, границы («что не трогать»), критерии готовности.
Самодостаточное — потому что исполнитель не видел предыдущего диалога.
Это самая недооценённая часть: большинство провалов мультиагентных систем —
это не «глупый исполнитель», а расплывчатое задание. Anthropic в своём
разборе research-системы прямо называла детальность инструкций сабагентам
главным рычагом качества.
Шаг 3. Диспатч и параллелизм. Оркестратор запускает исполнителей —
сколько нужно и посильнее или послабее моделью, по сложности куска: сложный
рефакторинг — старшая модель, механическая проверка — младшая. Это ещё и
экономика: зачем жечь дорогие токены на работу, с которой справится дешёвая
модель.
Шаг 4. Сбор и структура. Результаты удобно принимать не свободным
текстом, а по схеме (structured output — ответ строго в заданном
JSON-формате): тогда оркестратор не парсит прозу, а читает поля. Если
исполнитель вернул невалидный результат — автоматический повтор.
Шаг 5. Верификация и приёмка. Отдельный агент с чистым контекстом
получает только критерии готовности и проверяет их фактически: запускает
команды, читает файлы, сверяет цифры. Не доверяет отчёту исполнителя на
слово — исполнители склонны рапортовать об успехе. Провал проверки — одна
попытка доработки с конкретным списком замечаний, снова провал — эскалация
наверх, к человеку или к более сильной модели. Бесконечные ретраи —
антипаттерн: система зацикливается и жжёт деньги.
Тишина между агентами — не баг, а фича
Изоляция контекстов кажется неудобством, но именно она даёт качество: верификатор, который не видел рассуждений исполнителя, не заражается его ошибками. Это тот же принцип, что независимая аудиторская проверка — проверяющий не должен быть соавтором проверяемого.
Где встречается в обычной жизни
- Режим «глубокого исследования» в ИИ-чатах. Когда просишь Claude или
ChatGPT «подробно изучи вопрос» и ответ готовится несколько минут — внутри
оркестратор раздал десятки поисковых заданий параллельным сабагентам,
собрал находки и свёл в отчёт с источниками. - Ассистенты для кода. Claude Code или Cursor на большой задаче сначала
запускает «разведчиков» по кодовой базе, потом исполнителей на правки —
ты видишь один диалог, а под капотом работает команда. - Чат поддержки банка или магазина. Первый бот только классифицирует
вопрос и маршрутизирует: платежи — одному специализированному боту,
доставка — другому, сложное — человеку. Диспетчер-классификатор — это
оркестратор в миниатюре. - Заказ еды в приложении. Нажал «оплатить» — и невидимый координатор
провёл платёж, отправил заказ ресторану, назначил курьера, а при отмене
аккуратно откатил всё в обратном порядке. Это оркестрация сервисов
(паттерн saga), прямой родственник. - Колл-центр с IVR (голосовым меню). «Нажмите 1, если…» — примитивный
оркестратор, который решает, какому исполнителю передать твою задачу.
Где встречается в IT и бизнесе
- Автоматизация исследований и аналитики. Нужно когда: вопрос шире, чем
успеет прочитать один контекст, — обзор рынка, due diligence, мониторинг
конкурентов. Веер поисковых агентов + синтезатор. - Инженерия ПО. Нужно когда: задача декомпозируется на разведку,
реализацию и проверку. Паттерн «скаут → исполнитель → ревьюер» экономит
дорогие модели и даёт независимую проверку. - Обработка заявок и документов. Нужно когда: поток однотипных, но не
одинаковых кейсов — KYC-проверки, страховые случаи, модерация. Оркестратор
маршрутизирует, специализированные агенты обрабатывают, спорное уходит
человеку. - Data-пайплайны и ETL. Нужно когда: сотни задач с зависимостями по
расписанию. Классическая оркестрация без LLM: Airflow, Dagster, Prefect. - Долгоживущие бизнес-процессы. Нужно когда: процесс идёт дни и недели
(онбординг клиента, выдача кредита) и должен переживать сбои. Temporal и
подобные движки гарантируют, что процесс доедет до конца.
Кто пользуется
- Anthropic. Мультиагентная research-система: оркестратор на Opus,
параллельные сабагенты на Sonnet; по их данным — прирост качества около
90% против одиночного Opus на внутреннем бенчмарке. Claude Code штатно
поддерживает сабагентов. - OpenAI. Deep Research в ChatGPT и Agents SDK (2025) для построения
оркестраций; до этого — экспериментальный фреймворк Swarm. - Microsoft. AutoGen — один из первых серьёзных фреймворков
многоагентных диалогов; агентные сценарии в Copilot. - LangChain/LangGraph, CrewAI. Самые популярные open-source-фреймворки
для сборки агентных графов и «команд» с ролями. - Airbnb и почти вся data-индустрия. Apache Airflow вырос из Airbnb и
стал стандартом оркестрации данных; счёт инсталляций идёт на десятки
тысяч компаний. - Uber, Netflix, Snap и другие — Temporal/Cadence для оркестрации
критичных процессов (точные масштабы у компаний разные, публичных цифр
мало).
Альтернативы и конкуренты
- Один большой агент с длинным контекстом.
Плюсы: проще, дешевле, весь контекст в одной голове, нет накладных
расходов на передачу знаний.
Минусы: упирается в лимит и деградацию внимания на длинном контексте, не
умеет в параллелизм, одна ошибка отравляет всю сессию. - Жёсткий скрипт или пайплайн.
Плюсы: детерминизм, копеечная цена, предсказуемость, легко тестировать.
Минусы: не адаптируется — любой случай вне сценария роняет процесс или
требует программиста. - Хореография (событийная архитектура без центра).
Плюсы: нет единой точки отказа, участники слабо связаны, хорошо
масштабируется.
Минусы: целостной картины нет ни у кого; отладка «кто кого зачем
дёрнул» — боль. - Человек-оркестратор. Ты сам раздаёшь задачи нескольким чатам и
сводишь ответы.
Плюсы: максимальный контроль и здравый смысл в контуре.
Минусы: не масштабируется, медленно, дорого твоим временем — годится как
прототип будущей автоматизации.
Когда НЕ стоит использовать
- Задача простая и короткая. Потому что накладные расходы съедят
выгоду: мультиагентный запуск — это минуты ожидания и кратный расход
токенов там, где один агент ответил бы за секунды. Помни про
пятнадцатикратную разницу в токенах у Anthropic. - Задача не режется на независимые куски. Потому что если каждый шаг
зависит от всех предыдущих тонкими связями (правка одного сложного файла,
цельный текст), декомпозиция порвёт связи, и исполнители наделают
несогласованных решений. - Нужен строгий детерминизм и аудит. Потому что агенты недетерминированы
по природе. Бухгалтерию, комплаенс и всё, что должно давать одинаковый
результат на одинаковом входе, оркеструй обычным кодом или
workflow-движком, а LLM оставь края процесса.
Самый частый провал — не глупые агенты, а дырявые задания
Прежде чем городить команду агентов, проверь: можешь ли ты письменно, в пяти абзацах, поставить задачу так, чтобы её понял исполнитель без контекста? Если нет — оркестрация лишь размножит непонимание на N копий.
Связанные понятия
- Actor model — формальная модель 1973 года: независимые акторы
общаются только сообщениями; теоретический предок агентных систем. - Orchestrator-worker — сам паттерн «координатор + исполнители» в
общем виде, встречается от очередей задач до LLM. - DAG (направленный ациклический граф) — способ описать зависимости
задач; язык, на котором говорят Airflow и LangGraph. - Saga — паттерн распределённых транзакций: цепочка шагов с
компенсациями-откатами при сбое. - Structured output (структурированный вывод) — ответ модели строго по
JSON-схеме; клей, на котором держится обмен между агентами. - MCP (Model Context Protocol) — открытый протокол Anthropic (2024)
для подключения инструментов и данных к моделям; то, чем агенты «трогают
мир». - Context window (контекстное окно) — рабочая память модели; её
конечность — главная физическая причина существования мультиагентных
систем.
Литература и источники
- Anthropic, «How we built our multi-agent research system» (2025) —
инженерный блог anthropic.com; лучший практический разбор паттерна. - Стюарт Рассел, Питер Норвиг, «Artificial Intelligence: A Modern Approach»
(4-е изд., 2020, en; есть русский перевод «Искусственный интеллект:
современный подход») — главы про агентов и многоагентные среды. - Michael Wooldridge, «An Introduction to MultiAgent Systems» (2-е изд.,
2009, en) — академическая база многоагентных систем. - Yao et al., «ReAct: Synergizing Reasoning and Acting in Language Models»
(2022) — статья, с которой начались LLM-агенты; искать на arxiv.org. - Wikipedia (en): «Multi-agent system» —
https://en.wikipedia.org/wiki/Multi-agent_system - Документация LangGraph и Apache Airflow — официальные сайты проектов;
искать «LangGraph docs» и «airflow.apache.org».
Где встретилось у меня
Вчера этот самый дайджест писал утреннюю статью про heartbeat конвейером из
агентов: дорогая модель-диспетчер только планировала и принимала работу, а
разведку по логам, написание текста и финальную проверку по чек-листу делали
отдельные сабагенты со свежими контекстами. Днём тем же способом шло
расследование пропавших лидов с email-рассылки — так что оркестрация
оказалась самым частым понятием дня, обогнав даже сами предметы разведки.
Краткое резюме
- Оркестрация агентов — «прораб и бригады»: центральный координатор думает
и раздаёт, специализированные исполнители делают, верификатор проверяет. - Главная физическая причина паттерна — конечность контекстного окна:
десять чистых контекстов прочитают больше и внимательнее, чем один
переполненный. - Сила — параллелизм и независимая проверка; цена — кратный расход токенов
(у Anthropic — примерно ×15 против чата) и минуты задержки. - Качество системы упирается не в «ум» исполнителей, а в качество заданий:
самодостаточная спека с критериями готовности решает больше, чем модель
подороже. - Не используй на простых, неделимых или требующих детерминизма задачах —
там выигрывает один агент, скрипт или workflow-движок.