(לחצו על התמונה למעלה לצפייה בווידאו של השיעור)
עם גידול השימוש בסוכני בינה מלאכותית, עולה הצורך בפרוטוקולים שמבטיחים סטנדרטיזציה, אבטחה ותמיכה בחדשנות פתוחה. בשיעור זה נסקור 3 פרוטוקולים שמטרתם לענות על צורך זה - פרוטוקול הקשר לדגם (MCP), סוכן לסוכן (A2A) ו-Natural Language Web (NLWeb).
בשיעור זה נעסוק ב:
• כיצד MCP מאפשר לסוכני בינה מלאכותית גישה לכלים ונתונים חיצוניים להשלמת משימות של המשתמש.
• כיצד A2A מאפשר תקשורת ושיתוף פעולה בין סוכני בינה מלאכותית שונים.
• כיצד NLWeb מביא ממשקי שפה טבעית לכל אתר אינטרנט, ומאפשר לסוכני בינה מלאכותית לגלות את התוכן ולהתקשר איתו.
• לזהות את המטרה המרכזית והיתרונות של MCP, A2A ו-NLWeb בהקשר של סוכני בינה מלאכותית.
• להסביר כיצד כל פרוטוקול מקל על התקשורת והאינטראקציה בין LLM, כלים וסוכנים אחרים.
• להכיר את התפקידים הייחודיים שכל פרוטוקול ממלא בבניית מערכות אגנטיות מורכבות.
פרוטוקול הקשר לדגם (MCP) הוא תקן פתוח שמספק דרך סטנדרטית לאפליקציות להעניק הקשר וכלים ל-LLM. זה מאפשר “מתאם אוניברסלי” למקורות נתונים וכלים שונים של סוכני בינה מלאכותית להתחבר אליהם בצורה עקבית.
נבחן את רכיבי ה-MCP, היתרונות לעומת שימוש ישיר ב-API, ודוגמה איך סוכני בינה מלאכותית יכולים להשתמש בשרת MCP.
ה-MCP פועל במבנה לקוח-שרת והרכיבים המרכזיים הם:
• מארחים (Hosts) הם אפליקציות LLM (למשל, עורך קוד כמו VSCode) שמתחילים את החיבורים לשרת MCP.
• לקוחות (Clients) הם רכיבים בתוך אפליקציית המארח שמנהלים חיבור אחד-לאחד עם השרתים.
• שרתים הם תוכניות קלות שמציגות יכולות ספציפיות.
בפרוטוקול כלולים שלושה פרימיטיבים מרכזיים שהם היכולות של שרת MCP:
• כלים: אלה פעולות או פונקציות נפרדות שסוכן בינה מלאכותית יכול לקרוא כדי לבצע פעולה. לדוגמה, שירות מזג אוויר עשוי לחשוף כלי “קבל מזג אוויר”, או שרת מסחר אלקטרוני יחשוף כלי “רכישת מוצר”. שרתי MCP מפרסמים את שם הכלי, תיאורו ומבנה הקלט/פלט ברשימת היכולות שלהם.
• משאבים: אלה פריטי נתונים או מסמכים לקריאה בלבד ששרת MCP יכול לספק, ולקוחות יכולים לאחזר אותם על פי דרישה. דוגמאות כוללות תוכן קבצים, רשומות מסד נתונים או קבצי לוג. המשאבים יכולים להיות טקסט (כמו קוד או JSON) או בינאריים (כמו תמונות או PDF).
• הנחיות (Prompts): תבניות מוגדרות מראש שמציעות הנחיות, ומאפשרות זרימות עבודה מורכבות יותר.
ה-MCP מציע יתרונות משמעותיים לסוכני בינה מלאכותית:
• גילוי דינמי של כלים: סוכנים יכולים לקבל דינמית רשימת כלים זמינים מהשרת יחד עם תיאורים של תפקודם. זה בניגוד ל-APIs מסורתיים, שלרוב דורשים קידוד סטטי לאינטגרציות, כלומר כל שינוי ב-API מצריך עדכון קוד. MCP מציע גישה של “התקנה פעם אחת”, מה שמוביל לגמישות גבוהה יותר.
• תפקוד בין LLM שונים: MCP עובד עם למידת שפה גדולה שונה, ומאפשר גמישות להחליף מודלים מרכזיים להערכה של ביצועים טובים יותר.
• אבטחה סטנדרטית: MCP כולל שיטת אימות סטנדרטית, המשפרת קנה מידה כשמתווספים שרתי MCP נוספים. זה פשוט יותר מניהול מפתחות וסוגי אימות שונים עבור APIs מסורתיים.

דמיינו שמשתמש רוצה להזמין טיסה באמצעות עוזר AI שמופעל על ידי MCP.
חיבור: העוזר AI (הלקוח MCP) מתחבר לשרת MCP שמספקת חברת תעופה.
גילוי כלים: הלקוח שואל את שרת MCP של חברת התעופה: “אילו כלים זמינים אצלכם?” השרת משיב עם כלים כמו “חיפוש טיסות” ו”הזמנת טיסות”.
קריאת כלי: לאחר מכן אתם מבקשים מהעוזר AI: “אנא חפש טיסה מפורטלנד להונולולו.” העוזר מזהה, באמצעות ה-LLM שלו, שהוא צריך לקרוא לכלי “חיפוש טיסות” ומעביר את הפרמטרים הרלוונטיים (מוצא, יעד) לשרת MCP.
ביצוע ותשובה: שרת ה-MCP, הפועל כמעטפת, מבצע את הקריאה ל-API הפנימי של חברת התעופה לקבלת הפרטים. לאחר מכן מקבל את מידע הטיסה (למשל, נתוני JSON) ומחזיר אותו לעוזר ה-AI.
אינטראקציה נוספת: העוזר מציג את אפשרויות הטיסה. לאחר בחירת טיסה, העוזר עשוי לקרוא לכלי “הזמנת טיסה” באותו שרת MCP, וכך להשלים את ההזמנה.
בעוד MCP מתמקד בחיבור LLM לכלים, הפרוטוקול סוכן-לסוכן (A2A) לוקח את זה צעד קדימה ומאפשר תקשורת ושיתוף פעולה בין סוכני AI שונים. A2A מחבר סוכני AI מארגונים, סביבות וסטקים טכנולוגיים שונים להשלמת משימה משותפת.
נבחן את הרכיבים והיתרונות של A2A, יחד עם דוגמה לאופן יישומו באפליקציית הנסיעות שלנו.
A2A מתמקד במתן אפשרות תקשורת בין סוכנים ובעבודתם המשותפת להשלמת תת-משימה של המשתמש. כל רכיב בפרוטוקול תורם לכך:
בדומה לאופן שבו שרת MCP משתף רשימת כלים, ל-Agent Card יש:
מפעיל הסוכן אחראי על העברת הקשר של שיחת המשתמש לסוכן מרוחק, הסוכן המרוחק זקוק לזה כדי להבין את המשימה שעליו להשלים. בשרת A2A, סוכן משתמש ב-LLM שלו כדי לנתח בקשות נכנסות ולבצע משימות באמצעות הכלים הפנימיים שלו.
לאחר שסוכן מרוחק סיים את המשימה שהתבקשה, תוצר העבודה שלו נוצר כארטיפקט. ארטיפקט מכיל את תוצאת עבודת הסוכן, תיאור של מה שהושלם, והקשר הטקסטואלי שנשלח דרך הפרוטוקול. אחרי שליחת הארטיפקט, הקשר עם הסוכן המרוחק נסגר עד שיידרש שוב.
רכיב זה משמש לטיפול בעדכונים והעברת הודעות. הוא חשוב במיוחד בסביבה יצרנית של מערכות אגנטיות כדי למנוע סגירת החיבור בין הסוכנים לפני שהמשימה הושלמה, במיוחד כאשר השלמת המשימות עשויה לארוך זמן.
• שיתוף פעולה משופר: מאפשר לסוכנים מספקים ופלטפורמות שונות לתקשר, לשתף הקשר ולעבוד יחד, ומקל אוטומציה חלקה בין מערכות שאינן מחוברות בדרך כלל.
• גמישות בבחירת מודל: כל סוכן A2A יכול להחליט איזה LLM ישמש אותו עבור הבקשות שלו, מה שמאפשר אופטימיזציה או כוונון מודלים לכל סוכן בנפרד, בניגוד לחיבור LLM יחיד במקרים מסוימים של MCP.
• אימות מובנה: האימות משולב ישירות בפרוטוקול A2A, ומספק מסגרת אבטחה חזקה לאינטראקציה בין סוכנים.

נרחיב את תרחיש הזמנת הנסיעות שלנו, אבל הפעם נשתמש ב-A2A.
בקשת משתמש לריבוי סוכנים: משתמש מתקשר עם “סוכן נסיעות” שהוא לקוח/סוכן A2A, אולי באומרו, “אנא הזמינו טיול מלא להונולולו לשבוע הבא, הכולל טיסות, מלון ורכב שכור”.
תזמור על ידי סוכן הנסיעות: סוכן הנסיעות מקבל את הבקשה המורכבת הזו. הוא משתמש ב-LLM שלו כדי לשקול את המשימה ולקבוע שהוא צריך לתקשר עם סוכנים מיוחדים אחרים.
תקשורת בין סוכנים: סוכן הנסיעות משתמש בפרוטוקול A2A כדי להתחבר לסוכנים בירידה, כמו “סוכן חברת תעופה”, “סוכן מלון” ו”הסוכן לשכירת רכב” שנוצרו על ידי חברות שונות.
ביצוע משימה ממונה: סוכן הנסיעות שולח משימות ספציפיות לסוכנים המיוחדים הללו (למשל, “מצא טיסות להונולולו”, “הזמן מלון”, “שכור רכב”). כל אחד מהסוכנים המיוחדים, שמריצים את LLM משלהם ומשתמשים בכלים שלהם (אשר יכולים להיות שרתי MCP בעצמם), מבצע את חלקו הספציפי בהזמנה.
תגובה מאוחדת: לאחר שכל הסוכנים בתת-הזרם משלימים את משימותיהם, סוכן הנסיעות אוסף את התוצאות (פרטי טיסה, אישור מלון, הזמנת רכב) ושולח תגובה מקיפה בסגנון צ’אט בחזרה למשתמש.
אתרי אינטרנט היו כבר זמן רב הדרך העיקרית לגישה למידע ונתונים ברחבי הרשת.
נבחן את הרכיבים השונים של NLWeb, היתרונות של NLWeb ודוגמה לאופן בו NLWeb שלנו עובד דרך אפליקציית הנסיעות שלנו.
אפליקציית NLWeb (קוד שירות ליבה): המערכת שמעבדת שאלות בשפה טבעית. היא מחברת את חלקי הפלטפורמה השונים ליצירת תגובות. אפשר לחשוב עליה כמנוע שמפעיל את תכונות השפה הטבעית באתר אינטרנט.
פרוטוקול NLWeb: זהו מערך כללים בסיסי לאינטראקציה בשפה טבעית עם אתר אינטרנט. הוא מחזיר תגובות בפורמט JSON (לעיתים בעזרת Schema.org). מטרתו ליצור בסיס פשוט ל”אי-איי ווב”, בדיוק כפי ש-HTML אפשר שיתוף מסמכים אונליין.
שרת MCP (נקודת קצה של פרוטוקול הקשר לדגם): כל הגדרת NLWeb גם פועלת כשרת MCP. משמעות הדבר היא שהוא יכול לשתף כלים (כמו שיטת “שאילתא”) ונתונים עם מערכות AI אחרות. בפועל, זה עושה את תוכן האתר ואת היכולות שלו לשימוש של סוכני AI, ומאפשר לאתר להיות חלק מ”אקוסיסטם הסוכנים” הרחב יותר.
מודלים להטמעה (Embedding Models): מודלים אלו משמשים להמרת תוכן האתר לייצוגים מספריים הנקראים וקטורים (הטמעות). וקטורים אלו לוכדים משמעות באופן שמחשבים יכולים להשוות ולחפש. הם נשמרים במסד נתונים מובנה, והמשתמשים יכולים לבחור איזה מודל הטמעה הם רוצים להשתמש בו.
מסד נתונים וקטורי (מנגנון שליפה): מסד נתונים זה מאחסן את ההטמעות של תוכן האתר. כשמישהו שואל שאלה, NLWeb בודק את מסד הנתונים הווקטורי כדי למצוא במהירות את המידע הרלוונטי ביותר. הוא מחזיר רשימה מהירה של תשובות אפשריות, מדורגות לפי דמיון. NLWeb עובד עם מערכות אחסון וקטוריות שונות כגון Qdrant, Snowflake, Milvus, Azure AI Search ו-Elasticsearch.

שקלו שוב את אתר הזמנת הנסיעות שלנו, אך הפעם הוא מופעל על ידי NLWeb.
קליטת נתונים: קטלוגי המוצרים הקיימים באתר הנסיעות (למשל, רשימות טיסות, תיאורי מלונות, חבילות טיולים) מעוצבים באמצעות Schema.org או נטענים דרך פידים RSS. כלי NLWeb קולטים נתונים מובנים אלו, יוצרים הטמעות ומאחסנים אותם במסד נתונים וקטורי מקומי או מרוחק.
שאילתת שפה טבעית (אנושי): משתמש מבקר באתר ובמקום לנווט בתפריטים, מקליד בממשק צ’אט: “מצא לי מלון ידידותי למשפחות בהונולולו עם בריכה לשבוע הבא”.
עיבוד NLWeb: אפליקציית NLWeb מקבלת את השאילתה. היא שולחת את השאלה ל-LLM להבנה ובמקביל מחפשת במסד הנתונים הווקטורי אחר רשימות מלונות רלוונטיות.
תוצאות מדויקות: ה-LLM מסייע לפרש את תוצאות החיפוש ממסד הנתונים, לזהות את ההתאמות הטובות ביותר על פי הקריטריונים “ידידותי למשפחה”, “בריכה” ו”הונולולו”, ומעצב תשובה בשפה טבעית. חשוב שהתגובה מתייחסת למלונות אמיתיים מתוך קטלוג האתר ותמנע מידע מדומה.
אינטראקציה עם סוכן AI: מכיוון ש-NLWeb משמש כשרת MCP, סוכן נסיעות AI חיצוני יכול להתחבר גם הוא למופע NLWeb באתר זה. אז הסוכן יכול להשתמש בשיטת ask של MCP כדי לשאול את האתר ישירות: ask("האם יש מסעדות טבעוניות מומלצות באזור הונולולו על ידי המלון?"). מופע NLWeb יעבד זאת, תוך ניצול מסד הנתונים המידע של המסעדות (אם נטען), ויחזיר תגובת JSON מובנית.
הצטרפו ל-Microsoft Foundry Discord לפגוש לומדים אחרים, להשתתף בשעות משרדים ולקבל מענה לשאלות על סוכני AI.
כתב ויתור: מסמך זה תורגם באמצעות שירות תרגום אוטומטי Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עלולים להכיל שגיאות או אי-דיוקים. יש להחשיב את המסמך המקורי בשפתו הטבעית כמקור הסמכות. למידע קריטי מומלץ להשתמש בתרגום מקצועי על ידי מתרגם אדם. אנו לא אחראים לכל אי-הבנה או פירוש שגוי הנובע מהשימוש בתרגום זה.