マルチエージェントシステムアーキテクチャ: 設計トポロジー、通信プロトコル、信頼の境界
マルチエージェントシステムとは、単一のエージェントでは処理できないタスクを達成するために協調する、自律AIエージェントのネットワークです。設計時に行われるアーキテクチャ上の決定、すなわちトポロジー、通信プロトコル、状態共有モデル、信頼境界の配置が、システムが本番環境でうまくスケールするか、あるいは壊滅的に失敗するかを決定します。共有状態を持つスタートポロジーは単一障害点を作り出し、エージェント間の密結合は、1つの侵害されたコンポーネントが他のコンポーネントへのピボットを可能にすることを意味し、共有プロセスメモリはCVEとして現れる競合状態を作り出します。
マルチエージェントシステムとは何ですか?
マルチエージェントシステムとは、単一のエージェントの能力を超えるタスクを達成するために通信、調整し、集合的に行動する2つ以上の自律AIエージェントのネットワークであり、そのトポロジー(エージェントがどのように接続されているか)、通信プロトコル(エージェントが情報をどのように交換するか)、状態共有モデル、信頼境界の配置によって定義されます。
基本的なアーキテクチャプロパティ
エージェントの自律性と調整: 基本的な緊張関係
マルチエージェントシステムの各エージェントは、独自のコンテキストウィンドウ、ツールセット、決定プロセスを持っています。アーキテクチャはこの緊張を解決します: 疎結合(エージェントは制御されたメッセージバスのみを通じて相互作用)は自律性を保持し、密結合は爆発半径の封じ込めを減少させます。CVE-2025-64168 (Agno, CVSS 7.1, 2025年10月)は本番の例です: 高い非同期並行性の下で、エージェント間で共有されたsession_stateが誤ったユーザーセッションに割り当てられました。
マルチエージェントトポロジーパターン
スタートポロジー: 中央スーパーバイザーエージェントを持つハブアンドスポーク
スタートポロジーは単一障害点を作り出します: スーパーバイザーがツール結果からのプロンプトインジェクションによって侵害された場合、すべてのワーカーエージェントに悪意のある指示を出す可能性があります。
メッシュトポロジー: ピアツーピアエージェント通信
メッシュトポロジーでは、エージェントは中央コーディネーターなしで直接通信します。N個のエージェントの完全なメッシュでは、N*(N-1)/2 個の潜在的な通信チャネルがあり、それぞれが潜在的な攻撃面です。
階層的トポロジー: ネストされたチームとサブエージェントの委任
リスク: 中間レベルのコーディネーターが侵害されると、それが管理するすべてのエージェントに悪意のある指示を出す可能性があります。
フラット/フリートトポロジー: 共有バスを通じて調整する同等ランクエージェント
フラットフリートトポロジーは、直接エージェント間コールなしに共有メッセージバス(ブラックボード)のみを通じて通信する同等ランクのエージェントを使用します。これはOpenLegionのフリートモデルです: 侵害されたエージェントはブラックボードへの書き込み内容のみに影響を与えることができます。
エージェント間通信プロトコル
A2A: クロスフレームワークエージェント通信のためのGoogleのオープン標準
A2A (Agent-to-Agent) プロトコル(Google、2025年4月リリース)は、異なるフレームワーク間でのエージェント間通信を標準化します。A2Aは、ケイパビリティディスカバリー、タスク委任、ストリーミング結果という3つのプリミティブを定義します。2026年半ばまでに、A2Aは50以上の技術パートナーによってサポートされています。OpenLegionはクロスフレームワークエージェント調整のためにA2Aをサポートしています。
MCP: エージェント間でのツールアクセスの標準化
Model Context Protocol (MCP)(Anthropic、2024年11月リリース)は、エージェントが外部ツールにアクセスする方法を標準化します。2026年半ばまでに、MCPには1,000以上のコミュニティサーバーがあります。MCPはセキュリティリスクも導入します: ツールの説明がエージェントのコンテキストに悪意のある指示を注入するために汚染される可能性があります。
ブラックボードパターン: 通信媒体としての共有永続状態
ブラックボードパターンは、すべてのエージェント間通信を共有の永続データストアを通じてルーティングします。OpenLegionは並行アクセスのためにWALモードのSQLiteを使用してブラックボードパターンを実装し、イベント駆動型調整のためのpub/subメッセージングと組み合わせています。
OpenLegionの見解: アーキテクチャがセキュリティ上の決定である理由
ほとんどのマルチエージェントシステムの失敗はアーキテクチャの失敗であり、アプリケーションのバグではありません。エージェント間の共有状態は競合状態を作り出します: CVE-2025-64168 (Agno, CVSS 7.1, 2025年10月)。密結合はプロンプトインジェクションの爆発半径を増幅します: COLM 2025の研究はAutoGen Magentic-Oneに対して97%の攻撃成功率を示しました。
マルチエージェントシステムにおける信頼の境界
共有プロセスが共有爆発半径である理由
複数のエージェントが同じPythonプロセスで実行される場合、ヒープ、環境、インタープリターを共有します。エージェントAへの成功したプロンプトインジェクションはエージェントBの変数を読み取ることができます。エージェントごとのコンテナ分離はこの問題を排除します。
マルチエージェントアーキテクチャの一般的な障害モード
共有状態での競合状態: CVE-2025-64168 のケーススタディ
CVE-2025-64168 (Agno, CVSS 7.1, CWE-362 + CWE-668, 2025年10月, Agno v2.2.2でパッチ適用済み) は、Agnoのsession_state管理層における競合状態を開示しました。高い非同期並行性の下で、session_stateが誤ったセッションに割り当てられました。
密結合システムにおけるプロンプトインジェクション増幅
COLM 2025で発表された研究は、制御フローハイジャックのための悪意のあるローカルファイルを介してMagentic-One (AutoGenのマルチエージェントシステム) に対して97%の攻撃成功率を示しました。
OpenLegionにおけるマルチエージェントシステムアーキテクチャ
OpenLegionは4ゾーン信頼分離を持つフラットフリートトポロジーを実装しています。エージェントは分離されたDockerコンテナ(Zone 1)で実行され、Mesh Hostブラックボードとpub/subバス(Zone 2)のみを通じて通信し、Vault Proxy(Zone 4)を通じてクレデンシャルにアクセスし、互いに直接通信しません。
アーキテクチャ的セキュリティ保証を持つマルチエージェント調整。
よくある質問
マルチエージェントシステムアーキテクチャとは何ですか?
マルチエージェントシステムアーキテクチャは、複数の自律AIエージェントが通信、調整、信頼の境界を維持するためにどのように構造化されるかを定義します。トポロジー、通信プロトコル、状態共有モデル、信頼境界の配置を指定します。
スタートポロジーとフラットフリートトポロジーの違いは何ですか?
スタートポロジーでは、中央スーパーバイザーエージェントがすべての他のエージェントを調整し、単一障害点を作り出します。フラットフリートトポロジー(OpenLegionで使用)では、同等ランクのエージェントが直接エージェント間通信なしに共有メッセージバスを通じて調整します。
マルチエージェントシステムのA2Aプロトコルとは何ですか?
A2A (Agent-to-Agent) は2025年4月にGoogleによってリリースされたオープンなエージェント間通信プロトコルです。エージェントが互いのケイパビリティを発見し、タスクを委任し、ストリーミング結果を交換する方法を標準化します。OpenLegionはクロスフレームワークエージェント調整のためにA2Aをサポートしています。
マルチエージェントシステムで競合状態が発生する原因は何ですか?
競合状態は、複数のエージェントが適切な同期なしに共有状態を同時に読み書きするときに発生します。Agnoフレームワークの CVE-2025-64168 (CVSS 7.1, 2025年10月) は文書化された本番例です。
プロンプトインジェクションはマルチエージェントシステムでどのように広がりますか?
密結合マルチエージェントシステムでは、あるエージェントへの成功したプロンプトインジェクションが他のエージェントに広がる可能性があります。COLM 2025の研究ではAutoGen Magentic-Oneに対して97%の成功率を示しました。アーキテクチャ的軽減策には、エージェントごとのコンテナ分離とバス仲介通信が含まれます。
マルチエージェントシステムにおけるブラックボードパターンとは何ですか?
ブラックボードパターンは、エージェントが直接互いを呼び出すのではなく、共有の永続データストアを読み書きすることによって通信するマルチエージェント調整アーキテクチャです。OpenLegionは並行アクセスのためにWALモードのSQLiteを使用してブラックボードパターンを実装し、pub/subメッセージングと組み合わせています。