במסמך הזה מפורטות הנחיות שיעזרו לכם לבחור דפוס עיצוב למערכת ה-AI האקטיבי שלכם. תבניות עיצוב של סוכנים הן גישות ארכיטקטוניות נפוצות לבניית אפליקציות מבוססות סוכנים. תבנית עיצוב של סוכן מציעה מסגרת ייחודית לארגון הרכיבים של מערכת, לשילוב המודל ולתזמור של סוכן יחיד או של כמה סוכנים כדי להשלים תהליך עבודה.
סוכני AI יעילים לאפליקציות שפותרות בעיות פתוחות, שעשויות לדרוש קבלת החלטות אוטונומית וניהול מורכב של תהליכי עבודה מרובי-שלבים. סוכנים מצטיינים בפתרון בעיות בזמן אמת באמצעות נתונים חיצוניים, ובאוטומציה של משימות שדורשות ידע רב. סוכני AI מתאימים כשרוצים ש-AI יבצע משימות שמתמקדות בהשגת יעדים, עם מידה מסוימת של אוטונומיה. בתרחישי שימוש אחרים, אפשר להשתמש באפליקציות של AI גנרטיבי ו-AI מסייע. כדי להבין את ההבדלים בין סוכני AI לבין אפליקציות AI לא סוכניות, אפשר לעיין במאמר מה ההבדל בין סוכני AI, עוזרי AI ובוטים?
המדריך הזה מניח שיש לכם ידע בסיסי במערכות AI מבוססות-סוכן, ואיך הארכיטקטורה שלהן שונה מזו של מערכות לא מבוססות-סוכן, כמו מערכות שמשתמשות בהנמקה ישירה של מודלים או ביצירה משופרת באמצעות אחזור (RAG).
סיכום של ההנחיות לגבי דפוסי סוכנים מופיע בהמשך המאמר בקטע השוואה בין דפוסי עיצוב.
סקירה כללית של תהליך העיצוב
אלה השלבים העיקריים לבחירת תבנית עיצוב למערכת AI מבוססת-סוכנים. בהמשך המאמר מפורטים השלבים האלה.
- הגדרת הדרישות: הערכת המאפיינים של עומס העבודה, כולל מורכבות המשימה, זמן האחזור וציפיות הביצועים, תקציב העלויות והצורך במעורבות אנושית.
- מעיינים בתבניות העיצוב הנפוצות של סוכנים: במדריך הזה מוסבר על תבניות העיצוב הנפוצות, שכוללות גם מערכות עם סוכן יחיד וגם מערכות עם כמה סוכנים.
- בחירת תבנית: בוחרים את תבנית העיצוב המתאימה על סמך מאפייני עומס העבודה.
התהליך הזה לא מסתכם בהחלטה חד-פעמית. מומלץ לחזור לשלבים האלה מדי פעם כדי לשפר את הארכיטקטורה, בהתאם לשינויים במאפיינים של עומס העבודה, לשינויים בדרישות או להשקת תכונות חדשות של Google Cloud .
הגדרת הדרישות
השאלות הבאות הן לא רשימות מקיפות לתכנון. השאלות האלה יכולות לשמש כנקודת התחלה לזיהוי המטרה העיקרית של המערכת הסוכנית שלכם ולבחירת דפוס העיצוב הטוב ביותר.
- מאפייני המשימה: האם אפשר להשלים את המשימה בשלבים מוגדרים מראש בתהליך העבודה, או שהמשימה פתוחה? האם צריך להשתמש במודל AI כדי לתזמן את תהליך העבודה?
- זמן האחזור והביצועים: האם אתם צריכים לתת עדיפות לתשובות מהירות או אינטראקטיביות על חשבון דיוק או תשובות באיכות גבוהה? או שהאפליקציה יכולה להמתין כדי לקבל תוצאה מדויקת או מקיפה יותר?
- עלות: מה התקציב שלכם לעלויות ההסקה? האם אפשר לתמוך בדפוסים שדורשים כמה קריאות למודל עבור בקשה אחת?
- מעורבות אנושית: האם המשימה כוללת החלטות חשובות, פעולות קריטיות לבטיחות או אישורים סובייקטיביים שדורשים שיקול דעת אנושי?
אם עומס העבודה שלכם צפוי או מובנה מאוד, או אם אפשר לבצע אותו באמצעות קריאה אחת למודל AI, יכול להיות שיהיה חסכוני יותר לבחון פתרונות לא מבוססי-סוכנים למשימה שלכם. לדוגמה, יכול להיות שלא תצטרכו תהליך עבודה מבוסס-סוכן כדי לסכם מסמך, לתרגם טקסט או לסווג משוב מלקוחות. במאמר בחירת מודלים ותשתית לאפליקציית AI גנרטיבי יש מידע על בחירת רכיבי ארכיטקטורה לאפליקציות AI גנרטיבי שלא דורשות תשתית מבוססת-סוכן.
בקטעים הבאים מתוארות תבניות עיצוב נפוצות של סוכנים ליצירת מערכת אמינה ויעילה של AI אקטיבי.
מערכת עם סוכן יחיד
מערכת עם סוכן יחיד משתמשת במודל AI, בקבוצה מוגדרת של כלים ובהנחיית מערכת מקיפה כדי לטפל באופן אוטונומי בבקשת משתמש או כדי להשלים משימה ספציפית. בדפוס הבסיסי הזה, הסוכן מסתמך על יכולות החשיבה הרציונלית של המודל כדי לפרש את בקשת המשתמש, לתכנן רצף של שלבים ולהחליט באילו כלים להשתמש מתוך קבוצה מוגדרת. ההנחיה למערכת מגדירה את המשימה העיקרית של הסוכן, את התפקיד שלו ואת הפעולות שהוא מבצע, וגם את התנאים הספציפיים לשימוש בכל כלי.
התרשים הבא מציג תצוגה כללית של תבנית סוכן יחיד:
מערכת עם סוכן יחיד מתאימה למשימות שדורשות כמה שלבים וגישה לנתונים חיצוניים. לדוגמה, נציג תמיכת לקוחות צריך לשלוח שאילתה למסד נתונים כדי למצוא את סטטוס ההזמנה, או שעוזר מחקר צריך להתקשר לממשקי API כדי לסכם חדשות מהזמן האחרון. מערכת לא מבוססת-סוכן לא יכולה לבצע את המשימות האלה כי היא לא יכולה להשתמש בכלים באופן אוטונומי או לבצע תוכנית רב-שלבית כדי לסנתז תשובה סופית.
אם אתם בשלבים מוקדמים של פיתוח סוכן, מומלץ להתחיל עם סוכן יחיד. כשמתחילים לפתח סוכן עם מערכת סוכן יחיד, אפשר להתמקד בשיפור ההיגיון הבסיסי, ההנחיה והגדרות הכלים של הסוכן לפני שמוסיפים רכיבים ארכיטקטוניים מורכבים יותר.
הביצועים של סוכן יחיד עשויים להיות פחות יעילים כשהוא משתמש ביותר כלים וכשהמשימות מורכבות יותר. יכול להיות שתבחינו בכך כהשהיה מוגברת, בבחירה או בשימוש לא נכונים בכלי, או בכך שהמשימה לא הושלמה. לרוב אפשר לצמצם את הבעיות האלה על ידי שיפור תהליך החשיבה הרציונלית של הסוכן באמצעות טכניקות כמו התבנית Reason and Act (ReAct). עם זאת, אם תהליך העבודה שלכם דורש מסוכן לנהל כמה תחומי אחריות שונים, יכול להיות שהטכניקות האלה לא יספיקו. במקרים כאלה, כדאי לשקול שימוש במערכת מרובת סוכנים, שיכולה לשפר את החוסן והביצועים על ידי הקצאת מיומנויות ספציפיות לסוכנים מומחים.
מערכות מרובות סוכנים
מערכת מרובת סוכנים מתזמנת כמה סוכנים מומחים כדי לפתור בעיה מורכבת שסוכן יחיד לא יכול לפתור בקלות. העיקרון המרכזי הוא לפרק יעד גדול למשימות משנה קטנות יותר, ולהקצות כל משימת משנה לסוכן ייעודי עם מיומנות ספציפית. הסוכנים האלה פועלים יחד בתהליכי עבודה היררכיים או שיתופיים כדי להשיג את היעד הסופי. דפוסי שימוש בכמה סוכנים מספקים עיצוב מודולרי שיכול לשפר את יכולת ההתאמה לעומס, את האמינות ואת יכולת התחזוקה של המערכת הכוללת בהשוואה לסוכן יחיד עם פרומפט מונוליטי.
במערכת מרובת סוכנים, כל סוכן צריך הקשר ספציפי כדי לבצע את המשימה שלו בצורה יעילה. ההקשר יכול לכלול תיעוד, העדפות היסטוריות, קישורים רלוונטיים, היסטוריית שיחות או אילוצים תפעוליים. התהליך של ניהול זרימת המידע הזו נקרא הנדסת הקשר. הנדסת הקשר כוללת אסטרטגיות כמו בידוד הקשר עבור סוכן ספציפי, שמירת מידע בכמה שלבים או דחיסת כמויות גדולות של נתונים כדי לשפר את היעילות.
יצירת מערכת מרובת סוכנים דורשת שיקולים נוספים של הערכה, אבטחה, מהימנות ועלות בהשוואה למערכת עם סוכן יחיד. לדוגמה, במערכות מרובות סוכנים צריך להטמיע אמצעי בקרה מדויקים לגישה לכל סוכן מומחה, לתכנן מערכת תזמור חזקה כדי להבטיח תקשורת מהימנה בין הסוכנים ולנהל את העלויות התפעוליות המוגדלות שנובעות מהתקורה החישובית של הפעלת כמה סוכנים. דוגמה לארכיטקטורת הפניה ליצירת מערכת מרובת סוכנים מופיעה במאמר מערכות AI עם כמה סוכנים ב- Google Cloud.
דפוס רציף
התבנית הרציפה של כמה סוכנים מפעילה סדרה של סוכנים עם התמחויות שונות בסדר ליניארי מוגדר מראש, שבו הפלט של סוכן אחד משמש כקלט ישיר לסוכן הבא. בדפוס הזה נעשה שימוש בסוכן תהליך עבודה רציף שפועל לפי לוגיקה מוגדרת מראש, בלי להסתמך על מודל AI לניהול של סוכני המשנה שלו.
התרשים הבא מציג תצוגה כללית של תבנית רציפה עם כמה סוכנים:
משתמשים בתבנית רציפה לתהליכים מובנים מאוד שניתנים לחזרה, שבהם רצף הפעולות לא משתנה. לדוגמה, צינור לעיבוד נתונים יכול להשתמש בדפוס הזה כדי שסוכן לחילוץ נתונים ימשוך קודם נתונים גולמיים, ואז יעביר את הנתונים האלה לסוכן לניקוי נתונים כדי לעצב אותם, ובתורו יעביר את הנתונים הנקיים לסוכן לטעינת נתונים כדי לשמור אותם במסד נתונים.
השימוש בתבנית רציפה יכול להפחית את זמן האחזור ואת עלויות התפעול בהשוואה לתבנית שמשתמשת במודל AI כדי לתזמן את זרימת העבודה של המשימות. עם זאת, היעילות הזו באה על חשבון הגמישות. המבנה הקשיח והמוגדר מראש של צינור העיבוד מקשה על התאמה לתנאים דינמיים או על דילוג על שלבים מיותרים, מה שעלול לגרום לעיבוד לא יעיל או להוביל לזמן אחזור מצטבר גבוה יותר אם שלב מיותר הוא איטי.
דפוס מקביל
דפוס מקבילי של כמה סוכנים, שנקרא גם דפוס מקבילי, הוא דפוס שבו כמה סוכני משנה מיוחדים מבצעים משימה או משימות משנה באופן עצמאי בו-זמנית. הפלט של הסוכנים המשניים מסונטז כדי ליצור את התשובה הסופית המאוחדת. בדומה לדפוס עוקב, בדפוס מקביל נעשה שימוש בסוכן לתהליכי עבודה מקבילים כדי לנהל את האופן והזמן שבהם הסוכנים האחרים פועלים, בלי להסתמך על מודל AI כדי לתזמר את הסוכנים המשניים.
התרשים הבא מציג תצוגה כללית של דפוס מקבילי של כמה סוכנים:
משתמשים בתבנית מקבילית כשניתן להפעיל משימות משנה במקביל כדי לצמצם את זמן האחזור או לאסוף נקודות מבט מגוונות, למשל איסוף נתונים ממקורות שונים או הערכה של כמה אפשרויות בו-זמנית. לדוגמה, כדי לנתח משוב מלקוחות, סוכן מקביל יכול להפיץ רשומה אחת של משוב לארבעה סוכנים מומחים בו-זמנית: סוכן לניתוח סנטימנט, סוכן לחילוץ מילות מפתח, סוכן לסיווג וסוכן לזיהוי דחיפות. סוכן סופי אוסף את ארבע התוצאות האלה לניתוח מקיף של המשוב.
הדפוס המקביל יכול לצמצם את זמן האחזור הכולל בהשוואה לגישה רציפה, כי הוא יכול לאסוף מידע מגוון מכמה מקורות בו-זמנית. עם זאת, הגישה הזו כרוכה בפשרות בנוגע לעלות ולמורכבות. הפעלת כמה סוכנים במקביל יכולה להגדיל את ניצול המשאבים המיידי ואת צריכת הטוקנים, מה שמוביל לעלויות תפעול גבוהות יותר. בנוסף, שלב האיסוף דורש לוגיקה מורכבת כדי לסנתז תוצאות שעלולות להיות סותרות, מה שמגדיל את התקורה של הפיתוח והתחזוקה של המערכת.
תבנית לולאה
התבנית של סוכן עם לולאה של כמה סוכנים מריצה שוב ושוב רצף של סוכני משנה מיוחדים עד שמתקיים תנאי סיום ספציפי. בדפוס הזה נעשה שימוש בסוכן של תהליך עבודה מסוג לולאה, שפועל לפי לוגיקה מוגדרת מראש בלי להתייעץ עם מודל AI לצורך תזמור, כמו סוכנים אחרים של תהליכי עבודה. אחרי שכל הסוכנים המשניים מסיימים את המשימות שלהם, הסוכן של הלולאה בודק אם מתקיים תנאי יציאה. התנאי יכול להיות מספר מקסימלי של איטרציות או מצב מותאם אישית. אם התנאי ליציאה לא מתקיים, סוכן הלולאה מתחיל שוב את רצף סוכני המשנה. אפשר להטמיע דפוס של לולאה שבה תנאי היציאה מוערך בכל נקודה בתהליך. משתמשים בתבנית הלולאה למשימות שדורשות שיפור איטרטיבי או תיקון עצמי, כמו יצירת תוכן ושימוש בסוכן מבקר כדי לבדוק אותו עד שהוא עומד בתקן איכות מסוים.
התרשים הבא מציג תצוגה כללית של תבנית לולאה עם כמה סוכנים:
התבנית של סוכן בלולאה מאפשרת ליצור תהליכי עבודה מורכבים ואיטרטיביים. הוא מאפשר לסוכנים לשפר את העבודה שלהם ולהמשיך לעבד עד להשגת איכות או מצב ספציפיים. עם זאת, החיסרון העיקרי של התבנית הזו הוא הסיכון ללולאה אינסופית. אם תנאי הסיום לא מוגדר בצורה נכונה או אם סוכני המשנה לא מצליחים ליצור את המצב שנדרש כדי לעצור, הלולאה יכולה לפעול ללא הגבלה. הדבר עלול להוביל לעלויות תפעול גבוהות מדי, לצריכת משאבים גבוהה ולמערכת שנתקעת.
דפוס של בדיקה וביקורת
דפוס הביקורת וההערות של כמה סוכנים, שנקרא גם דפוס הגנרטור והמבקר, משפר את האיכות והמהימנות של התוכן שנוצר באמצעות שימוש בשני סוכנים ייעודיים, בדרך כלל בתהליך עבודה רציף. הדפוס של בדיקה וביקורת הוא הטמעה של דפוס סוכן הלולאה.
בדפוס של ביקורת וניתוח, סוכן גנרטיבי יוצר פלט ראשוני, כמו בלוק קוד או סיכום של מסמך. לאחר מכן, סוכן מבקר מעריך את הפלט הזה לפי קבוצה מוגדרת מראש של קריטריונים, כמו דיוק עובדתי, עמידה בכללי עיצוב או הנחיות בטיחות. על סמך הבדיקה, המבקר יכול לאשר את התוכן, לדחות אותו או להחזיר אותו לגנרטור עם משוב לתיקון.
התרשים הבא מציג סקירה כללית של דפוס ביקורת ומשוב של כמה סוכנים:
הדפוס הזה מתאים למשימות שבהן הפלט צריך להיות מדויק מאוד או לעמוד במגבלות מחמירות לפני שהוא מוצג למשתמש או משמש בתהליך המשך. לדוגמה, בתהליך עבודה של יצירת קוד, סוכן גנרטור עשוי לכתוב פונקציה כדי למלא בקשה של משתמש. הקוד שנוצר מועבר לסוכן מבקר שפועל כמבקר אבטחה. התפקיד של סוכן הביקורת הוא לבדוק את הקוד בהתאם למערכת אילוצים, כמו סריקה לאיתור נקודות חולשה באבטחה או אימות שלפיו הקוד עובר את כל בדיקות היחידה, לפני שהשימוש בקוד מאושר.
הדפוס של ביקורת והערכה יכול לשפר את האיכות, הדיוק והמהימנות של הפלט, כי הוא מוסיף שלב ייעודי לאימות. עם זאת, הבטחת האיכות הזו כרוכה בעלויות ישירות של השהיה מוגברת והוצאות תפעוליות. תהליך העבודה דורש לפחות קריאה נוספת למודל כדי שהמבקר יבצע את ההערכה. אם התהליך כולל לולאות של שינויים שבהן התוכן נשלח חזרה לשיפור, גם זמן האחזור וגם העלויות מצטברים עם כל איטרציה.
תבנית של שיפור איטרטיבי
דפוס השיפור האיטרטיבי משתמש במנגנון של לולאה כדי לשפר בהדרגה את הפלט על פני מחזורים רבים. התבנית של שיפור איטרטיבי היא הטמעה של תבנית סוכן הלולאה.
בדפוס הזה, סוכן אחד או יותר פועלים בלולאה כדי לשנות תוצאה שמאוחסנת במצב הסשן במהלך כל איטרציה. התהליך נמשך עד שהפלט עומד בסף איכות מוגדר מראש או עד שמגיעים למספר המקסימלי של איטרציות, כדי למנוע לולאות אינסופיות.
התרשים הבא מציג תצוגה כללית של דפוס שיפור איטרטיבי של כמה סוכנים:
התבנית הזו מתאימה למשימות מורכבות של יצירה, שבהן קשה להשיג את הפלט בשלב אחד. דוגמאות למשימות כאלה: כתיבה וניפוי באגים של קטע קוד, פיתוח תוכנית מפורטת בת כמה חלקים או טיוטה ועריכה של מסמך ארוך. לדוגמה, בתהליך עבודה של כתיבה יוצרת, סוכן יכול ליצור טיוטה של פוסט בבלוג, לבקר את הטיוטה מבחינת רצף וטון, ואז לשכתב את הטיוטה על סמך הביקורת הזו. התהליך הזה חוזר על עצמו בלולאה עד שהעבודה של הנציג עומדת בתקן איכות מוגדר מראש או עד שהחזרה מגיעה למספר מקסימלי של איטרציות.
הדפוס של שיפור איטרטיבי יכול להפיק פלטים מורכבים או מלוטשים מאוד, שקשה להשיג בשלב אחד. עם זאת, מנגנון הלולאה מגדיל ישירות את זמן האחזור ואת עלויות התפעול בכל מחזור. הדפוס הזה גם מוסיף מורכבות ארכיטקטונית, כי הוא דורש תנאי יציאה מתוכננים בקפידה – כמו הערכת איכות או מגבלה על מספר האיטרציות – כדי למנוע עלויות מוגזמות או ביצוע לא מבוקר.
דפוס מתאם
תבנית המתאם הרב-סוכנים משתמשת בסוכן מרכזי, המתאם, כדי לנהל את תהליך העבודה. המתאם מנתח את הבקשה של המשתמש ומפרק אותה למשימות משנה, ואז הוא משגר כל משימת משנה לסוכן מומחה לביצוע. כל סוכן מומחה הוא מומחה בפונקציה ספציפית, כמו שליחת שאילתה למסד נתונים או קריאה ל-API.
מה שמייחד את דפוס המתאם הוא השימוש במודל AI כדי לתזמן ולנתב משימות באופן דינמי. לעומת זאת, דפוס מקביל מסתמך על תהליך עבודה שמוגדר בקוד כדי לשלוח משימות לביצוע בו-זמני, בלי צורך בתיאום של מודל AI.
התרשים הבא מציג תצוגה כללית של דפוס מתאם מרובה סוכנים:
אפשר להשתמש בתבנית של רכיב מתאם כדי להפוך לאוטומטיים תהליכים עסקיים מובנים שנדרש בהם ניתוב אדפטיבי. לדוגמה, נציג שירות לקוחות יכול לשמש כמתאם. הסוכן המתאם מנתח את הבקשה כדי לקבוע אם מדובר בבקשה לקבלת סטטוס הזמנה, החזרת מוצר או החזר כספי. בהתאם לסוג הבקשה, הרכז מעביר את המשימה לסוכן המתמחה המתאים.
דפוס המתאם מציע גמישות בהשוואה לתהליכי עבודה קשיחים ומוגדרים מראש. שימוש במודל לניתוב משימות מאפשר לרכז לטפל במגוון רחב יותר של קלטים ולהתאים את תהליך העבודה בזמן הריצה. עם זאת, לגישה הזו יש גם חסרונות. מכיוון שהסוכן המתאם וכל סוכן מומחה מסתמכים על מודל לצורך חשיבה רציונלית, התבנית הזו מובילה ליותר קריאות למודל מאשר מערכת עם סוכן יחיד. למרות שהשימוש בדפוס מתאם יכול להוביל לנימוקים באיכות גבוהה יותר, הוא גם מגדיל את קצב העברת הטוקנים, את העלויות התפעוליות ואת זמן האחזור הכולל בהשוואה למערכת עם סוכן יחיד.
תבנית של פירוק משימות היררכי
התבנית של פירוק משימות היררכי עם כמה סוכנים מארגנת את הסוכנים בהיררכיה עם כמה רמות כדי לפתור בעיות מורכבות שדורשות תכנון נרחב. תבנית הפירוק ההיררכי של משימות היא הטמעה של תבנית המתאם. סוכן ראשי ברמה העליונה, או סוכן שורש, מקבל משימה מורכבת ואחראי לפירוק המשימה לכמה משימות משנה קטנות ופשוטות יותר. הסוכן הראשי מעביר כל משימת משנה לסוכן משנה מומחה ברמה נמוכה יותר. התהליך הזה יכול לחזור על עצמו בכמה שכבות, כשסוכנים מפרקים בהדרגה את המשימות שהוקצו להם עד שהם יכולים לבצע אותן ישירות על ידי סוכן עובד ברמה הנמוכה ביותר.
התרשים הבא מציג תצוגה כללית של דפוס של פירוק משימות היררכי עם כמה סוכנים:
כדאי להשתמש בתבנית של פירוק היררכי של משימות לבעיות לא חד-משמעיות ופתוחות שדורשות חשיבה רב-שלבית, כמו משימות שכוללות מחקר, תכנון וסינתזה. לדוגמה, כדי להשלים פרויקט מחקר מורכב, סוכן מתאם מפרק את המטרה ברמה הגבוהה למספר משימות, כמו איסוף מידע, ניתוח הממצאים וסינתוז הדוח הסופי. הסוכן המתאם מעביר את המשימות האלה לסוכני משנה מומחים, כמו סוכן לאיסוף נתונים, סוכן לניתוח וסוכן לכתיבת דוחות, כדי לבצע אותן או לפרק אותן עוד יותר.
תבנית הפירוק ההיררכי של משימות היא אידיאלית לפתרון בעיות מורכבות מאוד ודו-משמעיות, כי היא מפרקת אותן באופן שיטתי למשימות משנה שקל לנהל. התבנית הזו יכולה להניב תוצאות מקיפות ואיכותיות יותר מתבניות פשוטות יותר. עם זאת, היכולת המתקדמת הזו כרוכה בפשרות משמעותיות. המבנה הרב-שכבתי מוסיף מורכבות ארכיטקטונית משמעותית, שמקשה על עיצוב המערכת, על ניפוי הבאגים שלה ועל התחזוקה שלה. בנוסף, ריבוי השכבות של ההאצלה והחשיבה הרציונלית מוביל למספר גבוה של קריאות למודל, מה שמגדיל באופן משמעותי את זמן האחזור הכולל ואת עלויות התפעול בהשוואה לדפוסים אחרים.
תבנית נחיל
דפוס נחיל של כמה סוכנים משתמש בגישה שיתופית של תקשורת בין כולם. בדפוס הזה, כמה סוכנים מומחים עובדים יחד כדי לשפר באופן איטרטיבי פתרון לבעיה מורכבת.
התרשים הבא מציג תצוגה כללית של דפוס נחיל מרובה סוכנים:
בדפוס Swarm, סוכן שילוח מנתב בקשת משתמש לקבוצה שיתופית של סוכנים מומחים. סוכן השליטה מפרש את הבקשה וקובע איזה סוכן בנחיל הכי מתאים להתחיל את המשימה. בדפוס הזה, כל סוכן יכול לתקשר עם כל סוכן אחר, מה שמאפשר להם לשתף ממצאים, לבקר הצעות ולבנות על העבודה של כל אחד מהם כדי לשפר פתרון באופן איטרטיבי. כל נציג בנחיל יכול להעביר את המשימה לנציג אחר שלדעתו מתאים יותר לטפל בשלב הבא, או להעביר את התשובה הסופית בחזרה למשתמש דרך הנציג המתאם.
בדרך כלל, ל-Swarm אין סוכן מרכזי שמפקח או מתאם את התהליך. סוכן השליחה לא מתזמן את תהליך העבודה של הסוכן, בניגוד לתבנית המתאם. במקום זאת, סוכן השליטה מאפשר תקשורת בין הסוכנים המשניים של נחיל הסוכנים לבין המשתמש. כדי לוודא שהנחיל יפסיק בסופו של דבר ויחזיר תוצאה, צריך להגדיר תנאי יציאה מפורש. התנאי הזה הוא לרוב מספר מקסימלי של איטרציות, הגבלת זמן או השגת יעד ספציפי, כמו הגעה להסכמה.
משתמשים בשיטת הנחיל לבעיות מורכבות מאוד או לבעיות שיש לגביהן אי-ודאות, שמועיל לדון בהן ולשפר אותן באופן איטרטיבי. לדוגמה, תהליך התכנון של מוצר חדש יכול לכלול סוכן לחקר שוק, סוכן הנדסי וסוכן ליצירת מודלים פיננסיים. הסוכנים ישתפו רעיונות ראשוניים, ידונו בפשרות בין התכונות והעלויות, ויגיעו יחד למפרט עיצוב סופי שמאזן בין כל הדרישות המתחרות.
דפוס הנחיל מדמה צוות מומחים שמשתף פעולה, ולכן הוא יכול להפיק פתרונות יצירתיים ואיכותיים במיוחד. עם זאת, זהו הדפוס המורכב והיקר ביותר להטמעה מבין דפוסי ריבוי הסוכנים. היעדר סוכן שמשתמש במודל AI כדי לתזמן יכול להוביל לסיכון של לולאות לא פרודוקטיביות או לכישלון בהגעה לפתרון. לכן, צריך לתכנן לוגיקה מורכבת כדי לנהל את התקשורת המורכבת בין הסוכנים, לשלוט בתהליך העבודה האיטרטיבי ולטפל בעלויות התפעוליות הגבוהות ובזמן האחזור שקשורים להפעלת שיחה דינמית מרובת תפניות בין כמה סוכנים.
דפוס של חשיבה רציונלית ופעולה (ReAct)
דפוס ReAct הוא גישה שבה מודל ה-AI משתמש כדי לתאר את תהליכי החשיבה והפעולות שלו כרצף של אינטראקציות בשפה טבעית. בדפוס הזה, הסוכן פועל בלולאה איטרטיבית של חשיבה, פעולה ותצפית עד שמתקיים תנאי יציאה.
- מחשבה: המודל מנתח את המשימה ומחליט מה לעשות בהמשך. המודל מעריך את כל המידע שהוא אסף כדי לקבוע אם הבקשה של המשתמש נענתה במלואה.
- פעולה: על סמך תהליך החשיבה, המודל מבצע אחת משתי פעולות:
- אם המשימה לא הושלמה, הוא בוחר כלי ואז יוצר שאילתה כדי לאסוף מידע נוסף.
- אם המשימה הושלמה, הוא מנסח את התשובה הסופית לשליחה למשתמש, ובכך מסתיים הלולאה.
- תצפית: המודל מקבל את הפלט מהכלי ושומר מידע רלוונטי בזיכרון שלו. המודל שומר את הפלט הרלוונטי, ולכן הוא יכול להסתמך על תצפיות קודמות. כך הוא לא חוזר על עצמו ולא מאבד את ההקשר.
הלולאה האיטרטיבית מסתיימת כשהסוכן מוצא תשובה חד-משמעית, מגיע למספר המקסימלי של איטרציות שהוגדר מראש או נתקל בשגיאה שמונעת ממנו להמשיך. הלולאה האיטרטיבית הזו מאפשרת לסוכן לבנות תוכנית באופן דינמי, לאסוף ראיות ולהתאים את הגישה שלו תוך כדי שהוא פועל להשגת תשובה סופית.
התרשים הבא מציג סקירה כללית של דפוס ReAct:
כדאי להשתמש בדפוס ReAct למשימות מורכבות ודינמיות שדורשות תכנון והתאמה מתמשכים. לדוגמה, נניח שיש סוכן רובוטי שצריך ליצור נתיב למעבר ממצב התחלתי למצב יעד:
- מחשבה: המודל מנתח את הנתיב האופטימלי למעבר מהמצב הנוכחי למצב היעד. במהלך תהליך החשיבה, המודל מבצע אופטימיזציה של מדדים כמו זמן או אנרגיה.
- פעולה: המודל מבצע את השלב הבא בתוכנית שלו על ידי מעבר לאורך קטע מחושב של נתיב.
- תצפית: המודל מתבונן במצב החדש של הסביבה ושומר אותו. המודל שומר את המיקום החדש שלו ואת כל השינויים בסביבה שהוא מזהה.
הלולאה הזו מאפשרת לסוכן לפעול בהתאם למגבלות דינמיות, כמו הימנעות ממכשולים חדשים או ציות לתקנות התנועה, על ידי עדכון מתמיד של התוכנית שלו על סמך תצפיות חדשות. הסוכן ממשיך בלולאה האיטרטיבית שלו עד שהוא מגיע ליעד או נתקל בשגיאה.
סוכן ReAct יחיד יכול להיות פשוט יותר וחסכוני יותר להטמעה ולתחזוקה מאשר מערכת מרובת סוכנים מורכבת (MAS). התכונה 'חשיבה מודלית' מספקת תמליל של הנימוקים של המודל, ועוזרת בניפוי באגים. עם זאת, הגמישות הזו כרוכה בפשרות. האופי האיטרטיבי של הלולאה, שכולל כמה שלבים, יכול להוביל לזמן אחזור גבוה יותר מקצה לקצה בהשוואה לשאילתה יחידה. בנוסף, היעילות של הסוכן תלויה מאוד באיכות ההיגיון של מודל ה-AI. לכן, שגיאה או תוצאה מטעה מכלי בשלב אחד של התצפית יכולות להתפשט ולגרום לכך שהתשובה הסופית תהיה שגויה.
תבנית של שילוב גורם אנושי
התבנית 'אדם בתהליך' משלבת נקודות להתערבות אנושית ישירות בתהליך העבודה של הסוכן. בנקודת ביקורת מוגדרת מראש, הסוכן משהה את ההרצה שלו וקורא למערכת חיצונית כדי לחכות שאדם יבדוק את העבודה שלו. התבנית הזו מאפשרת לאדם לאשר החלטה, לתקן שגיאה או לספק קלט נדרש לפני שהסוכן יכול להמשיך.
התרשים הבא מציג תצוגה כללית של דפוס human-in-the-loop:
כדאי להשתמש בדפוס של בדיקה אנושית במשימות שדורשות פיקוח אנושי, שיקול דעת סובייקטיבי או אישור סופי לפעולות קריטיות. פעולות כאלה כוללות אישור של עסקה כספית גדולה, אימות הסיכום של מסמך רגיש או מתן משוב סובייקטיבי על תוכן יצירתי שנוצר. לדוגמה, יכול להיות שסוכן יקבל משימה להפוך מערך נתונים של מטופלים לאנונימי לצורך מחקר. הסוכן יזהה ויצנזר באופן אוטומטי את כל המידע הרפואי המוגן, אבל הוא יושהה את הפעולה בנקודת ביקורת סופית. הוא ימתין עד שאחראי על התאימות יאמת ידנית את מערך הנתונים ויאשר את השחרור שלו, כדי לוודא שלא ייחשף מידע אישי רגיש.
הדפוס 'אדם בתהליך' משפר את הבטיחות והמהימנות על ידי הוספת שיקול דעת אנושי לנקודות קריטיות בתהליך העבודה. הדפוס הזה יכול להוסיף מורכבות ארכיטקטונית משמעותית, כי הוא מחייב אתכם לבנות ולתחזק את המערכת החיצונית לאינטראקציה עם המשתמשים.
דפוס של לוגיקה מותאמת אישית
הדפוס של לוגיקה בהתאמה אישית מספק את הגמישות המקסימלית בתכנון תהליך העבודה. הגישה הזו מאפשרת לכם להטמיע לוגיקה ספציפית של תזמור שמשתמשת בקוד, כמו משפטי תנאי, כדי ליצור תהליכי עבודה מורכבים עם כמה נתיבי הסתעפות.
התרשים הבא מציג דוגמה לשימוש בדפוס של לוגיקה בהתאמה אישית כדי לתעד תהליך של החזר כספי:
בתרשים שלמעלה, מוצג תהליך העבודה של סוכן עם יכולות AI בדוגמה של סוכן להחזר כספי ללקוח:
- המשתמש שולח שאילתה לסוכן להחזרים כספיים ללקוחות, שפועל כסוכן מתאם.
- הלוגיקה המותאמת אישית של הסוכן המתאם מפעילה קודם סוכן אימות מקביל, ששולח בו-זמנית שני סוכני משנה: סוכן אימות הרכישה וסוכן בדיקת הזכאות להחזר כספי.
- אחרי שהתוצאות נאספות, סוכן התיאום מריץ כלי כדי לבדוק אם הבקשה עומדת בדרישות לקבלת החזר כספי.
- אם המשתמש עומד בדרישות, המנהל מעביר את המשימה לסוכן לעיבוד החזרים כספיים, שמפעיל את הכלי
process_refund. - אם המשתמש לא עומד בדרישות, רכיב התיאום מעביר את המשימה לתהליך נפרד, שמתחיל בסוכן של קרדיט בחנות ובסוכן של תהליך קבלת החלטות לגבי קרדיט.
- אם המשתמש עומד בדרישות, המנהל מעביר את המשימה לסוכן לעיבוד החזרים כספיים, שמפעיל את הכלי
- התוצאה מכל אחד מהנתיבים נשלחת לסוכן התגובה הסופית כדי לגבש את התשובה למשתמש.
הדוגמה של סוכן החזרים הכספיים ללקוחות דורשת פתרון ייחודי לתיאום ברמת הלוגיקה, שחורג מהגישות המובנות שדפוסים אחרים מציעים. תהליך העבודה הזה משלב דפוסים כי הוא מריץ בדיקה מקבילה, ואז הוא מבצע הסתעפות מותנית מותאמת אישית שמובילה לשני תהליכים שונים לחלוטין בהמשך. סוג כזה של תהליך עבודה מורכב עם דפוסים מעורבים הוא תרחיש השימוש האידיאלי לדפוס של לוגיקה מותאמת אישית.
משתמשים בדפוס של לוגיקה מותאמת אישית כשרוצים שליטה מדויקת על הביצוע של הסוכן או כשזרימת העבודה לא מתאימה לאחד מהדפוסים האחרים שמתוארים במסמך הזה. עם זאת, הגישה הזו מגדילה את המורכבות של הפיתוח והתחזוקה. אתם אחראים לתכנון, להטמעה ולניפוי הבאגים של כל תהליך התיזמור, שדורש מאמץ פיתוח רב יותר ועלול להיות מועד יותר לשגיאות מאשר שימוש בתבנית מוגדרת מראש שנתמכת על ידי כלי כמו ערכת פיתוח סוכנים (ADK).
מידע על סוכנים מותאמים אישית ועל הטמעה של לוגיקה מותאמת אישית באמצעות ADK זמין במאמר סוכנים מותאמים אישית.
השוואה בין דפוסי עיצוב
בחירת תבנית סוכן היא החלטה ארכיטקטונית בסיסית. כל דפוס מציע יתרונות וחסרונות שונים מבחינת גמישות, מורכבות וביצועים. כדי לקבוע את התבנית המתאימה לעומס העבודה שלכם, כדאי לעיין בתבניות העיצוב בקטעים הבאים.
תהליכי עבודה דטרמיניסטיים
תהליכי עבודה דטרמיניסטיים כוללים משימות צפויות ורציפות, עם נתיב ברור של תהליך העבודה מההתחלה ועד הסוף. השלבים במשימות ידועים מראש, והתהליך לא משתנה הרבה מריצה אחת לשנייה.
בהמשך מפורטים דפוסי עיצוב של סוכנים לתהליכי עבודה דטרמיניסטיים:
- תבנית רציפה של כמה סוכנים
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- משימות עם כמה שלבים שמתבצעות לפי תהליך עבודה קבוע ומוגדר מראש.
- לא נדרשת תזמור של מודלים.
- רצף פעולות קבוע. הפלט של סוכן אחד הוא הקלט הישיר של הסוכן הבא ברצף.
- תבנית מקבילית של כמה סוכנים
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- משימות עצמאיות שאפשר לבצע בו-זמנית.
- לא נדרשת תזמור של מודלים.
- התכונה הזו מקצרת את זמן הטעינה הכולל על ידי הפעלת משימות משנה במקביל.
- דפוס של שיפור איטרטיבי בכמה סוכנים
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- משימות יצירה פתוחות או מורכבות שקשה להשלים בניסיון אחד.
- הסוכן צריך לשפר את הפלט באופן הדרגתי על פני כמה מחזורים.
- לא נדרשת תזמור של מודלים.
- היא מתעדפת את איכות הפלט על פני זמן האחזור.
תהליכי עבודה שנדרש בהם תזמור דינמי
תהליכי עבודה שדורשים תזמור דינמי כוללים בעיות מורכבות שבהן סוכנים צריכים להחליט איך להמשיך. בתהליכי העבודה האלה, מערכת ה-AI עם יכולות סוכנותיות מתכננת, מקצה ומתאמת משימות באופן דינמי בלי תסריט.
אלה דפוסי עיצוב של סוכנים לתהליכי עבודה שנדרש בהם תזמור דינמי:
- תבנית של סוכן יחיד
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- משימות מובנות עם כמה שלבים שדורשות שימוש בכלים חיצוניים.
- נדרש פיתוח מהיר של אב טיפוס לפתרון כהוכחת קונספט.
- דפוס של מתאם בין כמה סוכנים
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- נדרשת הפניה דינמית לסוכן משנה מתאים ומומחה לביצוע משימות מובנות עם קלט מגוון.
- השהיה גבוהה בגלל כמה קריאות למודל ה-AI של המתאם, כדי שהוא יוכל להפנות משימות לסוכן המשנה המתאים.
- יכול להיות שיהיה עלות גבוהה בגלל שיחות מרובות לסוכן המתאם.
- תבנית של פירוק משימות היררכי עם כמה סוכנים
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- נדרשת תזמור מודלים רב-רמתי למשימות מורכבות, פתוחות ועמומות.
- נדרשות תוצאות מקיפות ואיכותיות, והאתגר העיקרי הוא פירוק של דו-משמעות.
- חביון גבוה בגלל פירוק מקונן בכמה רמות שמוביל לכמה קריאות למודל ה-AI לצורך הסקה.
- דפוס של נחיל עם כמה סוכנים
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- נדרש דיון משותף ושיפור חוזר ונשנה של כמה סוכנים מומחים כדי לבצע משימות מורכבות מאוד, פתוחות או דו-משמעיות.
- הוא נותן עדיפות לסינתזה של כמה נקודות מבט כדי ליצור פתרון מקיף או יצירתי.
- השהיה גבוהה ועלויות תפעול גבוהות בגלל תקשורת דינמית בין כל הסוכנים.
תהליכי עבודה שכוללים איטרציה
תהליכי עבודה שכוללים איטרציה הם תהליכים שבהם התוצאה הסופית מושגת באמצעות מחזורים של שיפור, משוב ושיפור.
אלה דפוסי עיצוב של סוכנים לתהליכי עבודה שכוללים איטרציה:
- דפוס ReAct
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- נדרש סוכן שיבצע חשיבה איטרטיבית, יפעל ויצפה כדי ליצור או להתאים תוכנית למשימות מורכבות, פתוחות ודינמיות.
- היא מתעדפת תוצאה מדויקת ומקיפה יותר על פני זמן אחזור.
- תבנית של לולאה עם כמה סוכנים
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- נדרשות משימות של מעקב או שליחת בקשות שחוזרות על פעולה מוגדרת מראש, כמו בדיקות אוטומטיות, עד שהסוכן עומד בתנאי יציאה.
- חביון בלתי צפוי או ארוך בזמן ההמתנה להשגת תנאי יציאה.
- דפוס של ביקורת ומשוב מרובי סוכנים
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- כדי להשלים משימות, צריך לבצע שלב אימות נפרד.
- דפוס של שיפור איטרטיבי בכמה סוכנים
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- משימות יצירה פתוחות או מורכבות שקשה להשלים בניסיון אחד.
- הסוכן צריך לשפר את הפלט באופן הדרגתי על פני כמה מחזורים.
- לא נדרשת תזמור של מודלים.
- היא מתעדפת את איכות הפלט על פני זמן האחזור.
תהליכי עבודה עם דרישות מיוחדות
תהליכי עבודה עם דרישות מיוחדות כוללים משימות שלא פועלות לפי דפוסים נפוצים של סוכנים. המשימות יכולות לכלול לוגיקה עסקית ייחודית או לדרוש שיקול דעת אנושי והתערבות בנקודות קריטיות. במקרה הזה, מערכת ה-AI האקטיבי מותאמת למטרה ספציפית אחת.
אלה דפוסי עיצוב של סוכנים לתהליכי עבודה עם דרישות מיוחדות:
- דפוס של אדם בתהליך
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- נדרשת השגחה אנושית בגלל משימות חשובות או סובייקטיביות, שעשויות לכלול דרישות בטיחות, אמינות ותאימות.
- דפוס לוגיקה מותאם אישית
-
כדאי להשתמש בדפוס הזה אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- לוגיקה מורכבת ומסועפת שחורגת מרצף לינארי ישיר.
- נדרשת שליטה מקסימלית כדי לשלב בין כללים מוגדרים מראש לבין נימוקים של המודל.
- נדרש שליטה בתהליך ברמת פירוט גבוהה עבור תהליך עבודה שלא מתאים לתבנית סטנדרטית.
המאמרים הבאים
- מידע נוסף על יצירה וניהול של מערכות מרובות סוכנים באמצעות פרימיטיבים של ADK
- איך מארחים אפליקציות וסוכנים מבוססי-AI ב-Cloud Run
- מידע נוסף על דפוסי עיצוב מבוססי-סוכן: מדריך מעשי ליצירת מערכות חכמות
- איך יוצרים סוכן באמצעות ADK
- מידע נוסף על בניית מערכות AI מרובות סוכנים ב- Google Cloud
- לדוגמאות נוספות של ארכיטקטורות, תרשימים ושיטות מומלצות, עיינו במאמר Cloud Architecture Center.
שותפים ביצירת התוכן
מחבר: סמנתה הי | כותבת טכנית
תורמי תוכן אחרים:
- Abdul Saleh | Software Engineer
- Amina Mansour | Head of Cloud Platform Evaluations Team
- Amit Maraj | Developer Relations Engineer
- Casey West | Architecture Advocate, Google Cloud
- Jack Wotherspoon | אחראי קשרי מפתחים
- ג'ו פרננדז | כותב טכני
- Joe Shirey | Cloud Developer Relations Manager
- קרל ויינמייסטר | Director of Cloud Product Developer Relations
- קומאר דהנגופאל | מפתח פתרונות חוצי-מוצרים
- Lisa Shen | Senior Outbound Product Manager, Google Cloud
- מנדי גרובר | ראש צוות מרכז הארכיטקטורה
- Mark Lu | כותב טכני
- מייגן או'קיף | אחראית קשרי מפתחים
- אוליבייה בורז'ואה | מהנדס קשרי מפתחים
- שיר מאיר לדור | מנהלת הנדסה של קשרי מפתחים
- Vlad Kolesnikov | Developer Relations Engineer