logo
0
0
WeChat Login
leestott<leestott@users.noreply.github.com>
🌐 Update translations via Co-op Translator

Multi-Agent Design

(לחצו על התמונה למעלה לצפייה בסרטון של השיעור הזה)

תבניות עיצוב למערכות מרובות סוכנים

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

מבוא

בשיעור הזה, אנחנו מחפשים לענות על השאלות הבאות:

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

מטרות למידה

לאחר השיעור הזה, תוכלו:

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

מה התמונה הגדולה?

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

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

תרחישים שבהם מערכות מרובות סוכנים רלוונטיות

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

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

יתרונות של שימוש במערכות מרובות סוכנים לעומת סוכן יחיד

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

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

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

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

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

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

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

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

שקיפות באינטראקציות בין סוכנים

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

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

בואו נבחן כל אחד מההיבטים הללו בפירוט.

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

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

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

תבניות למערכות מרובות סוכנים

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

צ'אט קבוצתי

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

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

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

צ'אט קבוצתי

העברת משימות

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

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

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

העברת משימות

סינון שיתופי

תבנית זו שימושית כאשר אתם רוצים ליצור אפליקציה שבה סוכנים מרובים יכולים לשתף פעולה כדי להמליץ למשתמשים.

למה שתרצו שסוכנים מרובים ישתפו פעולה? כי כל סוכן יכול להיות בעל מומחיות שונה ולתרום לתהליך ההמלצה בדרכים שונות.

בואו ניקח דוגמה שבה משתמש רוצה המלצה על המניה הטובה ביותר לקנות בשוק המניות.

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

המלצה

תרחיש: תהליך החזר כספי

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

סוכנים ספציפיים לתהליך ההחזר הכספי:

הנה כמה סוכנים שיכולים להיות מעורבים בתהליך ההחזר הכספי:

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

סוכנים כלליים:

סוכנים אלה יכולים לשמש חלקים אחרים בעסק שלכם.

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

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

משימה

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

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

TIP: חשוב על השלבים השונים בתהליך התמיכה בלקוחות וגם שקול סוכנים הנדרשים לכל מערכת.

פתרון

פתרון

בדיקות ידע

שאלה: מתי כדאי לשקול להשתמש ברב-סוכנים?

  • A1: כאשר יש לך עומס עבודה קטן ומשימה פשוטה.
  • A2: כאשר יש לך עומס עבודה גדול.
  • A3: כאשר יש לך משימה פשוטה.

פתרון שאלון

סיכום

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

יש לך עוד שאלות על תבנית העיצוב של רב-סוכנים?

הצטרף ל-Azure AI Foundry Discord כדי לפגוש לומדים אחרים, להשתתף בשעות קבלה ולקבל תשובות לשאלות שלך על סוכני AI.

משאבים נוספים

  • שיעור קודם

תכנון עיצוב

שיעור הבא

מטה-קוגניציה בסוכני AI


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