概要
Agent Client Protocol (ACP) は、エディタとAIコーディングエージェント間の通信を標準化 エージェントとエディタの 相互運用性向上 を目的 統一プロトコル による開発効率化とロックイン回避 JSON-RPC と Markdown ベースの柔軟な設計 現時点で Zed や neovim 等をサポート
Agent Client Protocol (ACP)とは
- ACP は、 コードエディタ (IDE、テキストエディタ等)と AIコーディングエージェント (自律的にコードを修正する生成AIプログラム)間の通信標準化プロトコル
- 開発中 だが、既に実用的なユーザー体験の構築が可能な仕様
- エディタ と エージェント の結合度低減
ACPが必要な理由
- 現状 :各エディタは、サポートしたいエージェントごとに 個別の連携実装 が必要
- エージェント側 も、ユーザーに届けるために エディタ固有API の実装が必要
- 問題点 :
- 統合コスト増大 :新しいエージェント・エディタの組み合わせごとに カスタム開発 が発生
- 互換性制限 :エージェントが利用できるエディタが限定される
- 開発者ロックイン :エージェント選択が 利用可能なインターフェース に依存
ACPによる解決
- 標準化プロトコル の提供により、 LSP(Language Server Protocol) と同様のエコシステム構築
- ACP対応エージェント は、 すべてのACP対応エディタ と連携可能
- ACP対応エディタ は、 全ACPエージェント の利用が可能
- エディタ と エージェント の 独立したイノベーション 促進
- 開発者 が 最適なツール選択 を実現
ACPの設計概要
- ユーザー は主にエディタ内で作業、必要に応じてエージェントにタスク依頼
- エージェント はエディタの サブプロセス として起動
- 通信方式 は JSON-RPC、 stdio 経由
- MCP で使われるJSON表現を再利用、エージェント特有のUX要素(例:diff表示)にはカスタム型を使用
- ユーザー向けテキスト は Markdown 形式で送信
- HTMLレンダリング 非対応のエディタでもリッチな表現が可能
サポートされるエディタ・エージェント
- サポートエディタ
- Zed
- neovim (CodeCompanionプラグイン経由)
- サポートエージェント
- Gemini
- 今後追加予定