A2A protocol

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 card dari resource Agent dengan type ditetapkan ke A2A_AGENT_CARD.
  • Kolom penemuan: Registry Agen mengekstrak displayName, description, version, protocols transportasi, dan skills inline agen dari Kartu Agen dan menyimpannya di resource Agent. Anda dapat menelusuri dan memfilter kemampuan ini tanpa mengambil endpoint /.well-known/agent-card.json satu 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 skills dalam resource penemuan Agent agen berisi metadata JSON, termasuk id, name, description, tags, dan examples, 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 Skill dan SkillRevision independen di Agent Registry berisi file ZIP berversi dengan petunjuk dalam file SKILL.md dan 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 tools dalam resource penemuan McpServer berisi 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:

Langkah berikutnya