Публічне виявлення агентів
Використовуйте ці приклади, щоб сформувати 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": "Приклад 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": "Вирішити запит служби підтримки клієнтів",
"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": "Приклад 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": "Знайти та підготувати бронювання",
"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": "Приклад 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": "Порівняйте варіанти покупок",
"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": "Приклад 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": "Впровадити зміну коду",
"description": "Читає запит на кодування, перевіряє відповідні файли, повертає пропозицію виправлення та підсумовує кроки перевірки.",
"tags": [
"coding",
"review",
"patches"
],
"examples": [
"Додайте розбивку на сторінки до API користувачів."
]
}
],
"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": "Приклад 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": "Підготуйте резюме дослідження",
"description": "Здійснює пошук у затверджених джерелах, вилучає заяви та докази та повертає стислий огляд дослідження.",
"tags": [
"research",
"evidence",
"citations"
],
"examples": [
"Підготуйте цитований короткий запис про політику щодо відновлюваної енергії."
]
}
]
}Координує затвердження, перевірки статусу, і оновлення офісного робочого процесу.
Чому це побудовано саме так
{
"name": "Агент внутрішнього робочого процесу",
"description": "Координує внутрішні затвердження, перевіряє стан системи та готує оновлення робочого процесу для операційних груп.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/workflow",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Приклад 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": "Скоординуйте внутрішній робочий процес",
"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 Card пояснюють межу завдання агента як простою мовою, так і машинозчитуваними метаданими. Клієнт повинен мати можливість визначити, що агент може робити, чого не може, який URL викликати, і чи потрібні облікові дані.
Замініть кожен URL example.com на розгорнуту кінцеву точку A2A та веб-сайт провайдера.
Перепишіть назву навички, опис, теги (обов'язкові в v1.0), і приклади для реальної межі завдання.
Встановіть provider.organization і підвищуйте version верхнього рівня щоразу, коли змінюється вміст Agent Card.
Видаляйте поля автентифікації лише тоді, коли кінцева точка навмисно публічна.
Тримайте defaultInputModes і defaultOutputModes узгодженими з тим, що ваш сервер фактично приймає і повертає.
Перевірте остаточний JSON і опублікуйте його за адресою /.well-known/agent-card.json на домені вашого сервісу.
Готові до створення
Відкрийте будь-який шаблон у генераторі Agent Card, перегляньте JSON, і перевірте його перед публікацією.