Эволюция оркестрации Dynamic Workflows MAS

Главный барьер масштабирования MAS  это контекстное окно оркестратора. Три ключевых этапа эволюции, чтобы вынести управление за пределы памяти LLM.

1. Sub-agents Последовательные вызовы в контексте Классическая схема: центральная модель поочерёдно создаёт субагентов для выполнения локальных подзадач.

Архитектура: Логика оркестрации целиком держится в контекстном окне LLM. Модель шаг за шагом «в уме» решает, кого вызывать следующим. Ограничение: Все технические логи и промежуточные результаты возвращаются в центральное контекстное окно. Память моментально забивается шумом, а масштабирование ограничивается 2–3 параллельными вызовами.

2. Agent Teams Командный p2p-контекст Шаг к децентрализации: создание малых групп агентов, взаимодействующих через общий список задач.

Архитектура: Агенты обмениваются сообщениями напрямую без участия центрального оркестратора на каждом шаге. Ограничение: Экспоненциальный рост коммуникационного оверхеда. Эффективный предел группы  3-5 агентов. Кроме того, состояние живёт только внутри активной сессии: сбой приводит к потере всего прогресса.

3. Dynamic Workflows Исполняемые скрипты и детерминированный рантайм План оркестрации больше не удерживается в “вероятностной памяти” LLM - он выносится из контекстного окна в исполняемый код.

Генерация сценария на лету: LLM получает глобальную цель, декомпозирует её и генерирует код оркестрации (на JavaScript/Python вместо вероятностных промптов). Сценарий строит жёсткий граф задач DAG с помощью базовых примитивов: agent() для вызова субагента, parallel() для выполнения и pipeline() для потоковой обработки без блокировок.

Изолированный рантайм: Скрипт исполняется во внешней изолированной среде. Это позволяет безопасно параллелить  одновременно и запускать до 1000 агентов за один прогон.

Детерминизм и журнал: Внутри скрипта запрещены недетерминированные функции вроде Math.random(). Рантайм ведёт журнал вызовов (event sourcing), что гарантирует возобновляемость (resume): при сбое система берёт готовые результаты из кэша.

Состязательная верификация: Агенты параллельно атакуют и критикуют гипотезы друг друга, пока не достигнут сходимости решений.

Чистый контекст: Сотни промежуточных итераций остаются внутри переменных скрипта. Переменные скрипта (const results = [], map, filter, reduce) хранятся в обычной оперативной памяти процесса. В контекстное окно оркестратора возвращается только итоговый валидированный итоговый результат return функции скрипта или результат работы цепочки pipeline()