בשנתיים האחרונות, הנדסת AI פעלה לפי תסריט פשוט. תנו לסוכן (agent) הנחיה (prompt), כמה כלים ושכבת זיכרון. צפו בו קובע פגישה, מסכם חוזה או מנטר/מתקן שגיאות (debug) בסקריפט. המטרה כולה הייתה להפוך סוכן בודד לשימושי בפני עצמו.
המטרה הזו השתנתה.
אנחנו עדים כעת למעבר של התעשייה מסוכנים בודדים לצוותי סוכנים. בוט מיון (triage) בשירות לקוחות מזהה בקשה להחזר כספי ומנתב את המקרה לסוכן תשלומים. סוכן מחקר שסורק (scraping) נתוני רשת נתקל בפער בנישה ומאציל (delegates) את המשימה למומחה שיושב על מסד נתונים קנייני (proprietary). סוכן לוגיסטי המתכנן משלוח זקוק להצעת מחיר למשלוח בזמן אמת, ולכן הוא מבקש מספר מסוכן תמחור.
זה נשמע פשוט על הנייר. בפועל, זה שביר (brittle).
האתגר החדש הוא קישוריות (interoperability). צוותים בונים סוכנים בפריימוורקים (frameworks) שונים. ספקים שונים מספקים סוכנים עם ממשקים (interfaces) שונים. כשחברה אחת צריכה לעבוד עם אחרת, הפער גדל. כעת אנו נמצאים בנוף מלא בעובדים מוכשרים שחסרה להם שפה משותפת. סוכן לא יכול לחפש סוכן אחר בספרייה (directory). הוא לא יכול לקרוא תיאור של מה הקולגה שלו עושה. והוא לא יכול להעביר משימה רגישה מבלי להסתכן בדליפת נתונים, אובדן הקשר (context) או ביצוע כפול.
זו בדיוק הבעיה ש-A2A נועד לפתור. הוא מעניק לסוכנים פרוטוקול משותף לגילוי, האצלה ושיתוף פעולה מאובטח.
מסוכנים בודדים לאגודות סוכנים (Agent Silos)
הגל הראשון של פריימוורקים לסוכנים התייחס לגבול המערכת כאל הגבול של הסוכן. בנית לולאת חשיבה (reasoning loop), נתת לה חגורת כלים, וקיווית שהיא תוכל לחשוב את דרכה דרך תהליך עבודה (workflow). זה עבד מספיק טוב כשהסוכן נשאר בתוך בסיס קוד אחד, חשבון ענן אחד או פלטפורמה של ספק אחד.
עסקים אמיתיים אינם פועלים בתוך מונוליטים. בקשה להחזר כספי עשויה להתחיל ב-CRM, לעבור לשירות תשלומים פנימי שנכתב ב-Python, ולהסתיים בבדיקת הונאה המאוחסנת על ידי צד שלישי. כשאתה ממדל (model) כל אחד מהשירותים הללו כסוכן, אתה מבין במהירות שסוכנים שנבנו על סטאקים (stacks) שונים אינם מבינים זה את זה באופן טבעי. סוכני ארגון (Enterprise agents) שנבנו על פריימוורקים קנייניים אינם מפרסמים את היכולות שלהם לעולם החיצון.
ללא סטנדרט, כל אינטגרציה הופכת לפרויקט מותאם אישית. מהנדסים כותבים קוד "דבק" (glue code) חד-פעמי. ההקשר (context) הולך לאיבוד בתרגום. מדיניות האבטחה הופכת ללא עקבית, מכיוון שכל העברת משימה היא מותאמת אישית (bespoke).
Agent Cards: קורות חיים ציבוריים
A2A מציגה את Agent Cards כדרך עבור סוכנים להכריז מי הם ומה הם יכולים לעשות.
חשבו על Agent Card כעל קורות חיים הניתנים לקריאה על ידי מכונה. סוכן מפרסם כרטיס המתאר את התחום שלו, הקלטים הנדרשים, הפלטים הצפויים וכל מגבלה על העבודה שהוא מקבל. סוכן תשלומים עשוי להצהיר שהוא מעבד בקשות להחזר כספי מתחת לסכום מסוים כאשר מסופק לו מזהה הזמנה וקוד סיבה, ושהוא מחזיר מספר אישור או שגיאה. מומחה נתונים עשוי לציין שהוא מקבל קבצים מובנים עד גודל מסוים ומחזיר נתוני סדרות עתיות (time-series) נקיים בתוך חלון זמן צפוי.
לפני האצלת עבודה, סוכן מבקש קורא את הכרטיס. הוא מבין האם סוכן היעד בכלל מסוגל לבצע את העבודה. הוא לומד באיזה פורמט נדרש המטען (payload). הוא יודע האם עליו לצפות לתגובה סינכרונית או למשימה אסינכרונית שתסתיים מאוחר יותר.
זה מסיר את ניחוש העובדות. במקום לקודד אינטגרציות (hardcoding) מול כל שותף אפשרי, סוכן יכול לדפדף ביכולות הזמינות ולבחור את חבר הצוות המתאים באופן דינמי.
משימות (Tasks): עבודה מובנית, לא רק קריאות API
סוכנים לא צריכים לצ'אט כמו בני אדם. הם צריכים להעביר משימות בצורה נקייה. A2A ממדלת את החלפה זו כ-Task.
משימה (Task) היא יותר מ...
