このドキュメントでは、断片化されたマルチモーダル データを検索可能なナレッジグラフに統合するマルチエージェント システムのハイレベルなアーキテクチャについて説明します。このシステムにより、ユーザーはデータをアップロードし、ナレッジグラフを使用して潜在的な問題やシステム リスクを特定できます。このアーキテクチャにより、エージェントは複雑なデータ ウェブをナビゲートし、長期的なパーソナライズを維持できます。これにより、分散リソースが検索要件と継続的に一致します。
GraphRAG は、検索拡張生成(RAG)に対するグラフベースのアプローチです。RAG は、ベクトル検索を使用して取得したコンテキストに関連するデータでプロンプトを拡張することで、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 サービスにデプロイされる コーディネーター エージェントです。
- ルート エージェントは、Memory Bank から永続セッション データを取得し、ポートフォリオ マネージャーの過去の設定と患者のコンテキストに基づいて検索結果をパーソナライズします。
- ルート エージェントは、Agent Platform で Gemini を使用して最適な検索戦略を決定します。
- キーワード検索: SQL
LIKE句を使用して、カテゴリまたは場所を完全に一致させます。 - セマンティック RAG 検索: エンベディング モデルとコサイン距離を使用して、意味的に類似したデータ エントリを見つけます。
- ハイブリッド検索: キーワード検索とセマンティック RAG 検索を実行し、Reciprocal Rank Fusion(RRF)を使用して結果を統合し、関連性とカバレッジを確保します。
- キーワード検索: SQL
- ルート エージェントは、Spanner Graph に保存されているナレッジグラフに対して適切な検索戦略を実行します。
- ナレッジグラフは検索結果をルート エージェントに転送します。
- ルート エージェントは、次のタスクを実行して、アプリケーションに応答するようにエージェント型 AI システムを更新します。
- コールバック関数をトリガーして、セッション データを Gemini Enterprise Agent Platform の 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: ユーザーとエージェント間のやり取りの履歴を保存して取得する永続ストレージ サービス。
- メモリバンク: ユーザーとエージェントの会話に基づいて長期記憶を生成、絞り込み、管理、取得する永続ストレージ サービス。
フレームワーク、エージェント ランタイム、ツール、メモリ、設計パターンなど、エージェント型 AI システムの代替コンポーネントの選択については、エージェント型 AI アーキテクチャ コンポーネントを選択するをご覧ください。
ユースケース
このアーキテクチャは、断片化されたマルチモーダル データを統合して分析し、リソース割り当てと情報取得を最適化するユースケース向けに設計されています。独立したサブエージェントを維持することで、システムはモジュラー アップデートをサポートし、分散リソースが検索要件に高い継続性で一致するようにします。Spanner Graph をナレッジグラフとして統合することで、エージェント型 AI システムは複雑で相互接続されたデータをモデル化できます。この統合により、リレーショナル データベースや NoSQL データベースでは困難または非効率的な、豊富なコンテキストの理解と高度なクエリ機能が実現します。
次のユースケースでは、マルチモーダル データから導出される任意で進化する接続をグラフ データベースで表現できます。このような接続は、リレーショナル データベースで複雑で厳格なスキーマ管理を必要とします。
このドキュメントで説明するアーキテクチャのユースケースの例を次に示します。
- エンタープライズ HR 人材のモビリティ: セマンティック拡張により、大規模な採用検索で適格な社内候補者を特定し、キーワード検索を改善します。このアーキテクチャは、マルチモーダル ポートフォリオと動画の自己紹介から技術スキルとソフトスキルの評価を抽出し、包括的なタレント グラフを構築します。Spanner ナレッジグラフは、従業員、コンピテンシー、プロジェクト履歴の関係を追跡します。トレース結果は、概念の深さに基づいてエキスパートを特定し、人員不足のプロジェクトにフラグを設定します。
- ソーシャル メディア コンテンツ分析: ソーシャル メディア プラットフォームで高度なコンテンツ検出とネットワーク分析を実行して、特定の思い出やトレンドを特定します。システムは、動画、音声メモ、ブログなどのアップロードを処理し、エンティティ、トピック、感情、言及を抽出します。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 システムの構築とデプロイに関する設計要因、ベスト プラクティス、推奨事項の詳細については、 Google Cloudのマルチエージェント AI システムをご覧ください。
デプロイ
このアーキテクチャのサンプル実装をデプロイするには、Way Back Home レベル 2 の Codelab をお試しください。
次のステップ
- Cloud Run で AI エージェントをホストする方法について学習する。
- Agent Platform と Spanner Graph を使用して生成 AI 用の GraphRAG インフラストラクチャを構築する方法を学習する。
- Spanner Graph スキーマを設計するためのベスト プラクティスを確認する。
- マルチモーダル エンベディングを取得する方法を学習する。
- Google Cloudでマルチエージェント AI システムを構築する方法を学習します。
- 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 | デベロッパー リレーションズ エンジニア