סוכן ככלי

אפשר להשתמש בסוכנים קיימים ככלים. כך סוכן פעיל יכול להשתמש מחדש ביכולות של סוכן אחר בלי להעביר את השיחה לסוכן האחר. הסוכן agent-as-a-tool יכול להיקרא באופן סינכרוני או אסינכרוני על ידי הסוכן הפעיל.

כדאי להשתמש בהתנהגות אסינכרונית כשסוכן בתור כלי כולל השהיה משמעותית בגלל כמה קריאות ל-LLM ולכלי. הסוכן הפעיל יכול להפעיל את הסוכן ככלי, והוא יבצע את העבודה שלו ברקע. הנציג הפעיל יכול להמשיך את השיחה עם משתמש הקצה בזמן שהנציג ככלי עובד על תשובה. אחרי שהעבודה מסתיימת, הסוכן ככלי משלים את הפעולה, והסוכן הפעיל יכול לסכם את הממצאים עבור המשתמש.

שימוש בהתנהגות סינכרונית כשרוצים פשוט לעשות שימוש חוזר בהתנהגות קיימת של סוכן, בלי להעביר את השיחה לסוכן אחר.

הגדרות אישיות

אפשר להגדיר סוכן ככלי באמצעות לחצן יצירת הכלי הרגיל בצד שמאל של הכלי ליצירת סוכנים, או באמצעות תפריט ההקשר יצירת סוכן ככלי בסרגל הכותרת של סוכן מסוים.

כדי להשתמש בכלי, צריך להגדיר את הפריטים הבאים:

  • סוכן: הסוכן שאליו הכלי הזה מכוון.
  • שם: שם הכלי.
  • תיאור: תיאור אופציונלי של הכלי.
  • מתקדם > אסינכרוני: כשהאפשרות הזו מופעלת (ברירת המחדל), הסוכן הפעיל ימשיך את הסשן בזמן שהכלי פועל ברקע.

מומלץ להגדיר מודל טקסט לסוכן שמשמש ככלי כשיישום הסוכן משתמש במודל אודיו:

  • האפשרות הזו מאפשרת ליצור תהליכי עבודה מורכבים יותר, כי אפשר להשתמש במודלים גדולים יותר ואיטיים יותר, בזמן שהסוכן הפעיל משתמש במודל קטן יותר ומהיר יותר.
  • באפליקציות של סוכני אודיו אי אפשר לשנות את המודל של הסוכן, אלא אם הסוכן משמש ככלי.

הוראות

כשכותבים הוראות לקריאות אסינכרוניות לכלים, כדאי להתייחס לנקודות הבאות:

  • כלים אסינכרוניים יכולים לשלוח תגובה מיידית עם הסטטוס 'בהמתנה' כשהם מתחילים לעבוד. כדאי להנחות את הסוכן הפעיל לטפל בתגובה הזו.
  • מומלץ להנחות את הסוכן ליידע את המשתמש שהוא עובד על תשובה.
  • מנחים את הסוכן להימנע מהפעלת אותו כלי בזמן ההמתנה.
  • יכול להיות שהנציג ככלי יבקש מהמשתמש מידע נוסף.

הוראות לדוגמה:

* You MUST acknowledge the user's request with a short, conversational
  word or phrase (e.g., 'Okay', 'Got it', 'One second') prior to
  calling asynchronous tools.
* For tools that execute asynchronously, ignore 'pending' results
  and continue conversing with the user while waiting for the complete result.
* NEVER notify the user that a function result is 'pending'.
* Do NOT call the same tool again while waiting for a complete result
  from a previous call of that same tool.
* If {@TOOL: your_agent_tool} has follow up questions for the user,
  be sure to relay the answers back to the tool.

מגבלות

ההגבלות הבאות חלות:

  • סוכן יכול להתקשר לכמה סוכנים ככלים במקביל, אבל לא לאותו כלי במקביל.
  • אי אפשר להקצות את הכלי לסוכן הבסיסי של הכלי.