ACP コーディングエージェント

Agent Client Protocol は、コーディング用インターフェースをコーディングエージェントに接続します。インターフェースは、エディタ、デスクトップアプリケーション、CLI、または別の ADK-Rust エージェントである場合があります。コーディングエージェントは、プロジェクトについて推論し、共有セッションを通じて作業内容を報告する、別個のプロセスです。

ADK-Rust は、安定版 ACP プロトコル version 1 の両側を実装します。

  • 外部の ACP コーディングエージェントを ADK-Rust アプリケーションから使用する;
  • エディタが起動できる ACP プロセスとして、ADK-Rust エージェントを公開する。

実装は公式の agent-client-protocol Rust SDK を使用します。SDK crate の version と ACP wire version は別物です。ADK-Rust は現在 SDK 1.2 を使用しつつ、initialize 中に protocol version 1 をネゴシエートします。

このセクションを読む

  1. Architecture and concepts は、2つの役割と完全な request フローを説明します。
  2. Build an ACP client or host は、単発の委任、永続セッション、ストリーミング、キャンセル、権限、ファイル、ターミナル、および session MCP servers を扱います。
  3. Expose an ADK-Rust ACP agent は、サーバー構築、ライフサイクルのマッピング、イベントストリーミング、セッションの永続化、およびデプロイを扱います。
  4. Testing and support matrix は、検証済みの動作と、ADK-Rust が意図的に公開しない機能を一覧します。

どの protocol を使うべきですか?

境界使用する場面
ACPプロジェクトセッション内でコーディングエージェントと連携する対話型コーディングインターフェース
A2Aリモートタスクと成果物をやり取りする、独立してデプロイされたビジネスエージェント
MCPエージェントの背後で利用可能にされるツール、プロンプト、およびリソース

ACP は、コーディングセッションが開始するときに MCP サーバー設定を含めることがあります。だからといって ACP と MCP が互換であるわけではありません: ACP はコーディングエージェントの会話を担当し、MCP はその会話中に使用されるツールとリソースを提供します。

それが示すこと
examples/acp_client_hostストリーミングされたクライアント UI、非同期の権限、そしてワークスペースに限定された読み取り専用ファイルシステム
examples/acp_kiro直接委譲、ACP エージェントを ADK ツールとして使用すること、永続セッション、環境設定、そして同時キャンセル
examples/acp_serverエディタに ACP v1 経由で公開される、ツールを使用する ADK-Rust LLM エージェント
examples/acp_full_protocolインプロセスで動作する、no-API-key の Runner ベースのリファレンス。Phase 2 のサーバー表面全体(埋め込みリソース + 画像/音声プロンプト、権限ブリッジ、session/load リプレイ、使用量/ツール呼び出し更新)をテストで検証する

: ← ベンチマーク | : 再試行と振り返り →