שימוש בתזמור בו-זמני

הושלם

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

דיאגרמה של זרימת תיאום בו-זמנית.

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

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

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

מתי להשתמש בתיאום בו-זמני

ייתכן שתרצה לשקול להשתמש בתבנית התיאום בו-זמנית במצבים אלה:

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

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

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

מתי להימנע מתיאום בו-זמני

ייתכן שתרצה להימנע משימוש בתבנית התיאום בו-זמנית בתרחישים הבאים:

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

יישום תיאום בו-זמני

יישם את תבנית התיאום בו-זמנית עם Microsoft Agent Framework:

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

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

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

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

  5. לעבד את התוצאות
    חלץ את הפלטים מאירועי זרימת העבודה באמצעות get_outputs(). התוצאות מכילות את השיחות המשולבות מכל הסוכנים, כאשר התגובה של כל סוכן כלולה בפלט הסופי.

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

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