Agent Builder は現在、テクニカルプレビューとして利用可能です。Elastic Cloud トライアルを開始し、こちらでAgent Builderのドキュメントを確認してください。
A2AとMCP:コードの動作
これは、記事「Elasticsearch で A2A プロトコルと MCP を使用して LLM エージェント ニュースルームを作成する」の補足記事です。この記事では、同じエージェント内に A2A と MCP の両方のアーキテクチャを実装して、両方のフレームワークの独自のメリットを最大限に活用するメリットについて説明しました。自分でデモを実行したい場合、リポジトリが利用可能です。

ニュースルームのエージェントが A2A と MCP の両方を使用して協力し、ニュース記事を作成する方法を見ていきましょう。エージェントの動作を確認するための付属リポジトリは、ここにあります。
ステップ1:ストーリーの割り当て
ニュースチーフ(クライアントとして行動)がストーリーを割り当てます。
ステップ2: 記者が調査を依頼する
レポーター エージェントは背景情報が必要であることを認識し、A2A を介してリサーチャー エージェントに委任します。
ステップ3: 報告者がアーカイブエージェントに歴史的背景をリクエストする
レポーターエージェントは、歴史的背景が記事の内容を強めることを認識しています。A2A 経由でアーカイブエージェント( Elastic の A2A エージェントを搭載) に委任し、ニュースルームの Elasticsearch 搭載記事アーカイブを検索します。
ステップ4: アーカイブエージェントはMCPでElastic A2Aエージェントを使用する
アーカイブ エージェントはElastic の A2A エージェントを使用し、A2A エージェントは MCP を使用して Elasticsearch ツールにアクセスします。これは、A2A がエージェントのコラボレーションを可能にし、MCP がツール アクセスを提供するハイブリッド アーキテクチャを示しています。
アーカイブエージェントはElastic の A2A エージェントから包括的な履歴データを受信し、それをレポーターに返します。
このステップでは、Elastic の A2A エージェントがニュースルームのワークフローにどのように統合されるかを示します。Archive Agent(ニュースルーム固有のエージェント)は、Elastic の A2A Agent(サードパーティの専門家)と連携して、Elasticsearch の強力な検索および分析機能を活用します。Elastic のエージェントは内部的に MCP を使用して Elasticsearch ツールにアクセスし、エージェント調整 (A2A) とツール アクセス (MCP) を明確に分離します。
ステップ5: 研究者はMCPサーバーを使用する
研究者エージェントは複数の MCP サーバーにアクセスして情報を収集します。
ステップ6: 研究者が報告者にデータを返す
研究者エージェントは、包括的な研究を A2A 経由で返送します。
ステップ7:記者が記事を書く
Reporter Agent は、調査データと独自の LLM 機能を使用して記事を作成します。書き込み中、Reporter はスタイルとテンプレートに MCP サーバーを使用します。
ステップ8:自信が低い場合は再調査を促します
レポーター エージェントは下書きを評価し、1 つの主張の信頼性が低いことを発見しました。研究者エージェントに別のリクエストを送信します:
研究者はファクトチェックMCPサーバーを使用して主張を検証し、更新された情報を返します。
ステップ9: 記者が修正して編集者に提出する
記者は検証された事実を組み込み、完成した原稿を A2A 経由で編集者エージェントに送信します。
ステップ10: MCPツールを使用した編集者のレビュー
エディター エージェントは複数の MCP サーバーを使用して記事をレビューします。
編集者は記事を承認し、送信します。
ステップ11: パブリッシャーがCI/CD経由でパブリッシュする
最後に、プリンター エージェントは、CMS および CI/CD パイプラインの MCP サーバーを使用して承認された記事を公開します。
出版社はA2Aを通じて出版を確認します。
以下は、上記と同じエージェントを使用した付属のリポジトリ内の A2A ワークフローの完全なシーケンスです。
| # | から | に | アクション | プロトコル | 説明 |
|---|---|---|---|---|---|
| 1 | ユーザー | ニュースチーフ | ストーリーの割り当て | HTTP ポスト | ユーザーがストーリーのトピックと角度を提出する |
| 2 | ニュースチーフ | 内部 | ストーリーを作成する | - | 固有のIDを持つストーリーレコードを作成します |
| 3 | ニュースチーフ | 記者 | 委任の割り当て | A2A | A2Aプロトコル経由でストーリー割り当てを送信します |
| 4 | 記者 | 内部 | 割り当てを受け入れる | - | 割り当てを内部に保存する |
| 5 | 記者 | MCP サーバー | アウトラインを生成 | MCP/HTTP | 記事のアウトラインと研究の質問を作成します |
| 6a | 記者 | 研究者 | 調査依頼 | A2A | 質問を送信します(6bと並行) |
| 6b | 記者 | アーキビスト | アーカイブを検索 | A2A JSONRPC | 歴史的な記事を検索します(6aと並行) |
| 7 | 研究者 | MCP サーバー | 研究上の質問 | MCP/HTTP | MCP経由でAnthropicを使用して質問に答えます |
| 8 | 研究者 | 記者 | リターンリサーチ | A2A | 調査の回答を返す |
| 9 | アーキビスト | Elasticsearch | 検索インデックス | ES REST API | news_archiveインデックスをクエリ |
| 10 | アーキビスト | 記者 | アーカイブに戻る | A2A JSONRPC | 過去の検索結果を返します |
| 11 | 記者 | MCP サーバー | 記事を生成する | MCP/HTTP | 研究/アーカイブの文脈で記事を作成する |
| 12 | 記者 | 内部 | ストアドラフト | - | 下書きを内部に保存 |
| 13 | 記者 | ニュースチーフ | 下書きを送信 | A2A | 完成した草稿を提出する |
| 14 | ニュースチーフ | 内部 | ストーリーを更新 | - | 下書きを保存し、ステータスを「draft_submitted」に更新します |
| 15 | ニュースチーフ | エディタ | レビュー草稿 | A2A | レビューのために編集者に自動ルーティング |
| 16 | エディタ | MCP サーバー | 総説 | MCP/HTTP | MCP経由でAnthropicを使用してコンテンツを分析します |
| 17 | エディタ | ニュースチーフ | 返品レビュー | A2A | 編集上のフィードバックと提案を送信します |
| 18 | ニュースチーフ | 内部 | ストアレビュー | - | 編集者のフィードバックを保存 |
| 19 | ニュースチーフ | 記者 | 編集を適用 | A2A | レビューのフィードバックをレポーターに転送する |
| 20 | 記者 | MCP サーバー | 編集を適用 | MCP/HTTP | フィードバックに基づいて記事を修正する |
| 21 | 記者 | 内部 | 下書きの更新 | - | 修正を加えて下書きを更新する |
| 22 | 記者 | ニュースチーフ | 返品修正 | A2A | 修正された記事を返す |
| 23 | ニュースチーフ | 内部 | ストーリーを更新 | - | 修正した下書きを保存し、ステータスを「修正済み」にする |
| 24 | ニュースチーフ | 出版社 | 記事を公開する | A2A | パブリッシャーへの自動ルーティング |
| 25 | 出版社 | MCP サーバー | タグを生成する | MCP/HTTP | タグとカテゴリを作成する |
| 26 | 出版社 | Elasticsearch | インデックス記事 | ES REST API | 記事をnews_archiveインデックスにインデックスします |
| 27 | 出版社 | ファイルシステム | マークダウンを保存 | ファイルI/O | 記事を.mdとして保存します/articles内のファイル |
| 28 | 出版社 | ニュースチーフ | 公開の確認 | A2A | 成功ステータスを返します |
| 29 | ニュースチーフ | 内部 | ストーリーを更新 | - | ストーリーのステータスを「公開済み」に更新します |
まとめ
A2A と MCP はどちらも、現代の拡張 LLM インフラストラクチャ パラダイムにおいて重要な役割を果たします。A2A は複雑なマルチエージェント システムに柔軟性を提供しますが、移植性が低くなり、運用が複雑になる可能性があります。MCP は、マルチエージェント オーケストレーションを処理するようには設計されていませんが、実装と保守がより簡単なツール統合のための標準化されたアプローチを提供します。
選択は二者択一ではありません。私たちのニュースルームの例で示されているように、最も洗練され効果的な LLM 対応システムは、多くの場合、両方のアプローチを組み合わせています。つまり、エージェントは A2A プロトコルを通じて調整と専門化を行いながら、MCP サーバーを通じてツールやリソースにアクセスします。このハイブリッド アーキテクチャは、MCP の標準化とエコシステムの利点に加えて、マルチエージェント システムの組織上の利点も提供します。これは、選択する必要が全くないかもしれないことを示唆している。単に両方を標準的なアプローチとして使うだけでよい。
開発者またはアーキテクトとして、両方のソリューションの最適な組み合わせをテストして決定し、特定のユースケースに適した結果を生み出すのはあなた次第です。それぞれのアプローチの長所、制限、適切な適用を理解することで、より効果的で保守性と拡張性に優れた AI システムを構築できるようになります。
デジタル ニュースルーム、顧客サービス プラットフォーム、リサーチ アシスタント、またはその他の LLM を利用したアプリケーションを構築する場合でも、調整ニーズ (A2A) とツール アクセス要件 (MCP) を慎重に検討することで、成功への道が開かれます。
参考資料
- Elasticsearch エージェントビルダー: https://www.elastic.co/docs/solutions/search/elastic-agent-builder
- A2A仕様: https://a2a-protocol.org/latest/specification/
- A2A と MCP の統合: https://a2a-protocol.org/latest/topics/a2a-and-mcp/
- モデルコンテキストプロトコル: https://modelcontextprotocol.io




