מעבר ללולאת הסוכנים (Agentic Loop): תבנית ה-Orchestrator ב-TS

רוב האנשים בונים מערכות מרובות-סוכנים (multi-agent systems) באמצעות לולאת סוכנים (agentic loop).

ה-LLM משמש כמוח וכזרם הבקרה (control flow). הוא חושב, קורא לכלי, צופה בתוצאה וחוזר על הפעולה. זה עובד עבור שלבי מחקר (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