このページでは、データ エージェント エクスペリエンスをアプリケーションに埋め込むための統合パターンについて説明します。これらのパターンの複雑さは、埋め込みチャット コンポーネントからオーケストレーションされたマルチエージェント システムまでさまざまです。
このガイドは、生成 AI アプリケーションを設計するクラウド アーキテクトとデータ エンジニアを対象としています。 Google Cloud のコンセプト、Identity and Access Management(IAM)、REST API に関する基本的な知識が必要です。また、アプリケーションで使用するデータソースのアーキテクチャについても理解している必要があります。
統合パターンの概要
このガイドは、次の主なトラックで構成されています。各トラックは、開始点に基づいています。
- Looker トラック: Looker の埋め込み、Looker API、または会話型分析 API を介してチャット機能を提供する場合は、このトラックを選択します。
- BigQuery とデータベース トラック: BigQuery、データポータル、またはサポートされている運用データベースを使用するカスタム アプリケーションを構築する場合は、このトラックを選択します。
次の表に、利用可能な統合パターンをまとめます。
| 統合パターン | 説明 | データソース |
|---|---|---|
| Looker iframe 埋め込み | 最小限のコードを必要とするアプリケーションに標準チャット インターフェースを追加します。 | Looker |
| Looker API と SDK | 認証に Looker API を使用するカスタム チャット インターフェースを構築する。 | Looker |
| 会話型分析 API(Looker ソース) | 複数のサーフェスとマルチエージェント システムで動作する Google Cloud リソースとして Looker データ エージェントを管理します。 | Looker |
| Direct API(シングル エージェント) | テキストから回答へのフローに直接 API 統合を使用します。 | BigQuery、データベース、Looker |
| Direct API(オーケストレーター) | 関数呼び出しを使用して、API と他のツール間でクエリをルーティングします。 | BigQuery、データベース、Looker |
ADK(スキーマ駆動型)と BigQueryToolset |
ask_data_insights ツールを使用して、テーブル参照から迅速に分析情報を生成します。 |
BigQuery |
DataAgentToolset を使用した ADK(管理対象) |
ask_data_agent ツールを使用する事前構成済みのデータ エージェントにクエリを実行して、一貫した動作を確保します。 |
BigQuery、データベース、Looker |
| ADK(カスタム ストリーミング) | カスタム エージェント クラスを使用して、グラフと SQL のリアルタイム ストリーミングをサポートします。 | BigQuery、データベース、Looker |
McpToolset または ToolboxToolset を使用した MCP |
Model Context Protocol(MCP)を使用するデータツールにアプリケーションを接続します。 | BigQuery、Looker |
| 会話型分析 API リモート MCP サーバー | サードパーティの AI プラットフォームと Google が管理するプラットフォーム(Gemini Enterprise など)のルート エージェントが、 Google Cloud全体で特殊なデータ エージェントを検出して通信できるようにする、統合されたセキュア ゲートウェイを提供します。 | BigQuery、データベース、Looker |
| A2A プロトコル | 異なるシステムで動作する専門エージェント間の安全なコラボレーションを可能にします。 | フレームワークに依存 |
Looker の統合オプション
Looker を使用している場合は、次のパターンで Looker の会話型分析をユーザーに提供できます。
- iframe を使用して埋め込む: 標準チャット インターフェースを既存のアプリケーションに追加するローコード パターン。
- Looker API と SDK を使用して構築する: Looker の認証とエージェント管理を通じてカスタム フロントエンドを構築できる柔軟なアプローチ。
- 会話型分析 API を使用する: API と直接統合することで、複数の Google Cloud サーフェスでデータ エージェントを使用できます。
Looker 統合パターンの概要
次の表は、Looker の主な統合パターンをまとめたものです。
| パターン | 最適な用途 | 利点 | 考慮事項 |
|---|---|---|---|
| iframe を使用した埋め込み: 標準の Looker チャット エクスペリエンスをアプリケーションにすばやく追加するためのローコード メソッド。 | 最小限のカスタム開発で、プロダクション レディ(な)会話型分析エクスペリエンスを必要とするチーム。 |
|
|
| Looker API と SDK を使用して構築する: 認証とエージェント管理を Looker 内に維持しながら、カスタム チャット インターフェースを構築する柔軟なアプローチ。 | カスタム チャット ユーザー エクスペリエンスが必要だが、ユーザー認証とエージェント管理を Looker エコシステム内に維持したいチーム。このパターンは、すでに Looker の埋め込みまたは API を使用しているアプリケーションに最適です。 |
|
|
| 会話型分析 API を使用する: API と直接統合して、エージェントをクラウドレベルのリソースとして管理します。 | データ エージェントのクロスプラットフォーム ポータビリティを必要とする Looker のお客様。 |
|
|
iframe を使用して埋め込む
会話型分析を iframe として埋め込むことで、Looker UI の外部でチャット エクスペリエンスを提供できます。このパターンは、カスタム UI の開発、バックエンド オーケストレーション、API 状態管理を必要とせずに会話型分析を提供する直接的な方法です。このパターンを使用するには、事前フォーマットされた URL をアプリケーションに追加します。
Looker Embed SDK には、安全な URL の生成、iframe のライフサイクル管理、ホステッド アプリケーションと iframe 間の JavaScript イベントの受け渡しなどのタスクを管理するツールが用意されています。[エージェント] ページ、[会話] ページ、または特定の会話を埋め込むには、事前フォーマットされた URL をアプリケーションに追加します。
埋め込みコンテンツには、次の認証方法を使用できます。
- プライベート埋め込み: 既存の Looker 認証情報を使用してユーザーを認証します。埋め込み URL を iframe ソースとして設定すると、ユーザーは Looker アカウントでログインします。この方法では、追加の IAM 構成やトークン マッピングを必要とせずに、既存のロール、コンテンツ アクセス、データレベルの権限(アクセス フィルタやアクセス許可など)が自動的に適用されます。
- 署名付き埋め込み: シングル サインオン(SSO)を使用して、アプリケーションを介してユーザーを認証します。会話型分析のコンテンツ パスを含む署名付き URL を作成します。これにより、付与する権限を動的に指定できます。
Looker API と SDK を使用して構築する
チャット エクスペリエンスの柔軟性を高めるには、Looker API の ConversationalAnalytics メソッドを使用するか、Looker SDK を使用してカスタム アプリケーションを構築します。このアプローチでは、Looker エンドポイントと直接通信するカスタム フロントエンドを構築できます。
Looker API と統合すると、次のメリットがあります。
- Looker での認証のみを管理します。会話型分析 API で別途認証を行う必要はありません。
- すでに Looker の埋め込みや API を使用しているアプリケーションの場合、このパターンを使用すると、二次認証メカニズムを回避し、外部データ エージェントを管理する必要がなくなるため、プロジェクト アーキテクチャを簡素化できます。
- チャット インターフェース、会話フロー、アプリケーションによる結果(グラフや表など)のレンダリング方法を完全に制御できます。
リファレンス実装については、GitHub の ConversationalAnalytics メソッドを使用する Looker API ガイドをご覧ください。
Looker データで会話型分析 API を使用する
次のいずれかのタスクを実行する必要がある場合は、geminidataanalytics.googleapis.com で会話型分析 API と直接統合できます。
- カスタム ウェブ アプリケーション、Google Chat、Gemini Enterprise など、複数の Google Cloud サーフェスで同じデータ エージェントを共有します。
- Looker データソースを BigQuery または運用データベース ソースと組み合わせて、単一のマルチエージェント システムを構築します。
- Looker の権限モデルではなく、IAM に則って管理されるクラウドレベルのリソースとしてデータ エージェントを管理します。
会話型分析 API の一般的なアーキテクチャ パターンの詳細については、BigQuery とデータベースの統合オプションをご覧ください。
BigQuery、データポータル、データベースの統合オプション
このセクションでは、BigQuery、データポータル、またはサポートされている Google Cloud 運用データベースを使用して、会話型分析 API でカスタム エクスペリエンスを構築するアプリケーションのアーキテクチャ パターンについて説明します。
Looker データソースで会話型分析 API を使用する場合、このセクションで説明するパターンは統合にも適用されます。
会話型分析 API には、データを操作するための次の主なメソッドが用意されています。
chatメソッド: BigQuery、Looker、データポータル、運用データベースをサポートします。queryDataメソッド: AlloyDB、GoogleSQL for Spanner、Cloud SQL for MySQL、Cloud SQL for PostgreSQL などの運用データベースをサポートしています。
カスタム アプリケーションを構築する場合は、次の統合パターンの 1 つ以上を使用できます。
- 直接 API 統合: 柔軟性に優れたカスタム アプローチですが、認証、会話管理、レスポンス解析のためのインフラストラクチャを構築する必要があります。
- フレームワーク駆動型オーケストレーション(ADK): Agent Development Kit(ADK)を使用して、マルチエージェント ルーティング、ツール実行、状態管理を行うアプローチ。
- 垂直統合(MCP): Model Context Protocol(MCP)を使用して、さまざまな環境のツールやデータソースに AI アプリケーションを接続する統一された方法を提供するアプローチ。
- 水平オーケストレーション(A2A): Agent-to-Agent(A2A)プロトコルを使用して、異なるシステム上の専門エージェントがカスタム統合コードを必要とせずに安全に連携できるようにするアプローチ。
BigQuery とデータベースの統合パターンの概要
次の表に、BigQuery と運用データベースの具体的な実装パターンをまとめます。
| パターン | 最適な用途 | 利点 | 考慮事項 |
|---|---|---|---|
| シングル エージェント統合(直接 API): アプリケーションが API を直接呼び出して、データソースから分析情報を返すパターン。 | すべての API 呼び出しを直接制御する必要がある単一エージェント アプリケーション、プロトタイプ、マイクロサービス。 |
|
|
| カスタム オーケストレーター(直接 API): ルート エージェントと関数呼び出しを使用して、会話型分析 API と他のツールまたはサービス間でクエリをルーティングするパターン。 | データクエリをメールやドキュメントなどの他のタスクと 1 つの会話フローに統合するアプリケーション。 |
|
|
BigQueryToolset(ADK)を使用したスキーマ駆動型の統合: テーブル参照を使用してデータ分析情報を迅速に返すパターン。 |
迅速なプロトタイピング、データ ガバナンスがそれほど重要ではない内部ツール、データ分析情報が ADK エージェントの複数の機能の 1 つであるシナリオ。 |
|
|
DataAgentToolset(ADK)との管理された統合: エージェントの ID を参照して、事前構成されたデータ エージェントにクエリを実行するパターン。 |
一貫したデータアクセスを必要とする本番環境アプリケーション、またはデータ エージェントが信頼できる再利用可能なコンポーネントであるマルチエージェント システム。 |
|
|
| カスタム サブエージェント(ADK): カスタム エージェント クラスを使用して API に直接接続し、データ チャンクをユーザーにストリーミングするパターン。 | 低いレスポンス レイテンシが優先されるユーザー向けアプリケーションや、データ取得がダウンストリーム エージェントにフィードされるマルチエージェント パイプライン。 |
|
|
| Model Context Protocol(MCP): オープン スタンダードを使用して、AI アプリケーションをさまざまな環境のデータソースやツールに接続するパターン。 | 複数の AI クライアントと IDE にわたるツールの相互運用性を必要とする組織、または ADK フレームワーク、IDE、カスタム アプリケーションから同じデータツールにアクセスできるようにする必要があるチーム。 |
|
|
| Agent-to-Agent(A2A): A2A プロトコルを使用するパターン。A2A プロトコルは、異なるシステム上の特殊なエージェントがカスタム統合コードを必要とせずに安全に連携できるようにするオープン スタンダードです。 | 中央のルーティング エージェントが、異なるシステムまたはネットワークで動作するデータ エージェントにタスクを委任する必要がある、高度に分散されたエンタープライズ環境。 |
|
|
API との直接統合
API を直接統合すると、アプリケーションのロジックとアーキテクチャをきめ細かく制御できますが、サポート インフラストラクチャを構築する必要があります。このアプローチでは、認証、会話管理、レスポンスの解析、デプロイなどのタスクはお客様の責任となります。
このセクションでは、次の項目について説明します。
- 単一エージェント統合: アプリケーションが会話型分析 API を直接呼び出して、データソースから分析情報を返すパターン。
- カスタム オーケストレーター統合: ルート エージェントと関数呼び出しを使用して、会話型分析 API 間でクエリをルーティングする高度なパターン。
単一エージェントの統合
シングル エージェント統合では、バックエンドが REST またはクライアント ライブラリを使用して会話型分析 API を直接呼び出し、ユーザーのクエリとコンテキストを渡します。このパターンは、ウェブアプリ、社内チャットツール、マイクロサービスなど、シンプルなテキストから回答へのフローを使用する、複雑さの低いアプリケーションに適しています。このアプローチは、プロトタイピングや概念実証作業にも使用できます。
このパターンは、Google が会話履歴を管理するステートフル チャットと、アプリケーションが履歴を管理するステートレス チャットの両方をサポートしています。
リファレンス実装については、GitHub の 会話型分析 API クイックスタートまたは 会話型分析 API ゴールデンデモをご覧ください。
カスタム オーケストレーターの統合
このアプローチでは、アプリケーションのプライマリ エントリ ポイントおよびコーディネーターとして機能するルート エージェントを構築します。ルート エージェントは、関数呼び出しを介してツールを備えた標準の Gemini モデルを使用します。ユーザーがデータ関連の質問をすると、ルート エージェントは会話型分析 API にツール呼び出しを送信し、結果を受け取ります。その後、推論を続行するか、ダウンストリームの他のツールを呼び出すことができます。
関数呼び出しには次のステージがあります。
- 宣言する: パラメータ定義を含む
FunctionDeclarationオブジェクトとしてツールスキーマを定義します。 - 呼び出し: モデルは、関数名と引数を含む構造化された
functionCallメッセージを返します。 - 実行: アプリケーションが API 呼び出しを実行し、結果を
FunctionResponseメッセージで返します。 - 合成: Gemini モデルは、結果を使用して最終的な回答を生成するか、次のアクションを決定します。
このアプローチは、ユーザーが他のタスクと並行してデータ分析情報をリクエストする可能性があるアプリケーションに適しています。たとえば、ユーザーがエージェントに「売上を表示して、セールスチームにメールの下書きを作成して」とリクエストしたとします。ルート エージェントは、データに関する質問を Conversational Analytics API にルーティングし、データ以外のタスクに他のツールを使用できます。
リファレンス実装については、GitHub の 会話型分析 API ゴールデンデモの オーケストレーション ページまたはマルチモーダル ページをご覧ください。
フレームワーク駆動型オーケストレーション(ADK)
Agent Development Kit(ADK)は、AI エージェントを構築するためのコードファースト フレームワークです。マルチエージェント ルーティング、ツール実行、状態管理の複雑さを管理します。ADK フレームワークは、Gemini Enterprise を支えるフレームワークと同じです。
ADK を使用すると、会話型分析 API を他のツールやエージェントと連携させて、複雑なアクションを実行できます。
このセクションでは、次の項目について説明します。
- スキーマ駆動型の統合:
BigQueryToolsetツールセットのask_data_insightsツールを使用して、BigQuery テーブル参照からデータ分析情報を返すパターン。 - 管理された統合:
DataAgentToolsetツールセットのask_data_agentツールを使用して、エージェントの ID を参照して、事前構成されたデータ エージェントにクエリを実行するパターン。 - カスタム サブエージェントを使用した高度な UX 統合: カスタム サブエージェント コンポーネントを使用して Conversational Analytics API に直接接続し、データ チャンクをユーザーに非同期でストリーミングするパターン。
BigQueryToolset とのスキーマ駆動型統合
ADK フレームワークの BigQueryToolset ツールセットには、ビルド済みの ask_data_insights ツールが含まれています。このツールを使用するには、テーブル名とユーザーの質問をツールに渡します。ツールは、インライン コンテキストを使用して Conversational Analytics API を呼び出します。
ツールを呼び出すと、指定された BigQuery テーブル参照を含むステートレス リクエストが会話型分析 API に送信されます。API はデータベース スキーマを推論し、SQL クエリを生成して実行し、テキストの回答を返します。結果は、ツール レスポンスとして ADK エージェントに返されます。
このパターンは、エージェントに会話型分析を迅速に追加する効果的な方法です。しかし、API への呼び出しはステートレスでガバナンスがないため、API はセマンティック ガードレールなしで、テーブル スキーマに完全に依存した SQL を生成します。このパターンはデプロイが高速ですが、命名規則、ビジネス ロジック、アクセス制御が適用される本番環境のビジネス ロジックではリスクが高くなります。
DataAgentToolset との管理された統合
ADK フレームワークの DataAgentToolset ツールセットには、事前構成されたデータ エージェントを ID で参照する事前構築済みの統合が用意されています。ADK エージェントはユーザーの質問を ask_data_agent ツールに渡し、このツールが指定されたデータ エージェント コンテキストで 会話型分析 API を呼び出します。
データ エージェントは、会話型分析 API を使用してプログラマティックに作成することも、 Google Cloud コンソールのエージェント カタログから作成することもできます。データ エージェントには次のコンポーネントが付属しています。
- ナレッジソース: エージェントがクエリできるテーブル、ビュー、ユーザー定義関数(UDF)
- 構造化コンテキスト: エージェントが基盤となるデータを理解するのに役立つテーブルと列の説明
- 指示: エージェントがデータソースを解釈してクエリするための追加のガイダンス
- 検証済みクエリ: よくある質問の例として機能する、事前検証済みの SQL クエリ
- 用語集: エージェントがドメイン固有の言語を理解するのに役立つビジネス用語の定義
エージェント カタログからエージェントを作成する方法の詳細については、BigQuery の会話型分析の Codelab をご覧ください。
エージェントは管理対象ユニットとして定義されているため、どのアプリケーションやサブエージェントから呼び出されても、同じ信頼できるロジック、コンテキスト、ガードレールを使用します。
カスタム サブエージェントとの高度な UX 統合
BigQueryToolset ツールセットと DataAgentToolset ツールセットは、API リクエストの処理が完了するまで、ユーザーに結果を返しません。ADK フレームワークは API を、完了するまでレスポンスをブロックするツールとして扱うため、実行時間が長いクエリでは、ユーザーにフィードバックが提供されない可能性があります。
レスポンス レイテンシが優先されるアプリケーションや、データ取得がダウンストリーム エージェントにフィードされるアプリケーションの代替手段として、会話型分析 API に直接接続し、データをチャンク単位で非同期にユーザーにストリーミングするカスタム ADK エージェント クラスを構築できます。このパターンは、生成される次のレスポンス タイプをサポートしています。
- 思考メッセージ: 質問を解釈する際のデータ エージェントの推論プロセス。
- 進行状況メッセージ: データソースのデータ取得中のステータス更新。
- クエリの生成: 生成された SQL または Looker クエリ。生成時にストリーミングされます。
- Data: JSON 形式のデータ結果。
- 可視化: Vega-Lite グラフの仕様。
- 概要: 最終的なテキストベースの回答。
返されるデータの種類の完全なリストについては、API リファレンス ドキュメントの SystemMessage タイプをご覧ください。
この非同期アプローチにより、ユーザーは複雑なデータ取得プロセスが完全に完了するまで待つ必要がなくなります。データ エージェントは、クエリプロセスを進めながら、テキストの要約、元データ、グラフ構成などの増分アップデートを一時的な共有ワークスペースに継続的に共有します。このデータは、ユーザーにリアルタイムでレンダリングされ、専用のサブエージェントと共有されて追加のタスクを実行できます。
ルート エージェント、データ サブエージェント、可視化エージェントを含むリファレンス実装については、GitHub の ADK ストリーミング デモをご覧ください。
垂直統合(MCP)
Model Context Protocol(MCP)は、AI アプリケーションが外部のツールやデータソースに接続するための統一的な方法を提供するオープン標準です。MCP は、AI モデルと、AI モデルが使用するツールの間のインターフェースを標準化します。
このセクションでは、次の項目について説明します。
- 会話型分析 API リモート MCP サーバー: サードパーティと Google が管理するルート エージェントが、リモート MCP サーバー ゲートウェイを介して 会話型分析 API と通信する方法について説明します。これには、ID の伝播と API メソッドへのアクセスが含まれます。
- データベース向け MCP ツールボックス: BigQuery と Looker への接続に使用する事前構築済みツールについて説明します。
- スタンドアロン アーキテクチャと ADK アーキテクチャの MCP 実装パターン: MCP をスタンドアロン サーバーとして使用するパターン、または Agent Development Kit(ADK)ワークフロー内で使用するパターンについて説明します。
会話型分析 API リモート MCP サーバー
会話型分析 API は、Google のマネージド MCP サーバーを搭載したリモート MCP サーバーを https://geminidataanalytics.googleapis.com/mcp で提供します。このゲートウェイは、統合された安全な HTTP とサーバー送信イベント(SSE)インターフェースを提供します。これにより、サードパーティの AI プラットフォームと Google マネージド プラットフォーム(Gemini Enterprise など)のルート エージェントは、 Google Cloud全体で特殊なデータ エージェントを検出して通信できます。
ルート エージェントの通信の概要
外部または Google 管理のルート エージェントと会話型分析 API 間の通信には、次の 3 つのロールが関与します。
- データ オペレーターは、会話型分析サーフェス全体でスコープ設定されたデータ エージェントを作成して構成し、各エージェントがアクセスできるデータソースと回答できる質問の明確な説明を記述して、それらのエージェントをビジネス ユーザーと共有します。
- プラットフォーム管理者は、
https://geminidataanalytics.googleapis.com/mcpエンドポイントを指すカスタム MCP 接続をエージェント プラットフォームに登録します。管理者は、Google 認可エンドポイント(https://accounts.google.com/o/oauth2/v2/auth)、トークン エンドポイント(https://oauth2.googleapis.com/token)、必要な認可スコープ(https://www.googleapis.com/auth/geminidataanalyticsとhttps://www.googleapis.com/auth/bigquery.readonly)を使用して、OAuth 2.0 クライアント認証情報(クライアント ID とクライアント シークレット)を構成します。 - ビジネス ユーザーは、エージェント プラットフォームで自然言語で質問します。このプラットフォームのルート エージェント(オーケストレーター LLM)は、未加工のデータベースに直接クエリを実行するのではなく、会話型分析 API リモート MCP サーバーと通信して、関連するデータ エージェントを検出し、ユーザーの質問を適切なスコープのデータ エージェントにルーティングして、合成された回答を返します。
ID 伝播
リクエストがサードパーティまたは外部のルート エージェントから送信された場合に、エンタープライズ データ ガバナンスを維持するため、リモート MCP サーバーはエンドツーエンドの ID 伝播を適用します。
- ユーザー委任認証: ビジネス ユーザーがルート エージェントを操作すると、エージェント プラットフォームは 3-legged OAuth 2.0 フローを介してユーザーを認証し、MCP ゲートウェイに送信されるリクエストの HTTP ヘッダーにユーザー委任 OAuth アクセス トークンを含めます。
- エンドユーザー認証情報(EUC)の転送: リモート MCP サーバーはトークンを検証し、会話型分析 API レイヤを介してエンドユーザー認証情報を BigQuery、Spanner、AlloyDB、Cloud SQL などの基盤となるデータエンジンに伝播します。
- 管理されたデータアクセス: クエリは、共有サービス アカウントではなく、認証済みユーザーの ID を使用して実行されるため、基盤となるデータソースは、既存の IAM 権限、行レベルと列レベルのセキュリティ ポリシー、管理されたデータアクセスの境界を自動的に適用します。ユーザーは、すでにアクセス権を持っているデータ エージェントとクエリ データセットのみを検出できます。
- Looker の 2 つの ID モデル: BigQuery と運用データベースの場合、クエリは個々のユーザーの転送された Google OAuth 認証情報で実行されます。Looker を基盤とするデータ エージェントの場合、認証には 2 つの ID モデルが使用されます。ユーザーの Google OAuth トークンは、Google IAM のデータ エージェントへのアクセスを認可しますが、クエリは Looker API ユーザーに提供された認証情報(チャットツールの認証情報ブロックで渡される)を使用して Looker で実行されます。Looker モデルのアクセス、権限、行レベルのルールには、個々のエンドユーザーの Looker ID ではなく、構成された API ユーザーが反映されます。
ルート エージェントが API メソッドにアクセスする方法
MCP クライアントが https://geminidataanalytics.googleapis.com/mcp に接続すると、標準の MCP tools/list メソッドを呼び出して、会話型分析 API によって公開されているツールスキーマを動的にインポートします。ルート エージェントは、これらの MCP ツールとリソースを呼び出して会話型分析 API とやり取りします。これらのツールとリソースは、基盤となる REST API メソッドに直接マッピングされます。
| MCP ツールまたはリソース | マッピングされた会話型分析 API メソッド | ルート エージェントが使用する方法 |
|---|---|---|
list_data_agents |
projects.locations.dataAgents.list
|
使用可能なデータ エージェントを検出します。ルート エージェントは、ターゲット PROJECT_ID(および LOCATION)を渡し、ユーザーがアクセスを許可されているアクティブなデータ エージェントのリスト(各エージェントの ID と説明を含む)を受け取ります。ルート エージェントは、これらの説明を評価して、ユーザーの質問に回答できるデータ エージェントを決定します。 ヒント: ルート エージェントがビジネス ユーザーにプロジェクト ID の入力を求めないように、ルート エージェントのカスタム システム指示にターゲット PROJECT_ID を含めます。 |
|
(または |
projects.locations.dataAgents.get
|
特定のデータ エージェントのメタデータとコンテキストを検査します。ルート エージェントは、エージェントの説明だけでは複雑なプロンプトをルーティングできない場合に、ターゲット AGENT_ID を渡して、接続された BigQuery テーブル、システム指示、用語集、検証済みクエリなどの構成の詳細を取得します。 |
chat
|
projects.locations.chat
|
会話型クエリの実行プロキシとして機能します。検出されたデータ エージェントにクエリを実行するには、ルート エージェントが、エージェントの完全なリソース名( |
データベース向け MCP ツールボックス
会話型分析 API には、オープンソースの データベース向け MCP ツールボックス サーバーからアクセスすることもできます。このサーバーは、会話型分析 API の chat メソッドを公開する、MCP 互換の事前構築済みツールを提供します。
bigquery-conversational-analytics: BigQuery データソースのchatメソッドをラップします。looker-conversational-analytics: Looker データソースのchatメソッドをラップします。
MCP は、会話型分析 API の個別の実行モデルではなく、分析機能をツールとして MCP 互換クライアントに公開する相互運用性レイヤです。
スタンドアロン アーキテクチャと ADK アーキテクチャの MCP 実装パターン
MCP は、次のパターンで実装できます。
| パターン | 詳細 |
|---|---|
| スタンドアロン MCP(ADK なし) |
データベース向け MCP ツールボックス サーバーをスタンドアロン サーバーとして使用して、MCP 準拠のクライアントに接続します。このパターンは、次のタスクでよく使用されます。
|
| ADK 内の MCP |
ADK フレームワークには、MCP サーバーをエージェント ワークフローに統合するための次のメカニズムが用意されています。
|
また、FastMCP フレームワークを使用して MCP サーバーを構築し、ADK フレームワークで構築されたツールを MCP 準拠のクライアントに公開することもできます。この方法により、ADK エージェントを他のエコシステムでツールとして使用できるようになります。
アプリケーションの特定のアーキテクチャ要件を満たす統合パターンを選択します。
BigQueryToolsetやDataAgentToolsetなどの組み込みの Agent Development Kit(ADK)ツールセットを使用すると、外部サーバーに依存することなく、より緊密な統合を実現できます。このアプローチは、ADK フレームワーク内に完全に存在するシステムに最適です。- MCP ツールボックスのツールを使用すると、MCP 準拠のクライアント間で相互運用性が実現します。このアプローチは、複数のコンシューマ アプリケーションまたはサードパーティ IDE にサービスを提供する必要があるデータツールに最適です。
水平方向のオーケストレーション(A2A)
Agent-to-Agent(A2A)プロトコルは、異なるシステム上の特化型エージェントが、カスタム統合コードを必要とせずに安全に通信し、連携できるようにするオープン スタンダードです。
システムがスケールするにつれて、組織は、異なるフレームワークやクラウド インフラストラクチャ上に構築された複数の専門エージェントをデプロイすることがよくあります。A2A は、これらの自律型エージェントに共通のメッセージング層を確立します。カスタム API を使用する代わりに、各エージェントはエージェント カードを公開します。これは、エージェントの機能、サポートされているデータ形式、セキュリティ要件を詳しく説明する、検出可能なプロファイルです。
中央オーケストレーターまたはピア エージェントが分析データを必要とする場合、構造化された A2A メッセージングを介して、データ エージェントにタスクを安全に委任します。データ エージェントはリクエストを自律的に処理して結果を返します。これにより、実行ロジックがリクエスト元から切り離されます。
A2A プロトコルを使用してエージェント カードを検出し、メッセージを送信し、構造化アーティファクトをストリーミングする方法については、A2A を使用してデータ エージェントをオーケストレートするをご覧ください。
統合パターンを選択する
次の表で、各統合パターンの複雑さ、ガバナンス、機能を比較します。
複雑さのレベルは次のように定義されます。
- 低: 最小限のカスタムコードを必要とし、事前構築済みのユーザー インターフェースまたはツールに依存するパターン。
- 中: カスタム フロントエンド開発と API または SDK の統合が必要だが、複雑なバックエンド オーケストレーション インフラストラクチャを回避するパターン。
- 高: フルスタック アプリケーション開発、会話状態管理、複数の認証レイヤ、または中間オーケストレーター インフラストラクチャを必要とするパターン。
- 変動: 選択した基盤となる統合方法によって複雑さが異なるパターン。
| 統合パターン | 複雑さ | カスタマイズ | Agent Governance | アクセス制御 | マルチエージェント | ストリーミング | ポータビリティ |
|---|---|---|---|---|---|---|---|
| Looker iframe 埋め込み | 低 | 低 | Looker を通じて管理 | Looker | いいえ | 組み込み | Looker のみ |
| Looker API と SDK | 中 | 高 | Looker を通じて管理 | Looker | いいえ | 組み込み | Looker のみ |
| Looker ソースを使用した会話型分析 API | 場合によって異なる | 高 | API を通じて管理 | Looker と IAM | ○ | ○ | すべての Google Cloud サービス |
| 単一エージェント(直接 API) | 中 | 高 | API を通じて管理 | IAM | いいえ | はい(サポート対象) | すべての Google Cloud サービス |
| カスタム オーケストレーター | 高 | 非常に高い | API を通じて管理 | IAM | 手動 | 手動 | すべての Google Cloud サービス |
BigQueryToolset(ADK)を使用したスキーマ駆動型 |
低 | 中 | なし(スキーマ推論) | IAM | はい(ADK) | いいえ(ブロック) | ADK エコシステム |
DataAgentToolset(ADK)で管理 |
低 | 中 | API を通じて管理 | IAM | はい(ADK) | いいえ(ブロック) | ADK エコシステム |
| カスタム ストリーミング サブエージェント(ADK) | 高 | 非常に高い | API を通じて管理 | IAM | はい(ADK) | はい(カスタム) | ADK エコシステム |
| スタンドアロン MCP | 中 | 中 | なし(スキーマ推論) | IAM | いいえ | いいえ | 任意の MCP クライアント |
| ADK 内の MCP | 中 | 高 | なし(スキーマ推論) | IAM | はい(ADK) | いいえ | ADK クライアントと MCP クライアント |
| A2A プロトコル | 高 | 高 | フレームワークに依存 | IAM | ○ | ○ | クロス プラットフォーム |
次のステップ
- Conversational Analytics API のアーキテクチャと主なコンセプトについて学習する。
- データ エージェントの状態管理と、API が会話コンテキストを管理する方法を理解する。
- データソースの認証と接続を行う方法を確認する。
- HTTP を使用してエージェントを作成して構成する方法を学習する。
- Python を使用してエージェントを作成して構成する方法を学習する。
- 作成されたコンテキストでエージェントの動作をガイドする方法を学習する。
- IAM による Conversational Analytics API のアクセス制御について理解する。
- CMEK を使用してデータ エージェントと会話を保護する方法を確認する。
- A2A でデータ エージェントをオーケストレートする方法を確認する。
- Looker データソースのエージェント レスポンスをレンダリングする方法を確認する。