Поза межами агентного циклу: TS Orchestrator Pattern
Більшість людей будують мультиагентні системи, використовуючи агентний цикл (agentic loop).
LLM виступає в ролі мозку та керує потоком управління. Вона мислить, викликає інструмент, спостерігає та повторює процес. Це підходить для дослідницьких завдань, але створює три великі проблеми:
- Непередбачуваність: завдання може потребувати 3 виклики або 9. Ви ніколи не знаєте затримку чи вартість, доки процес не запуститься.
- Недетермінованість: на одне й те саме запитання щоразу приходять різні шляхи вирішення. Це ускладнює довіру до агентів у завданнях із побічними ефектами, як-от оформлення замовлень.
- Погана спостережуваність: налагодження потребує повторного відтворення заплутаних транскриптів міркувань та викликів інструментів.
Якщо ви знаєте своїх агентів та їхні функції, замість цього використовуйте патерн Orchestrator.
Orchestrator відокремлює прийняття рішень від виконання. Він використовує три чіткі фази:
- Route (Маршрутизація): Один виклик LLM обирає інструменти. Вона не відповідає користувачеві.
- Execute (Виконання): Звичайний код TypeScript запускає агентів. Тут LLM не використовується.
- Synthesize (Синтез): Один виклик LLM перетворює дані на природну відповідь.
Цей патерн створює три режими виконання:
• Single (Одиночний): Один агент обробляє запит.
• Parallel (Паралельний): Кілька незалежних агентів працюють одночасно за допомогою Promise.all. Це економить час.
• Sequential (Послідовний): Агенти працюють по черзі. Кожен крок використовує результати попереднього кроку.
Використовуючи цей підхід, ви отримуєте:
- План, якому можна довіряти: ви бачите план виконання ще до запуску будь-якого коду.
- Вищу швидкість: паралельне виконання дозволяє одночасно виконувати кілька пошукових запитів.
- Краще тестування: ви можете проводити модульне тестування фази виконання без API-ключа.
- Передбачувану вартість: кожен запит використовує рівно два виклики LLM.
Використовуйте агентний цикл для досліджень. Використовуйте Orchestrator для продуктивних систем, яким потрібна швидкість та надійність.
Додаткова спільнота для навчання: https://t.me/GyaanSetuAi