Agent Client Protocol (ACP) — AI コーディングエージェントのための標準
ACP はコードエディタとコーディングエージェントの間の LSP 的標準です。ローカルエージェントは stdio 上の JSON-RPC を話します。リモート向け HTTP / WebSocket は標準化の途上です。本サイトは独立ガイドであり、公式仕様ではありません。
ワイヤプロトコル
v1 安定
本番ではこれを使う
次のメジャー
v2 ドラフト
バージョン交渉と feature flag 必須
認証済みエージェント
Registry 40
2026-09-12 時点
公式 SDK
TS & Rust 1.0
Python / Java / Kotlin もあり
エディタとエージェントの組み合わせごとに、まだ接着コードを書いていますか?
共有プロトコルがなければ、コーディングエージェントとエディタは密結合です。新しい組み合わせは、また別のプラグイン、別の RPC、別の一週間になります。
ACP: 一度実装すれば、どこにでもつなげる
LSP が言語サーバを標準化したように、ACP はエージェントに一つのインタフェース、エディタに一つのクライアントを与えます。対応エージェントはどの ACP クライアントでも動き、対応エディタはエージェント生態系全体を手に入れます。使える MCP 型はそのまま再利用します。
Agent Client Protocol の動き
ユーザーはエディタに留まります。クライアントはローカルエージェントをサブプロセスとして起動するか、リモートエージェントに接続し、JSON-RPC でセッションを回します。
JSON-RPC over stdio
JSON-RPC 2.0
リクエスト、レスポンス、通知。双方向で、エージェントは権限、ファイル、ターミナル、構造化入力をクライアントに要求できます。
MCP 親和の型
コンテンツブロック、resource、ツール呼び出しは可能な範囲で MCP JSON を再利用し、diff や plan などコーディング UX 用の型を足します。
既定は Markdown
人が読むテキストは Markdown なので、クライアントは HTML エンジンを持たなくて済みます。
実際の ACP メソッド: session/prompt
{
"jsonrpc": "2.0",
"id": 2,
"method": "session/prompt",
"params": {
"sessionId": "sess_abc123def456",
"prompt": [
{
"type": "text",
"text": "Refactor this function"
}
]
}
}ACP を選ぶ理由
共有契約は N×M のプラグインより強い一方で、各製品の UX は自由です。
ACP の実際の使い方
プロトコルはパイプです。プロダクトは、いまのエディタ UX とエージェントのツールです。
エディタ内コーディングエージェント
リファクタ、テスト生成、diff 適用を、いつものキーバインドのまま。
マルチエージェント作業台
Claude、Codex、Gemini、OpenCode を別プラグインではなく並列セッションとして走らせます。
チャットとモバイルの制御面
Telegram、Slack、WeChat、QQ、Lark、スマホアプリからデスクトップのエージェントを駆動します。
ノートブックとデータツール
Jupyter、marimo、DuckDB の横でエージェントを動かし、独自 RPC を増やしません。
レビューと安全ループ
権限プロンプトとツール呼び出しカードで、ファイル書き込みとシェルを人の前に置きます。
カスタムハーネス
Deep Agents、Koog、Mastra、ACP Kit などが既存ランタイムを ACP エージェントとして包みます。
クライアント、エージェント、Registry
生態系はもう「Zed と数個の CLI」ではありません。エディタ、IDE、デスクトップ、そして 40 の認証済み Registry エージェントが ACP を出荷しています。
エディタとクライアント面
エージェントとアダプタ
特定の組み合わせが必要ですか?
クライアント面、アダプタ、Registry、能力サポートを比較します。
このサイトのガイド
現行プロトコルと生態系を要約します。正本の schema と RFD は agentclientprotocol.com にあります。
ACP を始める
まずどちら側かを選んでください。本番は v1。v2 は明示的に開くドラフトです。
よくある質問
短い回答です。このガイドと公式 spec が食い違うときは、公式 schema が勝ちます。