Elasticsearch で A2A プロトコルと MCP を使用して LLM エージェント ニュースルームを作成する: パート II

エージェントのコラボレーションに A2A プロトコルを使用し、Elasticsearch でのツール アクセスに MCP を使用して、特殊なハイブリッド LLM エージェント ニュースルームを構築する方法を説明します。

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ニュースチーフ記者委任の割り当てA2AA2Aプロトコル経由でストーリー割り当てを送信します
4記者内部割り当てを受け入れる-割り当てを内部に保存する
5記者MCP サーバーアウトラインを生成MCP/HTTP記事のアウトラインと研究の質問を作成します
6a記者研究者調査依頼A2A質問を送信します(6bと並行)
6b記者アーキビストアーカイブを検索A2A JSONRPC歴史的な記事を検索します(6aと並行)
7研究者MCP サーバー研究上の質問MCP/HTTPMCP経由でAnthropicを使用して質問に答えます
8研究者記者リターンリサーチA2A調査の回答を返す
9アーキビストElasticsearch検索インデックスES REST APInews_archiveインデックスをクエリ
10アーキビスト記者アーカイブに戻るA2A JSONRPC過去の検索結果を返します
11記者MCP サーバー記事を生成するMCP/HTTP研究/アーカイブの文脈で記事を作成する
12記者内部ストアドラフト-下書きを内部に保存
13記者ニュースチーフ下書きを送信A2A完成した草稿を提出する
14ニュースチーフ内部ストーリーを更新-下書きを保存し、ステータスを「draft_submitted」に更新します
15ニュースチーフエディタレビュー草稿A2Aレビューのために編集者に自動ルーティング
16エディタMCP サーバー総説MCP/HTTPMCP経由で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) を慎重に検討することで、成功への道が開かれます。

参考資料

関連記事

最先端の検索体験を構築する準備はできましたか?

十分に高度な検索は 1 人の努力だけでは実現できません。Elasticsearch は、データ サイエンティスト、ML オペレーター、エンジニアなど、あなたと同じように検索に情熱を傾ける多くの人々によって支えられています。ぜひつながり、協力して、希望する結果が得られる魔法の検索エクスペリエンスを構築しましょう。

はじめましょう