- Agent Client Protocol (ACP) adalah protokol untuk menstandarkan komunikasi antara editor kode dan agen AI untuk coding
- Sebelumnya, agar setiap editor dapat terhubung dengan agen tertentu, diperlukan integrasi kustom terpisah, yang menyebabkan masalah keterbatasan kompatibilitas dan vendor lock-in bagi developer
- Seperti Language Server Protocol (LSP), ACP menyediakan cara komunikasi yang terstandar sehingga cukup diimplementasikan sekali agar dapat terhubung bebas antara semua editor dan agen yang kompatibel
- Agen dijalankan sebagai subproses dari editor, berkomunikasi melalui JSON-RPC over stdio, dan mendukung elemen UI seperti tampilan diff serta output berbasis Markdown
- Saat ini Zed dan Neovim (plugin CodeCompanion) sudah mendukung ACP, dan di sisi agen Gemini CLI kompatibel, dengan cakupan dukungan yang akan terus diperluas
Pengenalan
- Agent Client Protocol (ACP) adalah protokol terbuka yang dirancang untuk menstandarkan interaksi server-klien seperti pengembangan jarak jauh, port forwarding, eksekusi perintah, dan lainnya
- Masalah yang ada: agen AI untuk coding dan editor terhubung erat, tetapi interoperabilitas tidak dijamin secara bawaan
- Setiap editor harus membangun integrasi kustom untuk setiap agen yang ingin didukung
- Agen harus mengimplementasikan API editor tertentu agar bisa menjangkau pengguna
- Hal ini menimbulkan overhead integrasi, kompatibilitas yang terbatas, dan masalah ketergantungan developer
- Solusi ACP: ACP menyediakan protokol terstandar antara agen dan editor
- Agen yang mengimplementasikan ACP dapat berjalan di semua editor yang kompatibel
- Editor yang mendukung ACP dapat mengakses seluruh ekosistem agen yang kompatibel dengan ACP
- Ini memungkinkan inovasi yang independen dan memberi developer kebebasan memilih alat yang paling sesuai untuk workflow mereka
Ikhtisar ACP
- Cara kerja: pengguna terutama bekerja di editor kode dan memanggil agen untuk tugas tertentu
- Agen dijalankan sebagai subproses dari editor
- Komunikasi menggunakan JSON-RPC melalui stdio
- Format data: menggunakan kembali format JSON dari MCP, dengan tipe kustom untuk elemen UX coding agen seperti tampilan diff
- Format teks: secara default menggunakan format Markdown demi keterbacaan pengguna
- Memungkinkan pemformatan yang kaya tanpa rendering HTML
- Protokol saat ini masih dalam pengembangan, tetapi sudah cukup matang untuk membangun pengalaman pengguna yang menarik
Status dukungan saat ini
- Editor
- Agen
- Gemini: mendukung ACP melalui Gemini CLI
- Dukungan agen tambahan akan hadir
Kesimpulan
- Dengan meniru keberhasilan LSP, ACP secara signifikan meningkatkan interoperabilitas antara agen AI untuk coding dan editor
- Developer tidak perlu terikat pada agen atau editor tertentu, dan dapat bebas memilih kombinasi alat terbaik
- Perluasan protokol ini akan meningkatkan skalabilitas ekosistem serta efisiensi dan fleksibilitas workflow developer
1 komentar
Opini Hacker News
Meminta Claude untuk membuat protokol komunikasi antara agen AI dan IDE/editor, sekaligus mengembangkan library Node, Python, dan Rust, bahkan sampai membangun situs web dengan landing page
Sejujurnya ada godaan untuk menguji apakah Gemini bisa memakai plugin Sublime Text yang mengimplementasikan protokol ini; belakangan suasananya kebanyakan pengguna mengarah ke VSCode, jadi alat-alat baru cenderung hanya mendukung ke sana; saya ingin menghindari dipaksa pindah karena Sublime tidak lagi didukung; Sublime benar-benar editor yang bagus, dan juga tidak didukung perusahaan raksasa
Dan sepertinya juga bisa dibuat menjadi agen yang hanya mendukung Gemini untuk menyamarkan jejak
Lucu juga, keinginan yang terlalu egosentris
Semoga proyek ini benar-benar berhasil; Zed sedang kembali ke esensi kolaborasi, dan rasanya arus ini juga bisa membawa perubahan ke kategori IDE agentic; kalau begitu, Zed tidak perlu menghabiskan waktu untuk bersaing secara langsung dan juga punya pembeda; saya penasaran sejauh mana ini akan diadopsi di kalangan agen CLI (senang juga melihat Gemini CLI sudah terintegrasi); persaingan sengit di pasar LLM dan coding assistant selalu disambut baik; saya rasa perubahan-perubahan seperti ini akan terus menurunkan biaya pindah antar alat
Saya sendiri hampir saja pindah ke Zed; hampir semua hal yang saya inginkan dari editor selama beberapa tahun terakhir sudah ada di sana; bahkan ada banyak fitur keren yang tak pernah saya bayangkan; saya pernah sampai membuat prototipe editor sendiri karena kecewa dengan keadaan yang ada, tetapi membuat satu editor yang bagus memang butuh usaha sangat besar; Zed sudah melakukan usaha itu; saya menyambut baik langkah mereka untuk berkolaborasi secara terbuka
Serius, saya berharap perubahan ini jadi momentum hilangnya fork VS Code yang payah; Zed juga layak mendapat pengakuan yang semestinya; editor AI terasa seperti benar-benar menyedot habis oksigen di industri ini
Saya sedang membuat alat agar Claude Code bisa memakai ACP (karena saya sering memakai CC dan Zed); sejauh ini progresnya cukup berhasil dengan Claude Code SDK dan library ACP Client; masih ada beberapa bagian yang perlu dirapikan; rencananya besok akan saya poles sedikit lagi lalu dibuka
Sudah ada ACP bernama agentcommunicationprotocol.dev, jadi namanya bisa membingungkan; memang ada perbedaan antara dua proyek itu, tapi hal seperti ini tetap mengganggu
Hal yang paling membuat penasaran adalah mengapa server LSP atau perluasan protokol LSP tidak bisa mencakup kebutuhan yang diperlukan LLM
Saya nyaman memperlakukan AI seperti developer manusia sungguhan; misalnya saya meminta AI mengimplementasikan fitur, memperbaiki bug, atau melakukan refactoring, lalu saya membaca commit hasilnya; kalau commit-nya tidak saya suka, saya jalankan
git reset --hard, perbaiki prompt-nya, lalu menyuruh AI lagi; saya menyebut pendekatan ini sebagai "prompt coding"; saya tidak butuh interaksi langsung antara lingkungan coding saya dan AI; ia bekerja tanpa menyentuh editor saya, seperti developer manusia penjelasan terkaitBelakangan orang bilang menulis prompt itu lebih baik, tetapi saya agak ragu soal itu; AI memang membantu untuk beberapa tugas yang sangat spesifik, tetapi omong kosongnya masih banyak; terutama ketika ia mengarang hal-hal yang tidak ada seperti API, itu sulit ditoleransi
Saya tidak sampai membiarkan AI membuat commit; hampir selalu saya tetap harus memperbaiki banyak bagian dari hasil AI; saya merasa sayang waktu untuk terus mengulang reprompt, jadi kalau sejak awal jawabannya tidak sesuai yang saya mau, biasanya saya langsung perbaiki sendiri; kalau dari awal ia memahami yang saya inginkan dan memberi kode yang tepat, barulah rasa percaya saya ke AI meningkat
Saya harap ide ini makin meluas; satu hal yang saya penasaran adalah perbedaan antara pencarian file dan file yang belum disimpan; pada praktiknya agen sering memakai sesuatu seperti ripgrep saat mencari di sistem file, tetapi masalahnya kalau protokol memungkinkan membaca dan menulis sampai ke file yang belum disimpan, akurasinya bisa bermasalah; ripgrep tidak bisa mencari file yang belum disimpan
Saya sangat berharap Anthropic mengadopsi protokol ini di Claude Code; setidaknya saya berharap ada tingkat integrasi seperti yang tersedia di VSCode; dan kalau bisa, minimal akses ke informasi diagnosis editor pun sudah bagus
MCP juga awalnya dimulai sebagai JSON-RPC di atas stdio; dengan munculnya lingkungan seperti GitHub Codespaces, devcontainers, dan "background agents", saya penasaran apakah akan ada evolusi seperti JSON over SSE; lingkungan pengembangan saya saat ini memakai Claude Code secara lokal, sementara aplikasinya berjalan di container; agen dapat secara otonom menjalankan
docker compose exec backend; hambatan untuk mengadopsi alur kerja git worktree adalah berbagi mesin database (karena kekurangan sumber daya lokal) dan waktu migrasi awal; memindahkan beban seperti ini ke cloud juga merupakan skenario yang menarikSemoga protokol seperti ini makin menyebar sehingga saya tidak selalu terikat pada satu IDE yang sudah ada