Publieke agent-discovery
Gebruik deze voorbeelden om de JSON vorm te geven die een andere A2A-client ophaalt voordat deze beslist of jouw agent een taak kan voltooien.
6 kopieerklare JSON-templates · A2A v1.0
Blader door praktische A2A v1.0-templates, begrijp hun ontwerpbeslissingen, en pas dan elk voorbeeld aan voor je eigen agent.
Gebruik deze voorbeelden om de JSON vorm te geven die een andere A2A-client ophaalt voordat deze beslist of jouw agent een taak kan voltooien.
Pas provider, skills, tags, capabilities, en beveiligingsmetadata aan zodat beoordelaars begrijpen wat de agent doet en wie deze beheert.
Standaardiseer endpoint-, authenticatie-, en skillbeschrijvingen over interne agents voordat teams ze integreren in workflows.
JSON-templates
Behandelt productvragen, orderopzoekingen, retouren, en escalatie-overdrachten.
Waarom het zo is gebouwd
{
"name": "Klantenondersteuningsagent",
"description": "Beantwoordt vragen over klantenondersteuning, haalt de bestelcontext op en escaleert onopgeloste problemen naar een menselijk team.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/customer-support",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Voorbeeld Inc.",
"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": "Klantondersteuningsverzoek oplossen",
"description": "Classificeert een verzoek om klantenondersteuning, verzamelt de benodigde context, stelt een oplossing voor en escaleert wanneer het vertrouwen laag is.",
"tags": [
"support",
"orders",
"returns"
],
"examples": [
"Help mij mijn bestelling terug te sturen."
]
}
],
"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"
]
}
]
}Vindt beschikbare afspraakmomenten en bereidt boekingsbevestigingen voor.
Waarom het zo is gebouwd
{
"name": "Boekingsagent",
"description": "Zoekt beschikbaarheid, stelt boekingsopties voor en bereidt afspraakreserveringen voor ter goedkeuring.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/booking",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Voorbeeld Inc.",
"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": "Boeking zoeken en voorbereiden",
"description": "Controleert de beschikbaarheid van middelen, vergelijkt boekingsperioden en retourneert een gestructureerd reserveringsvoorstel.",
"tags": [
"booking",
"calendar",
"availability"
],
"examples": [
"Maak morgenmiddag een afspraak van 30 minuten."
]
}
],
"securitySchemes": {
"apiKey": {
"apiKeySecurityScheme": {
"location": "header",
"name": "X-API-Key"
}
}
},
"security": [
{
"apiKey": []
}
]
}Vergelijkt producten, beschikbaarheid, prijzen, en aankoopbeperkingen.
Waarom het zo is gebouwd
{
"name": "Winkelagent",
"description": "Vergelijkt producten met gebruikersbeperkingen en retourneert gerangschikte aankoopopties met afwegingen.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/shopping",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Voorbeeld Inc.",
"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": "Vergelijk winkelopties",
"description": "Evalueert kandidaat-producten, filtert op beperkingen en retourneert gerangschikte aanbevelingen met onderbouwing.",
"tags": [
"shopping",
"commerce",
"recommendations"
],
"examples": [
"Vergelijk lichtgewicht laptops onder €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"
]
}
]
}Beoordeelt codetaken, stelt patches voor, en legt implementatiebeslissingen uit.
Waarom het zo is gebouwd
{
"name": "Codeeragent",
"description": "Helpt bij software-engineeringtaken door code te analyseren, wijzigingen voor te stellen en implementatienotities terug te sturen.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/coding",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Voorbeeld Inc.",
"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": "Codewijziging doorvoeren",
"description": "Leest een coderingsverzoek, inspecteert relevante bestanden, retourneert een patchvoorstel en vat de verificatiestappen samen.",
"tags": [
"coding",
"review",
"patches"
],
"examples": [
"Voeg paginering toe aan de gebruikers-API."
]
}
],
"securitySchemes": {
"apiKey": {
"apiKeySecurityScheme": {
"location": "header",
"name": "X-API-Key"
}
}
},
"security": [
{
"apiKey": []
}
]
}Verzamelt bronnen, extraheert bewijs, en retourneert gestructureerde onderzoeksnotities.
Waarom het zo is gebouwd
{
"name": "Onderzoeksagent",
"description": "Verzamelt bronmateriaal, extraheert bewijsmateriaal en produceert gestructureerde onderzoeksnotities met citaten.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/research",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Voorbeeld Inc.",
"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": "Onderzoeksopdracht voorbereiden",
"description": "Doorzoekt goedgekeurde bronnen, extraheert claims en bewijsmateriaal en retourneert een beknopte onderzoeksopdracht.",
"tags": [
"research",
"evidence",
"citations"
],
"examples": [
"Bereid een geciteerde briefing voor over het beleid inzake hernieuwbare energie."
]
}
]
}Coördineert goedkeuringen, statuscontroles, en back-office workflow-updates.
Waarom het zo is gebouwd
{
"name": "Interne workflow-agent",
"description": "Coördineert interne goedkeuringen, controleert de systeemstatus en bereidt workflow-updates voor voor operationele teams.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/workflow",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Voorbeeld Inc.",
"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": "Coördineren van de interne workflow",
"description": "Ontvangt de workflow-intentie, controleert beleidsvereisten, verzamelt goedkeuringen en rapporteert de eindstatus.",
"tags": [
"workflow",
"operations",
"approval"
],
"examples": [
"Vraag goedkeuring aan om de salarisupdate te implementeren."
]
}
],
"securitySchemes": {
"oauth2": {
"oauth2SecurityScheme": {
"flows": {
"clientCredentials": {
"tokenUrl": "https://api.example.com/a2a/workflow/oauth/token",
"scopes": {
"agent.invoke": "Invoke agent skills"
}
}
}
}
}
},
"security": [
{
"oauth2": [
"agent.invoke"
]
}
]
}Pas aan met vertrouwen
Elk Agent Card-voorbeeld is opzettelijk compleet genoeg om te kopiëren, maar de Agent Card mag niet ongewijzigd worden gepubliceerd. Behandel het als een veldkaart voor je eigen A2A-server: vervang identiteit, endpoint, provider, authenticatie, capabilities, modi, en skilldetails door productiewaarden.
De sterkste Agent Cards leggen de taakgrens van de agent uit in zowel eenvoudige taal als machineleesbare metadata. Een client zou moeten kunnen bepalen wat de agent kan doen, wat niet, welke URL aan te roepen, en of credentials vereist zijn.
Vervang elke example.com URL door je geïmplementeerde A2A-endpoint en providerwebsite.
Herschrijf de skillnaam, beschrijving, tags (verplicht in v1.0), en voorbeelden voor de daadwerkelijke taakgrens.
Stel provider.organization in en verhoog de top-level version telkens wanneer de Agent Card verandert.
Verwijder authenticatievelden alleen wanneer het endpoint opzettelijk openbaar is.
Houd defaultInputModes en defaultOutputModes in lijn met wat je server daadwerkelijk accepteert en retourneert.
Valideer de uiteindelijke JSON en publiceer deze op /.well-known/agent-card.json op je servicedomein.
Klaar om te bouwen
Open elk patroon in de Agent Card Generator, bekijk de JSON, en valideer deze voordat je publiceert.