Bagikan melalui


Agen-ke-Agen (A2A)

Halaman sebelumnya menunjukkan cara membuat agen dalam satu proses — satu agen memanggil yang lain sebagai alat fungsi, dan kerangka kerja menangani sisanya. Pola itu berfungsi dengan baik ketika semua agen Anda tinggal di aplikasi yang sama, berbagi runtime yang sama, dan dikelola oleh tim yang sama.

Tetapi sistem agen dunia nyata sering kali perlu berkomunikasi di seluruh batas. Agent-to-Agent (A2A) adalah protokol terbuka yang dirancang untuk hal ini. Ini mendefinisikan cara standar bagi agen untuk menemukan satu sama lain, bertukar pesan, dan berkoordinasi pada tugas - melalui HTTP, di seluruh batas apa pun, dalam bahasa atau kerangka kerja apa pun. Agent Framework menyediakan integrasi A2A bawaan sehingga Anda dapat menghosting dan memanggil agen yang mematuhi A2A dengan pengaturan minimal.

Kapan menggunakan ini

Gunakan A2A saat agen Anda perlu melewati batas yang tidak dapat ditangani oleh komposisi dalam proses:

  • Batas layanan. Agen pemesanan perjalanan Anda beroperasi sebagai layanan mikro, dan agen pengarsipan pengeluaran Anda beroperasi sebagai layanan mikro lainnya. Mereka tidak dapat memanggil satu sama lain sebagai alat fungsi dalam proses — mereka memerlukan protokol jaringan.
  • Batas tim. Tim mitra memiliki agen "tinjauan kepatuhan". Anda tidak memiliki akses ke kode, model, atau penyebarannya — Anda hanya perlu mengirimkan permintaan dan mendapatkan respons.
  • Batas organisasi. Penyedia pihak ketiga menawarkan agen khusus (pemrosesan dokumen, peninjauan hukum, triase medis). Anda memerlukan cara standar untuk menemukannya, memahami apa yang dapat dilakukannya, dan berkomunikasi dengannya — terlepas dari kerangka kerja atau bahasa apa yang dibangunnya.
  • Evolusi independen. Agen Anda memerlukan siklus rilis yang berbeda, tim yang berbeda, atau bahasa yang berbeda — tanpa menggandengkan implementasi mereka dengan ketat.

Petunjuk / Saran

Jika semua agen Anda beroperasi dalam proses yang sama dan dikelola oleh tim yang sama, agen sebagai alat lebih sederhana dan memiliki lebih sedikit overhead. A2A menambahkan nilai saat Anda melewati batas proses, layanan, atau organisasi.

Pertimbangan

Pertimbangan Rincian
Interoperabilitas A2A tidak bergantung pada kerangka kerja tertentu. Agen .NET Anda dapat memanggil agen Python, agen LangChain, atau agen apa pun yang menerapkan protokol. Ini adalah nilai utama A2A — yaitu sebagai "HTTP dalam komunikasi agen."
Overhead jaringan Setiap panggilan A2A adalah permintaan HTTP. Ini menambahkan latensi dibandingkan dengan panggilan agen sebagai alat dalam proses. Untuk jalur yang sensitif terhadap performa, pastikan agen tetap berada di lokasi yang sama atau gunakan A2A hanya jika ada batas yang benar-benar ada.
Kompleksitas operasional Agen jarak jauh adalah layanan terdistribusi. Anda perlu menangani kegagalan jaringan, batas waktu, pengulangan, dan versi — masalah yang sama seperti dalam komunikasi antar layanan.
Penemuan pada runtime Kartu agen membuat penemuan dinamis, tetapi Anda masih perlu tahu di mana harus mencari. Dalam produksi, Anda biasanya akan mengonfigurasi titik akhir agen yang diketahui atau menggunakan registri.
Status percakapan Agen jarak jauh mengelola status percakapannya sendiri (ditentukan oleh ID konteks). Agen Anda tidak melihat penalaran internal agen jarak jauh — hanya respons dari agen tersebut. Jika agen jarak jauh memulai ulang dan kehilangan status, konteks percakapan Anda mungkin hilang.

Langkah berikutnya

Sekarang setelah agen Anda dapat berkomunikasi di seluruh batas apa pun, langkah terakhir dalam perjalanan adalah alur kerja — orkestrasi eksplisit, berbasis grafik untuk proses multi-langkah, multi-agen di mana Anda memerlukan kontrol penuh atas urutan eksekusi, status, dan pemulihan.

Masuk lebih dalam:

  • Integrasi A2A - panduan implementasi untuk menghosting dan memanggil agen A2A
  • Agen sebagai Alat — pola komposisi dalam proses yang lebih sederhana