15 poin oleh GN⁺ 2025-09-01 | 1 komentar | Bagikan ke WhatsApp
  • 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

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

 
GN⁺ 2025-09-01
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

    • Pada Maret 2025 IBM mengumumkan Agent Communication Protocol (ACP), tetapi kini telah memutuskan untuk meninggalkan nama ACP dan menggabungkan pekerjaan terkait ACP ke protokol Agent2Agent (A2A) milik Google; keputusan ini diambil ketika semua tim pengembang ACP mulai dibubarkan, sementara industri semakin menguatkan dukungan ke A2A di bawah kepemimpinan Linux Foundation; langkah ini ditujukan untuk menghindari fragmentasi standar agen AI dan menyatukannya dalam protokol terbuka yang dipimpin komunitas lihat penjelasan detail di sini
  • Hal yang paling membuat penasaran adalah mengapa server LSP atau perluasan protokol LSP tidak bisa mencakup kebutuhan yang diperlukan LLM

    • Karena LSP tidak memiliki ledakan AI; AI sekarang sedang melewati masa ketika banyak alat bermunculan liar seperti library JavaScript di masa awal; situasinya seperti sepenuhnya mengabaikan pengalaman dan pengetahuan yang sudah terkumpul sebelumnya, lalu menyelesaikan masalah yang salah dengan alat yang salah; pada akhirnya pendekatan seperti ini hanya akan menumpuk kompleksitas dan inefisiensi seperti library JS; jika masalahnya diselesaikan dengan cara yang salah, akan muncul masalah baru dan akhirnya harus menambahkan lebih banyak solusi yang juga salah
  • 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 terkait

    • Belakangan 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 menarik

  • Semoga protokol seperti ini makin menyebar sehingga saya tidak selalu terikat pada satu IDE yang sudah ada