תבניות תזמור של ריבוי נציגים ושיטות עבודה מומלצות

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

סוכנים אינליין

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

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

סוכנים מחוברים

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

עם זאת, שימוש בסוכנים מחוברים דורש פיקוח זהיר:

  • Orchestration: ל- parent orchestrator צריכים להיות קריטריונים ברורים עבור מתי למסור לסוכן מחובר. המתזמר בדרך כלל מעביר את הטיפול כאשר כוונת המשתמש תואמת לתחום של הסוכן המחובר. כדי לסייע בתהליך זה, תאר את מטרתו של הסוכן המחובר בבירור בתצורה של ההורה. התייחס לסוכן המחובר כולו כ"כלי" סוכן באמצעות תיאור, מנקודת המבט של ההורה.

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

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

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

מתי להפריד בין סוכנים

אל תיצור סוכן נפרד עבור כל תת-פעילות. השתמש בנציגים נפרדים אם תת-פעילות:

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

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

שיטות עבודה מומלצות עבור תזמור של ריבוי נציגים

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

1. עיקרון תגובה יחידה

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

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

2. הוראות סובאנס חייבות להצהיר על תפקידן

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

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

3. השתמש בשפה ברורה וישירה בהוראות

השתמש תמיד בשפת הוראה. הימנע מניסוח מרוכך או מנומס. הפלטפורמה מזריקה הוראות ברמת המערכת באמצעות שפה חזקה (MUST, DO NOT, NEVER). ההוראות שנכתבו עם שפה רכה ("נסה לנסות", "אתה צריך", "זה יהיה טוב") מאבדות עדיפות כאשר הן מתנגשות.

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

4. השתמש במקור ידע אחד לכל סובה (ללא חפיפה)

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

  • בצע: CA-1 מחפש ב-מקור הידע A (לדוגמה, מדיניות משאבי אנוש). CA-2 מחפש במקור ידע ב' (לדוגמה, תיעוד IT).
  • אל תאפשר לשני תתי-הסוכנים גישה לאותם מסמכים, טבלאות Dataverse או אתרי SharePoint.
  • הערה: אם יש לך מקור ידע אחד בלבד, השתמש בסוכן יחיד בעל ידע במקום לפצל לשני סוגי ידע. ריבוי סוכן מוסיף ערך רק כאשר המקורות שונים באמת.

5. השתמש בתיאורים מדויקים ומובחנים עבור תתי-סוכנים

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

  • Do: CA-1: "מחפש במסמכי מדיניות משאבי אנוש עבור שאלות הקשורות לעובדים." CA-2: "מחפש במאגר הידע של ה-IT עבור שאלות תמיכה טכנית."
  • אל תספקו לשני הסוכנים את אותו התיאור כאשר הם פועלים בתחומים שונים.
  • אל: השתמש בתיאורים כלליים כגון "סוכן זה יכול לעזור לך בשאלות".

6. הוראות האב חייבות להגדיר את תבנית התזמור

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

  • בצע: "כאשר המשתמש שואל שאלה: 1. הפעל את שני סוכני הילד כדי לאסוף מידע. 2. המתן עד שנציגי הילד יחזירו את הממצאים שלהם. 3. שלב את הממצאים לתגובה מאוחדת יחידה. 4. ספק תגובה אחת בדיוק למשתמש. נציגי צאצא אינם יכולים להשיב למשתמש ישירות."
  • אל: "כאשר המשתמש שואל שאלה, הפעל סוכני משנה, קבל את התשובות משני המקורות, וספק תשובה משולבת אחת." (מעורפל מדי. ההוראה אינה אומרת לסוכני המשנה לשמור על שתיקה.)

7. כלול את ההוראה "אין תשובה ישירה" בהקצאת המשימה

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

  • Do: הוסף להנחיות לסוכן האב: "בעת האצלת משימה לסוכן צאצא, כלול תמיד במשימה: 'החזר רק את הממצאים שלך. אל תשיב למשתמש.'
  • אל תסתמכו אך ורק על ההוראות של סוכן המשנה עצמו. הקשר המשימה מעניק לתותב יותר אותות המחזקים את הדפוס.

8. בדיקה עם שאילתות אי-התאמה בתחום

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

  • Do: בדקו באמצעות שאילתות שמחוץ לתחומי הפעילות של כל סוכני המשנה (לדוגמה, שאלו על מזג האוויר כאשר הסוכנים מטפלים במשאבי אנוש וב-IT).
  • Do: ודא שההורה מטפל כראוי במקרה שבו "שני הסוכנים לא מצאו דבר".
  • אל: בדוק רק באמצעות שאילתות של המקרה הפשוט ביותר, שתואמות באופן מושלם לתחום של אחד מסוכני המשנה.

9. העדף לבקש מידע כאשר אתה מצפה להמשך טיפול

השתמש באינטראקציות בסגנון שאלה/שאל כאשר אתה מצפה שהמשתמש יגיב. השתמש במידע/בסגנון שליחה רק עבור הודעות סופיות חד-כיווניות. אם הסוכן שואל את המשתמש משהו באמצעות הודעה חד-כיוונית (ידע), תשובת המשתמש חוזרת ל- Planner האב כשאילתה חדשה לגמרי. במקרה זה, עדיף להמשיך באותה שיחה עם סוכן המשנה.

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

רשימת תיוג לעיון מהיר

# בדוק
1 הוראות ההורה מציינות במפורש ש"רק אני עונה למשתמש"
2 כל הוראת תת-סוכן אומרת "אל תשיב למשתמש ישירות"
3 ההוראות משתמשות בשפת הוראה חזקה ('חייב', 'לעולם לא', 'בלבד')
4 לכל סובאג'נט יש מקור ידע ייחודי שאינו חופפים
5 תיאורי סוכני המשנה מדויקים, נבדלים וספציפיים
6 הוראות אב מגדירות את תבנית התזמור המלאה (הפעלה → המתנה → שילוב → תגובה)
7 האב מעביר את "אין תשובה ישירה" בהקשר משימה שהוקצה
8 בדיקה עם שאילתות אי-התאמה בתחום
9 ההבחנה בין בקשה ליידוע נכונה בהנחיות לסוכן משנה