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

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

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

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