За пределами агентного цикла: паттерн Orchestrator в TS
Большинство людей строят мультиагентные системы, используя агентный цикл (agentic loop).
LLM выступает в роли «мозга» и управляет потоком выполнения. Она думает, вызывает инструмент, анализирует результат и повторяет процесс. Это подходит для исследования (exploration), но создает три серьезные проблемы:
- Непредсказуемость: задача может потребовать 3 вызова или 9. Вы никогда не узнаете задержку или стоимость, пока процесс не запустится.
- Недетерминированность: на один и тот же вопрос каждый раз приходят разные пути решения. Из-за этого сложно доверять агентам задачи с побочными эффектами, например, оформление заказов.
- Плохая наблюдаемость: отладка требует повторного воспроизведения запутанных логов рассуждений и вызовов инструментов.
Если вы заранее знаете своих агентов и их функции, используйте вместо этого паттерн Orchestrator.
Orchestrator отделяет принятие решений от исполнения. Он использует три четкие фазы:
- Маршрутизация (Route): один вызов LLM выбирает инструменты. Она не отвечает пользователю.
- Исполнение (Execute): обычный код на TypeScript запускает агентов. LLM здесь не используется.
- Синтез (Synthesize): один вызов LLM преобразует данные в естественный ответ.
Этот паттерн создает три режима исполнения:
• Одиночный (Single): один агент обрабатывает запрос.
• Параллельный (Parallel): несколько независимых агентов работают одновременно с помощью Promise.all. Это экономит время.
• Последовательный (Sequential): агенты работают по порядку. Каждый шаг использует результаты предыдущего.
Используя этот подход, вы получаете:
- План, которому можно доверять: вы видите план выполнения до того, как запустится какой-либо код.
- Высокую скорость: параллельное выполнение позволяет выполнять несколько поисковых запросов одновременно.
- Улучшенное тестирование: вы можете проводить юнит-тестирование фазы исполнения без использования API-ключа.
- Предсказуемые затраты: каждый запрос использует ровно два вызова LLM.
Используйте агентный цикл для исследований. Используйте Orchestrator для продакшн-систем, которым важны скорость и надежность.
Optional learning community: https://t.me/GyaanSetuAi