הנוף הדיגיטלי מתפתח מעבר לגלישה באינטרנט ממוקדת אנוש לתחום של סוכנים אוטונומיים המשולבים בצורה חלקה במערכות מגוונות. שינוי זה מחייב תשתית חדשה, ופתרון משכנע מתגבש, המורכב מארבעה מרכיבים מרכזיים בקוד פתוח.
- Agent2Agent (A2A) של Google: פרוטוקול שנועד להקל על גילוי ואינטראקציה של סוכנים.
- Model Context Protocol (MCP) של Anthropic: תקן המגדיר כיצד סוכנים משתמשים בכלים ובנתוני הקשר חיצוניים.
- Apache Kafka: עמוד שדרה תקשורתי חזק מונחה אירועים המאפשר תיאום אמין ומנותק.
- Apache Flink: מנוע עיבוד בזמן אמת, חיוני להעשרה, ניטור ופעולה על זרמי פעילות סוכנים.
מאמר זה בוחן את מערכות היחסים הסינרגטיות בין טכנולוגיות אלה, ומדגיש את המגבלות של הסתמכות אך ורק על פרוטוקולים ומדגים כיצד ארכיטקטורה זו מניחה את הבסיס למעבר מבוטים מבודדים למערכות אקולוגיות דינמיות וחכמות של סוכנים.
ההתרבות הצפויה של סוכני AI בתוך ארגונים מצביעה על כך שרוב החברות יפרסו מספר רב של סוכנים מיוחדים ולא אחד כוללני. סוכנים אלה יבצעו אוטומציה של משימות כמו יצירת קוד, ניהול כרטיסי תמיכה, ניתוח נתוני לקוחות, קליטת עובדים וניטור תשתית.
עם זאת, הכלים הנוכחיים אינם מספיקים לתמיכה בעתיד כזה.
האתגר משתרע מעבר לבעיית “אי הסוכנים”, שבה סוכנים מתפקדים בסילוסים וחסרים יכולות תקשורת. הוא כולל פיצול נרחב יותר של המערכת האקולוגית:
- חוסר תקשורת בין סוכנים: סוכנים פועלים בדרך כלל בסביבות מבודדות. סוכן ניהול קשרי לקוחות (CRM) אינו מודע לתובנות שנגזרו על ידי סוכן מחסן נתונים. סוכן תמיכה אינו יכול להגיב לחריגות שאותרו על ידי סוכן ניטור.
- שימוש שביר ומותאם אישית בכלי נשק: ללא שיטות סטנדרטיות לגישה לכלים או לממשקי תכנות יישומים חיצוניים (APIs), סוכנים מסתמכים על שילובים מקודדים ועל לוגיקה שאינה ניתנת לשימוש חוזר.
- מסגרות לא עקביות: זמני ריצה שונים של סוכנים משתמשים במודלים מגוונים, ומתייחסים לסוכנים כצ’אטבוטים, גרפים אציקליים מכוונים (DAGs) או מתכננים רקורסיביים. התוצאה היא היעדר שכבת ביצוע ניידת או מצב משותף.
- עיצוב המתמקד בסביבות מחברת: סוכנים רבים מפותחים כאבות טיפוס חד פעמיים, המאופיינים בפעולות ליניאריות, סינכרוניות וחולפות. עם זאת, מערכות בעולם האמיתי מחייבות טיפול חזק בניסיונות חוזרים, כשלים, תיאום, רישום וקנה מידה, מה שמצריך תשתית תומכת.
- היעדר עמוד שדרה שיתופי: אין אוטובוס אירועים, זיכרון משותף או היסטוריה ניתנת למעקב של פעילויות סוכנים והצדקה. מידע מוגבל לשיחות HTTP ישירות או קבור בתוך יומנים.
כפי שהודגש על ידי הפרויקט 12-Factor Agents, סוכנים צריכים לדבוק בעקרונות מקוריים בענן, ולהציג יכולת צפייה, צימוד רופף, יכולת שחזור ומודעות לתשתית. למרבה הצער, הרוב בנויים כתסריטים שבירים, מורכבים באופן ידני ומניחים שהם פועלים באופן עצמאי.
התוצאה היא חוסר יעילות, שכפול מאמץ ושבריריות.
Agent2Agent פותרת חלקית בעיה זו על ידי מתן פרוטוקול סטנדרטי לסוכנים לגילוי ותקשורת. עם זאת, המעבר מעבר להדגמות שטחיות לקנה המידה והאמינות הנדרשים על ידי מערכות ייצור מחייב יותר מסתם פרוטוקולים. זה דורש תשתית מקיפה.
המערכת האקולוגית הנוכחית של סוכנים משקפת את השלבים המוקדמים של האינטרנט, המאופיינים במערכות חזקות אך מבודדות ולא תואמות. בדומה לאתגרים המוקדמים שעמדו בפני דפדפנים המתקשרים עם שרתים ללא פרוטוקול סטנדרטי, סוכני AI כיום מתקשים לגלות, לתקשר ולשתף פעולה זה עם זה ביעילות.
Agent2Agent (A2A) של Google: פרוטוקול אוניברסלי לתקשורת סוכנים
פרוטוקול A2A של גוגל הוא ניסיון משמעותי לטפל בסוגיה זו. הוא מבדיל את עצמו בכך שהוא לא עוד מסגרת סוכנים, אלא פרוטוקול אוניברסלי שנועד לחבר כל סוכן, ללא קשר למקורו או לסביבת הפריסה שלו.
בדומה לאופן שבו HTTP תיקנן את תקשורת האתר, A2A מגדיר שפה משותפת לסוכנים, ומאפשר להם:
- הכרזת יכולות: באמצעות
AgentCard
, מתאר JSON המתאר את היכולות ואת שיטות האינטראקציה של סוכן. - שליחה וקבלה של משימות: באמצעות אינטראקציות מובנות המשתמשות ב-JSON-RPC, כאשר סוכן אחד מבקש סיוע והשני מגיב עם תוצאות או ‘חפצים’.
- עדכוני זרם עם אירועים שנשלחו על ידי השרת (SSEs): הקלה על משוב בזמן אמת במהלך משימות ארוכות או שיתופיות.
- החלפת תוכן עשיר: תמיכה בהחלפת קבצים, נתונים מובנים וטפסים, מעבר לטקסט פשוט.
- שמירה על אבטחה כברירת מחדל: שילוב תמיכה מובנית ב-HTTPS, אימות והרשאות.
החוזק של A2A טמון בהימנעות מהמצאת פתרונות מבוססים. הוא ממנף תקני אינטרנט מבוססים היטב, בדומה ל-HTTP ו-SMTP, ומקל על אימוץ מהיר יותר ושילוב מהיר יותר.
עם זאת, A2A מייצג רק היבט אחד של הפתרון הכולל.
Model Context Protocol (MCP) של Anthropic: תקינה של שימוש בכלי נשק וגישה להקשר
MCP של Anthropic מטפל בהיבט המכריע של האופן שבו סוכנים משתמשים בכלים וניגשים למידע הקשרי. MCP מתקנן את התהליך שבו סוכנים מפעילים ממשקי API, קוראים לפונקציות ומשתלבים עם מערכות חיצוניות, ובעצם מגדיר כיצד הם פועלים בתוך הסביבה שלהם. בעוד ש-A2A שולט בתקשורת בין סוכנים, MCP מתמקד באינטראקציה של סוכן עם העולם החיצון.
בעיקרון:
- MCP מעצים את האינטליגנציה של סוכן בודד.
- A2A מאפשר אינטליגנציה קולקטיבית.
בדומה לאופן שבו HTTP ו-SMTP דרשו אימוץ נרחב, תשתית וכלי פיתוח כדי להשיג הצלחה נרחבת, A2A ו-MCP ידרשו מערכת אקולוגית חזקה כדי לממש את מלוא הפוטנציאל שלהם.
גם עם מאמצי סטנדרטיזציה כמו A2A ו-MCP, נותרת שאלה קריטית: כיצד ניתן להרחיב ביעילות את תקשורת הסוכנים על פני סביבות ארגוניות מורכבות ודינמיות? הסתמכות אך ורק על חיבורים ישירים, נקודה לנקודה, המוגדרים על ידי פרוטוקולים אלה, מציגה אתגרים הקשורים למדרגיות, עמידות ויכולת צפייה. זה מדגיש את הצורך בתשתית תקשורת בסיסית חזקה.
תארו לעצמכם חברה שבה עובדים יכולים לתקשר רק באמצעות הודעות ישירות, אחד על אחד. שיתוף עדכון יחייב שליחת הודעות לכל אדם בנפרד. תיאום פרויקט בין צוותים מרובים יכלול העברה ידנית של מידע בין כל קבוצה.
הגדלת מערכת כזו למאות עובדים תגרום לכאוס.
תרחיש זה משקף את האתגרים הניצבים בפני מערכות אקולוגיות של סוכנים הבנויות על חיבורים ישירים. כל סוכן חייב לדעת עם אילו סוכנים ליצור קשר, כיצד להגיע אליהם ומה הזמינות שלהם. ככל שמספר הסוכנים גדל, מספר החיבורים הנדרשים גדל באופן אקספוננציאלי, מה שגורם למערכת שבירה, קשה לניהול ולא ניתנת להרחבה.
A2A ו-MCP מספקים לסוכנים את השפה והמבנה לתקשורת ופעולה. עם זאת, שפה לבדה אינה מספיקה. כדי לתאם מספר רב של סוכנים על פני ארגון, יש צורך בתשתית לניהול זרימת הודעות ותגובות סוכנים.
Kafka ו-Flink: עמוד השדרה לשיתוף פעולה מדרגי של סוכנים
Apache Kafka ו-Apache Flink מספקים תשתית חיונית זו.
Kafka ו-Flink מוסברים
Apache Kafka, שפותחה במקור בלינקדאין וכעת פרויקט של קרן התוכנה Apache, היא פלטפורמת סטרימינג של אירועים מבוזרים. הוא מתפקד כאוטובוס הודעות עמיד ובעל תפוקה גבוהה, ומאפשר למערכות לפרסם ולהירשם לזרמי אירועים בזמן אמת. Kafka נמצא בשימוש נרחב ביישומים שונים, כולל מערכות פיננסיות, זיהוי הונאות וצינורות טלמטריה, בשל יכולתו לנתק מפיקים מצדדים ולהבטיח עמידות נתונים, יכולת שידור חוזר ומדרגיות.
Flink, פרויקט Apache נוסף, הוא מנוע עיבוד זרמים בזמן אמת המיועד לעיבוד אירועים בעלי תפוקה גבוהה ובהשהיה נמוכה. בעוד Kafka מנהל את תנועת הנתונים, Flink מטפל בהמרה, העשרה, ניטור ותזמור של נתונים כשהם זורמים דרך מערכת.
ביחד, Kafka ו-Flink יוצרים שילוב רב עוצמה. Kafka משמש כזרם הדם, בעוד Flink פועל כמערכת הרפלקסים.
בדומה לתפקידו של A2A כ-HTTP של עולם הסוכנים, Kafka ו-Flink מספקים בסיס מונחה אירועים לתקשורת וחישוב מדרגיים של סוכנים, ומתמודדים עם אתגרים שתקשורת ישירה, נקודה לנקודה, אינה יכולה:
- ניתוק: עם Kafka, סוכנים אינם צריכים לדעת את הצרכנים של הפלט שלהם. הם מפרסמים אירועים (למשל,
"TaskCompleted"
,"InsightGenerated"
) לנושא, ומאפשרים לכל סוכן או מערכת מעוניינים להירשם. - יכולת צפייה ויכולת שידור חוזר: Kafka שומר יומן עמיד ומסודר בזמן של כל האירועים, ומבטיח שהתנהגות הסוכן ניתנת למעקב, לביקורת ולשידור חוזר מלא.
- קבלת החלטות בזמן אמת: Flink מאפשר לסוכנים להגיב בזמן אמת לזרמי אירועים, סינון, העשרה, הצטרפות או הפעלת פעולות המבוססות על תנאים דינמיים.
- עמידות וקנה מידה: עבודות Flink יכולות להגדיל את קנה המידה באופן עצמאי, להתאושש מכשלים ולשמור על מצב לאורך זרימות עבודה ארוכות טווח, וזה חיוני לסוכנים המבצעים משימות מורכבות ומרובות שלבים.
- תיאום מקורי לזרם: במקום להמתין לתגובות סינכרוניות, סוכנים יכולים לתאם באמצעות זרמי אירועים, לפרסם עדכונים, להירשם לזרימות עבודה ולהתקדם בשיתוף פעולה במצב.
לסיכום:
- A2A מגדיר כיצד סוכנים מתקשרים.
- MCP מגדיר כיצד הם מקיימים אינטראקציה עם כלים חיצוניים.
- Kafka מגדיר כיצד ההודעות שלהם זורמות.
- Flink מגדיר כיצד זרימות אלה מעובדות, מומרות ומשמשות לקבלת החלטות.
פרוטוקולים כמו A2A ו-MCP חיוניים לתקינה של התנהגות ותקשורת סוכנים. עם זאת, ללא מצע מונחה אירועים כמו Kafka וזמן ריצה מקורי לזרם כמו Flink, סוכנים נשארים מבודדים, אינם יכולים לתאם ביעילות, להגדיל את קנה המידה ביעילות או להסיק מסקנות לאורך זמן.
ארכיטקטורת ארבע השכבות לסוכני AI ברמה ארגונית
כדי לממש באופן מלא את החזון של סוכני AI ברמה ארגונית, הניתנים לתפעול הדדי, נדרשת ארכיטקטורת ארבע שכבות:
- פרוטוקולים: A2A, MCP – הגדרת ה_מה_.
- מסגרות: LangGraph, CrewAI, ADK – הגדרת ה_איך_.
- תשתית העברת הודעות: Apache Kafka – תמיכה ב_זרימה_.
- חישוב בזמן אמת: Apache Flink – תמיכה ב_חשיבה_.
יחד, שכבות אלה יוצרות את מחסנית האינטרנט החדשה לסוכני AI, ומספקות בסיס לבניית מערכות שהן לא רק חכמות אלא גם שיתופיות, ניתנות לצפייה ומוכנות לייצור.
אנו נמצאים כעת בנקודה מכרעת באבולוציה של התוכנה.
בדיוק כפי שמחסנית האינטרנט המקורית – המורכבת מפרוטוקולים כמו HTTP ו-SMTP ותשתית כמו TCP/IP – בישרה עידן של קישוריות גלובלית, מחסנית חדשה צומחת עבור סוכני AI. עם זאת, במקום שבני אדם ינווטו בדפי אינטרנט או ישלחו הודעות דוא’ל, מחסנית זו מיועדת למערכות אוטונומיות המשתפות פעולה כדי להסיק מסקנות, להחליט ולפעול.
A2A ו-MCP מספקים את הפרוטוקולים לתקשורת סוכנים ושימוש בכלי נשק, בעוד Kafka ו-Flink מספקים את התשתית לתיאום בזמן אמת, יכולת צפייה וחוסן. יחד, הם מאפשרים את המעבר מהדגמות סוכנים מנותקות למערכות אקולוגיות מדרגיות, חכמות ובדרגת ייצור.
אבולוציה זו אינה עוסקת רק בטיפול באתגרים הנדסיים. מדובר בהפעלת פרדיגמה חדשה של תוכנה שבה סוכנים משתפים פעולה מעבר לגבולות, ומספקים תובנות ומניעים פעולות בזמן אמת, ובכך מאפשרים לאינטליגנציה להפוך למערכת מבוזרת.
עם זאת, חזון זה מחייב פיתוח פעיל, תוך שימת דגש על פתיחות, יכולת פעולה הדדית ומינוף הלקחים שנלמדו ממהפכת האינטרנט הקודמת.
לכן, בעת פיתוח סוכן, חיוני לשקול את שילובו בתוך המערכת הרחבה יותר. האם הוא יכול לתקשר ביעילות? האם הוא יכול לתאם עם סוכנים אחרים? האם הוא יכול להתפתח ולהסתגל לתנאים משתנים?
העתיד הוא לא רק מופעל על ידי סוכנים; הוא מחובר לסוכנים.