الاكتشاف العام للوكلاء
استخدم هذه الأمثلة لتشكيل JSON الذي يجلبه عميل A2A آخر قبل أن يقرر ما إذا كان بإمكان وكيلك إكمال مهمة ما.
6 قالب JSON جاهز للنسخ · A2A v1.0
تصفّح قوالب A2A v1.0 العملية، وافهم قرارات تصميمها، ثم كيّف أي مثال لوكيلك الخاص.
استخدم هذه الأمثلة لتشكيل JSON الذي يجلبه عميل A2A آخر قبل أن يقرر ما إذا كان بإمكان وكيلك إكمال مهمة ما.
كيّف مزوّد الخدمة والمهارات والوسوم والقدرات وبيانات الأمان الوصفية حتى يفهم المراجعون ما يفعله الوكيل ومن يشغّله.
وحّد أوصاف نقطة النهاية والمصادقة والمهارات عبر الوكلاء الداخليين قبل أن تدمجهم الفرق في سير العمل.
قوالب JSON
يتعامل مع أسئلة المنتجات، والاستعلام عن الطلبات، والإرجاعات، وتسليمات التصعيد.
لماذا صُمم بهذه الطريقة
{
"name": "وكيل دعم العملاء",
"description": "يجيب على أسئلة دعم العملاء، ويستعيد سياق الطلب، ويصعد المشكلات التي لم يتم حلها إلى فريق بشري.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/customer-support",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "شركة المثال",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": true,
"pushNotifications": true,
"extendedAgentCard": false
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"text/plain",
"application/json"
],
"skills": [
{
"id": "resolve-customer-support-request",
"name": "حل طلب دعم العملاء",
"description": "يصنف طلب دعم العملاء، ويجمع السياق المطلوب، ويقترح حلاً، ويصعد عندما تكون الثقة منخفضة.",
"tags": [
"support",
"orders",
"returns"
],
"examples": [
"ساعدني في إرجاع طلبي."
]
}
],
"securitySchemes": {
"oauth2": {
"oauth2SecurityScheme": {
"flows": {
"clientCredentials": {
"tokenUrl": "https://api.example.com/a2a/customer-support/oauth/token",
"scopes": {
"agent.invoke": "Invoke agent skills"
}
}
}
}
}
},
"security": [
{
"oauth2": [
"agent.invoke"
]
}
]
}يجد فترات المواعيد المتاحة ويُعِد تأكيدات الحجز.
لماذا صُمم بهذه الطريقة
{
"name": "وكيل الحجز",
"description": "البحث عن التوفر، واقتراح خيارات الحجز، وإعداد حجوزات المواعيد للموافقة عليها.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/booking",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "شركة المثال",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": false,
"pushNotifications": true,
"extendedAgentCard": false
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "find-and-prepare-booking",
"name": "البحث عن الحجز وإعداده",
"description": "التحقق من توفر الموارد ومقارنة نوافذ الحجز وإرجاع مقترح الحجز المنظم.",
"tags": [
"booking",
"calendar",
"availability"
],
"examples": [
"ابحث عن موعد مدته 30 دقيقة بعد ظهر الغد."
]
}
],
"securitySchemes": {
"apiKey": {
"apiKeySecurityScheme": {
"location": "header",
"name": "X-API-Key"
}
}
},
"security": [
{
"apiKey": []
}
]
}يقارن المنتجات والتوافر والأسعار وقيود الشراء.
لماذا صُمم بهذه الطريقة
{
"name": "وكيل التسوق",
"description": "يقارن المنتجات مع قيود المستخدم ويعيد خيارات الشراء المصنفة مع المفاضلات.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/shopping",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "شركة المثال",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": true,
"pushNotifications": false,
"extendedAgentCard": false
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "compare-shopping-options",
"name": "قارن خيارات التسوق",
"description": "يقوم بتقييم المنتجات المرشحة، والتصفية حسب القيود، وإرجاع التوصيات المرتبة مع الأساس المنطقي.",
"tags": [
"shopping",
"commerce",
"recommendations"
],
"examples": [
"قارن بين أجهزة الكمبيوتر المحمولة خفيفة الوزن التي يقل سعرها عن 1200 دولار."
]
}
],
"securitySchemes": {
"oauth2": {
"oauth2SecurityScheme": {
"flows": {
"clientCredentials": {
"tokenUrl": "https://api.example.com/a2a/shopping/oauth/token",
"scopes": {
"agent.invoke": "Invoke agent skills"
}
}
}
}
}
},
"security": [
{
"oauth2": [
"agent.invoke"
]
}
]
}يراجع مهام الكود، ويقترح الرقع، ويشرح قرارات التنفيذ.
لماذا صُمم بهذه الطريقة
{
"name": "وكيل البرمجة",
"description": "يساعد في مهام هندسة البرمجيات من خلال تحليل التعليمات البرمجية واقتراح التغييرات وإرجاع ملاحظات التنفيذ.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/coding",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "شركة المثال",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": true,
"pushNotifications": true,
"extendedAgentCard": true
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"text/plain",
"application/json"
],
"skills": [
{
"id": "implement-code-change",
"name": "تنفيذ تغيير التعليمات البرمجية",
"description": "يقرأ طلب الترميز، ويفحص الملفات ذات الصلة، ويعيد مقترح التصحيح، ويلخص خطوات التحقق.",
"tags": [
"coding",
"review",
"patches"
],
"examples": [
"أضف ترقيم الصفحات إلى واجهة برمجة تطبيقات المستخدمين."
]
}
],
"securitySchemes": {
"apiKey": {
"apiKeySecurityScheme": {
"location": "header",
"name": "X-API-Key"
}
}
},
"security": [
{
"apiKey": []
}
]
}يجمع المصادر، ويستخرج الأدلة، ويعيد ملاحظات بحثية منظمة.
لماذا صُمم بهذه الطريقة
{
"name": "وكيل البحث",
"description": "يجمع المواد المصدرية ويستخرج الأدلة وينتج ملاحظات بحثية منظمة مع الاستشهادات.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/research",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "شركة المثال",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": true,
"pushNotifications": false,
"extendedAgentCard": false
},
"defaultInputModes": [
"text/plain"
],
"defaultOutputModes": [
"text/plain",
"application/json"
],
"skills": [
{
"id": "prepare-research-brief",
"name": "إعداد ملخص البحث",
"description": "يبحث في المصادر المعتمدة، ويستخرج الادعاءات والأدلة، ويعيد ملخصًا بحثيًا موجزًا.",
"tags": [
"research",
"evidence",
"citations"
],
"examples": [
"قم بإعداد ملخص مقتبس عن سياسة الطاقة المتجددة."
]
}
]
}ينسّق الموافقات، وفحوصات الحالة، وتحديثات سير عمل المكتب الخلفي.
لماذا صُمم بهذه الطريقة
{
"name": "وكيل سير العمل الداخلي",
"description": "تنسيق الموافقات الداخلية، والتحقق من حالة النظام، وإعداد تحديثات سير العمل لفرق العمليات.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/workflow",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "شركة المثال",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": false,
"pushNotifications": true,
"extendedAgentCard": true
},
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "coordinate-internal-workflow",
"name": "تنسيق سير العمل الداخلي",
"description": "يتلقى نية سير العمل، ويتحقق من متطلبات السياسة، ويجمع الموافقات، ويبلغ عن الحالة النهائية.",
"tags": [
"workflow",
"operations",
"approval"
],
"examples": [
"طلب الموافقة لنشر تحديث الرواتب."
]
}
],
"securitySchemes": {
"oauth2": {
"oauth2SecurityScheme": {
"flows": {
"clientCredentials": {
"tokenUrl": "https://api.example.com/a2a/workflow/oauth/token",
"scopes": {
"agent.invoke": "Invoke agent skills"
}
}
}
}
}
},
"security": [
{
"oauth2": [
"agent.invoke"
]
}
]
}كيّف بثقة
كل مثال Agent Card مكتمل عمدًا بما يكفي للنسخ، لكن لا ينبغي نشر Agent Card دون تغيير. تعامل معها كخريطة حقول لخادم A2A الخاص بك: استبدل الهوية ونقطة النهاية ومزوّد الخدمة والمصادقة والقدرات والأنماط وتفاصيل المهارات بقيم الإنتاج.
أقوى Agent Cards تشرح حد مهمة الوكيل بلغة واضحة وبيانات وصفية قابلة للقراءة الآلية. يجب أن يتمكن العميل من معرفة ما يستطيع الوكيل فعله، وما لا يستطيع فعله، وأي رابط يستدعيه، وما إذا كانت بيانات الاعتماد مطلوبة.
استبدل كل رابط example.com برابط A2A المنشور فعليًا وموقع مزوّد الخدمة.
أعد كتابة اسم المهارة والوصف والوسوم (مطلوبة في v1.0) والأمثلة لتناسب حد المهمة الفعلي.
اضبط provider.organization وارفع version على المستوى الأعلى كلما تغير محتوى Agent Card.
احذف حقول المصادقة فقط عندما تكون نقطة النهاية عامة عمدًا.
حافظ على توافق defaultInputModes وdefaultOutputModes مع ما يقبله خادمك ويعيده فعليًا.
تحقّق من JSON النهائي وانشره على /.well-known/agent-card.json في نطاق خدمتك.
جاهز للبناء
افتح أي نمط في مولّد Agent Card، وراجع JSON، وتحقق منه قبل النشر.