הערה
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות להיכנס או לשנות מדריכי כתובות.
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות לשנות מדריכי כתובות.
פרוטוקול Agent2Agent (A2A) הוא תקן פתוח לתקשורת ולשיתוף פעולה בין סוכנים.
באפשרותך לחבר את הסוכן המותאם אישית שלך לסוכן אחר התומך בפרוטוקול A2A. Copilot Studio משתמש בפרוטוקול A2A כדי לתזמר סוכן זה בתגובה לבקשת משתמש או טריגר.
מהו פרוטוקול Agent2Agent (A2A)?
הפרוטוקול Agent-to-Agent (A2A) מגדיר חוזה רגיל עבור תקשורת סוכן. היא מאפשרת ל- orchestrator או לנציג:
- שלח משימות לסוכנים חיצוניים.
- ספק מטה-נתונים מובנים עשירים.
- קבל תגובות סוכן בתבנית צפויה.
כך משווה פרוטוקול A2A לחיבור HTTP מסורתי עבור תקשורת בין סוכן:
| תכונה | פרוטוקול A2A | מחבר HTTP |
|---|---|---|
| מיועדת לזרימות עבודה של סוכן | ✓ | ✗ |
| תומך באינטראקציות מרובות סבבים | ✓ | ✗ |
| מספק מטה-נתונים הקשריים עשירים | ✓ | מוגבל |
| ניתן להפעלה הדדית בין מסגרות | ✓ | משתנה |
על-ידי שימוש ב- A2A, Copilot Studio להקצות משימות לסוכן אחר, ולא רק להתקשר וממשקי API.
מתי להשתמש בחיבורי A2A
השתמש בחיבור A2A כאשר ברצונך לשלב סוכנים שכבר מיישמים את פרוטוקול סוכן-לסוכן. גישה זו פועלת היטב עבור סוכנים שהם:
- בנוי על מסגרות חיצוניות.
- מתארח מחוץ ל-Copilot Studio.
- מצוידים בהסיבה או בזרימות עבודה ספציפיות לתחום משלהם.
השתמש בתבניות שילוב חלופיות בהתאם לצורך:
| צורך שילוב | גישה מומלצת |
|---|---|
| התחברות לממשקי API או לשירותי HTTP בסיסיים | מחברים מותאמים אישית / כלי HTTP |
| שימוש בכלים או במשאבים של MCP | שרתי MCP |
| שילוב סוכנים שנבנו עם Microsoft 365 Agents SDK | פרוטוקול פעילות |
באפשרותך לשלב מודלים מרובים של שילוב בתוך אותו סוכן של Copilot Studio.
חבר את הסוכן שלך לסוכן אחר באמצעות פרוטוקול A2A
עבור אל הדף ' סוכנים' של הסוכן הראשי ובחר הוסף סוכן.
בחר התחבר לסוכן חיצוני>Agent2Agent.
הזן את כתובת ה- URL של נקודת הקצה של סוכן A2A. כתובת ה- URL של נקודת הקצה צריכה להיות נקודת הקצה לתקשורת עם הסוכן ולא כתובת ה- URL של כרטיס הסוכן.
לאחר שתזין את כתובת ה- URL של נקודת הקצה, אם לסוכן שלך יש כרטיס סוכן חוקי בכתובת ה- URL הרגילה של
.well-known, Copilot Studio ימשוך באופן אוטומטי את השם והתיאור של הסוכן שלך מהכרטיס וימלא אותם בטופס עבורך.הערה
אם שם ותיאור אינם מאוכלסים באופן אוטומטי עבור הסוכן שלך, ייתכן שלסוכן שלך אין כרטיס סוכן, הכרטיס ממוקם בכתובת URL שונה מכתובת ה- URL הצפויה, או שקיימת בעיה בתקשורת עם הכרטיס. תחילה, ודא שנקודות הקצה של הסוכן שלך נכונות. אם כן, באפשרותך להזין באופן ידני שם ותיאור מתאימים עבור סוכן ה- SDK שלך. התיאור צריך לתאר את מטרת הסוכן שלך, כדי שהסוכן הראשי שלך יוכל להבין מתי יש להשתמש בסוכן השני. קבל מידע נוסף על כתיבת מטה-נתונים יעילים. באפשרותך גם לנסות לנווט אל כרטיס הסוכן שלך בדפדפן (הממוקם בנקודות הקצה +
/.well-known/agent.json).בחר את שיטת האימות המתאימה, בהתאם לאופן התצורה של סוכן SDK שלך, מהרשימה הנפתחת אימות. האפשרויות הן:
- ללא: בחר באפשרות זו אם הסוכן שלך אינו דורש אימות או אם אתה משתמש בסוכן לדוגמה שסופק בתיעוד זה, ואימות אינו זמין.
- מפתח API: בחר באפשרות זו אם הסוכן שלך דורש מפתח API לאימות. עליך לספק את שם הכותרת העליונה שבה יש לכלול את מפתח ה- API או את פרמטר השאילתה.
- OAuth 2.0: בחר באפשרות זו אם הסוכן שלך משתמש ב- OAuth 2.0 לאימות. עליך לספק את מזהה הלקוח, את סוד הלקוח, את כתובת ה- URL של ההרשאה, את כתובת ה- URL של האסימון ואת כתובת ה- URL של הרענון.
אם אתה בוחר סוג אימות שאינו ללא, עליך גם להשלים את פרטי האימות האחרים.
בחר צור.
בחר את החיבור הרצוי מרשימת החיבורים הזמינים או צור חיבור חדש בין סוכן A2A שלך לסוכן Copilot Studio שלך.
בחר הוסף וקבע תצורה.
הערה
אתה אחראי לסקירה ובדיקה בקפידה של סוכנים מחוברים בהקשר של מקרי השימוש הספציפיים שלך, ולבצע את כל ההחלטות וההתאמות האישיות המתאימות. כאשר אתה מתחבר לסוכנים מחוץ Copilot Studio, אתה אחראי לשימוש בסוכנים אלה. שיקולים כוללים הבטחה:
- זרימות נתונים, טיפול בנתונים ושיתוף נתונים בין סוכנים מתאימים למקרה השימוש שלך ועומדים בדרישות ובחוקים הרלוונטיים
- סוכנים עומדים בתקני האיכות, המהימנות, האבטחה והמהימנות המתאימים
- ההרשאות, הגבולות והאישורים המתאימים הוקצו, אם נבון במקרה השימוש שלך
- יכולת התבוננות, זהות ומעקב נכונה ופונקציות פיקוח אנושיות נמצאים במקומם
דוגמה לחיבור A2A
במדריך התחלה מהירה זה, קבע תצורה של סוכן מופעל ב-A2A וחבר אותו לסוכן Copilot Studio. לאחר השלמת השלבים, אתה
- הפעל סוכן A2A מותנה במדגם באופן מקומי או השתמש בסוכן A2A קיים שכבר נמצא ברשותך.
- חשוף את הסוכן באופן מאובטח באמצעות HTTPS באמצעות מנהרות Dev או אפשרות אירוח אחרת.
- חבר את הסוכן החיצוני לסוכן Copilot Studio דרך חיבור A2A.
- אמת את החיבור על-ידי הפעלת הסוכן מ- Copilot Studio בעזרת משימת שפה טבעית כגון: "איזה צמח זקוק ליותר צמח עגבניה קל או צמח תות שדה?"
לאחר קביעת התצורה של החיבור, תראה:
- חיבור A2A מוצלח נוצר מ-Copilot Studio.
- יומני הפעילויות מהסוכן החיצוני מאשרים שהמשימה שהוקצתה התקבלה ועובדה על ידו.
- תוכן המטען המלא של A2A, כולל מטא נתונים נוספים ש-Copilot Studio שולח עם כל בקשה.
דרישות מוקדמות
כדי לעקוב אחר התרחיש לדוגמה, עליך לבצע את הפעולות הבאות:
- משאב Azure OpenAI עם:
- נקודת קצה של URL
- שם פריסה
- מפתח API
- .NET 10 SDK ומעלה
- סביבת Copilot Studio עם הרשאות עבור:
- עריכת סוכנים
- קביעת תצורה של חיבורים
- שיטה לחשוף את הסוכן המקומי באופן ציבורי:
- מנהרות פיתוח (מומלץ לפיתוח)
- או סביבה מתארחת כגון Azure App Service או קונטיינר
אם כבר יש לך סוכן המותאם ל-A2A, עבור אל ליצור את חיבור A2A ב-Copilot Studio.
שלב 1: שכפול וקביעת תצורה של סוכן A2A לדוגמה
שכפל את מאגר הנציגים A2A לדוגמה:
git clone https://github.com/microsoft/CopilotStudioSamples.git
cd CopilotStudioSamples/extensibility/a2a/Simple-A2A-Sample
הגדר את ההגדרות הדרושות Azure OpenAI:
-
AZURE_OPENAI_ENDPOINT: כתובת URL של נקודת הקצה של Azure OpenAI -
AZURE_OPENAI_DEPLOYMENT_NAME: שם הפריסה של Azure OpenAI -
AZURE_OPENAI_API_KEY: מפתח ה- API Azure OpenAI שלך
באפשרותך לקבוע את התצורה של הגדרות אלה כמשתנה סביבה או על-ידי שמירתן ב- או appsettings.json ב- appsettings.Development.json.
אפשרות א: הגדרה כמשתני סביבה
$env:AZURE_OPENAI_ENDPOINT="https://YOUR-RESOURCE.openai.azure.com"
$env:AZURE_OPENAI_DEPLOYMENT_NAME="YOUR-DEPLOYMENT"
$env:AZURE_OPENAI_API_KEY="YOUR-KEY"
אפשרות ב': קביעת תצורה appsettings.json
{
"AzureOpenAI": {
"Endpoint": "https://YOUR-RESOURCE.openai.azure.com",
"DeploymentName": "YOUR-DEPLOYMENT",
"ApiKey": "YOUR-KEY"
}
}
שלב 2: בנה, הפעל וחשוף את הסוכן
שחזר ובנה יחסי תלות:
dotnet restore
dotnet build
הפעל את הסוכן:
dotnet run
המסוף מציג את כתובת ה- URL המקומית של נקודת הקצה A2A.
חשיפת נקודת הקצה
הערה
עבור תרחישי ייצור, פרוס את הסוכן כיישום אינטרנט מאובטח או כשירות במיכל על ידי שימוש באימות נכון. השתמש במנהרות Dev למטרות פיתוח והדגמה מקומיות בלבד.
אם אתה משתמש ב- Visual Studio Code ובכוונתך לחשוף את נקודת הקצה באמצעות מנהרות Dev, חשוף יציאה חדשה של מנהרת פיתוח. בחר את יציאת A2A המוצגת בקונסולה. לחץ באמצעות לחצן העכבר הימני והפוך את היציאה לציבורית; אחרת, היא אינה גלויה באופן מקוון.
מנהרות Dev מספקות לך כתובת URL ציבורית, כגון: https://xyz123-9000.dev.tunnels.ms/. שים לב שכתובת URL זו היא נקודת הקצה הבסיסית כדי שתוכל להשתמש בה בעת קביעת התצורה של חיבור A2A ב- Copilot Studio.
שלב 3: יצירת חיבור A2A ב- Copilot Studio
לאחר שהסוכן A2A נגיש באופן ציבורי, צור את חיבור A2A בתוך Copilot Studio.
- פתח Copilot Studio ובחר את הסוכן הראשי שלך.
- בחר סוכנים.
- בחר הוסף סוכן ולאחר מכן בחר סוכן A2A.
- הזן את ערכי התצורה הדרושים:
- שם: שם תיאורי, כגון הסוכן הבוטני.
-
כתובת URL של נקודת קצה: השתמש בכתובת ה- URL הציבורית של מנהרת Dev ואחריה את נקודת הקצה של ההודעה A2A, לדוגמה:
https://xyz123-5073.dev.tunnels.ms/a2a/botanical/v1/message:stream - אימות: בחר ללא אם אתה משתמש בסוכן לדוגמה (לא נאכף אימות).
- בחר שמור כדי לאמת את החיבור ולבסס אותו.
כאשר התצורה חוקית, Copilot Studio מאשר שסוכן A2A מחובר בהצלחה.
עצה
מאחר שחיבורי A2A משתמשים בתשתית המחברים המותאמת אישית, ניתן גם להשתמש בהם כדי להתחבר לסוכנים A2A הפועלים באופן מקומי או בתוך רשת וירטואלית.
שלב 4: שליחת משימה Copilot Studio לסוכן A2A
לאחר יצירת החיבור, אמת את השילוב על-ידי שליחת משימה.
- פתח את הסוכן הראשי שלך ב- Copilot Studio ועבור אל Test canvas.
- הזן בקשה שיש להקצות לסוכן A2A. לדוגמה: "איזה צמח צריך יותר אור - צמח עגבניה או צמח תות?"
- מסדר הסוכנים מעריך את קלט המשתמש ומעביר את המשימה לסוכן A2A.
- הסוכן החיצוני מעבד את הבקשה ומחזיר תגובה, המופיעה בצ'אט הבדיקה.
ביומני הרישום של הסוכן החיצוני, תראה:
- משימת A2A התקבלה.
- הנחיה בשפה טבעית
- התגובה שנוצרה הוחזרה Copilot Studio.
שלב 5: בדוק את מטען ה-A2A והמטה-נתונים
הודעות A2A כוללות מטה-נתונים מובנים שמספקים הקשר נוסף. מטה-נתונים אלה יכולים לעזור לנציג להתאים תגובות, לנהל ניתוב או לשמור על המשכיות בין פני המשתמשים.
תוכן מנה טיפוסי של הודעות A2A כולל:
- ייחודי
contextId - מזהי הודעות
- מידע מקומי
- היסטוריית צ'אט מלאה, לא רק של המשתמשים החדשים ביותר
- חלקי תוכן של הודעה (טקסט, קריאות לכלי או מטה-נתונים אחרים)
דוגמה לקטע מטען
{
"method": "message/send",
"params": {
"message": {
"contextId": "ee1e68ee-75fc-42bb-83d7-25fd26e559c3",
"metadata": {
"copilotstudio.microsoft.com/a2a/chathistory": [
{
"From": "agent",
"Locale": "en-US",
"Text": "Hello, I'm A2A Agent Demo...",
"Timestamp": "2025-11-26T23:19:28.764Z"
},
{
"From": "user",
"Locale": "en-US",
"Text": "Which plant needs more sunlight...",
"Timestamp": "2025-11-26T23:20:21.484Z"
}
]
}
}
}
}
באפשרותך להשתמש במטה-נתונים אלה עבור כל לוגיקה במורד הזרם שסוכן A2A מיישם.
השלבים הבאים
לאחר יצירת החיבור הבסיסי של A2A, באפשרותך:
- הוסף כישורים חדשים או ידע בתחום לסוכן A2A שלך.
- השתמש במטה-נתונים ממטען A2A כדי ליישם לוגיקת ניתוב והתאמה אישית.
- הוסף אימות כדי לאבטח את נקודת הקצה של A2A ועדכן את ההגדרות ב-Copilot Studio בהתאם.
- חבר סוכנים אחרים התומכים ב- A2A באמצעות אותה גישה לתצורה.
נקודות מפנה
- Copilot Studio יכול לנהל סוכנים חיצוניים באמצעות פרוטוקול A2A.
- A2A מאפשר זרימות עבודה מרובות סוכנים עם מטה-נתונים הקשריים עשירים.
- הסוכן לדוגמה מדגים את הלוך ושוב המלא: Copilot Studio -> סוכן A2A -> Copilot Studio.
- הודעות A2A כוללות מטה-נתונים מפורטים התומכים באופן פעולה של סוכן בעל מודעות להקשר.