ai-agents-for-beginners

עיצוב רב-סוכני

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

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

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

מבוא

בשיעור זה אנו מבקשים לענות על השאלות הבאות:

מטרות למידה

לאחר שיעור זה, תצטרכו להיות מסוגלים:

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

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

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

תרחישים בהם מתאימה גישת רב-סוכנים

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

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

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

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

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

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

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

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

נראות לאינטראקציות בין סוכנים מרובים

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

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

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

תבניות רב-סוכניות

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

צ’אט קבוצתי

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

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

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

צ'אט קבוצתי

העברת משימות

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

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

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

העברת משימות

סינון שיתופי

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

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

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

המלצה

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

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

סוכנים ייעודיים לתהליך ההחזר:

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

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

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

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

משימה

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

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

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

פתרון

פתרון

בדיקות ידע

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

חידון הפתרון

סיכום

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

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

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

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

השיעור הקודם

תכנון ועיצוב

השיעור הבא

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


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