Apa itu Protokol Komunikasi Agen (ACP)?

Penyusun

Sandi Besen

AI Research Engineer and Ecosystem Lead

IBM

Anna Gutowska

AI Engineer, Developer Advocate

IBM

Protokol Komunikasi Agen (ACP) adalah standar terbuka untuk komunikasi di antara agen. Dengan protokol ini, kita dapat mengubah lingkungan agen yang terpisah kami saat ini menjadi sistem agen yang dapat bertukar informasi dengan integrasi dan kolaborasi yang lebih mudah.

Berita teknologi terbaru, didukung oleh insight dari pakar

Ikuti perkembangan tren industri yang paling penting—dan menarik—di bidang AI, otomatisasi, data, dan lainnya dengan buletin Think. Lihat Pernyataan Privasi IBM.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan disediakan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Ringkasan

Dengan ACP, yang awalnya diperkenalkan oleh BeeAI dari IBM, agen AI bebas berkolaborasi di seluruh tim, kerangka kerja, teknologi, dan organisasi. Ini adalah protokol universal yang mengubah lingkungan agen AI saat ini yang terbagi-bagi menjadi rekan tim yang saling terhubung dan standar terbuka ini membuka tingkat baru interoperabilitas, penggunaan kembali, dan skala. Sebagai langkah selanjutnya setelah Model Context Protocol (MCP), standar terbuka untuk akses alat dan data, ACP mendefinisikan cara agen beroperasi dan berkomunikasi.1

Untuk konteks, agen AI adalah sistem atau program yang mampu melakukan tugas secara mandiri atas nama pengguna atau sistem lain. Sistem ini melakukannya dengan merancang alur kerja dan menggunakan alat yang tersedia. Sistem multiagen terdiri dari beberapa agen AI yang bekerja secara kolektif untuk melakukan tugas atas nama pengguna atau sistem lain.

Sebagai standar komunikasi agen AI dengan tata kelola terbuka, ACP memungkinkan agen kecerdasan buatan untuk berkomunikasi di berbagai kerangka kerja dan tumpukan teknologi. Dari menerima kueri pengguna dalam bentuk bahasa alami hingga melakukan serangkaian tindakan, agen AI berkinerja lebih baik ketika dilengkapi dengan protokol komunikasi. Protokol ini menyampaikan informasi di antara alat, agen lain dan terakhir, pengguna. 

Komunikasi agen AI mengacu pada cara agen kecerdasan buatan berinteraksi satu sama lain, dengan manusia atau sistem eksternal untuk bertukar informasi, mengambil keputusan, dan menyelesaikan tugas. Komunikasi ini sangat penting dalam sistem multiagen, di mana beberapa agen AI berkolaborasi, dan dalam interaksi antara manusia dengan AI.

ACP adalah bagian dari ekosistem yang berkembang, termasuk BeeAI. Berikut adalah beberapa fitur utama, dan Anda dapat membaca lebih lanjut tentang konsep inti dan detailnya dalam dokumentasi resmi.

Fitur utama ACP

  • Komunikasi berbasis REST: ACP menggunakan konvensi HTTP standar untuk komunikasi yang memudahkan integrasi ke dalam lingkungan produksi. Sedangkan MCP bergantung pada format JSON-RPC yang membutuhkan metode komunikasi yang jauh lebih kompleks.
  • Tidak memerlukan SDK: ACP tidak memerlukan pustaka khusus. Anda dapat berinteraksi dengan agen cerdas menggunakan berbagai alat seperti cURL, Postman, atau bahkan browser Anda. Tersedia pula SDK untuk kenyamanan tambahan.
  • Penemuan offline: Agen ACP dapat menanamkan metadata langsung ke dalam paket distribusi mereka yang memungkinkan penemuan bahkan saat mereka tidak aktif. Ini mendukung lingkungan penskalaan ke nol, di mana sumber daya dialokasikan secara dinamis dan mungkin tidak selalu online.
  • Memprioritaskan asinkronisasi, mendukung sinkronisasi: ACP dirancang dengan komunikasi asinkron sebagai default. Metode ini sangat ideal untuk tugas yang berjalan lama atau kompleks. Permintaan yang sinkron juga didukung.

Catatan: ACP memungkinkan orkestrasi agen untuk arsitektur agen apa pun, tetapi tidak mengelola alur kerja, penerapan, atau koordinasi di antara agen. Sebaliknya, protokol ini memungkinkan orkestrasi di berbagai agen dengan menstandardisasi cara mereka berkomunikasi. IBM Research membangun BeeAI, sistem sumber terbuka yang dirancang untuk menangani orkestrasi agen, penerapan, dan pembagian menggunakan ACP sebagai lapisan komunikasi.

Agen AI

5 Jenis Agen AI: Fungsi Otonom & Aplikasi Dunia Nyata

Pelajari bagaimana AI berbasis tujuan dan berbasis utilitas beradaptasi dengan alur kerja dan lingkungan yang kompleks.

Mengapa kita membutuhkan ACP

Seiring dengan AI agen yang terus berkembang, tingkat kompleksitas dalam menjelajahi cara mendapatkan hasil terbaik dari setiap teknologi independen untuk contoh penggunaan Anda juga semakin meningkat, tanpa dikendalikan oleh vendor tertentu. Setiap kerangka kerja, platform, dan toolkit menawarkan keuntungan unik, tetapi mengintegrasikan semuanya ke dalam satu sistem agen sangat menantang.

Saat ini, sebagian besar sistem agen beroperasi dalam silo. Mereka dibangun di atas kerangka kerja yang tidak kompatibel, mengekspos API dan titik akhir kustom, serta tidak memiliki protokol bersama untuk komunikasi. Menghubungkan mereka membutuhkan integrasi rapuh dan tidak dapat diulang yang mahal untuk dibangun.

ACP menggambarkan pergeseran mendasar: dari ekosistem yang terbagi-bagi dan khusus menjadi jaringan agen yang saling terhubung—masing-masing mampu menemukan, memahami, dan berkolaborasi dengan agen lain, tanpa memandang siapa yang membangunnya atau tumpukan tempat mereka beroperasi. Dengan ACP, pengembang dapat memanfaatkan kecerdasan kolektif dari berbagai agen untuk membangun alur kerja yang lebih tangguh daripada yang dapat dicapai oleh sistem tunggal.

Tantangan saat ini

Meskipun terjadi pertumbuhan pesat dalam kemampuan agen, integrasi di dunia nyata tetap menjadi hambatan utama. Tanpa protokol komunikasi bersama, organisasi menghadapi beberapa tantangan berulang:

  • Keberagaman kerangka kerja: Organisasi biasanya mengoperasikan ratusan atau ribuan agen yang dibangun menggunakan kerangka kerja yang berbeda seperti LangChain, crewAI, AutoGen, atau tumpukan kustom.
  • Integrasi kustom: Tanpa protokol standar, pengembang harus menulis konektor kustom untuk setiap interaksi agen.
  • Perkembangan eksponensial: Dengan n agen, Anda berpotensi membutuhkan n(n-1)/2 titik integrasi berbeda, yang membuat ekosistem agen berskala besar sulit untuk dikelola.
  • Pertimbangan lintas organisasi: Model keamanan, sistem autentikasi, dan format data berbeda menyulitkan integrasi di seluruh perusahaan.

Contoh di dunia nyata

Untuk menggambarkan kebutuhan di dunia nyata untuk komunikasi di antara agen, bayangkan dua organisasi:

  • Sebuah perusahaan manufaktur yang menggunakan agen otonom untuk mengelola jadwal produksi dan pemenuhan pesanan berdasarkan persediaan internal dan permintaan pelanggan.
  • Penyedia layanan logistik yang mengoperasikan agen untuk menawarkan perkiraan pengiriman real-time, ketersediaan pengangkut, dan optimasi rute.

Sekarang bayangkan sistem produsen perlu memperkirakan jadwal pengiriman untuk pesanan peralatan kustom besar guna memberikan kuotasi kepada pelanggan.

Tanpa ACP: Pendekatan ini memerlukan pembuatan integrasi khusus antara perangkat lunak perencanaan produsen dan API penyedia layanan logistik. Ini berarti menangani otentikasi, ketidakcocokan format data, dan ketersediaan layanan secara manual. Integrasi ini mahal, rapuh, dan sulit diskalakan karena semakin banyak mitra yang bergabung.

Dengan ACP: Setiap organisasi membungkus agennya dengan antarmuka ACP. Agen manufaktur mengirimkan detail pesanan dan tujuan ke agen logistik yang merespons dengan opsi pengiriman real-time dan perkiraan waktu kedatangan (ETA). Kedua sistem melakukan kolaborasi agen tanpa mengekspos komponen internal atau menulis integrasi khusus. Mitra logistik baru dapat diperkenalkan hanya dengan menerapkan ACP. Otomatisasi yang dipasangkan antara agen AI dengan ACP memungkinkan skalabilitas dan perampingan pertukaran data.

Cara memulai

Kesederhanaan adalah prinsip desain inti ACP. Membungkus agen dengan ACP dapat dilakukan hanya dengan beberapa baris kode. Menggunakan Python SDK, Anda dapat menentukan agen yang sesuai dengan ACP hanya dengan mendekorasi fungsi.

Implementasi minimal ini:

  1. Membuat instans server ACP.
  2. Mendefinisikan fungsi agen menggunakan dekorator @server.agent().
  3. Mengimplementasikan agen menggunakan kerangka kerja LangChain dengan backend model bahasa besar (LLM) dan memori untuk persistensi konteks.
  4. Menerjemahkan antara format pesan ACP dan format asli kerangka kerja untuk menampilkan respons terstruktur.
  5. Memulai server, membuat agen tersedia melalui HTTP.

Contoh kode:

from typing import Annotated
import os
from typing_extensions import TypedDict
from dotenv import load_dotenv
#ACP SDK
from acp_sdk.models import Message
from acp_sdk.models.models import MessagePart
from acp_sdk.server import RunYield, RunYieldResume, Server
from collections.abc import AsyncGenerator
#Langchain SDK
from langgraph.graph.message import add_messages
from langchain_anthropic import ChatAnthropic 

load_dotenv() 

class State(TypedDict):
    messages: Annotated[list, add_messages]

#Set up the AI model of your choice
llm = ChatAnthropic(model="claude-3-5-sonnet-latest", 
api_key=os.environ.get("ANTHROPIC_API_KEY")) 

#------ACP Requirement-------#
#START SERVER
server = Server()
#WRAP AGENT IN DECORACTOR
@server.agent()
async def chatbot(messages: list[Message])-> AsyncGenerator[RunYield, RunYieldResume]:
    "A simple chatbot enabled with memory"
    #formats ACP Message format to be compatible with what langchain expects
    query = " ".join(
        part.content
        for m in messages
        for part in m.parts             
    )
    #invokes llm
    llm_response = llm.invoke(query)    
    #formats langchain response to ACP compatible output
    assistant_message = Message(parts=[MessagePart(content=llm_response.content)])
    # Yield so add_messages merges it into state
    yield {"messages": [assistant_message]}  

server.run()
#---------------------------#

Sekarang, Anda telah membuat agen yang sepenuhnya sesuai dengan ACP yang dapat:

  • Ditemukan oleh agen lain (online atau offline).
  • Memproses permintaan secara sinkron atau asinkron.
  • Berkomunikasi menggunakan format pesan standar.
  • Terintegrasi dengan sistem lain yang kompatibel dengan ACP.

Perbandingan ACP dengan MCP dan A2A

Untuk lebih memahami peran ACP dalam ekosistem AI yang berkembang, ada baiknya untuk membandingkannya dengan protokol baru lainnya. Semua protokol ini tidak selalu merupakan pesaing. Sebaliknya, mereka menangani lapisan yang berbeda dari tumpukan integrasi sistem AI dan sering kali saling melengkapi.

Sekilas mengenai:

Model Context Protocol (MCP): Dirancang untuk memperkaya konteks model tunggal dengan alat, memori, dan sumber daya. Diperkenalkan oleh Anthropic.
Fokus: satu model, banyak alat

Protokol Komunikasi Agen (ACP): Dirancang untuk komunikasi antara berbagai agen independen di sistem dan organisasi. Diperkenalkan oleh BeeAI IBM.
Fokus: banyak agen, bekerja dengan aman sebagai rekan kerja, tanpa ketergantungan pada vendor, tata kelola terbuka

Agent2Agent Protocol (A2A): Dirancang untuk komunikasi di antara agen independen di berbagai sistem dan organisasi. Diperkenalkan oleh Google.

Fokus: banyak agen, yang sebagai rekan kerja, dioptimalkan untuk ekosistem Google.

ACP dan MCP

Tim ACP awalnya menjelajahi penyesuaian Model Context Protocol (MCP) karena protokol memberikan landasan yang kokoh untuk interaksi antara model dan konteks. Namun, mereka segera menemui batasan arsitektur yang membuatnya tidak cocok untuk komunikasi yang sesungguhnya di antara agen.

Mengapa MCP gagal untuk sistem multiagen:

Streaming: MCP mendukung streaming dasar, kemungkinan pesan lengkap, tetapi tidak mendukung streaming gaya "delta" yang lebih detail, di mana pembaruan dikirim saat terjadi. Aliran delta, seperti token dan pembaruan lintasan, adalah aliran data yang terdiri dari pembaruan bertahap, bukan seluruh data lengkap. Keterbatasan ini berasal dari fakta bahwa ketika MCP dibuat, protokol ini tidak dimaksudkan untuk interaksi gaya agen.

Berbagi memori: MCP tidak mendukung menjalankan beberapa agen di seluruh server sekaligus mempertahankan memori bersama. ACP juga belum sepenuhnya mendukung fungsi ini, tetapi ini adalah area yang dikembangkan dengan aktif.

Struktur pesan: MCP menerima skema JSON apa pun tetapi tidak menetapkan struktur badan pesan. Fleksibilitas ini menjadikan interoperabilitas sulit, terutama untuk membangun agen yang harus menafsirkan format pesan berbeda.

Kompleksitas protokol: MCP menggunakan JSON-RPC dan memerlukan SDK dan waktu proses tertentu. Sedangkan desain ACP yang berbasis REST dengan dukungan asinkronisasi/sinkronisasi bawaan lebih ringan dan mudah untuk integrasi.


Bayangkan MCP seperti memberikan seseorang alat yang lebih baik, seperti kalkulator atau buku referensi, untuk meningkatkan kinerjanya. Di sisi lain, ACP ditujukan untuk memungkinkan orang membentuk tim, di mana setiap orang, atau agen, berkontribusi dengan kemampuan mereka secara kolaboratif dalam aplikasi AI.

ACP dan MCP dapat saling melengkapi:

Protokol Agent2Agent (A2A) dari Google, yang diperkenalkan tidak lama setelah ACP, juga bertujuan untuk menstandarkan komunikasi antara agen AI. Kedua protokol memiliki tujuan yang sama, yaitu memungkinkan sistem multiagen, tetapi keduanya memiliki filosofi dan tata kelola berbeda.

Perbedaan utama:

ACP sengaja dirancang agar:

  • Mudah diintegrasikan menggunakan alat HTTP umum dan konvensi REST.
  • Fleksibel di berbagai jenis agen dan beban kerja.
  • Tidak bergantung pada vendor tertentu, dengan tata kelola terbuka dan penyelarasan ekosistem yang luas.

Kedua protokol dapat beroperasi secara bersamaan–masing-masing menangani kebutuhan berbeda, tergantung pada lingkungan. Desain ACP yang ringan, terbuka, dan dapat diperluas menjadikannya sangat cocok untuk sistem terdesentralisasi dan interoperabilitas di dunia nyata yang melintasi batas organisasi. Integrasi alami A2A mungkin menjadikannya pilihan yang lebih cocok bagi mereka yang menggunakan ekosistem Google.

Peta jalan dan komunitas

Seiring perkembangan ACP, beberapa kemungkinan baru untuk meningkatkan komunikasi agen sedang dijelajahi. Berikut adalah beberapa area fokus utama:

  • Federasi identitas: Bagaimana ACP dapat bekerja dengan sistem autentikasi untuk meningkatkan kepercayaan di seluruh jaringan?
  • Delegasi akses: Bagaimana kita dapat memungkinkan agen untuk mendelegasikan berbagai tugas dengan aman sekaligus mempertahankan kontrol pengguna?
  • Dukungan konfigurasi multi-registry: Dapatkah ACP mendukung penemuan agen terdesentralisasi di berbagai jaringan?
  • Berbagi agen: Bagaimana kita dapat mempermudah berbagi dan menggunakan kembali agen di seluruh organisasi atau di dalam organisasi?
  • Penerapan: Alat dan templat apa yang dapat menyederhanakan penerapan agen?

ACP sedang dikembangkan dengan sumber terbuka karena standar bekerja paling baik ketika dikembangkan langsung bersama pengguna. Kontribusi dari pengembang, peneliti, dan organisasi yang tertarik pada masa depan interoperabilitas agen AI sangat diharapkan. Bergabunglah untuk membantu membentuk standar gen AI yang terus berkembang ini.

Untuk informasi lebih lanjut, kunjungi situs resmi ACP dan bergabung dalam percakapan di GitHub dan Discord.

Solusi terkait
Agen AI untuk bisnis

Bangun, terapkan, dan kelola asisten dan agen AI yang kuat yang mengotomatiskan alur kerja dan proses dengan AI generatif.

    Menjelajahi watsonx Orchestrate
    Solusi agen AI IBM

    Bangun masa depan bisnis Anda dengan solusi AI yang dapat Anda percaya.

    Jelajahi solusi agen AI
    Layanan AI IBM Consulting

    Layanan IBM Consulting AI membantu merancang ulang cara kerja bisnis dengan AI untuk transformasi.

    Jelajahi layanan kecerdasan buatan
    Ambil langkah selanjutnya

    Baik Anda memilih untuk menyesuaikan aplikasi dan keterampilan yang dibangun sebelumnya atau membangun dan menerapkan layanan agen khusus menggunakan studio AI, platform IBM watsonx siap membantu Anda.

    Menjelajahi watsonx Orchestrate Jelajahi watsonx.ai