他のAIエージェントと対話するAIエージェントを構築している場合、他の誰もが直面したのと同じ壁にすでにぶつかっているはずです。あるエージェントが別のエージェントに何を送信しているかをきれいに検査する方法がないのです。コンソールログは嘘をつき、ネットワークタブは構造化されたフィールドを隠し、特注のテストスクリプトはすぐに陳腐化します。ApidogのA2Aデバッガーは、Agent2Agent(A2A)プロトコルに対してこの問題を解決します。エージェントカードのURLを貼り付け、「接続」をクリックし、メッセージを送信すると、3つのビューで応答を読み取ることができます。
このガイドでは、A2Aデバッガーの機能、最初のエージェントのセットアップ方法、内部でのリクエストとレスポンスの様子、そしてApidogの既存のMCPサーバーテストツールとの連携について説明します。まず上位プロトコルのコンテキストが必要な場合は、ApidogのMCPとA2Aに関する詳細な記事がこの記事とよく合います。
A2Aとは何か(要約)
Agent2Agentの略であるA2Aは、エージェント間の通信のためのオープンプロトコルです。これは、あるエージェントがその能力(エージェントカード)をどのように広告するか、別のエージェントがそれにどのように接続するか、メッセージやファイル添付がどのように交換されるか、タスクのステータスがどのように報告されるかを定義します。エージェント間のトラフィックにおけるHTTPのようなものだと考えてください。データパイプライン内のLangGraphエージェントが、相手側の内部を知ることなく、別のチームが所有するCrewAIエージェントにpingを送信できるようにする、薄くてベンダーニュートラルな仕様です。
これは、単一のエージェントにツールやリソースへのアクセスを許可することに関するMCP(モデルコンテキストプロトコル)とは異なります。A2Aは、エージェントが他のエージェントと通信することに関するものです。MCPとA2Aの違いの解説は、その違いを最も分かりやすく説明しています。
A2Aデバッガーが提供するもの
A2AデバッガーはApidog内にあります。これは、A2Aエンドポイントを本番ワークフローに組み込む前にテストするためのビジュアルなワークベンチです。主な機能は以下の通りです。
- エージェントカード接続。 URLを貼り付け、「接続」をクリックすると、エージェント名、説明、機能、宣言されたスキル、プロトコルバージョンが表示されます。カードが不正な形式の場合、接続はエラーを loudly 通知するため、幽霊を追うのではなくマニフェストを修正できます。
- メッセージ送信。 プレーンテキストを作成し、ファイルを添付し(エージェントが宣言する入力タイプがサポートしている場合)、カスタムメタデータのキーと値のペアを追加します。
- 3つの応答ビュー。 プレビューは構造化された出力を表示し、コンテンツは人間が読めるペイロードを表示し、生データはフィールド名やエスケープ文字を確認する必要がある場合に完全なJSONをダンプします。
- 認証。 ベアラートークン、基本認証、カスタムヘッダーを介したAPIキーがすべてUIで利用できます。
- カスタムヘッダー。 ゲートウェイ認証、ビジネスパラメータ、またはA2Aエンドポイントが期待する任意のミドルウェアを追加します。
- セッション履歴。 送信したすべてのメッセージはセッションログに残ります。新しいテストを開始する際に、古いコンテキストがエージェントを混乱させないようにクリアします。
curlコマンドを記述する必要はありません。ApidogがJSON-RPCエンベロープ、SSEストリーミング(エージェントがサポートしている場合)、および応答の解析を処理します。

ステップ1:最初のA2Aエージェントに接続する
デバッガーを開く前に、次の3つのものが必要です。
- Apidogがインストールされ、更新されていること。 最新のクライアントが必要です。古いバージョンにはA2Aデバッガーは含まれていません。まだインストールしていない場合はApidogをダウンロードしてください。
- エージェントカードのURL。 これは、A2A準拠のエージェントの標準的なエントリポイントです。ローカル開発では通常
http://localhost:3000/.well-known/agent.jsonのようになります。ホスト型エージェントの場合は、プラットフォームベンダーからパスが提供されます。 - 資格情報(エージェントが必要とする場合)。 ベアラートークン、APIキー、または基本認証。
Apidogを開き、A2Aデバッガーページに移動し、上部にエージェントカードのURLを貼り付けます。「接続」をクリックします。エージェントが有効なエージェントカードで応答すると、ステータスが「接続済み」に変わり、パネルにエージェントのメタデータ(名前、説明、機能、宣言されたスキル、プロトコルバージョン)が表示されます。
失敗した場合、最も一般的な原因は次のとおりです。
- URLが間違っているか、エージェントが実行されていません。ブラウザでURLにアクセスし、JSONペイロードが返されることを確認してください。
- エージェントカードに必須フィールドが不足しています。GitHubのA2Aプロトコル仕様と比較してください。
- エージェントがディスカバリーエンドポイントでの認証を要求しています。接続をクリックする前にApidogで認証情報を追加してください。
ステップ2:テストメッセージを送信する
接続後、「メッセージ」タブを開きます。チャットインターフェースと同じようにプロンプトを入力します。例:
共有ナレッジベースにある最新の3つの顧客フィードバックを要約し、サポートチーム向けに1段落の返信を作成してください。
送信する前のオプションの追加項目:
- ファイルの添付。 クリップアイコンをクリックしてファイルを選択します。デバッガーはエージェントが宣言する入力タイプを確認し、サポートされていないファイルタイプは事前に拒否するため、415エラーで無駄な往復を防ぎます。
- カスタムメタデータ。
priority: highやtenant: acme-corpのようなキーと値のペアを追加します。これらはA2Aリクエストエンベロープに流れ込み、エージェントのハンドラーが読み取ればエージェントに表示されます。
「**送信**」をクリックします。ApidogはプロンプトをA2Aメッセージ構造にラップし、エージェントに送信して応答を待ちます。

ステップ3:3つのビューで応答を読み取る
A2Aの応答は、プレーンな文字列、構造化されたJSON、ファイル参照、またはそれらの組み合わせである場合があります。デバッガーは同じペイロードに対して3つの異なる視点を提供します。
- プレビュー。 Apidogは構造化されたフィールドをツリーとして表示します。エージェントがネストされたオブジェクト(タスクID、ステータス、成果物、履歴)を返す場合に便利です。
- コンテンツ。 人間が読める本文です。エージェントがテキストを返した場合、これはユーザーに表示するものです。
text/plain部分を持つ構造化された成果物を返した場合、これは抽出されたテキストです。 - 生データ。 完全なJSON-RPCペイロードです。何かがおかしい場合にバグレポートにコピーするもの、および準拠性を確認する際に仕様と比較するものです。
3つのビューを切り替えてください。プレビューが問題ないのにコンテンツが空の場合、エージェントはApidogがレンダリングできるが平坦化する方法を知らない型のアーティファクトを返している可能性があります。生データにエラーコードが表示されている場合、エージェントがリクエストを拒否しており、error.message内のメッセージが手掛かりとなります。
セッション履歴は左側のパネルに表示されます。送信するたびに、過去のやり取りをスクロールして確認できます。新しいテストを開始し、古いコンテキストがエージェントを混乱させないようにしたい場合は、「**クリア**」をクリックしてください。
認証:3つの一般的なパターン
ほとんどの本番A2Aエンドポイントは何らかの認証の背後にあります。デバッガーは開始時に3つのパターンを処理します。
ベアラートークン
ホスト型エージェントで最も一般的なパターンです。認証パネルで「**ベアラートークン**」を選択し、トークンを貼り付けます。ApidogはすべてのリクエストにAuthorization: Bearer <トークン>を追加します。
Authorization: Bearer sk-agent-7f3e9a...
基本認証
ユーザー名とパスワードで保護されたエージェント(内部システムやレガシーシステムでよく使われます)の場合です。「**基本認証**」を選択し、両方の値を入力すると、ApidogがBase64エンコードされたAuthorization: Basic ...ヘッダーを計算します。
カスタムヘッダーを介したAPIキー
エージェントがX-Agent-Keyのような非標準ヘッダー名を期待している場合は、「**ヘッダー**」セクションに移動して手動で追加します。ゲートウェイ固有のヘッダー(CSRFトークン、テナントID、リクエスト署名)も同様の手順です。
エージェント資格情報の長期的な衛生管理については、Apidog AIエージェント資格情報ガイドで、何をローテーションし、何をスコープし、何をコミットしてはならないかについて説明しています。
カスタムヘッダーとメタデータ:どちらをいつ使用するか
A2Aリクエストには「追加」データが保持される場所が2つあります。これらは似ていますが、異なるレイヤーに属します。
| チャネル | 場所 | 用途 |
|---|---|---|
| カスタムヘッダー | HTTPリクエストヘッダー | ゲートウェイ認証、可観測性 (X-Request-Id)、機能フラグ |
| メタデータ | A2Aメッセージペイロード | エージェントが読み取るメッセージごとのコンテキスト(優先度、テナント、ロケール) |
経験則として、リバースプロキシやAPIゲートウェイがそれを参照する必要がある場合はヘッダーに配置します。エージェントのタスクハンドラーが必要とする場合はメタデータに配置します。これらを混同すると、「なぜエージェントが私のヒントを無視したのか」というバグの最大の原因となります。
ApidogにおけるA2AデバッガーとMCPサーバーテストの比較
ApidogはA2AデバッガーとMCPテストフローの両方を提供しています。これらは異なるプロトコルに対応する異なるツールです。
| ツール | プロトコル | テスト項目 | 使用する状況 |
|---|---|---|---|
| A2Aデバッガー | Agent2Agent | 接続性、メッセージ交換、タスクステータス | エージェントが他のエージェントを呼び出すマルチエージェントシステムを構築する際 |
| MCPサーバーテスト | Model Context Protocol | ツール呼び出し、リソースアクセス、プロンプトテンプレート | エージェントにツール/リソースを公開するMCPサーバーを構築する際 |
どちらが必要か分からない場合は、MCPとA2Aのガイドがその判断を助けます。簡単に言えば、MCPはエージェントが外部システムにアクセスするために使用するものであり、A2Aはエージェントが他のエージェントと通信するために使用するものです。
ワークフローのMCP側については、MCPサーバーテストプレイブックでApidogにおける手動および自動パスについて説明しています。現実世界のエージェントシステムはA2Aの連携とMCPツールアクセスを組み合わせるため、多くのチームが両方のインターフェースを使用することになります。
一般的なデバッグパターン:タスクの往復
「エージェントが期待通りに応答しない」という問題に直面した場合、次のループで確認してください。
- A2Aデバッガーを開きます。
- エージェントに接続します。エージェントカードに期待するスキルが表示されていることを確認します。
- そのスキルをトリガーする可能性のある最小限のメッセージを送信します。最初はプレーンテキストを使用し、テキストパスが機能するようになってからファイルとメタデータを追加します。
- 初回はプレビューではなく、生データを読み取ります。エージェントが正確に何を生成したかを確認したいからです。
- 応答に期待するフィールドが欠落している場合、それはトランスポートではなくエージェントコードの問題です。
- 応答が適切に形成されているが間違っている場合、それはプロンプトまたはモデルの問題であり、すでにトランスポートとロジックを分離できています。
これは、APIを呼び出すAIエージェントをテストする方法の記事がAPI側に適用する「非難の前に分離する」ループと同じです。原理は同じです。まず通信を確認し、次にロジック(脳)をデバッグします。
AIワークフローにおける位置付け
マルチエージェントシステムは、2026年に多くの重要なAI作業が出荷される方法です。AIエージェントは新しいAPIコンシューマーであるという記事は、エージェントトラフィックを第一級として扱うべき理由を説明しています。AIエージェント向けAPIの設計という続編では、コンシューマーが人間開発者ではなくLLM駆動型エージェントである場合に、API契約にどのような変更が必要になるかを解説しています。
A2Aデバッガーは、ApidogのMCPクライアントビジュアルデバッガーと同じレイヤーに位置します。どちらも、エージェントSDK内に隠されているトラフィックを可視化するための窓を提供します。エージェントを接続し、その動作を確認し、本番環境に到達する前にバグを修正できます。
Apidogは無料でダウンロードでき、A2Aデバッガーは標準クライアントに付属しています。別途ライセンスやプランは不要です。
よくある質問
A2Aデバッガーは無料ですか?
はい。標準のApidogクライアントにバンドルされています。Apidogをダウンロードし、十分に新しいバージョンであれば、A2Aデバッガーがサイドパネルに表示されます。
あらゆるフレームワークで書かれたエージェントに対応していますか?
有効なA2Aエージェントカードを公開しているエージェントであれば、どのようなものでも機能します。このプロトコルはフレームワークに依存しないため、LangGraph、CrewAI、AutoGen、およびカスタムのPythonまたはGoエージェントはすべて、A2A仕様に準拠していれば動作します。
セッションを保存して後で再生できますか?
セッションはデバッガーが開いている間は保持されます。長期保存のためには、生データの出力をコピーしてテスト成果物に保存してください。完全なセッションのエクスポートはロードマップにあります。
ストリーミング応答はどのように処理されますか?
エージェントがSSEストリーミングをサポートしている場合(A2A仕様による)、デバッガーはチャンクが到着するたびに読み取り、プレビューとコンテンツをリアルタイムで更新します。ストリームが閉じると、生データに組み立てられた応答が表示されます。
メタデータフィールドとヘッダーセクションの違いは何ですか?
ヘッダーはHTTPレイヤーであり、メタデータはA2Aメッセージレイヤーです。ヘッダーはゲートウェイやリバースプロキシに到達し、メタデータはエージェントのタスクハンドラーに到達します。この投稿の前の表を参照してください。
Apidogはエージェントの応答をApidogのサーバーにログ記録しますか?
いいえ。Apidogはローカルクライアントとして動作します。お使いのマシンとエージェント間のトラフィックはApidogのインフラストラクチャを通過しません。
A2Aデバッガーを使用して、異なるネットワーク上のホスト型エージェントに対してテストできますか?
はい、ネットワークパスが開いている限り可能です。デバッガーは他のHTTPクライアントと同様にアウトバウンドHTTPSリクエストを行います。エージェントがVPNの背後にある場合は、そのVPNをアクティブにする必要があります。
バグを報告したり、機能をリクエストしたりするにはどうすればよいですか?
主な連絡先はApidogフィードバックチャネルです。上位仕様はA2AプロトコルのGitHubリポジトリで進化するため、仕様レベルのリクエストはそちらに提出してください。
今すぐ試す
アクセスできる最もシンプルなA2Aエージェントを選んでください。まだお持ちでない場合は、A2Aリファレンス実装には、5分以内でローカルで実行できるサンプルサーバーが含まれています。そのエージェントカードのURLをApidogのA2Aデバッガーに貼り付け、「hello」メッセージを送信し、3つの応答ビューがどのように表示されるかを確認してください。これが最小限のエンドツーエンドループであり、そこから実際のプロンプト、ファイルの添付、マルチエージェントワークフローへとスケールアップできます。
デバッガーをApidogと組み合わせて、残りのAPIおよびMCP作業を行うことで、HTTP、MCP、A2Aというエージェントシステムが動作する3つのプロトコルすべてに対応する単一のインターフェースを手に入れることができます。
