Паттерны агентного дизайна
Паттерн нужен для конкретной проблемы управления работой. Дополнительные циклы и агенты увеличивают стоимость, задержку и число точек отказа, поэтому сначала выбирай самый простой достаточный контур.
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, последствия и доступные варианты.
Используй: внешние коммуникации, публикация, деньги, удаление, изменение прав или неоднозначные решения.
Как выбрать
- Можно решить одним вызовом модели — не строй агента.
- Процесс заранее известен — используй workflow.
- Нужен динамический выбор следующего действия — tool loop.
- Есть независимые части — parallel fan-out или workers.
- Меняются полномочия — handoff.
- Рискованное действие — human-in-the-loop независимо от остальных паттернов.
См. также: Multi-Agent Systems, Prompt Chaining, Протоколы Автономности, Наблюдаемость и оценка агентов.