このドキュメントでは、 上のライブ 双方向マルチエージェント AI システムのハイレベルなアーキテクチャについて説明します Google Cloud。このシステムは、複雑なコンポーネントの組み立て、機器の故障の診断、複雑な修理手順のナビゲーションなど、技術的なタスクをユーザーが完了するのに役立ちます。エージェント型 AI システムは、マルチモーダル データの継続的な双方向ストリームを通じて、根拠に基づいた技術ガイダンスと自動化された安全モニタリングを提供します。
このドキュメントは、クラウドで AI インフラストラクチャとアプリケーションを構築して管理するアーキテクト、デベロッパー、管理者を対象としています。このドキュメントでは、AI エージェントとモデルの基本的な知識があることを前提としています。このドキュメントでは、AI エージェントの設計とコーディングに関する具体的なガイダンスは提供していません。
このドキュメントのデプロイ セクションでは、マルチエージェント AI システムを構築してデプロイする方法を学習するために使用できるコードサンプルを 示します。
アーキテクチャ
次の図は、マルチエージェント AI システムを使用してライブ双方向マルチモーダル データ ストリーミングを有効にするアーキテクチャの概要を示しています。
上の図のアーキテクチャには、技術ガイダンスと安全モニタリングの 2 つのワークフローがあります。
- 技術ガイダンス ワークフロー により、ユーザーは複雑な技術的な問い合わせに対するリアルタイムのナレーション付きソリューションを受け取ることができます。このワークフローでは、 Gemini Live modelを使用して マルチモーダル ストリームを処理し、サブエージェントと連携してナレッジ データベースから根拠に基づいた 商品情報を取得します。
- 安全モニタリング ワークフロー は、技術的な手順中にユーザーの安全を確保するための自動化された危険検出を提供します。このワークフローでは、 Gemini を使用してライブ動画 セグメントを分析し、潜在的なリスクを特定して、 クライアント ダッシュボードを通じて即座に警告をトリガーします。
次のタブには、技術ガイダンスと安全モニタリングのワークフローを示すアーキテクチャ図が用意されています。
技術ガイダンス ワークフロー
次の図は、技術 ガイダンス ワークフローの詳細なアーキテクチャを示しています。
上の図は、次のデータフローを示しています。
-
ユーザーは、クライアント ダッシュボードから音声で技術的な問い合わせを行うことで、セッションを開始します。たとえば、技術者はカメラをコントロール パネルに向け、「この赤いエラーランプが点滅しているのはどういう意味ですか?」と尋ねます。
-
クライアント ダッシュボードは、フロントエンドとバックエンド サーバー間に永続的な WebSocket 接続を確立します。
-
WebSocket メッセージは、未加工のマルチメディア データを
Blobオブジェクトにパッケージ化します。Agent Development Kit(ADK)LiveRequestQueueコンポーネントは、入力データをディスパッチャー エージェントに継続的にストリーミングします。 -
ディスパッチャー エージェントは、 技術ガイダンスを必要とする音声コマンドまたはビジュアル コマンドを検出し、入力ストリームを Gemini Live モデルに送信します。
-
Gemini Live モデルは、未加工のデータを検索して イベントを特定します。イベントは、「組み立てる」や「ヘルプ」などの音声キーワード、または手のジェスチャーなどの視覚的な手がかりです。
Gemini は各イベントを評価して、ユーザーの問い合わせに関連するかどうかを判断します。たとえば、手のジェスチャーやフィラーワードは関連しない可能性があるため、Gemini はこれらのイベントを処理しません。
-
関連するイベントごとに、Gemini は 関数 呼び出しを有効にして、追加のコンテキストが必要かどうかを評価します。追加のコンテキストが必要かどうかに応じて、Gemini またはアーキテクト エージェントがディスパッチャー エージェントに応答を返します。
-
さらにコンテキストが必要な場合、Gemini はアーキテクト エージェント カードを検索して、リクエストの構造化方法を把握します。
-
Gemini は、構造化されたリクエストをディスパッチャー エージェントに送信します。リクエストには、商品タイプ、モデル番号、イベントタイプ、属性などのイベントの詳細が含まれます。
-
ディスパッチャー エージェントは、Agent2Agent(A2A)プロトコル を使用して、構造化されたリクエストをアーキテクト エージェントに送信します。
-
アーキテクト エージェントは、サーバーレス VPC アクセス コネクタを介してクエリを送信します。このコネクタを使用すると、エージェントは、このアーキテクチャのストレージ リソースに使用される Virtual Private Cloud(VPC)ネットワーク内のリソースに安全にアクセスできます。
-
サーバーレス VPC アクセス コネクタは、 Memorystore for Redis Cluster に保存されているキャッシュ データとやり取りします。キャッシュ レイヤでデータが利用できない場合、アーキテクト エージェントはナレッジ データベースをホストする Compute Engine インスタンスとやり取りします。
-
アーキテクト エージェントは、データ キャッシュまたはナレッジ データベースから商品情報を受け取ります。アーキテクト エージェントは、プロダクト情報を Gemini に送信してレスポンスを生成します。例: 「エラーコード 3B: ファンが故障しています。推奨される対応: 障害物がないか確認してください。」
アーキテクト エージェントは、プロダクト情報をディスパッチャー エージェントに返送します。
さらにコンテキストが必要ない場合、Gemini はユーザーのリクエストに対するレスポンスを直接生成します。
-
-
ディスパッチャー エージェントは、Gemini またはアーキテクチャ エージェントからレスポンスを受け取り、マルチモーダル レスポンスを生成します。
-
Gemini Live モデルと ADK
run_live関数を使用して、技術的な ソリューションを含むマルチモーダル レスポンスを生成します。 -
レスポンスを
Blobオブジェクトとして保存します。 -
ストリーミング バッファと永続的な WebSocket 接続を介して技術的なソリューションを送信し、クライアント ダッシュボードに技術的なソリューションを配信します。
-
-
クライアント ダッシュボードは、技術的なソリューションから
Blobデータを抽出して、ナレーション付きのガイダンスを即座に提供し、関連する文字起こしで UI を更新します。アクティブな双方向ストリームが維持されている間、リクエスト ループが完了します。
安全モニタリング ワークフロー
次の図は、安全モニタリング ワークフローの詳細なアーキテクチャを示しています。
上の図は、次のデータフローを示しています。
- クライアント ダッシュボードは、フロントエンドとバックエンド サーバー間に永続的な
WebSocket 接続
を確立して、ライブ動画
ストリームを監視します。WebSocket メッセージは、この未加工のマルチメディア データを
Blobオブジェクトにパッケージ化し、ADKLiveRequestQueueコンポーネントを使用してストリーミング バッファに継続的に送信します。 - ストリーミング バッファは、動画フレーム内の危険を検出するために継続的なバックグラウンド ループで実行される ストリーミング ツールに入力ストリームを転送します。
- ストリーミング ツールは、ストリーミング バッファから最新の動画フレームを Gemini に送信します。
- Gemini は、明るい光や蒸気などの危険がないか動画フレームを監視します。
- 危険が検出されない場合は、何も起こりません。
- 危険が検出された場合、
Gemini は
危険の種類、属性、場所を含むマルチモーダル レスポンスを生成し、
Blobオブジェクトとして保存します。Gemini は、危険警告レスニング ツールに返送します。
- ストリーミング ツールは、危険警告レスポンスをストリーミング バッファに転送します。
- ストリーミング バッファは、永続的な WebSocket 接続を使用して、技術的なソリューションをクライアント ダッシュボードに配信します。
- クライアント ダッシュボードは、技術的な
ソリューションから
Blobデータを抽出して、ナレーション付きのガイダンスを即座に提供し、関連する文字起こしで UI を更新します。これにより、アクティブな双方向ストリームを維持しながら リクエスト ループが完了します。
使用するプロダクト
このリファレンス アーキテクチャでは、次の Google Cloud プロダクトと ツールを使用します。
- Cloud Run: Google のスケーラブルなインフラストラクチャ上で コンテナを直接実行できるマネージド コンピューティング プラットフォーム。
- Gemini: Google が開発したマルチモーダル AI モデルのファミリー。
- Gemini Enterprise Agent Platform: エンタープライズ グレードの AI エージェントを構築、スケーリング、管理、最適化できる包括的なプラットフォーム。
- Agent Development Kit(ADK): AI エージェントを 開発、テスト、デプロイするためのツールとライブラリのセット。
- Agent2Agent(A2A)プロトコル: プログラミング言語とランタイムに関係なく、エージェント間の通信と相互運用を可能にするオープン プロトコル。
- サーバーレス VPC アクセス: サーバーレス環境を Virtual Private Cloud ネットワーク内のリソースに接続できるサービス。
- Virtual Private Cloud(VPC): ワークロードにグローバルでスケーラブルな ネットワーキング機能を提供する仮想システム。 Google Cloud VPC には、VPC ネットワーク ピアリング、Private Service Connect、プライベート サービス アクセス、共有 VPC が含まれます。
- Memorystore for Redis Cluster: フルマネージドの Redis 向けインメモリ データストア サービス。
- Compute Engine: Google のインフラストラクチャで VM を 作成して実行できる、安全でカスタマイズ可能なコンピューティング サービス。
フレームワーク、エージェント ランタイム、ツール、メモリ、設計パターンなど、エージェント型 AI システムの代替コンポーネントの選択については、 エージェント型 AI アーキテクチャ コンポーネントを選択する をご覧ください。
ユースケース
このリファレンス アーキテクチャは、継続的な双方向マルチモーダル データ ストリームのリアルタイム合成を必要とするユースケース向けに設計されています。このドキュメントで説明するアーキテクチャのユースケースの例を次に示します。
- 産業製造と現場メンテナンス: スマートグラスからライブ音声と動画を処理する AI アシスタントを技術者に提供することで、複雑な機械のハンズフリー修理を可能にします。技術者は AI アシスタントと会話して、機械の図面を取得します。AI アシスタントは、プロダクト ドキュメントにアクセスする内部データベース エージェントを使用して、根拠に基づいた修理と組み立ての手順を確保します。同時実行のバックグラウンド ビジョン ツールは、双方向ストリームをモニタリングして、機械的な危険や誤った組み立て手順を技術者にプロアクティブに警告します。
- リモート テクニカル サポート: ユーザーがライブのスマートフォン カメラフィードをマルチモーダル エージェント型 AI システムと共有できるようにすることで、お客様のトラブルシューティングの結果を改善します。双方向ストリーミング アーキテクチャは、システムがハードウェアをリアルタイムで監視する動的な会話をサポートします。バックグラウンド ビジョン プロセスで、ケーブルが間違ったポートに接続されているなど、接続不良が特定された場合、システムは低レイテンシ ストリームを使用して、修正ガイダンスでユーザーに即座に割り込みます。
設計上の考慮事項
以降のセクションでは、AI エージェントを設計し、このアーキテクチャを本番環境に実装するための一般的な推奨事項について説明します。
AI エージェントの設計
エージェントの費用とパフォーマンスを改善するには、次の推奨事項を検討してください。
- 制御ループ スクリプト: 双方向ライブ エージェントのシステム プロンプトは、単なるパーソナリティ ガイドラインではなく、厳格なステートマシン動作ループとして記述します。システム プロンプトでは、トリガーされるまでエージェントを無音にするように明示的に指示する必要があります。音声操作が簡潔で自然になるように、簡潔でアクション優先のレスポンスを適用する必要があります。
- 関心の分離: 専用のバックグラウンド ストリーミング ツールを使用して、 プライマリ エージェントとは独立して動画フィードをモニタリングします。アーキテクチャのルート エージェントは双方向であり、独自の音声に即座に割り込んで、これらの重要な安全警告をユーザーにブロードキャストできます。また、単一のエージェントに動画フィードを常にモニタリングするように依頼すると、認知負荷と幻覚につながる可能性があります。
- 費用対効果の高いプロンプト: プロンプト(入力)の長さと 生成されたレスポンス(出力)は、パフォーマンスと費用に直接影響します。短く、直接的で、十分なコンテキストを提供するプロンプトを作成します。モデルから簡潔な回答を得られるようにプロンプトを設計します。たとえば、「2 文で要約して」や「3 つの要点をリストアップして」などのフレーズを含めます。詳細については、 プロンプト設計の ベスト プラクティスをご覧ください。
本番環境の設計
このアーキテクチャを本番環境に実装するには、次の推奨事項を検討してください。
- 上り(内向き)セキュリティ: アプリケーションへのアクセスを制御するには、
フロントエンド Cloud Run サービスのデフォルトの
run.appURL を無効にして、 リージョン外部アプリケーション ロードバランサを設定します。 ロードバランサは、アプリケーションへの受信トラフィックのロード バランシングとともに、SSL 証明書の管理も処理します。保護を強化するために、 Google Cloud Armor セキュリティ ポリシー を使用して、サービスにリクエスト フィルタリング、DDoS 保護、レート制限を提供できます。 - アクセス制御: トポロジ内のリソースの権限を構成する場合は、 最小権限の原則に従ってください。
- 非同期バッファリング: 受信した音声パケットと動画パケットを モデルの推論エンジンから切り離すには、スレッドセーフな非同期の 先入れ先出し(FIFO)バッファを使用します。 このバッファはマルチプレクサとして機能し、大量の計算中にユーザー インターフェースがフリーズすることなく、システムがユーザーの割り込みに応答できるようにします。
- データ取り込みの費用: トークン費用を削減し、コンテキスト ウィンドウの枯渇を防ぐには、1 秒あたり 2 フレームなどの低頻度のフレーム サンプリングを使用し、すべてのデータを Base64 JPEG ファイルに圧縮します。
- インメモリ キャッシュ: ミリ秒未満の読み取り速度を実現するには、アーキテクト エージェントの図面保管庫に インメモリ Memorystore for Redis Cluster データベースを使用します。この実装により、レイテンシが最小限に抑えられ、リアルタイムの音声操作中に無音状態になるのを防ぎ、スケーラブルな単一の信頼できる情報源を提供できます。
- WebSocket セキュリティ: すべての双方向 WebSocket 接続に TLS 暗号化 を適用して、音声 プリントや動画などの機密性の高いマルチモーダル データを保護します。
- 安全な A2A 通信:
- 認証済みの拡張エージェント カード を使用して、A2A 通信を保護します。
- OpenID Connect(OIDC) ID トークンをリクエストに添付します。OIDC ID トークンを使用すると、 Identity and Access Management(IAM)を使用して、承認された エージェントのみがデータにアクセスできるように検証できます。
- リソース割り当て: パフォーマンス要件に応じて、Cloud Run サービスに割り当てる メモリの上限とCPU の上限を構成します。
マルチエージェント AI システムの構築とデプロイに関する設計要素、ベスト プラクティス、推奨事項の詳細については、 のマルチエージェント AI システムをご覧ください Google Cloud。
デプロイ
このアーキテクチャのサンプル実装をデプロイするには、次の Codelab を試してください。
- ADK 双方向ストリーミング エージェントの構築 Codelab: ライブ動画ストリームを処理して 特定のユーザー ジェスチャーを認識する単一エージェント AI システムを構築します。
- ライブ双方向マルチエージェント システム Codelab: 双方向ストリーミングを使用してリアルタイムの 音声と動画の操作を行うマルチエージェント AI システムを構築します。このシステムには、継続的な安全モニタリングのためのプロアクティブなストリーミング ツールが含まれています。
次のステップ
- ライブ セッションを開始して管理する方法を学習する。
- ADK Gemini Live API ツールキットの概要を確認する。
- Cloud Run で AI エージェントをホストする方法を学習する。
- エージェント型 AI アーキテクチャ コンポーネントを選択する方法について学習する。
- Gemini Enterprise Agent Ready(GEAR)を使用してエンタープライズ グレードのエージェントを構築してデプロイするための学習リソースを確認する。
- エージェント型 AI アーキテクチャ ガイドをもっと見る。
- Google Cloudの AI ワークロードと ML ワークロードに固有のアーキテクチャ原則と推奨事項の概要について、 Well-Architected Framework の AI と ML の視点 を確認する。
- Cloud アーキテクチャ センターで、リファレンス アーキテクチャ、図、ベスト プラクティスを確認する。
寄稿者
著者:
- Christina Lin | デベロッパー リレーションズ エンジニア マネージャー
- Samantha He | テクニカル ライター
その他の寄稿者:
- Kumar Dhanagopal | クロス プロダクト ソリューション デベロッパー
- Olivier Bourgeois | デベロッパー リレーションズ エンジニア