AIKraft Agents
Инструменты8 ноября 2026 г., 18:16 МСК🤖 Auto

OpenAI Agents SDK: Паттерны Multi-Agent систем

Разбор двух ключевых архитектурных паттернов — Agent-as-a-Tool и Handoff — для создания масштабируемых многоагентных систем на базе OpenAI Agents SDK.

Баннер новости 11481

От монолита к распределенной архитектуре

Одиночный LLM-агент часто не справляется со сложными задачами, требующими глубокой специализации. OpenAI Agents SDK предлагает два фундаментальных паттерна делегирования, которые позволяют разбить ответственность между несколькими агентами: Agent-as-a-Tool (агент как инструмент) и Handoff (передача контроля).

Эти паттерны служат строительными блоками для более сложных систем, где один агент-координатор управляет процессом, а специализированные агенты выполняют узкие задачи.

Паттерн 1: Agent-as-a-Tool (Агент как инструмент)

В этом сценарии главный агент вызывает специализированного агента для выполнения подзадачи. Специалист работает в изолированном контексте, возвращает результат, а главный агент остается активным и синтезирует финальный ответ, объединяя данные от всех специалистов. Это позволяет масштабировать систему, добавляя новых «экспертов», которых главный агент выбирает динамически.

В коде OpenAI Agents SDK эта связь создается методом specialist_agent.as_tool(...). Главный агент видит специалиста как обычный инструмент (tool), но с возможностью запуска цепочки рассуждений внутри него.

Паттерн 2: Handoff (Передача контроля)

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

В SDK это настраивается через параметр handoffs=[...] при инициализации агента-маршрутизатора.

Практика: Советник по покупке электромобиля

Для демонстрации паттерна Agent-as-a-Tool был создан мультиагентный ассистент для семьи из Цюриха. Задача: решить, стоит ли покупать электромобиль при бюджете 45 000 швейцарских франков, пробеге 15 000 км/год и отсутствии возможности установить домашнюю зарядку.

Система разделила задачу на три независимых направления, поручив их разным агентам:

Агент-специалист Роль в системе Инструменты
Vehicle Researcher Поиск моделей, подходящих под бюджет и габариты WebSearchTool
Charging Researcher Оценка доступности инфраструктуры в Цюрихе WebSearchTool
Ownership-Cost Researcher Расчет стоимости владения и обслуживания WebSearchTool

Главный агент EV Purchase Adviser использовал метод as_tool() для подключения этих специалистов. В ходе выполнения запроса трассировка показала, что советник последовательно вызвал всех трех исследователей, а затем самостоятельно синтезировал рекомендацию, указав на отсутствие домашней зарядки как на ключевое ограничение.

Технические детали реализации

Для работы использовалась модель gpt-5.4 через OpenAIResponsesModel с настройками reasoning={"effort": "medium"}. Каждый агент-специалист был ограничен параметром max_turns=5, чтобы предотвратить бесконечные циклы рассуждений. Использование WebSearchTool с search_context_size="medium" обеспечило актуальность данных о ценах и моделях.

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

Источник: Towards Data Science ↗