فراتر از حلقه عامل‌محور: الگوی Orchestrator در TypeScript

بیشتر افراد سیستم‌های چندعاملی (multi-agent systems) را با استفاده از یک حلقه عامل‌محور (agentic loop) می‌سازند.

مدل زبانی بزرگ (LLM) به عنوان مغز و جریان کنترل عمل می‌کند. فکر می‌کند، ابزاری را فراخوانی می‌کند، مشاهده می‌کند و این روند را تکرار می‌کند. این روش برای اکتشاف (exploration) مناسب است، اما سه مشکل بزرگ ایجاد می‌کند:

اگر عامل‌های خود و عملکردهایشان را می‌شناسید، به جای آن از الگوی Orchestrator استفاده کنید.

الگوی Orchestrator تصمیم‌گیری را از اجرا جدا می‌کند و از سه مرحله متمایز استفاده می‌کند:

  1. مسیریابی (Route): یک فراخوانی LLM ابزارها را انتخاب می‌کند. این مرحله به کاربر پاسخ نمی‌دهد.
  2. اجرا (Execute): کدهای معمولی TypeScript عامل‌ها را اجرا می‌کنند. در اینجا از هیچ LLM استفاده نمی‌شود.
  3. ترکیب (Synthesize): یک فراخوانی LLM داده‌ها را به یک پاسخ طبیعی تبدیل می‌کند.

این الگو سه حالت اجرا ایجاد می‌کند:

• تک‌عاملی (Single): یک عامل پرس‌وجو را مدیریت می‌کند. • موازی (Parallel): چندین عامل مستقل به طور همزمان با استفاده از Promise.all اجرا می‌شوند. این کار باعث صرفه‌جویی در زمان می‌شود. • ترتیبی (Sequential): عامل‌ها به ترتیب اجرا می‌شوند. هر مرحله از نتایج مرحله قبل استفاده می‌کند.

با استفاده از این رویکرد، شما موارد زیر را به دست می‌آورید:

از حلقه عامل‌محور (agentic loop) برای اکتشاف استفاده کنید. از Orchestrator برای سیستم‌های عملیاتی (production) که به سرعت و قابلیت اطمینان نیاز دارند، استفاده کنید.

Source: https://dev.to/stormhub/beyond-the-agentic-loop-in-typescript-building-a-shopping-agent-with-the-orchestrator-pattern-7ka

Optional learning community: https://t.me/GyaanSetuAi