会話型分析の概要

BigQuery の会話型分析では、自然言語を使用してデータについてエージェントとチャットできます。データに関する回答を得るには、次の操作を行います。

  • 選択したテーブル、ビュー、グラフ、ユーザー定義関数(UDF)などの一連のナレッジソースに対して、データ コンテキストとクエリ処理手順を自動的に定義するデータ エージェントを作成します。
  • 必要に応じて、カスタム テーブルとフィールドのメタデータ、データを解釈してクエリするためのエージェントへの指示、検証済みクエリ(以前はゴールデン クエリと呼ばれていました)を作成して、特定のユースケースの質問に対してデータ エージェントが効果的に回答するように構成できます。

エージェントをカスタマイズする前に、エージェントが作成するコンテキストと手順をまず使用することをおすすめします。

エージェントに提供するコンテキストと指示の例を次に示します。

  • コンテキスト。販売分析用のデータ エージェントは、「トップ パフォーマー」が最も多くの取引を成立させた販売担当者ではなく、最も収益の高い販売担当者を指すことを理解するように構成できます。
  • 命令。データ エージェントに、「傾向」について質問された場合は常に最新の四半期にデータをフィルタするよう指示したり、デフォルトで結果を「商品カテゴリ」でグループ化するよう指示したりできます。

データ エージェントを作成したら、それらと会話して、自然言語で BigQuery データに関する質問をすることができます。また、1 つ以上のデータソースとの直接会話を作成し、基本的な単発の質問の答えをすぐに得ることもできます。

会話型分析は Gemini for Google Cloud を基盤としており、一部の BigQuery AI 関数と ML 関数をサポートしています。詳細については、BigQuery AI と ML のサポートをご覧ください。

Gemini for Google Cloud がデータを使用する方法とタイミングに関する説明をご覧ください。

データ エージェント

データ エージェントは、1 つ以上のナレッジソースと、そのデータを処理するためのユースケース固有の指示のセットで構成されています。データ エージェントを作成するときに、次のオプションを使用してデータ エージェントを構成できます。

  • データ エージェントで、テーブル、ビュー、グラフ、UDF などのナレッジソースを使用します。ボーダーレスな Lakehouse テーブルをソースとして接続することもできます。詳細については、自然言語を使用して Lakehouse テーブルにクエリを実行するをご覧ください。
  • 特定のユースケースに最適な形でデータを記述するカスタム テーブルとフィールドのメタデータを提供します。
  • データの解釈とクエリ処理に関する指示を提供します。たとえば、次のものを定義します。
    • フィールド名の類義語とビジネス用語
    • フィルタリングとグループ化の最も重要なフィールドとデフォルト
  • データ エージェントがエージェントの回答構造を形成し、組織で使用されるビジネス ロジックを学習するために使用できる検証済みクエリを作成します。検証済みクエリは、以前はゴールデン クエリと呼ばれていました。検証済みのクエリでは、サポートされている BigQuery AI 関数と ML 関数を使用でき、クエリ パラメータをサポートしています。
  • エージェントごとに BigQuery カスタム用語集の用語を作成するか、Knowledge Catalog からビジネス用語集の用語をインポートします。これらの用語は、エージェントがユーザー プロンプトを解釈するのに役立ちます。各タイプを使用するタイミングについては、用語集の用語を作成または確認するをご覧ください。

データ エージェントを管理する

Google Cloud コンソールの [エージェント カタログ] タブで、次の種類のデータ エージェントを作成、管理、操作できます。

  • 各 Google Cloud プロジェクトの事前定義されたサンプル エージェント。
  • 下書き、作成、公開済みのエージェントのリスト。
  • 他のユーザーが作成して共有したエージェントのリスト。

詳細については、データ エージェントを作成するをご覧ください。

Conversational Analytics API や データポータル など、データ エージェントをサポートするプロジェクト内の他のサービスは、BigQuery で作成したデータ エージェントにアクセスできます。 Google Cloud コンソールで作成されたエージェントには、Conversational Analytics API を使用して呼び出すことでもアクセスできます。

会話

会話とは、データ エージェントまたはデータソースとの永続化されたチャットです。テーブル フィールド名を指定したり、データのフィルタ条件を定義したりすることなく、「売上」や「最も人気がある」といった一般的な言葉を使用してデータ エージェントにマルチパートの質問をすることができます。PDF などのオブジェクトにあるデータについて質問することもできます。エージェントは、レスポンスを構築するときに、クエリするデータソースを特定し、テーブル パーティションや検索インデックスなどの最適化を利用できます。

チャットで返信されたレスポンスには、次の機能があります。

  • 質問に対する回答(テキスト、コード、画像(マルチモーダル))。回答には、サポートされている BigQuery AI 関数と ML 関数を含めることができます。
  • 必要に応じてグラフを生成しました。
  • 結果の背後にあるエージェントの推論。
  • 使用されたエージェントやデータソースなど、会話に関するメタデータ。

データソースとの直接会話を作成すると、Conversational Analytics API は、データ エージェントから提供されるコンテキストと処理の指示を使用せずにユーザーからの質問を解釈します。そのため、直接会話の結果は正確さが低い可能性があります。正確さが求められる場合は、データ エージェントを使用してください。

BigQuery で会話を作成して管理するには、Google Cloud コンソールを使用します。詳細については、会話でデータを分析するをご覧ください。

BigQuery AI と ML のサポート

会話分析は、データ エージェントやデータソースとのチャットに対する応答、および作成した検証済みの SQL クエリで、次の AI 関数と ML 関数をサポートしています。

生成 AI クエリを実行するには、必要な権限が必要です。

エージェントは、自律型エンベディング生成が有効になっているテーブルでのみ AI.SEARCH 関数を使用します。それ以外の場合、エージェントは AI.SIMILARITY 関数を使用します。この関数では、リアルタイムのエンベディング生成が必要です。

ユースケース

サポートされている機能を有効にするには、次の方法で使用します。

  • エージェントを作成して検証済みのクエリを追加する場合(定期レポートを作成するデータ サイエンティストなど)、検証済みのクエリでサポートされている AI 関数を使用して、デフォルトを記述し、レポートを自動化できます。
  • エージェントにデータに関する概要レベルの質問を会話形式で、またはキーワードを使用して検証済みのクエリで行うと、エージェントは質問に対する回答として SQL を生成します。

次の表に、AI 関数または ML 関数の使用を有効にする 1 回限りのプロンプトの例を示します。

ユースケース 使用例 一般公開データセット
予測 「来月の乗車回数を予測して。」 bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
異常検出 「2017 年を基準として、2018 年の 1 日あたりの乗車数の外れ値を検出して。」 bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
主な推進要因 「2017 年から 2018 年にかけての乗車数の変化の主な要因を特定してください。」 bigquery-public-data.austin_bikeshare.bikeshare_trips
LLM テキスト生成 「『スポーツ』カテゴリの各記事について、本文の列を 1 ~ 2 文で要約してください。」 bigquery-public-data.bbc_news.fulltext
セマンティック フィルタリング 「テクノロジー カテゴリの記事で、人工知能のブレークスルーについて説明している記事をフィルタして見つけて。」 bigquery-public-data.bbc_news.fulltext
セマンティック スコアリング 「エンタメ カテゴリの記事について、ポジティブな感情の度合いを示す評価を付けてください。」 bigquery-public-data.bbc_news.fulltext
セマンティック分類 「各レビューに、レビュー担当者の主な焦点(演技、プロット、撮影、演出、その他)のタグを付けます。」 bigquery-public-data.imdb.reviews
セマンティック検索 「『緊張感のある心理スリラー』に最も近い上位 5 件のレビューを探して」 bigquery-public-data.imdb.reviews
セマンティック集計 「『イングリッシュ・ペイシェント』のレビューを要約して」 bigquery-public-data.imdb.reviews
予測モデリング 「ペンギンの体重を予測する」 bigquery-public-data.ml_datasets.penguins
変化ポイントの検出 「毎日の移動の転換点を検出します。」 bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
季節性分析 「2017 年の 1 日あたりの旅行の季節性パターンを分析してください。」 bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
傾向分析 「2017 年の 1 日あたりの乗車数の長期的な傾向を分析して。」 bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
データのプロファイリング 「テーブルをプロファイリングして、データの不整合がないか確認する」 bigquery-public-data.ml_datasets.census_adult_income
相関分析 「体重は、フリッパーの長さ、くちばしの長さ、くちばしの深さとどのように相関していますか?」 bigquery-public-data.ml_datasets.penguins

分析タスクのサポート

会話分析は、マーケットバスケット分析(関連ルール学習とも呼ばれます)をサポートしています。これは、購入パターンを明らかにするために使用される手法です。この分析では、1 回の取引で一緒に購入されることが多い商品間の関係を特定します。

たとえば、bigquery-public-data.iowa_liquor_sales.sales テーブルをデータソースとする会話で、次のような質問をすることができます。

What are the best product bundling opportunities based on data from 2025?

会話分析では、組み込みの SQL テンプレートを使用して、レバレッジ、サポート、信頼度、リフトの指標を含む正確なレスポンスを返します。

グラフのサポート

会話分析では、データソースとしてグラフを使用できます。グラフに関する質問をすると、エージェントは質問に回答するためのクエリを作成します。グラフのラベルとプロパティで定義した 説明と類義語を使用して、結果の品質を向上させることができます。エージェントは、グラフで定義されたメジャーを利用して、マルチレベルの集計を実行することもできます。レスポンスにグラフパスが含まれている場合は、グラフの可視化が提供されます。

グラフスキーマと質問の内容に応じて、エージェントは Graph Query Language(GQL)または SQL の GRAPH_EXPAND テーブル値関数を使用してグラフをクエリします。GQL クエリには、BigQuery Enterprise エディションまたは Enterprise Plus エディションの予約が必要です。オンデマンド料金を使用するプロジェクトでは、GQL クエリがエラーで失敗します。GRAPH_EXPAND 関数を含むクエリはオンデマンド料金で使用できますが、この関数はすべてのタイプのグラフをサポートしていません。要件と制限事項については、GRAPH_EXPAND をご覧ください。

たとえば、BigQuery のエージェント ページの Look Graph サンプル エージェントを使用して、bigquery-public-data.thelook_ecommerce.graph グラフについて次のような質問をすることができます。

  • Which product is most popular among 25-year-olds?
  • Show me the connection between bow tie orders and distribution centers

セキュリティ

BigQuery の会話型分析へのアクセスは、Conversational Analytics API の IAM ロールと権限を使用して管理できます。特定の操作に必要なロールについては、データ エージェントに必要なロールと会話に必要なロールをご覧ください。

会話分析には、次のセキュリティ機能と保護機能が含まれています。

  • アクセスできるのは、アクセス権を持つデータとリソースのみです。
  • VPC-SC セキュリティ管理が適用されます。
  • 書き込みオペレーションを実行できず、DML クエリを実行できません。
  • リモート関数を実行できません。
  • 明示的に選択したナレッジソースにのみアクセスできます。
  • 会話履歴は自分のみと共有されます。他のユーザーと共有することはできません。
  • データ エージェントを作成する場合は、追加するすべてのナレッジソースに対してクエリを実行する権限が必要です。

ロケーション

会話分析は、エージェントと会話リソースの保存を管理する 3 つのロケーションと、ML 処理に使用されるロケーションをサポートしています。

  • US MREP
  • EU MREP
  • グローバル

エージェントと会話を作成する際には、次のデフォルトの動作が適用されます。

  • すべてのナレッジソースが米国のリージョンから取得されている場合は、米国の MREP が使用されます。
  • すべてのナレッジソースが EU のリージョンから取得されている場合は、EU MREP が使用されます。
  • それ以外の場合は、グローバル ロケーションが使用されます。

エージェントを作成するときに、必要に応じて別のロケーションを選択できます。エージェントを保存した後に、そのロケーションを変更することはできません。

2026 年 6 月 4 日より前に作成されたエージェントは、グローバル ロケーションにあります。

料金

データ エージェントを作成し、データ エージェントまたはデータソースと会話するときに実行されるクエリに対して、BigQuery のコンピューティング料金が発生します。詳細については、エージェントの料金をご覧ください。

ベスト プラクティス

会話分析を使用する際は、次のベスト プラクティスに従ってください。

  • テーブルをデータソースとして追加する前に、テーブルに対してデータ クリーニングを実行します。

  • 関連するテーブルをビューで結合し、そのビューをデータソースとして使用します。エージェントにデータの正しい結合方法を判断させるのではなく、

  • データのプロファイル スキャンを実行します。

  • エージェントの範囲を設定します。スコープが広すぎるエージェントは、指示の競合、曖昧な出力、パフォーマンスの不整合が発生する可能性があります。エージェントで 20 個を超えるデータソースが必要な場合、異なる指標定義を持つ複数のチームで使用される場合、あるタイプの結果を優先して別のタイプの結果を犠牲にする場合は、追加のエージェントの作成を検討してください。

  • エージェントにコンテキストを提供します。コンテキストのタイプには、次の優先順位を付けます。

    1. 検証済みクエリ。ユーザー プロンプトと一致したときに実行される決定論的 SQL。
    2. 用語集。列をセマンティック コンテキストにリンクする用語の定義。
    3. エージェントの手順。自然言語で記述されたグローバルな動作ルールと定義(会計カレンダーの定義や形式設定ルールなど)。
  • テーブルにテーブルと列の説明を追加します。

  • Knowledge Catalog と BigQuery カスタム用語集で用語集の定義を重複させないでください。

  • プロジェクト レベル、ユーザーレベル、クエリレベルで利用上限を設定して、エージェントの費用を管理します。

  • 会話で効果的な質問をする。

  • データ エージェントと会話におけるデータの保持と削除の仕組みを理解する。

制限事項

エージェントに追加できるナレッジ ソースは 100 個までです。

クエリ、会話、データ、可視化の制限事項について詳しくは、会話分析 API の既知の制限事項をご覧ください。

動的共有割り当て

Gemini Enterprise Agent Platform の動的共有割り当て(DSQ)は、Gemini モデルの容量を管理します。従来の割り当てとは異なり、DSQ では、モデル スループットのプロジェクトごとの固定上限なしで、大規模な共有リソースプールにアクセスできます。

レイテンシなどのパフォーマンスは、システム全体の負荷によって異なる場合があります。共有プール全体で需要が高い場合、一時的な 429 Resource Exhausted エラーが発生することがあります。これらのエラーは、共有プールの容量が一時的に制限されていることを示しますが、プロジェクトの特定の割り当て上限に達したことを示すものではありません。容量を確認するには、少し遅延してからリクエストを再試行します。

エージェントが生成したクエリを特定して分析する

データ エージェントによって実行される BigQuery ジョブには、特定のラベルが含まれます。これらのラベルを使用すると、エージェントのジョブを識別、フィルタ、分析できます。

これらのラベルは、次のタスクに使用できます。

データ エージェントのラベルを特定する

BigQuery は、会話型分析によって実行されるジョブにラベルを適用します。これらのラベルは、ジョブ リソースの 64 個のラベル上限にカウントされます。フィルタリングやその他の分析用のラベルを取得するには、Google Cloud コンソールでラベルを表示します。データ エージェントにカスタムラベルを適用することもできます。カスタムラベルを使用してシステム生成ラベルをオーバーライドすることはできません。

データ エージェントのラベルを表示する手順は次のとおりです。

  1. Google Cloud コンソールで、ジョブの詳細を表示します。

  2. [クエリジョブの詳細] ペインで、[ラベル] セクションを見つけて、次のラベルを探します。

    • ca-bq-job: true は、会話分析を使用してジョブが実行されたことを示します。
    • data-agent-id: DATA_AGENT_ID は、ジョブがデータ エージェントによって実行されたことを示します。値は、データ エージェント リソース名から抽出されたリソース ID セグメントです。
    • conversation-id: CONVERSATION_ID は、ジョブが会話に関連付けられていることを示します。値は、会話リソース名から抽出された ID セグメントです。

エージェント生成のジョブを分析する

このラベルを使用して、エージェントが生成したジョブを分析します。たとえば、データ エージェントによって実行されたジョブの数を確認するには、INFORMATION_SCHEMA.JOBS ビューに対して次のクエリを実行します。

SELECT
  COUNT(*) AS job_count
FROM
  `PROJECT_ID`.`region-REGION`.INFORMATION_SCHEMA.JOBS
WHERE
  EXISTS (
    SELECT 1
    FROM UNNEST(labels) AS label
    WHERE label.key = 'ca-bq-job' AND label.value = 'true'
  );

次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • REGION: ジョブが実行されるリージョン(us や eu など)。

次のステップ