6 कॉपी-रेडी JSON टेम्पलेट · A2A v1.0

A2A Agent Card उदाहरण

व्यावहारिक A2A v1.0 टेम्पलेट ब्राउज़ करें, उनके डिज़ाइन निर्णयों को समझें, फिर अपने खुद के एजेंट के लिए किसी भी उदाहरण को अनुकूलित करें।

सार्वजनिक एजेंट खोज

इन उदाहरणों का उपयोग उस JSON को आकार देने के लिए करें जिसे कोई अन्य A2A क्लाइंट यह तय करने से पहले लाता है कि आपका एजेंट कोई कार्य पूरा कर सकता है या नहीं।

मार्केटप्लेस सबमिशन

प्रोवाइडर, स्किल्स, टैग, क्षमताओं, और सुरक्षा मेटाडेटा को अनुकूलित करें ताकि समीक्षक समझ सकें कि एजेंट क्या करता है और इसे कौन संचालित करता है।

आंतरिक एजेंट कैटलॉग

टीमों द्वारा उन्हें वर्कफ़्लो में एकीकृत करने से पहले आंतरिक एजेंटों में एंडपॉइंट, प्रमाणीकरण, और स्किल विवरणों को मानकीकृत करें।

JSON टेम्पलेट

सपोर्ट, बुकिंग, शॉपिंग, कोडिंग, रिसर्च, और वर्कफ़्लो एजेंट के लिए उदाहरण Agent Cards।

एक टेम्पलेट सत्यापित करें
फ़िल्टर

ग्राहक सहायता एजेंट

उत्पाद प्रश्नों, ऑर्डर लुकअप, रिटर्न, और एस्केलेशन हैंडऑफ़ को संभालता है।

इसे इस तरह क्यों बनाया गया है

  • OAuth 2.0 क्लाइंट क्रेडेंशियल ऑर्डर डेटा की सुरक्षा करते हैं: Agent Card टोकन URL और स्कोप घोषित करता है ताकि क्लाइंट बिना आउट-ऑफ़-बैंड दस्तावेज़ीकरण के प्रमाणित हो सकें।
  • streaming और pushNotifications दोनों true हैं क्योंकि सहायता वार्तालाप लंबे समय तक चलते हैं और समाधान अपडेट अतुल्यकालिक रूप से आते हैं।
  • एकल स्किल एक अस्पष्ट "ग्राहकों की मदद करें" विवरण के बजाय एक कार्य सीमा (वर्गीकृत करना, हल करना, बढ़ाना) तक सीमित है, ताकि राउटर इसे सटीक रूप से मैच कर सकें।
customer-support.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"
      ]
    }
  ]
}

बुकिंग एजेंट

उपलब्ध अपॉइंटमेंट स्लॉट खोजता है और बुकिंग पुष्टिकरण तैयार करता है।

इसे इस तरह क्यों बनाया गया है

  • यहाँ एक हेडर में API कुंजी पर्याप्त है: बुकिंग टेनेंट-स्कोप्ड हैं लेकिन प्रत्यायोजित-उपयोगकर्ता सहमति समस्या नहीं रखतीं जिसे OAuth हल करता है।
  • defaultOutputModes केवल application/json है, यह संकेत देते हुए कि कॉलर्स को गद्य के बजाय संरचित आरक्षण प्रस्ताव मिलते हैं।
  • pushNotifications true है ताकि स्लॉट-होल्डिंग बैकएंड के निपटने के बाद एजेंट बिना क्लाइंट पोलिंग के आरक्षण की पुष्टि कर सके।
booking.json
{
  "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": []
    }
  ]
}

शॉपिंग एजेंट

उत्पादों, उपलब्धता, कीमतों, और खरीद बाधाओं की तुलना करता है।

इसे इस तरह क्यों बनाया गया है

  • रैंक की गई सिफारिशें गणना होते ही स्ट्रीम होती हैं, इसलिए streaming true है जबकि pushNotifications false रहता है — प्रतिक्रिया पूर्ण होने के बाद कुछ नहीं होता।
  • स्किल विवरण ट्रेडऑफ़ और तर्क लौटाने के लिए प्रतिबद्ध है, जो ऑर्केस्ट्रेटरों को बताता है कि यह एजेंट केवल उत्पादों को सूचीबद्ध करने के बजाय रैंकिंग की व्याख्या करता है।
  • OAuth स्कोप खरीद-संबंधी डेटा को गेट करते हैं; एक सार्वजनिक शॉपिंग डेमो सुरक्षा को पूरी तरह छोड़ सकता है और फिर भी एक वैध Agent Card बना रह सकता है।
shopping.json
{
  "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": [
        "1,200 डॉलर से कम कीमत वाले हल्के लैपटॉप की तुलना करें।"
      ]
    }
  ],
  "securitySchemes": {
    "oauth2": {
      "oauth2SecurityScheme": {
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api.example.com/a2a/shopping/oauth/token",
            "scopes": {
              "agent.invoke": "Invoke agent skills"
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "oauth2": [
        "agent.invoke"
      ]
    }
  ]
}

कोडिंग एजेंट

कोड कार्यों की समीक्षा करता है, पैच प्रस्तावित करता है, और कार्यान्वयन निर्णयों की व्याख्या करता है।

इसे इस तरह क्यों बनाया गया है

  • extendedAgentCard true है: सार्वजनिक Agent Card एक सामान्य "कोड परिवर्तन लागू करें" स्किल सूचीबद्ध करता है, जबकि रिपॉजिटरी-विशिष्ट स्किल्स केवल GetExtendedAgentCard के माध्यम से प्रमाणित क्लाइंट को दिखाए जाते हैं।
  • text/plain और application/json दोनों आउटपुट घोषित किए गए हैं क्योंकि एजेंट मशीन-लागू करने योग्य पैच के साथ मानव-पठनीय स्पष्टीकरण लौटाता है।
  • लंबे कंपाइल-और-टेस्ट लूप के लिए स्ट्रीमिंग मायने रखती है; क्लाइंट एक मूक बहु-मिनट कॉल के बजाय मध्यवर्ती प्रगति देखते हैं।
coding.json
{
  "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": []
    }
  ]
}

रिसर्च एजेंट

स्रोत एकत्र करता है, साक्ष्य निकालता है, और संरचित रिसर्च नोट्स लौटाता है।

इसे इस तरह क्यों बनाया गया है

  • बिल्कुल कोई securitySchemes नहीं: एंडपॉइंट जानबूझकर सार्वजनिक है, और फ़ील्ड को छोड़ना इसे कहने का सही तरीका है — एक खाली स्कीम मैप अस्पष्ट होगा।
  • इनपुट केवल text/plain है, क्योंकि रिसर्च ब्रीफ़ प्राकृतिक-भाषा के सवालों से शुरू होते हैं; संरचित आउटपुट application/json नोट्स के रूप में आता है।
  • यह न्यूनतम उपयोगी v1.0 Agent Card है: पहचान, एक इंटरफेस, क्षमताएँ, मोड, और एक अच्छी तरह से टैग की गई स्किल।
research.json
{
  "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": [
        "नवीकरणीय-ऊर्जा नीति पर एक उद्धृत संक्षिप्त विवरण तैयार करें।"
      ]
    }
  ]
}

आंतरिक वर्कफ़्लो एजेंट

अनुमोदन, स्थिति जाँच, और बैक-ऑफ़िस वर्कफ़्लो अपडेट का समन्वय करता है।

इसे इस तरह क्यों बनाया गया है

  • application/json ही एकमात्र इनपुट और आउटपुट मोड है: इस एजेंट को अन्य सिस्टम द्वारा कॉल किया जाता है, कभी भी गद्य टाइप करने वाले लोगों द्वारा नहीं।
  • OAuth 2.0 के साथ extendedAgentCard एंटरप्राइज़ ऑडिट के लिए उपयुक्त है — सुरक्षा टीमें सार्वजनिक रूप से प्रमाणीकरण आवश्यकताओं को देख सकती हैं जबकि संवेदनशील वर्कफ़्लो स्किल्स प्रमाणीकरण के पीछे रहते हैं।
  • pushNotifications आवश्यक है क्योंकि अनुमोदन श्रृंखलाओं में घंटों या दिनों का समय लगता है; वेबहुक स्थिति परिवर्तनों के लिए पोलिंग की जगह लेते हैं।
internal-workflow.json
{
  "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 उदाहरण जानबूझकर कॉपी करने के लिए पर्याप्त रूप से पूर्ण है, लेकिन Agent Card को बिना बदलाव के प्रकाशित नहीं किया जाना चाहिए। इसे अपने खुद के A2A सर्वर के लिए एक फ़ील्ड मैप के रूप में मानें: पहचान, एंडपॉइंट, प्रोवाइडर, प्रमाणीकरण, क्षमताओं, मोड, और स्किल विवरणों को उत्पादन मूल्यों से बदलें।

सबसे मजबूत Agent Cards सरल भाषा और मशीन-पठनीय मेटाडेटा दोनों में एजेंट कार्य सीमा की व्याख्या करते हैं। एक क्लाइंट को यह बताने में सक्षम होना चाहिए कि एजेंट क्या कर सकता है, क्या नहीं कर सकता, किस URL को कॉल करना है, और क्या क्रेडेंशियल आवश्यक हैं।

प्रकाशित करने से पहले

हर example.com URL को अपने तैनात A2A एंडपॉइंट और प्रोवाइडर वेबसाइट से बदलें।

वास्तविक कार्य सीमा के लिए स्किल नाम, विवरण, टैग (v1.0 में आवश्यक), और उदाहरण फिर से लिखें।

provider.organization सेट करें और जब भी Agent Card सामग्री बदले शीर्ष-स्तरीय version बढ़ाएं।

प्रमाणीकरण फ़ील्ड को केवल तभी हटाएं जब एंडपॉइंट जानबूझकर सार्वजनिक हो।

defaultInputModes और defaultOutputModes को उसके साथ संरेखित रखें जो आपका सर्वर वास्तव में स्वीकार करता और लौटाता है।

अंतिम JSON को सत्यापित करें और इसे अपने सेवा डोमेन पर /.well-known/agent-card.json पर प्रकाशित करें।

निर्माण के लिए तैयार

एक उदाहरण से शुरू करें, फिर इसे अपना बनाएं।

Agent Card जनरेटर में कोई भी पैटर्न खोलें, JSON की समीक्षा करें, और प्रकाशित करने से पहले इसे सत्यापित करें।