Паттерны агентного дизайна

Паттерн нужен для конкретной проблемы управления работой. Дополнительные циклы и агенты увеличивают стоимость, задержку и число точек отказа, поэтому сначала выбирай самый простой достаточный контур.

1. Детерминированный workflow

Заранее заданная последовательность шагов, где модель выполняет только отдельные преобразования или решения.

Используй: процесс известен, порядок обязателен, результат каждого этапа проверяем.

Не нужен agent loop: если код сам может определить следующий шаг надёжнее модели.

2. Router

Классификатор выбирает специализированный workflow, инструмент или агента.

Используй: входы относятся к различным категориям с разными правилами.

Контроль: ограниченный список направлений, fallback для низкой уверенности и evals на пограничных случаях.

3. Tool loop

Модель выбирает инструмент, оркестратор проверяет вызов, выполняет его и возвращает наблюдение до готовности или остановки.

Используй: следующий шаг зависит от результата предыдущего действия.

Контроль: типизированные параметры, минимальные права, лимит шагов, проверка side effects. См. Tool Use Function Calling.

4. Evaluator–Optimizer

Один проход создаёт результат, другой оценивает его по рубрике; цикл продолжается только при исправимой существенной проблеме.

Используй: критерии качества ясны, а улучшение можно проверить.

Риск: оценщик может разделять ошибки генератора. Для фактов и кода нужны источники и тесты, а не только LLM-as-a-Judge.

5. Handoff

Один исполнитель передаёт управление другому вместе с целью, состоянием, доказательствами и незавершёнными действиями.

Используй: меняются полномочия, инструменты, контекст или ответственность.

Контроль: явный владелец run, схема handoff и запрет повторного выполнения завершённых действий.

6. Manager–Worker

Менеджер декомпозирует задачу, выдаёт изолированные подзадачи и собирает результат работников.

Используй: подзадачи действительно независимы или требуют разных наборов инструментов.

Риск: менеджер становится узким местом, а дублирующиеся workers увеличивают стоимость без прироста качества.

7. Parallel fan-out / fan-in

Несколько независимых операций выполняются параллельно, затем результаты объединяются детерминированным кодом или отдельным синтезом.

Используй: поиск по независимым источникам, обработка файлов, независимые проверки.

Контроль: уникальные подзадачи, общий формат ответа, обработка частичных сбоев и дедупликация.

8. Human-in-the-loop

Система останавливается перед рискованным действием и показывает человеку точный payload, последствия и доступные варианты.

Используй: внешние коммуникации, публикация, деньги, удаление, изменение прав или неоднозначные решения.

Как выбрать

  1. Можно решить одним вызовом модели — не строй агента.
  2. Процесс заранее известен — используй workflow.
  3. Нужен динамический выбор следующего действия — tool loop.
  4. Есть независимые части — parallel fan-out или workers.
  5. Меняются полномочия — handoff.
  6. Рискованное действие — human-in-the-loop независимо от остальных паттернов.

См. также: Multi-Agent Systems, Prompt Chaining, Протоколы Автономности, Наблюдаемость и оценка агентов.