Паттерны мультиагентных систем: субагенты, передача управления, навыки, маршрутизатор, пользовательские рабочие процессы.
Мультиагентные системы координируют специализированные компоненты для сложных рабочих процессов. Не каждая задача требует такого подхода — один агент часто справляется сам.
Мультиагенты полезны, когда один агент имеет слишком много инструментов и плохо выбирает нужный, когда задачи требуют специализированных знаний с большим контекстом, или когда нужно параллельное выполнение подзадач.
Главный агент координирует субагентов как инструменты. Вся маршрутизация проходит через главного агента. Субагенты работают в изолированном контексте, могут использовать разные модели и выполняться параллельно.
from deepagents.middleware import SubAgentMiddleware
SubAgentMiddleware(
backend=backend,
subagents=[{
"name": "researcher",
"description": "Ищет информацию",
"tools": [search],
"model": "openai:gpt-4o-mini",
}],
)Агенты передают управление друг другу через вызовы инструментов. Инструмент обновляет состояние и маршрутизацию через Command. Поведение меняется динамически на основе контекста.
Специализированные промпты и знания загружаются по требованию. Один агент остаётся под контролем, загружая контекст из навыков. Снижает количество вызовов модели при повторных запросах.
Шаг маршрутизации классифицирует вход и направляет к специализированным агентам. Может использовать LLM для классификации или простую логику.
Уникальные потоки выполнения через LangGraph, смешивая детерминированную логику и агентивное поведение. Паттерны комбинируются — субагенты могут использовать навыки, маршрутизатор может вызывать пользовательские процессы.
Для одиночного запроса хендоффы, навыки и маршрутизатор требуют 3 вызова модели, субагенты — 4. Для повторного запроса хендоффы и навыки экономят вызовы за счёт состоятельности — 5 против 8 у субагентов. Для многодоменного запроса субагенты и маршрутизатор эффективнее за счёт параллелизма.
Для одиночных и повторных запросов — хендоффы или навыки. Для параллельного выполнения — субагенты или маршрутизатор. Для больших контекстов — субагенты или маршрутизатор. Для простых задач — навыки.
Далее: Продвинутые темы