Penemuan ejen awam
Gunakan contoh ini untuk membentuk JSON yang diambil oleh klien A2A lain sebelum memutuskan sama ada ejen anda boleh menyelesaikan tugas.
6 templat JSON sedia disalin · A2A v1.0
Semak imbas templat A2A v1.0 praktikal, fahami keputusan reka bentuknya, kemudian sesuaikan mana-mana contoh untuk ejen anda sendiri.
Gunakan contoh ini untuk membentuk JSON yang diambil oleh klien A2A lain sebelum memutuskan sama ada ejen anda boleh menyelesaikan tugas.
Sesuaikan penyedia, skill, tag, keupayaan, dan metadata keselamatan supaya penyemak memahami apa yang ejen lakukan dan siapa yang mengendalikannya.
Piawaikan penerangan titik akhir, pengesahan, dan skill merentasi ejen dalaman sebelum pasukan mengintegrasikannya ke dalam aliran kerja.
Templat JSON
Mengendalikan soalan produk, carian pesanan, pemulangan, dan penyerahan eskalasi.
Mengapa ia dibina sebegini
{
"name": "Ejen Sokongan Pelanggan",
"description": "Menjawab soalan sokongan pelanggan, mendapatkan semula konteks pesanan dan meningkatkan isu yang tidak dapat diselesaikan kepada pasukan manusia.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/customer-support",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Contoh 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": "Selesaikan permintaan sokongan pelanggan",
"description": "Mengklasifikasikan permintaan sokongan pelanggan, mengumpulkan konteks yang diperlukan, mencadangkan penyelesaian dan meningkat apabila keyakinan rendah.",
"tags": [
"support",
"orders",
"returns"
],
"examples": [
"Bantu saya pulangkan pesanan saya."
]
}
],
"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"
]
}
]
}Mencari slot temu janji yang tersedia dan menyediakan pengesahan tempahan.
Mengapa ia dibina sebegini
{
"name": "Ejen Tempahan",
"description": "Mencari ketersediaan, mencadangkan pilihan tempahan dan menyediakan tempahan janji temu untuk kelulusan.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/booking",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Contoh 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": "Cari dan sediakan tempahan",
"description": "Menyemak ketersediaan sumber, membandingkan tetingkap tempahan dan mengembalikan cadangan tempahan berstruktur.",
"tags": [
"booking",
"calendar",
"availability"
],
"examples": [
"Cari temu janji 30 minit petang esok."
]
}
],
"securitySchemes": {
"apiKey": {
"apiKeySecurityScheme": {
"location": "header",
"name": "X-API-Key"
}
}
},
"security": [
{
"apiKey": []
}
]
}Membandingkan produk, ketersediaan, harga, dan kekangan pembelian.
Mengapa ia dibina sebegini
{
"name": "Ejen Membeli-belah",
"description": "Membandingkan produk dengan kekangan pengguna dan mengembalikan pilihan pembelian berperingkat dengan tukar ganti.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/shopping",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Contoh 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": "Bandingkan pilihan membeli-belah",
"description": "Menilai produk calon, menapis mengikut kekangan, dan mengembalikan pengesyoran berperingkat dengan rasional.",
"tags": [
"shopping",
"commerce",
"recommendations"
],
"examples": [
"Bandingkan komputer riba ringan di bawah $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"
]
}
]
}Menyemak tugas kod, mencadangkan tampalan, dan menerangkan keputusan pelaksanaan.
Mengapa ia dibina sebegini
{
"name": "Ejen Pengekodan",
"description": "Membantu tugasan kejuruteraan perisian dengan menganalisis kod, mencadangkan perubahan dan memulangkan nota pelaksanaan.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/coding",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Contoh 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": "Laksanakan perubahan kod",
"description": "Membaca permintaan pengekodan, memeriksa fail yang berkaitan, mengembalikan cadangan tampalan dan meringkaskan langkah pengesahan.",
"tags": [
"coding",
"review",
"patches"
],
"examples": [
"Tambahkan penomboran pada API pengguna."
]
}
],
"securitySchemes": {
"apiKey": {
"apiKeySecurityScheme": {
"location": "header",
"name": "X-API-Key"
}
}
},
"security": [
{
"apiKey": []
}
]
}Mengumpul sumber, mengekstrak bukti, dan mengembalikan nota penyelidikan berstruktur.
Mengapa ia dibina sebegini
{
"name": "Ejen Penyelidikan",
"description": "Mengumpul bahan sumber, mengekstrak bukti dan menghasilkan nota penyelidikan berstruktur dengan petikan.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/research",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Contoh 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": "Sediakan ringkasan penyelidikan",
"description": "Mencari sumber yang diluluskan, mengekstrak tuntutan dan bukti, dan mengembalikan ringkasan penyelidikan yang ringkas.",
"tags": [
"research",
"evidence",
"citations"
],
"examples": [
"Sediakan ringkasan yang disebut tentang dasar tenaga boleh diperbaharui."
]
}
]
}Menyelaraskan kelulusan, semakan status, dan kemas kini aliran kerja pejabat belakang.
Mengapa ia dibina sebegini
{
"name": "Ejen Aliran Kerja Dalaman",
"description": "Menyelaraskan kelulusan dalaman, menyemak status sistem dan menyediakan kemas kini aliran kerja untuk pasukan operasi.",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/workflow",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Contoh 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": "Menyelaraskan aliran kerja dalaman",
"description": "Menerima niat aliran kerja, menyemak keperluan dasar, mengumpulkan kelulusan dan melaporkan status akhir.",
"tags": [
"workflow",
"operations",
"approval"
],
"examples": [
"Minta kelulusan untuk menggunakan kemas kini gaji."
]
}
],
"securitySchemes": {
"oauth2": {
"oauth2SecurityScheme": {
"flows": {
"clientCredentials": {
"tokenUrl": "https://api.example.com/a2a/workflow/oauth/token",
"scopes": {
"agent.invoke": "Invoke agent skills"
}
}
}
}
}
},
"security": [
{
"oauth2": [
"agent.invoke"
]
}
]
}Sesuaikan dengan yakin
Setiap contoh Agent Card sengaja dibuat cukup lengkap untuk disalin, tetapi Agent Card tidak sepatutnya diterbitkan tanpa perubahan. Anggap ia sebagai peta medan untuk pelayan A2A anda sendiri: gantikan identiti, titik akhir, penyedia, pengesahan, keupayaan, mod, dan butiran skill dengan nilai pengeluaran.
Agent Card yang paling kukuh menerangkan sempadan tugas ejen dalam kedua-dua bahasa mudah dan metadata boleh dibaca mesin. Klien seharusnya dapat mengetahui apa yang ejen boleh lakukan, apa yang tidak boleh dilakukan, URL mana untuk dipanggil, dan sama ada kelayakan diperlukan.
Gantikan setiap URL example.com dengan titik akhir A2A yang digunakan dan laman web penyedia anda.
Tulis semula nama skill, penerangan, tag (wajib dalam v1.0), dan contoh untuk sempadan tugas sebenar.
Tetapkan provider.organization dan naikkan version peringkat atas setiap kali kandungan Agent Card berubah.
Alih keluar medan pengesahan hanya apabila titik akhir sengaja bersifat awam.
Kekalkan defaultInputModes dan defaultOutputModes selaras dengan apa yang pelayan anda sebenarnya terima dan kembalikan.
Sahkan JSON akhir dan terbitkannya di /.well-known/agent-card.json pada domain perkhidmatan anda.
Sedia untuk membina
Buka mana-mana corak dalam Penjana Agent Card, semak JSON, dan sahkannya sebelum menerbitkan.