ACPとは?Agent Client ProtocolでエディタとAIエージェントをつなぐ
ACPとは何か、エディタとコーディングエージェントをつなぐ仕組みから解説します。Zed、JetBrains、Android Studioの対応状況、Claude Agentの接続手順、MCPとの違いを整理。認証や設定、セッションの復元、権限管理の制約も押さえ、チームで試験導入する際の判断に役立てられます。
公開日

ACPとは、Agent Client Protocolの略です。エディタとコーディングエージェントの双方が対応していれば、エディタを変えずにエージェントを切り替えられます。GoogleのAndroid Studio Rabbit 2は、その選択肢をAndroid開発の現場に持ち込みました。10月の発表では40を超えるコーディングエージェントに言及し、IDE内でエージェントを選べるとしています。使い慣れた開発環境を保ちながら、作業を任せるエージェントを選べることが、この変化のポイントです。
このエージェント数は、Googleによる2026年10月28日のAndroid Studioの発表に基づきます。以下の対応状況と設定方法は、2026年11月3日にプロトコルの公式サイトと各エディタのドキュメントで確認しました。本記事はドキュメントに基づく解説であり、エージェントを実機で比較したベンチマークではありません。
ACPとは?エディタとエージェントの関係はどう変わるのか
ACPは、プロンプト、進捗、権限確認、実行結果をやり取りするための共通インターフェースを、エディタとコーディングエージェントに提供します。エージェントは、モデルやツールを使い、処理を繰り返しながらタスクを進めるプログラムです。エディタ、あるいは統合開発環境(IDE)は、コードや変更内容を確認し、そのプログラムとやり取りする場所です。
仕組みを理解するには、エディタと言語サーバーの接続を標準化した**Language Server Protocol(LSP)**を考えると分かりやすいでしょう。言語サーバーは、診断など、プログラミング言語ごとに必要な機能を提供します。ACPも同じように役割を分けます。エディタ側はクライアントとしての接続を実装し、エージェント側はACPを直接実装するか、アダプターを介して対応します。接続には双方の互換性が必要です。ACPの公式イントロダクションでは、組み合わせごとに専用の連携を開発する必要をなくすものと説明されています。
AnthropicのClaude Code、OpenAIのCodex、GoogleのGemini CLIを使い分ける開発者にとっては、作業場所を固定できることが利点です。別のエージェントを試すたびに、エディタまで移行の対象にする必要がなくなります。ただし、以下の対応一覧が示すとおり、ACPに接続する方法はエージェントごとに異なります。
ACPを開発したのは誰ですか?
ACPを生み出したのはZed Industriesです。 Googleと協力し、Gemini CLIを最初のリファレンス実装としました。Zedがこの協業を発表したのは、2025年8月27日です。その後JetBrainsが参加し、現在のJetBrainsのACPページでは、JetBrainsとZedがオープンに開発するプロトコルと説明されています。Googleは初期の実装パートナーであり、Android Studioを通じた採用企業でもあります。それぞれの役割は、Zedの発表記事とJetBrainsのACPページで確認できます。
対応状況を判断する際は、この役割の違いを押さえておく必要があります。プロトコルの開発、アダプターの保守、エディタ側のクライアント機能の提供は、それぞれ別の貢献です。
ACPに対応するエディタとコーディングエージェントは?
Zed、JetBrains IDEs、Android Studioには、ACPエージェントを利用する方法が公式に案内されています。 ほかのエディタではプラグインや拡張機能を使うため、実際に導入する連携機能を確認してください。ディレクトリに掲載されていることは、その連携が存在する根拠にはなりますが、すべての機能が同じように動く保証にはなりません。
上記のプラグイン名は、ACPのクライアントディレクトリの表記に従っています。Zed、JetBrains、Android Studioの詳細は、以下で紹介する各社のドキュメントに基づきます。これはコーディングのワークフローに関わるものを選んだ一覧であり、ACPクライアントを網羅したものではありません。
Zed:外部エージェントの設定は個別に管理
Zedでは、Agent PanelとThreads SidebarからACPエージェントを利用できます。現在のドキュメントでは、代表的な外部エージェントとしてClaude、Codex、OpenCode、Copilot、Cursor、Piを挙げ、Gemini CLIの設定方法も案内しています。主な導入方法はACP Registryからのインストールです。ZedのExternal Agentsドキュメントには、インストール方法と、どちらが設定を管理するかが説明されています。
実際の運用で注意したいのは、設定の引き継ぎです。Zed AgentのプロファイルやZed Skillsが、そのまま外部エージェントの設定になるわけではありません。チームのセットアップを文書化する際は、エージェント自身の指示、認証情報、ツールも記録してください。
JetBrains:組織の制限と実行環境を確認
JetBrains AI Assistantでは、AI ChatからACPエージェントを利用します。Settings > Tools > AI Assistant > Agentsからインストールするか、acp.jsonでカスタムエージェントを追加できます。ドキュメントには、現時点では**Windows Subsystem for Linux(WSL)**でACPエージェントを利用できないこと、管理者がレジストリの項目やカスタムエージェントを制限できることも記載されています。こうした制約は、JetBrainsのACPドキュメントで確認してください。
エンジニアリングリードは、導入を勧める前に開発端末の環境を確認する必要があります。同僚のノートPCで動いたとしても、組織が管理するWSLベースのワークフローに対応しているとは限りません。
エージェント:ネイティブ対応とアダプター経由を区別する
ACPのエージェントディレクトリでは、各連携が次のように記載されています。
- Claude Agentは、ZedのSDKアダプター経由で掲載されています。これはディレクトリ上のClaude連携の名称であり、Claude Code CLI自体がACPにネイティブ対応しているという意味ではありません。
- Codex CLIは、ACPのアダプター経由で掲載されています。エディタが起動する構成要素を管理する際は、このアダプターも含めてください。
- Gemini CLIは、アダプター経由という注記なしで、ACPを実装するエージェントとして掲載されています。
- GitHub Copilotには、パブリックプレビューと明記されています。
同じページには、Augment Code、Cline、Cursor、Dockerのcagent、Factory Droid、Goose、Hermes Agent、Junie by JetBrains、Kimi CLI、Kiro CLI、Mistral Vibe、OpenCode、OpenHands、Qwen Codeも掲載されています。Piはpi-acpアダプター経由です。ここではディレクトリの名称に沿って一部を紹介しています。全項目はリンク先で確認できます。
この一覧を、そのまま全エディタに共通する互換性の指標と考えないでください。実際に使えるかどうかは、エージェント、必要に応じたアダプター、エディタ側の連携機能、そして接続時に双方が確認する対応機能の組み合わせで決まります。
Android StudioのBring Your Own Agentで何が変わるのか
Android Studioでは、Android向けの開発ツールをそのまま使いながら、コーディングエージェントを選べます。 Googleの安定版の発表では、Claude Agent、Codex、Junie、Google Antigravityが挙げられ、エージェントがAndroid Emulator、ビルドシステム、Logcat、Androidスキルにアクセスできると説明されています。Logcatは、Androidのアプリケーションログとシステムログを表示するツールです。利用できるツールについては、GoogleのRabbit 2の発表に記載されています。
たとえば、Androidアプリのクラッシュを調べる場面を考えてみましょう。エージェントにはプロジェクトのビルドツールや診断ツールと連携して作業してもらい、修正内容は使い慣れた場所で確認したいはずです。BYOAは、その作業環境とエージェントの選択を切り離せるようにします。ただし、選んだエージェントがクラッシュの原因を適切に診断できるかどうかは、別途評価が必要です。
エンジニアリングリードにとっては、試験導入の条件をそろえやすくなります。リポジトリ、タスク、レビュー手順を固定し、その環境で承認済みのエージェントを比較できます。評価すべきなのは、生成されたパッチ、実行を求められたコマンド、回答を裏付ける根拠です。接続に成功しただけで、導入が成功したとはいえません。
プレビューで登場し、現在は安定版に
Googleは、Android Studio Rabbit 2 Canaryを皮切りに、2026年9月24日にBYOAをプレビュー公開しました。その後、2026年10月28日に、BYOAを含むRabbit 2の安定版を発表しています。公開当初の記事にあるプレビューという位置付けは、後の安定版の発表で更新されています。プレビュー公開時の発表、安定版の発表。
プレビューという区分は、対象となる構成要素ごとに確認してください。Android Studioが安定版になっても、別のエージェントのパブリックプレビューが終わるわけではなく、アダプターの機能がすべて同等になる保証もありません。
ACPのセッションはどう進むのか
エディタがエージェントを起動し、構造化されたメッセージを交換します。 ローカルのトランスポートでは、エディタがサブプロセス、つまりOS上で動く別のプログラムを起動します。通信には、リクエスト、レスポンス、通知を表現する形式であるJSON-RPC 2.0を使い、プロセスの標準入力・標準出力であるstdioを通じてやり取りします。ターミナルに表示されたテキストを読み取るのではなく、構造化された通信を行う仕組みです。プロトコルの概要、トランスポート仕様。
セッションは、次の順序で進みます。
- 起動して対応機能を確認します。 エディタがエージェントまたはアダプターを起動し、
initializeを送ります。双方でプロトコルのバージョンと対応機能を交換します。 - 必要に応じて認証します。 エージェントが提示する方法で認証を完了します。エディタとの接続に成功しても、エージェント用のアカウントが提供されるわけではありません。
- 会話を開始します。 エディタは、作業ディレクトリと、提供するMCPサーバーの情報を含む
session/newを送ります。エージェントはセッション識別子を返します。 - タスクを送り、進捗を受け取ります。 エディタが
session/promptを送り、エージェントはsession/updateの通知でメッセージやツールの動作を報告します。 - 操作の許可要求に対応します。 エージェントが許可を求めると、エディタは選択肢を表示し、利用者の判断を返します。最後に、停止理由を示すレスポンスが返され、そのターンが終了します。
この流れは、公式のメッセージフローとセッション作成の仕様に基づきます。セッションとは、エージェント固有のコンテキストと状態を持つ会話です。どのベンダーでも共有できる汎用的な会話ファイルではありません。
ファイル編集とターミナルコマンドの扱い
ファイルやターミナルへのアクセスは、接続時に対応状況を確認する機能です。 対応している場合、エージェントはfs/read_text_fileで未保存の変更を含めてエディタ経由でファイルを読み取り、fs/write_text_fileで書き込めます。画面上のバッファとディスクに保存されたファイルが異なるときに、この仕組みが意味を持ちます。ACPのファイルシステム仕様。
コマンドを実行する際は、terminal/createでクライアントにプロセスの起動を要求します。関連するメソッドで、出力の取得、完了の待機、コマンドの停止、ターミナルの解放を行います。これらのメソッドを使う前に、クライアントがターミナル対応を通知していることをエージェントが確認する必要があります。ACPのターミナル仕様。
エージェントが自ら処理を実行しながら、編集内容を差分として、またツールの進捗をACP経由で報告することもできます。エディタに動作が表示されているからといって、すべての操作をエディタが実行したとは限りません。ツール呼び出しの仕様。
ACPとMCPの違いは?接続する相手が異なる
ACPはエディタとエージェントをつなぎ、Model Context Protocol(MCP)はAIアプリケーションやエージェントをツールやデータにつなぎます。 同じセッション内で併用できます。以下の比較は、ACPのセッション仕様とMCPのイントロダクションに基づきます。

ツールが使えない場合は、エディタとの接続に加え、ツール側の接続も確認してください。たとえばJetBrainsには、カスタムMCPサーバーや組み込みのIntelliJ MCPサーバーをエージェントに渡すための個別の設定があります。ACPに対応しているだけで、すべてのツールが有効になるわけではありません。こうした設定は、JetBrainsのレジストリ設定ドキュメントに記載されています。
その基盤となるサービスの境界を設計している場合は、MCPとAPIの比較が、アプリケーションの機能をどう公開するかという別の判断を扱っています。コーディングエージェントを組み込んだアプリケーションを開発する場合は、Vercel AI SDKのACPアダプター解説が、その連携層を扱っています。
Android StudioにClaude Agentを接続する方法
Android Studioのエージェント選択機能を使い、エージェントの提供元で認証します。 Googleが現在案内する導入経路は、エージェントウィンドウ、またはSettings > Tools > AI > Agentsです。公開当初の手順では、サインインまたはAPIキーの入力が必要とされ、利用できるアカウントプランは提供元によって決まると説明されています。現在の導入案内、認証の手順。
BYOA対応のリリースを使う
Android Studio Rabbit 2の安定版、またはドキュメントにBYOA対応が記載された、それ以降のリリースを使います。Canaryのみを対象とした当初の案内は、プレビュー公開時のものです。
Claude Agentを選ぶ
エージェントウィンドウを開き、Claude Agentを選択します。Settings > Tools > AI > Agentsから選ぶこともできます。
選んだエージェントで認証する
エージェントのサインイン手順に従うか、APIキーを入力する選択肢があれば入力します。プロジェクトで承認されたアカウントとアクセス方法を使ってください。別のエージェントを接続する場合は、そのエージェント自身の認証と利用資格が必要です。
最初は範囲を絞ったプロンプトを送る
Googleのセットアップ手順は、プロンプトの送信で終わります。最初のタスクには、たとえば「このプロジェクトのビルド方法を説明し、関連するテストタスクを特定してください。ファイルは変更しないでください」が適しています。これは開始時のプロンプト案であり、ベンダーのテスト結果ではありません。
対象を広げる前に作業の流れを確認する
次に、作業用ブランチで、レビューできる小さな変更を依頼します。提案された編集、許可の選択肢、実行を求められたコマンドを確認してください。結果を理解できることを確かめてから、より大きなタスクを任せます。これはベンダーの接続手順に加えた、導入時の助言です。
認証に失敗する場合は、選択したエージェントのアカウントやキーの設定を見直してください。接続はできてもツールを使えない場合は、その連携が公開している機能を確認します。問題が起きている箇所が異なるため、セットアップの記録でも分けて扱いましょう。
チーム導入で確認すべき制約
接続方法を標準化したうえで、各エージェントの動作を確かめてください。 プロトコルは連携開発の重複を減らしますが、運用上の細部までエージェントを自由に入れ替えられるようにするものではありません。
認証はエージェントごとに必要です。 採用する提供元それぞれについて、サインインやAPIキーの管理を計画してください。実装によっては既存の認証情報を再利用できますが、ACPはアカウントや利用枠を共有する仕組みではありません。たとえばZedは、外部エージェント固有の認証と、提供元との関係をドキュメントで説明しています。Zedと外部エージェントの設定範囲。
セッションの復元には条件があります。 プロトコルのsession/loadを使うには、エージェントがloadSession機能に対応している必要があります。実装されていれば既存のセッションを読み込めますが、別のベンダーが元のエージェント内部の状態を引き継げることを意味しません。切り替えがスムーズだと約束する前に、採用する組み合わせで履歴がどう扱われるのかを確認してください。セッション読み込みの仕様。
リモート対応は実装ごとの確認が必要です。 現在のトランスポートのページではstdioが定義され、Streamable HTTPトランスポートは仕様策定中とされています。カスタムトランスポートも認められています。ローカルで動く連携が、そのままリモートのエージェントエンドポイントでも動くと考えないでください。ACPのトランスポート仕様。
許可を求める仕組みはサンドボックスではない
ACPは許可・拒否の判断を伝えるメッセージ形式を定めますが、OSレベルで操作を隔離するものではありません。 仕様では、エージェントは自身のプロセス権限で動作し、許可要求には強制力がなく、利用者の判断を守る責任はエージェント側にあるとされています。一方、クライアントは、自身が提供する機能を通じて要求されたファイルシステムやターミナルのメソッドを実行します。ACPのセキュリティに関する考慮事項。

許可要求では、その場限りの許可・拒否や、判断を記憶する選択肢が提示される場合があります。記憶した判断の適用範囲と保存期間は、エージェントが管理します。「常に」が現在のコマンドやディレクトリだけに適用されると思い込まず、提示された選択肢を読んでください。許可オプションの意味。
プラットフォームの運用担当者は、エディタの設定と併せて、エージェントのバイナリ、実行環境、権限ポリシーを検証してください。承認ダイアログは動作を把握するうえで役立ちますが、表示されるだけで実行範囲が隔離されているとはいえません。
ACPに何を期待すべきか、誰が導入を進めるべきか
確かな利点は、エディタとエージェントの結び付きを弱められることです。 ACP対応は、エージェントがより良いコードを書くことや、別のエージェントから設定を引き継げること、どの組み合わせでも同じワークフローを使えることの根拠にはなりません。それぞれの成果を直接評価してください。
すでにエージェントを使い分けている開発者は、今から試す価値があります。 普段のエディタで、対応するエージェントを使ってみてください。判断の決め手は、変更のレビュー、コマンドの把握、コンテキストの扱いが、実際の仕事を代表するタスクの完了に役立つかどうかです。
エンジニアリングリードは、標準化の前に試験導入を行うべきです。 エージェント間でタスクと受け入れ基準をそろえます。認証、対応ツール、セッションの復元、許可・拒否に対する動作を記録してください。レジストリの登録数ではなく、得られた成果と制御のしやすさで選びましょう。
必要な環境が未対応なら、プラットフォームの運用担当者は導入を待つべきです。 JetBrainsが明記するWSLの制約は、その具体例です。トランスポートの動作がまだ確認できていないリモート環境に依存する場合も、本格導入の前に組み合わせを検証する必要があります。
ターミナルでの作業に満足している開発者への影響は、ほとんどありません。 プロトコルが存在するという理由だけで、インターフェースを変える必要はありません。自分の作業をよりうまくこなすエージェントを選びたいのであれば、CodexとClaude Codeの比較で判断軸を整理し、自分のリポジトリで評価してください。
よくある質問
Agent Client Protocolとは何ですか?
Agent Client Protocolは、コーディングエージェントと、エディタなどのクライアントをつなぐ共通インターフェースです。互換性のある実装同士なら、組み合わせごとに専用の連携を開発せずに、プロンプト、進捗、操作をやり取りできます。
ACPとMCPは何が違いますか?
ACPは、エディタとエージェントの接続を担います。MCPは、AIアプリケーションやエージェントを外部のツールやデータにつなぎます。ACPのセッションでMCPサーバーの設定を渡せるため、同じワークフローの中で両方のプロトコルを使えます。
A2AとMCPは何が違いますか?
Agent2Agent(A2A)は、独立したエージェント同士の通信を標準化します。MCPは、AIアプリケーションを外部の機能やデータにつなぎます。A2Aがエージェント間の協調を扱うのに対し、本記事のACPはエディタとの接続を扱います。A2Aプロジェクトの解説も参照してください。
Claude CodeはAgent Client Protocolに対応していますか?
ディレクトリの正確な掲載名は、ZedのSDKアダプター経由のClaude Agentです。利用するエディタが案内する、サポート対象の連携を使ってください。この掲載を、あらゆるClaude Codeの実行ファイルがACPにネイティブ対応しているという意味に捉えてはいけません。Zedでは、Claude Agentは独自の認証を持つ外部エージェントとして説明されています。
Claude Codeは今も最も優れたコーディングエージェントですか?
ACPへの対応だけでは判断できません。自分のリポジトリで、タスク、レビュー基準、許可するツールをそろえて比較してください。変更内容を検証でき、普段繰り返す作業にワークフローが合うエージェントを選びましょう。
Agent Client Protocolを開発したのは誰ですか?
ZedがACPを開発し、Googleと協力してGemini CLIを最初のリファレンス実装としました。その後JetBrainsが参加し、現在のJetBrainsのドキュメントでは、JetBrainsとZedがオープンに開発するプロトコルと説明されています。
Agent Client ProtocolとAgent Communication Protocolの違いは何ですか?
略称が同じでも、別のプロジェクトです。Agent Client Protocolは、エディタとコーディングエージェントをつなぎます。IBMのAgent Communication Protocolはエージェント間の通信を対象としていましたが、現在のIBM Researchの説明ではA2Aの一部となっています。
ACPはどのような仕組みで動きますか?
ローカルのセッションでは、エディタがエージェントをサブプロセスとして起動し、stdio上のJSON-RPCで通信します。双方の対応機能を確認し、必要な認証を済ませてセッションを開いた後、プロンプト、更新情報、許可・拒否の判断をやり取りします。
エージェンティックAIでいうACPとは何ですか?
エディタとの連携では、通常はAgent Client Protocolを指します。アーキテクチャを読み解いたり、ライブラリを選んだりする際は、略さず正式名称を確認してください。Agent Communication ProtocolもACPと略しますが、別のプロジェクトです。
次の作業で試すなら
今のエディタを使ったまま、承認済みのACPエージェントを選び、結果をレビューできる小さなリポジトリのタスクから始めてください。使ったエージェントとアダプター、認証方法、利用できるツール、許可・拒否に対する動作を記録します。操作を拒否した場合に何が起きるかまで含めて、作業の一連の流れを把握してから試験導入の範囲を広げましょう。
開発ワークフローの変化を実務に生かすためのガイドを受け取るには、ニュースレターに登録してください。
- 公開日
- カテゴリー
- Build
- 言語










