A2A プロトコル — AI が AI と対話する
A2A プロトコル — AI が AI と対話する — 公式ドキュメントに基づくわかりやすいガイド
別の会社の同僚同士が、プロジェクトを進めるためにメールをやり取りする姿を想像してみてください。ただし、両方の同僚がAIエージェントで、「メール」がA2Aと呼ばれる標準プロトコルだとしたらどうでしょう。
A2A(Agent-to-Agent)は、独立したAIエージェント同士が相互に通信するためのオープン標準(v1.0、Linux Foundationが管理)です。これはAIのための共通言語のようなもので、あなたのエージェントがHermesであれ、LangChainボットであれ、CrewAIクルーであれ、Google ADKエージェントであれ、すべてが互いに理解し合うことができます。
A2Aを使うべき時は?
A2Aが役立つ場面は、例えば以下のようなケースです。
- あなたのラップトップ上のHermesが、サーバー上のHermesの助けを必要としている — それぞれが独自のメモリ、ツール、認証情報を持っている場合。
- 特定のタスクを専門エージェントに委任したい — 例えば、ウェブ検索やコーディングが非常に得意なエージェントなど。
- あなたのHermesをサービスとして公開し、他のフレームワークのエージェントがタスクを送信できるようにしたい場合。
ヒント: 同じマシン上で複数のエージェントを実行している場合は、A2Aをスキップしてください。代わりに、プロセス内サブエージェントやカンバンボードを使用しましょう。A2Aは、マシン、プロセス、またはフレームワークをまたぐ場合に使用します。
A2Aの有効化
始めるのは簡単です。次のコマンドを実行します。
hermes gateway setup
次に、A2Aを選択します。または、~/.hermes/config.yamlを編集します。
gateway:
platforms:
a2a:
enabled: true
extra:
port: 9900
アウトバウンドツール(他のエージェントを呼び出す機能)はデフォルトでオフになっています。次のコマンドでオンにします。
hermes tools
他のエージェントを呼び出す(アウトバウンド)
有効にすると、Hermesに一連のツールが追加されます。
a2a_discover(url)— ピアの「エージェントカード」(AIの名刺のようなもの)を取得して要約します。a2a_call(agent, message, context_id?)— タスクを送信し、応答を取得します。a2a_list()— 設定済みのピアと保存された会話を表示します。a2a_history(context_id)— 過去のA2A会話を呼び出します。a2a_orchestrate(capability, message, mode?)— 特定のスキルを持つすべてのピアにタスクを展開します。
既知のピアはconfig.yamlで設定できます。
a2a_agents:
researcher:
url: "http://research-box.local:9900"
auth: { type: bearer, token: "..." }
timeout: 120
capabilities: [web_search, research]
あとはHermesにこう頼むだけです。「リサーチャーエージェントに今日のarXiv投稿を要約してもらって」。残りはHermesが処理します。
呼び出し可能になる(インバウンド)
プラットフォームを有効にすると、Hermesは以下を提供します。
- エージェントカード
GET /.well-known/agent-card.json— エージェントの名前、スキル、認証要件を公開します。 - JSON-RPC 2.0
POST /—SendMessage、GetTask、ListTasksなどの標準メソッド。 - SSEストリーミング リアルタイム応答用。
- プッシュ通知(ウェブフック) 長時間実行タスク用。HMAC-SHA256で署名されます。
インバウンドタスクはライブゲートウェイセッションに挿入されるため、エージェントは通常どおり動作するだけです。
まとめ
A2Aは、AIエージェントのための万能翻訳機です。クリーンでオープンな標準を使用して、マシンやフレームワークを越えて、Hermesが他のエージェントを呼び出したり、呼び出されたりすることを可能にします。
実用的なヒント: 小さく始めましょう。A2Aを有効にし、1つのピア(リサーチエージェントなど)を設定し、単一のa2a_callを試してみてください。動作を確認できたら、ピアと機能を拡張していきましょう。すぐにAIチームを構築できます。
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › user-guide/messaging/a2a