Registry Agen mengindeks Kartu Agen Agent2Agent (A2A), antarmuka transpor, dan kemampuan inline sehingga Anda dan agen orchestrator dapat menemukan dan memanggil agen di seluruh lingkungan Google Cloud Anda. Agen AI otonom dapat menggunakan protokol A2A untuk bertukar pesan dan mendelegasikan tugas tanpa membagikan status internal, perintah, atau alat mereka.
Hubungan antara agen AI, A2A, dan MCP
Arsitektur multi-agen dapat menggabungkan standar terbuka berikut yang dikatalogkan oleh Agent Registry:
- Protokol Agent2Agent (A2A): menstandarkan komunikasi peer-to-peer antara klien A2A, seperti agen orchestrator atau aplikasi yang ditampilkan kepada pengguna, dan agen A2A jarak jauh. Klien mengirimkan pesan bahasa alami atau terstruktur dan menerima update tugas atau artefak stateful tanpa memerlukan visibilitas ke model dasar, substrat memori, atau reasoning loop internal agen jarak jauh. Registry Agen mengatalogkan agen Google bawaan yang diekspos oleh API Google Cloud dan agen A2A kustom yang Anda deploy di lingkungan Anda sendiri. Untuk contoh arsitektur hosting agen A2A kustom, lihat Ringkasan agen A2A di Cloud Run.
- Model Context Protocol (MCP): menstandarkan eksekusi alat klien ke server, tempat agen terhubung ke server MCP untuk memanggil alat deterministik dan membaca resource data terstruktur.
Di Agent Registry, agen orchestrator Anda dapat mengkueri satu registry untuk menemukan sub-agen A2A spesialis untuk delegasi multilangkah, bersama dengan server MCP dan keterampilan mandiri untuk penggunaan alat langsung.
Versi protokol dan penemuan Kartu Agen
Setiap agen yang mematuhi A2A mendeskripsikan identitas, endpoint, dan kapabilitasnya
dalam dokumen metadata JSON yang disebut
Kartu Agen
(agent-card.json).
Agent Registry mendukung versi 1.0 (direkomendasikan) dan 0.3 dari
spesifikasi protokol A2A.
Untuk mengetahui informasi tentang kolom dan struktur Kartu Agen tertentu dari versi ini, lihat skema Kartu Agen.
Cara Agent Registry mengindeks Kartu Agen
Baik agen A2A diserap melalui
pendaftaran otomatis atau ditambahkan
melalui pendaftaran manual,
Registry Agen akan memvalidasi Kartu Agennya dan membuat resource penemuan
Agent hanya baca dengan informasi berikut:
- Payload Kartu Agen: Agent Registry menyimpan payload JSON lengkap
di kolom
carddari resourceAgentdengantypeditetapkan keA2A_AGENT_CARD. - Kolom penemuan: Registry Agen mengekstrak
displayName,description,version,protocolstransportasi, danskillsinline agen dari Kartu Agen dan menyimpannya di resourceAgent. Anda dapat menelusuri dan memfilter kemampuan ini tanpa mengambil endpoint/.well-known/agent-card.jsonsatu per satu di seluruh layanan.
LayananGoogle Cloud dan runtime yang diatur tidak selalu mengekspos URL /.well-known/agent-card.json publik. Sebagai gantinya, Anda dan aplikasi klien Anda
mengambil Kartu Agen langsung dari Registry Agen. Beberapa agen juga
menyediakan Kartu Agen yang diperluas dengan detail tambahan yang hanya tersedia
untuk klien yang diautentikasi. Jika Kartu Agen menetapkan
capabilities.extendedAgentCard ke true, klien yang diautentikasi bisa mendapatkan
Kartu Agen yang diperluas di endpoint runtime agen untuk mengambil detail tersebut.
Binding transpor dan operasi inti
Binding transport menentukan cara klien memformat dan mengirim permintaan ke agen A2A melalui jaringan. Protokol A2A mendukung opsi transportasi berikut agar agen yang dibangun di berbagai platform dapat berkomunikasi:
- HTTP+JSON: Permintaan HTTPS yang mengirim dan menerima payload JSON.
- JSON-RPC: Permintaan HTTPS yang menggabungkan nama dan parameter operasi di dalam pesan JSON-RPC.
- gRPC: panggilan gRPC biner melalui TLS untuk komunikasi latensi rendah antar-layanan.
Registry Agen mencatat jenis transpor yang didukung setiap agen dan
URL endpoint agen di resource Agent. Karena URL endpoint bervariasi
di berbagai Google Cloud layanan dan deployment, hindari melakukan hardcode URL dalam
kode Anda. Sebagai gantinya, cari URL endpoint dan transport agen dari
Registry Agen saat runtime.
Terlepas dari transport yang digunakan agen, klien berinteraksi dengan agen melalui operasi inti A2A yang sama:
| Operasi | Deskripsi |
|---|---|
SendMessage |
Mengirim pesan untuk memulai tugas baru atau melanjutkan percakapan. Agen akan menampilkan balasan langsung atau tugas yang dapat Anda lacak. |
SendStreamingMessage |
Mengirim pesan dan melakukan streaming update status langsung, balasan parsial, dan hasil saat agen bekerja, jika agen mendukung streaming. |
GetTask |
Memeriksa status saat ini dan mengambil output apa pun untuk tugas yang ada. |
ListTasks |
Mencantumkan tugas dalam percakapan atau project, jika didukung oleh agen. |
SubscribeToTask |
Menghubungkan kembali ke tugas yang sedang berjalan untuk melakukan streaming live update hingga tugas dijeda atau selesai. |
CancelTask |
Meminta agen menghentikan tugas yang sedang berlangsung, jika pembatalan didukung. |
GetExtendedAgentCard |
Mengambil Kartu Agen yang diperluas milik agen dengan detail tambahan yang hanya tersedia untuk klien yang diautentikasi. |
Siklus proses tugas dan status multi-turn
A2A memisahkan kontinuitas percakapan dari unit eksekusi individual menggunakan dua ID:
- ID Konteks (
contextId): mengelompokkan interaksi multi-giliran terkait dalam sesi bersama sehingga agen jarak jauh dapat mempertahankan konteks percakapan di seluruh permintaan berurutan. - ID Tugas (
taskId): mengidentifikasi unit kerja asinkron atau sinkron tertentu yang dibuat saat klien A2A mengirim pesan.
Saat agen jarak jauh memproses permintaan, tugas akan bertransisi melalui status siklus proses A2A berikut:
| Negara bagian/Provinsi | Kategori | Deskripsi |
|---|---|---|
TASK_STATE_SUBMITTED |
Aktif | Agen jarak jauh telah menerima permintaan dan mengantrekan tugas untuk dieksekusi. |
TASK_STATE_WORKING |
Aktif | Agen jarak jauh secara aktif melakukan penalaran, memanggil alat, atau membuat artefak untuk tugas tersebut. |
TASK_STATE_INPUT_REQUIRED |
Dijeda | Eksekusi dijeda untuk menunggu input tindak lanjut, klarifikasi, atau
konfirmasi human-in-the-loop pada taskId dan
contextId yang sama. |
TASK_STATE_AUTH_REQUIRED |
Dijeda | Eksekusi dijeda hingga klien menyelesaikan autentikasi atau alur izin pengguna untuk resource downstream. |
TASK_STATE_COMPLETED |
Terminal | Tugas berhasil diselesaikan dan menampilkan respons akhir atau artefak output. |
TASK_STATE_FAILED |
Terminal | Tugas berhenti karena error eksekusi atau layanan downstream. |
TASK_STATE_CANCELED |
Terminal | Tugas dibatalkan sebelum selesai. |
TASK_STATE_REJECTED |
Terminal | Agen jarak jauh menolak untuk menjalankan tugas yang diminta. |
Kemampuan A2A, kemampuan mandiri, dan alat MCP
Registry Agen mengindeks tiga mekanisme kemampuan yang berbeda sehingga Anda dapat memilih pola integrasi yang tepat untuk setiap alur kerja:
- Kemampuan A2A inline: kolom
skillsdalam resource penemuanAgentagen berisi metadata JSON, termasukid,name,description,tags, danexamples, yang disematkan di dalam Kartu Agen. Kemampuan A2A inline memberitahukan tugas tingkat tinggi yang dapat didelegasikan oleh agen orchestrator ke agen jarak jauh tersebut melalui transportasi A2A. - Kemampuan mandiri: resource tingkat atas
SkilldanSkillRevisionindependen di Agent Registry berisi file ZIP berversi dengan petunjuk dalam fileSKILL.mddan skrip opsional. Agen mendownload kemampuan mandiri ke dalam konteksnya sendiri, bukan mendelegasikan eksekusi ke agen lain. Untuk perbandingan lengkap antara kemampuan A2A inline dan kemampuan mandiri, lihat Perbedaan antara kemampuan mandiri dan kemampuan A2A. - Alat MCP: kolom
toolsdalam resource penemuanMcpServerberisi skema fungsi terstruktur yang diekspos oleh server MCP terdaftar yang dipanggil langsung oleh agen untuk mengkueri data atau menjalankan operasi deterministik.
Keamanan runtime, tata kelola, dan panggilan agen
Agent Registry berfungsi sebagai katalog untuk menemukan agen A2A. Autentikasi, otorisasi, pemeriksaan konten, logging audit, dan penerapan kuota runtime terjadi saat agen klien atau orchestrator memanggil agen target:
- Pencarian dan panggilan endpoint agen target: mencari endpoint agen A2A target dan mengirim pesan menggunakan Agent Development Kit (ADK) atau klien HTTP dan Python standar. Untuk mengetahui informasi selengkapnya, lihat Membangun sistem multi-agen dan memanggil agen A2A.
- Autentikasi dan pencakupan kredensial: mengonfigurasi token akses OAuth 2.0, token ID OpenID Connect (OIDC), Workload Identity Federation, atau binding pengelola autentikasi Agent Identity untuk panggilan agen ke agen.
- Kontrol akses dan kebijakan penolakan: menerapkan izin akses runtime, kebijakan penolakan Identity and Access Management (IAM), dan kebijakan egress Identity-Aware Proxy (IAP). Untuk mengetahui informasi selengkapnya, lihat Peran dan izin.
- Pemeriksaan perintah dan respons: memeriksa payload perintah dan respons A2A yang didukung untuk membantu mendeteksi injeksi perintah dan eksposur data sensitif dengan mengonfigurasi integrasi Model Armor dengan Agent Gateway dan binding ekstensi layanan.
- Logging audit dan kuota: periksa data audit untuk panggilan A2A di Logging audit Agent Registry dan rencanakan kuota kapasitas agen target dan layanan downstream di Kuota dan batas sistem.
Langkah berikutnya
- Menelusuri agen, alat, dan kemampuan di seluruh Kartu Agen dan kemampuan A2A inline.
- Membangun sistem multi-agen dan memanggil agen A2A menggunakan ADK atau klien A2A.
- Tinjau skema JSON untuk Kartu Agen A2A.
- Bandingkan kemampuan A2A mandiri dan inline.