このドキュメントでは、断片化されたマルチモーダル データを検索可能なナレッジグラフに統合するマルチエージェント システムのハイレベルなアーキテクチャについて説明します。このシステムを使用すると、ユーザーはデータをアップロードし、ナレッジグラフを使用して潜在的な問題やシステム リスクを特定できます。このアーキテクチャにより、エージェントは複雑なデータ ウェブをナビゲートし、長期的なパーソナライズを維持できます。分散リソースが検索要件に継続的に一致するようにします。
GraphRAG は、検索拡張生成(RAG)に対するグラフベースのアプローチです。 GraphRAGRAG は、ベクトル検索を使用して取得したコンテキストに関連するデータでプロンプトを拡張することで、AI 生成のレスポンスをグラウンディングします。GraphRAG は、ベクトル検索とナレッジグラフ クエリを組み合わせて、さまざまなソースからのデータの相互接続性をより適切に反映するコンテキスト データを取得します。GraphRAG を使用して拡張されたプロンプトは、より詳細で関連性の高い AI レスポンスを生成できます。
このドキュメントは、クラウドで AI インフラストラクチャとアプリケーションを構築して管理するアーキテクト、デベロッパー、管理者を対象としています。このドキュメントでは、AI エージェントとモデルの基本的な知識があることを前提としています。このドキュメントでは、AI エージェントの設計とコーディングに関する具体的なガイダンスは提供していません。
このドキュメントのデプロイ セクションでは、Spanner Graph スキーマを定義し、エージェントによる取得のために マルチモーダル エンティティをリンクする方法を示すコードサンプルを提供します。
アーキテクチャ
次の図は、マルチモーダル GraphRAG リソースのオーケストレーションを可能にするマルチエージェント AI システムのアーキテクチャの概要を示しています。
上の図のアーキテクチャには、データ取り込みと検索の 2 つのワークフローがあります。
- データの取り込み ワークフローは、断片化されたマルチモーダル レコードを統合ナレッジグラフに統合します。このワークフローでは、順次マルチエージェント パターンを使用して、未加工データを Cloud Storage にアップロードし、Gemini を使用して複雑な関係を抽出し、Spanner Graph ナレッジグラフを更新して、データを取得できるようにします。
- 検索 ワークフローでは、GraphRAG プロセスを通じてインサイトとグラウンディングされたレスポンスを取得できます。このワークフローでは、Gemini と特殊なサブエージェントを使用してナレッジグラフをナビゲートし、以前のセッション データに基づいて調査結果を統合します。
次のタブでは、データの取り込みと検索のワークフローを示すアーキテクチャについて説明します。
データの取り込みワークフロー
次の図は、データ取り込みワークフローの詳細なアーキテクチャを示しています。
上の図は、次のデータフローを示しています。
- ユーザーがウェブ アプリケーションを操作して新しいデータをアップロードします。たとえば、 財務アナリストは、収益 PDF、 株主総会の録音、市場パフォーマンス チャートをアップロードする場合があります。
- ウェブ アプリケーションは、リクエストをルート エージェントに転送します。ルート エージェント は、コーディネーター エージェントで、リクエストを受信し、Cloud Run サービスにデプロイされます。
- ルート エージェントは、メモリバンク から永続的なセッション データを取得し、過去のセッションのユーザー設定に基づいて検索結果をパーソナライズします。
- ルート エージェントは、Gemini Enterprise Agent Platform の Gemini を使用してリクエストを解釈し、データの取り込みパイプラインを実行するタスクをマルチメディア エージェントに委任します。
- マルチメディア エージェントは、 順次パターンを開始し、未加工の入力をアップロード エージェントに転送します。
- アップロード エージェントは次のタスクを実行します。
- 未加工のファイルを Cloud Storage バケット に保存し、メディアタイプを検出します。
- 実行したアクションの中間サマリーを 抽出エージェントに転送します。
- 抽出エージェントは次のタスクを実行します。
- ストレージ バケットからデータ URI を取得し、 Gemini を使用してデータを解析し、構造化 エンティティを特定します。たとえば、財務データのエンティティには、 企業の関連会社、会計四半期、収益の感情などがあります。
- 構造化エンティティと、実行したアクション の中間サマリーをグラフ エージェントに転送します。
- グラフ エージェントは次のタスクを実行します。
- 構造化エンティティを受け取り、ナレッジ グラフにデータをアップロードします。Spanner Graph は、発行者、利害関係者、市場の金融商品を表現するノードを作成またはリンクします。
- 実行したアクションの中間サマリーを サマリー エージェントに転送します。
- サマリー エージェントは、 取り込み結果のテキスト サマリーと、すべてのサブエージェントが実行したアクションを含むレスポンスを生成します。サマリー エージェントは、レスポンスをマルチメディア エージェントに送信します。
- マルチメディア エージェントは、サマリー レスポンスをルート エージェントに転送します。
- ルート エージェントは、 コールバック関数をトリガーして、セッション データを Gemini Enterprise Agent Platform Sessions に保存します。ルート エージェントは、セッションからカスタム メモリトピックを抽出して、重要な重点 分野に関する情報を保存します。たとえば、財務アナリストは、規制フラグやセクターのトレンドを追跡するためのメモリトピックを作成する場合があります。
- ルート エージェントは、サマリー レスポンスをウェブ アプリケーションに転送します。
- ウェブ アプリケーションは、レスポンスをユーザーに転送します。
検索ワークフロー
次の図は、検索ワークフローの詳細なアーキテクチャを示しています。
上の図は、次のデータフローを示しています。
- ユーザーがウェブ アプリケーションに検索リクエストを開始します。たとえば、ポートフォリオ マネージャーは、24 時間以内に合計額が 100 万ドルを超える 3 つ以上のエンティティを含む循環取引パターンを検出するリクエストを送信します。
- ウェブ アプリケーションは、リクエストをルート エージェントに転送します。ルート エージェント は、 コーディネーター エージェントで、リクエストを受信し、Cloud Run サービスにデプロイされます。
- ルート エージェントは、メモリバンク から永続的なセッション データを取得し、ポートフォリオ マネージャーの過去の 設定と患者のコンテキストに基づいて検索結果をパーソナライズします。
- ルート エージェントは、Agent Platform の Gemini を使用して最適な検索戦略を決定します:
- キーワード検索: SQL
LIKE句を使用して、正確なカテゴリまたはロケーションを照合します。 - セマンティック RAG 検索: エンベディング モデルとコサイン 距離を使用して、意味的に類似したデータ エントリを検索します。
- ハイブリッド検索: キーワード検索とセマンティック RAG 検索を実行し、Reciprocal Rank Fusion(RRF)を使用して結果を統合し、高い関連性とカバレッジを確保します。
- キーワード検索: SQL
- ルート エージェントは、Spanner Graph に保存されているナレッジ グラフに対して適切な検索戦略を実行します。
- ナレッジグラフは、検索結果をルート エージェントに転送します。
- ルート エージェントは、エージェント型 AI システム
を更新してアプリケーションに応答するために、次のタスクを実行します:
- コールバック関数をトリガーして、セッション データを Gemini Enterprise Agent Platform Sessions の Agent Runtime に保存します。
- セッションからカスタム メモリ トピックを抽出します。たとえば、財務アナリストは、規制フラグや新たなセクターのトレンドを追跡するためのメモリトピックを作成する場合があります。
- サマリー レスポンスをウェブ アプリケーションに転送します。
- ウェブ アプリケーションは、レスポンスをユーザーに転送します。
使用するプロダクト
このリファレンス アーキテクチャでは、次の Google Cloud プロダクトと機能を使用します。
- Cloud Run: Google のスケーラブルなインフラストラクチャ上で コンテナを直接実行できるマネージド コンピューティング プラットフォーム。
- Gemini: Google が開発したマルチモーダル AI モデルのファミリー。
- Gemini Enterprise Agent Platform: エンタープライズ グレードの AI エージェントを構築、スケール、管理、最適化できる包括的なプラットフォーム。
- Cloud Storage: 低コストで無制限のオブジェクト ストア。さまざまなデータ型に対応しています。 データには の内部および外部からアクセスでき Google Cloud、冗長性を確保するために複数のロケーションに 複製されます。
- Spanner Graph: Spanner のスケーラビリティ、可用性、および 整合性の機能を提供するグラフ データベース。
- Gemini Enterprise Agent Platform Sessions: ユーザーとエージェント間のやり取りの履歴を保存および取得する永続ストレージ サービス。
- メモリバンク: ユーザーとエージェントの会話に基づいて長期記憶を生成、改良、 管理、取得する永続ストレージ サービス。
フレームワーク、Agent Runtime、ツール、メモリー、設計パターンなど、エージェント型 AI システムの代替コンポーネントの選択については、 次を 参照してください。エージェント型 AI アーキテクチャ コンポーネントを選択する。
ユースケース
このアーキテクチャは、断片化されたマルチモーダル データを統合して分析し、リソース割り当てと情報取得を最適化するユースケース向けに設計されています。独立したサブエージェントを維持することで、システムはモジュール式の更新をサポートし、分散リソースが検索要件に継続的に一致するようにします。Spanner Graph をナレッジグラフとして統合することで、エージェント型 AI システムは複雑で相互接続されたデータをモデル化できます。この統合により、リレーショナル データベースや NoSQL データベースでは困難または非効率的な、豊富なコンテキスト理解と高度なクエリ機能が実現します。
次のユースケースでは、グラフ データベースは、マルチモーダル データから派生する任意の進化する接続を表現するのに優れています。これらの接続は、リレーショナル データベースでは複雑で厳格なスキーマ管理が必要になります。
このドキュメントで説明するアーキテクチャのユースケースの例を次に示します。
- エンタープライズ HR 人材モビリティ: セマンティック拡張によって適格な社内候補者を特定することで、大規模な 採用検索のキーワード検索を改善します。このアーキテクチャは、マルチモーダル ポートフォリオと動画紹介から技術スキルとソフトスキル評価を抽出し、包括的な人材グラフを構築します。Spanner ナレッジグラフは、従業員、コンピテンシー、プロジェクト履歴の関係を追跡します。トレース結果は、概念の深さに基づいてエキスパートを特定し、人員不足のプロジェクトにフラグを設定します。
- ソーシャル メディア コンテンツ分析: ソーシャル メディア プラットフォームで高度なコンテンツ検出とネットワーク分析を 実行して、特定の記憶やトレンドを特定します。システムは、動画、音声メモ、Vlog などのアップロードを処理し、エンティティ、トピック、感情、言及を抽出します。Spanner ナレッジグラフは、ユーザー、接続(友だちとフォロワー)、投稿、いいね、コメント、共有トピック、トレンドの関係を追跡します。
設計上の考慮事項
次のセクションでは、AI エージェントを設計し、このアーキテクチャを本番環境に実装するための一般的な推奨事項について説明します。
AI エージェントの設計
エージェントの費用とパフォーマンスを改善するには、次の推奨事項を検討してください。
- エージェント システムの設計: モノリシック エージェントではなく、明確に定義された責任を持つ複数の 特殊なエージェントに複雑なワークフローを分解します。懸念事項を分離することで、プロンプト エンジニアリングが簡素化され、指示のドリフトが最小限に抑えられ、きめ細かいモデルのスケーリングが可能になります。このアーキテクチャは、大量の明確に定義されたタスクを小規模で高速なモデルにルーティングし、複雑な推論を高容量モデル用に予約します。
- ルート エージェントのルーティング: レイテンシを最小限に抑え、不要なサブエージェント の呼び出しを回避するには、エージェントの指示でルーティング ロジックを明確に定義します。モデルが正しいツールを選択できるように、各ツールの目的、入力パラメータ、期待される出力を文字列リテラルで記述します。
- ツールの設計: 単一のモノリシック メソッドを使用するのではなく、ツールを複数の集中型メソッドに分割します。このアプローチにより、コードベース全体で一貫性が確保され、ロジックの分岐が減り、直接検索メソッドが呼び出されたときにクエリ分析をスキップするなど、特定の最適化パスが可能になります。
- エージェント コンテキスト: シーケンシャル パイプラインでダウンストリーム エージェントが アップストリーム データに対してクエリを繰り返さないようにするには、 エージェントの状態を通じて十分なコンテキストを渡します。各エージェントがデータを確実に解析できるように、共有状態には明確に定義された JSON 構造を使用します。
- セッション状態の保存: 直前の会話 履歴にはセッション状態を使用し、セッション間の抽出されたファクトにはメモリバンクを使用します。セッションの開始時にメモリ コンテキストを挿入することで、エージェントは長い会話履歴を再処理せずに設定を参照できます。
- メモリの品質: ユーザーの設定やロールが時間の経過とともに変化する場合は、 古いメモリをクリアまたは更新 できるようにします。
- データベース内 AI モデル: レイテンシを短縮するには、Spanner
ML.PREDICT関数を使用して、SQL クエリ内でモデルをインラインで呼び出します。ハイブリッド検索ワークロードでは、クエリごとに複数のモデル呼び出しがトリガーされる可能性があるため、Agent Platform の割り当て使用量をモニタリングします。
本番環境の設計
このアーキテクチャを本番環境に実装するには、次の推奨事項を検討してください。
- きめ細かいアクセス制御を実装する: きめ細かいアクセス制御を使用して、テーブルレベルと列レベルでアクセスを承認します。Cloud Run サービス アカウントのみがアクセスできるように、Cloud Storage バケット ポリシーを制限します。
- 推論とレスポンスをサニタイズする: Model Armor を使用して、推論リクエストとモデルのレスポンスの両方を検査してサニタイズします。このサニタイズにより、ユーザーがアップロードするマルチモーダル コンテンツからのプロンプト インジェクション リスクが軽減されます。また、エージェントの出力で個人情報(PII)やセンシティブ データが誤って漏洩するのを防ぐこともできます。
- エージェントの再試行ロジックを実装する: 割り当て上限などの一時的なエラーを処理するには、 再試行ロジックを指数バックオフとともに実装して、 Agent Platform エンドポイントと Spanner を呼び出します。
- ファイルの上限を設定する: 大容量ファイルによる API タイムアウトを回避するには、明示的な アップロード サイズの上限を設定し、データ エンティティを抽出する前に大きな動画を チャンクに分割します。詳細については、動画処理をカスタマイズするをご覧ください。
- 費用分析と管理: Agent Platform の費用を分析して管理するには、秒間クエリ数(QPS)と秒間トークン数(TPS)のベースライン指標を作成することをおすすめします。デプロイ後にこれらの指標をモニタリングします。費用管理の一環として作成するベースラインは、容量計画の決定に役立ちます。たとえば、ベースライン は、プロビジョンド スループットが必要なタイミングを判断するのに役立ちます。
- ストレージ ライフサイクルを自動化する: ストレージ費用を削減するには、 オブジェクトのライフサイクル管理を使用して、定義された保持期間後にファイルを Nearline または Coldline ストレージ クラスに移動します。
- 構造化ロギングを使用する: すべてのエージェント ツールの呼び出しとパイプライン の結果を構造化メタデータで記録します。 構造化ログを使用すると、 Cloud Monitoring でログとダッシュボードをクエリできます。
- トレースを実装する: レイテンシ ホットスポットを診断するには、 Cloud Trace を使用して、 エージェント ランナーとツールの実行全体でエンドツーエンドのリクエスト トレースをキャプチャします。
- エージェントの品質を評価する: Gen AI Evaluation Service を使用してエージェントの出力 品質を定期的に評価し、ツールの選択の軌跡とレスポンスの 品質を確認します。
- リソース割り当て: パフォーマンス要件に応じて、 Cloud Run サービスに割り当てるメモリ上限と CPU 上限を構成します。
マルチエージェント AI システムの構築とデプロイに関する設計要素、ベスト プラクティス、推奨事項の詳細については、 のマルチエージェント AI システムをご覧ください Google Cloud。
デプロイ
このアーキテクチャのサンプル実装をデプロイするには、 Way Back Home Level 2 Codelab をお試しください。
次のステップ
- Cloud Run で AI エージェントをホストする方法について学習する。
- Agent Platform と Spanner Graph を使用して、生成 AI 用の GraphRAG インフラストラクチャを構築する方法を学習する。
- Spanner Graph スキーマを設計する際のベスト プラクティスを確認する。
- マルチモーダル エンベディングを取得する方法を学習する。
- でマルチエージェント AI システムを構築する方法を学習する Google Cloud。
- Gemini Enterprise Agent Ready(GEAR)を使用してエンタープライズ グレードのエージェントを構築してデプロイするための学習リソースを確認する。
- Google Cloudの AI ワークロードと ML ワークロードに固有のアーキテクチャ原則と推奨事項の概要について、 Well-Architected Framework の AI と ML の視点 を確認する。
- Cloud アーキテクチャ センターで、リファレンス アーキテクチャ、図、ベスト プラクティスを確認する。
寄稿者
著者:
- Annie Wang | ソフトウェア エンジニア
- Samantha He | テクニカル ライター
その他の寄稿者:
- Christina Lin | デベロッパー リレーションズ エンジニア マネージャー
- Kumar Dhanagopal | クロス プロダクト ソリューション デベロッパー
- Olivier Bourgeois | デベロッパー リレーションズ エンジニア