Multi Agent Patterns

Два обязательных класса паттернов MAS: параллелизм (fan-out / map-reduce / pipeline) и критик/ревьюер. Они закрывают две системные слабости, растущие со сложностью: без разбиения задач не получишь выигрыша от мультиагента (платишь только цену оркестрации), а без критика система «не доводит» задачу из-за накопления ошибок.

Суть

MAS даёт выигрыш не от «много агентов», а от правильного разделения работы (параллелизм) и контроля качества (критик). Иначе агенты ходят последовательно, множат токены и latency — и проигрывают одному LLM.

Паттерны параллелизма

  • Fan-out / Fan-in — планировщик разбивает задачу на N разных подзадач, N исполнителей берут их одновременно, агрегатор склеивает. Классика research: «проанализируй 10 конкурентов» → 10 агентов по сайту → один собирает таблицу. Время ≈1× самого медленного, не N×.
  • Map-Reduce — всем агентам одинаковый промпт, но разные куски данных (reducer объединяет). Для однородной большой задачи: «прочитай 200 PDF-страниц, собери цитаты». Разновидность fan-out без планировщика — структура задана заранее.
  • Pipeline parallel — конвейер: Stage A берёт batch 2, пока Stage B обрабатывает то, что отдал A. Это про throughput, не latency (одна задача быстрее не станет, но за час прогонишь больше) — модерация, классификация, ETL.

Выбор по природе задачи: подзадачи разные → fan-out; одинаковые → map-reduce; поток → pipeline.

Критик / ревьюер (must-have)

LLM иногда галлюцинирует и проходит мимо собственных ошибок, поэтому исполнителю нельзя доверять самооценку (та же асимметрия, что в Generator Evaluator — проверить легче, чем создать). Отдельный агент-критик с другим промптом находит пропущенное и возвращает на исправление.

  • Проблема каскадных ошибок (compounding errors): если точность исполнителя 90%, то к 4-му звену без промежуточного контроля она падает до ~65% — ошибки перемножаются. Критик «разрывает цепь»: ошибка ловится до того, как пойдёт дальше (ссылка на CTO Replit).
  • Виды критика: critic-after-executor (линейная проверка), multi-critic ensemble (ансамбль специалистов), self-critique (самопроверка — слабее, см. выше).
  • Защита от зацикливания: жёсткий лимит итераций критика (1–3); если после третьей правки не принято — эскалация на человека (Human in the Loop). Это и есть автокоррекция без постоянного HITL.

Связано с

  • Multi Agent Systems — паттерны как причина, по которой MAS вообще окупается
  • Generator Evaluator — критик = внешний верификатор (асимметрия проверки)
  • CrewAI — где роли исполнитель/критик собираются в crew
  • Agent CostControl — параллелизм/критик влияют на токены и latency

Открытые вопросы

  • оптимальный лимит итераций критик↔исполнитель до эскалации
  • когда multi-critic ensemble окупается против одного критика