BigQueryのConversational Analytics(対話型分析)を徹底解説

記事タイトルとURLをコピーする

G-gen の杉村です。BigQuery には Conversational Analytics(対話型分析)機能が備わっており、データに関する質問を生成 AI に対してチャット形式で投げかけることができます。この機能を使うことで、SQL の知識がなくても、自然言語でデータをクエリすることができます。

概要

Conversational Analytics とは

BigQuery の Conversational Analytics(対話型分析)、あるいはデータエージェント(data agents)とは、日本語や英語などの自然言語で BigQuery のデータを抽出できる、生成 AI 機能です。

チャット形式で生成 AI に自然言語で質問をすることで、SQL が自動生成され、テキストや図表による回答が得られます。

BigQuery の Conversational Analytics

Conversational Analytics は、以下のような質問に答えることができます。

  • 「〇年〇月の〇〇カテゴリの商品の売上金額を集計して」
  • 「〇年〇月から〇年〇月までの間の、〇〇の在庫量の変動をチャートにして」

当機能は Google Cloud の Web コンソール画面に組み込まれており、追加ライセンス等は不要です。

当機能は、管理者側でデータエージェントと呼ばれる設定を事前に作成し、利用者向けに権限を付与して公開することで使用できます。このように、エージェントの機能や特性を管理する側と、それを利用する側で役割の分担ができることも特徴です。

データエージェントの動作

使用イメージ

架空の文房具販売店の「注文履歴」「商品マスタ」「顧客マスタ」テーブルを登録したデータエージェントを使って、当機能の使用例を紹介します。

データエージェントとのチャット画面で、2026年2月の、売れ行きトップ10の商品をリストしてください。 と質問します。

質問を入力

データエージェントは、テキストや図表を交えて質問に回答します。バックエンドでは、生成 AI が日本語による質問を SQL に変換して BigQuery に実行していますが、利用者はそれを意識する必要はありません。

データエージェントによる回答

チャットでは、前の回答を踏まえて、続けて質問ができます。

追加の質問にも回答できる

この例では事前にデータエージェントに複数のテーブルを登録してあるため、バックエンドではそれらのテーブルが結合(join)されています。この例では、1つのトランザクションテーブル(orders)と2つのマスタテーブル(customersitems)が結合されています。

エージェントに登録されているテーブル

組織における使用イメージは、例えば以下のようなものとなります。

  • 管理者側(クラウド管理者やデータエンジニア、データスチュアードなど)がデータエージェントを作成し、ソースデータやアクセス制御を定義する
  • 使用者はデータエージェント選択画面の URL(https://console.cloud.google.com/bigquery/agents_hub)へアクセス。エージェントを選択して対話型分析を使用開始する

エージェント選択画面

なお、データエージェントとのチャット画面は Google Cloud コンソールの一部ですので、Google Cloud コンソールにログインして「BigQuery > エージェント」と遷移することでもアクセスできます。

料金

BigQuery の Conversational Analytics 機能は、2026年6月現在、無料で使用できます。ただし2026年6月現在、ドキュメントには、2026年9月30日以降には追加料金が発生する可能性が示唆されています。

なお Conversational Analytics 機能自体の課金の有無に関わらず、BigQuery へのクエリ料金は通常どおり発生します。後述のとおり、意図しない大規模スキャンによる突発課金を防ぐために、事前にエージェントに最大バイト数を指定することができます。

他の手法

BigQuery に対して、自然言語によってクエリを行う手法は、当記事で紹介する Conversational Analytics 以外にも複数あります。以下の記事も参照してください。

blog.g-gen.co.jp

データポータルとの統合

Google が無償で提供する BI ダッシュボードツールであるデータポータル(英名 Data Studio、旧称 Looker Studio)からは、BigQuery の Conversational Analytics を呼び出すことができます。

データ管理者が BigQuery でデータエージェント(後述)を定義し、それを全社の従業員がデータポータルの会話型分析画面から参照する、といった利用方法が可能です。全従業員が自然言語で BigQuery のデータをクエリできる状態を容易に作り上げることができます。

なおこの利用にあたり、データポータル Pro ライセンスは不要です。

データポータルから呼び出した Conversational Analytics

データエージェント

データエージェントとは

BigQuery の Conversational Analytics 機能を使用するには、まず管理者がデータエージェントを作成します。データエージェントは AI チャットの管理単位です。

データソースとなるテーブルの登録やカスタムメタデータの定義、利用者への権限付与などを、データエージェントの単位で行います。

使用者が Google Cloud コンソールのデータエージェント一覧画面にアクセスし、一覧からエージェントを選択することで、チャットが開始されます。

設定項目

データエージェントには、以下のような設定項目があります。

名称 説明
ナレッジソース データソースとなるテーブル、ビュー、UDF(ユーザー定義関数)。複数選択できる
手順(Instructions) エージェントに組み込むプロンプト(システムインストラクション)。守らせる手順やルールなどを自然言語で記述する
検証済みクエリ AI が参考にするための、ビジネスロジックを反映したゴールデンクエリ。想定質問とそれに対する SQL を記述する
用語集 ユーザープロンプト理解のため AI が参考にする Dataplex 用語集
課金される最大バイト数 BigQuery の費用スパイクを防止するため、最大バイト数を設定できる

エージェント編集画面

公開とアクセス制御

エージェントを作成したり編集したあと、エージェントを公開することで、設定が使用者に反映されます。公開せずに保存のみを行い、管理者のみに反映された状態にしておくこともできます。

エージェントには IAM によるアクセス制御が適用されるため、特定の従業員にだけ公開できます。エージェントに質問するユーザーは、エージェントに対する権限に加え、データソースとなるテーブルやビュー等に対する閲覧権限も必要です。

データインサイトの自動生成

データエージェントのナレッジソースとしてテーブルを追加すると、自動的にデータインサイト(data insight)が生成されます。このメタデータは、AI によってデータの理解に利用されます。

なおデータインサイトは Dataplex Universal Catalog の機能であり、Conversational Analytics 機能を使わない場合でも、単独で使用できます。

BigQuery ML 対応

BigQuery の Conversational Analytics 機能は、BigQuery ML にも対応しています。データエージェントの回答に BigQuery ML 関数の結果を含ませられるほか、検証済みクエリに含ませることもできます。これによって、データエージェントと生成 AI やベクトル検索を組み合わせることができます。

以下は、使用可能な BigQuery ML 関数の一部抜粋です。

  • AI.FORECAST
  • AI.DETECT_ANOMALIES
  • AI.KEY_DRIVERS
  • AI.GENERATE
  • AI.SCORE
  • AI.SEARCH
  • AI.AGG

データエージェントの検証済みクエリに BigQuery ML 関数を使ったクエリを記述しておくことで、AI が関数を使った回答を生成しやすくなります。

精度向上のために

ビジネスロジックの組み込み

データエージェントの精度を向上するには、管理者がエージェントを作成する際に、適切な手順(Instructions)や検証済みクエリDataplex 用語集などをエージェントに登録します。

これにより、組織のビジネスロジックが AI エージェントに組み込まれ、利用者のプロンプト(質問文)が正確に SQL に反映されるようになるほか、質問があいまいでもある程度カバーすることができます。

ただし公式ドキュメントには「カスタムテーブルメタデータやフィールドのメタデータ、検証済みクエリなど、他のコンテキスト機能でサポートされていない方法でコンテキストを改善したりする必要がある場合にのみ、エージェント向けのカスタム指示を作成してください。」と記載されており、まずはメタデータ付与や検証済みクエリの登録を試すべきである、と示唆されています。

メタデータの整備

BigQuery の標準機能として、テーブルやそのフィールドには、テキスト形式の説明(description)を付与できます。テーブルや列のビジネスメタデータを自然言語で付与しておくことで、AI がテーブルやデータを理解することの助けになります。これらのメタデータが正確に付与されていれば、生成される SQL の精度が向上します。

また、データエージェントの設定で、カスタムテーブルメタデータカスタムフィールドメタデータを付与できます。これらはエージェントが使うためにのみ定義されます。ここにメタデータを設定しても、元のテーブルやビュー等のメタデータ設定には影響しません。カスタムメタデータを設定する画面では、どのようなテキストを付与したらよいか、生成 AI(Gemini)による提案も表示されます。

カスタムメタデータの編集画面

参考記事

BigQuery Conversational Analytics の精度向上については、以下の記事で詳細に考察しています。こちらも参照してください。

blog.g-gen.co.jp

運用、セキュリティ、コスト

割り当て(Quota)

当機能はバックエンドで生成 AI モデルの Gemini を使用しています。通常の API 経由の Gemini 呼び出しと同じく、当機能による Gemini 呼び出しも、動的共有割り当て(Dynamic Shared Quota、DSQ)を採用しています。

多くの Google Cloud プロダクトは、Google Cloud プロジェクトごと、あるいはリージョンごとに割り当て(クォータ)が設定されていますが、Gemini API が採用する DSQ では、他のユーザーと共有するプールからリソースが割り当てられ、需要と共有の変動に応じて割り当てが変動します。

これにより、Google 側でリソースが不足すると 429 Resource Exhausted エラーが発生し、一時的に機能が利用できなくなる可能性があります。このエラーメッセージが表示された場合は、需要と共有のバランスが変動するまで待つ必要があります。

データのアクセス制御

データエージェントは、操作するユーザーが権限を持つデータにしかアクセスしません。また、ナレッジソースとして明示的に選んだテーブルや View 以外は参照しません。そのため、BigQuery 側で設定したアクセス制御がそのまま効果を発揮します。

さらに、データエージェントの動作はデータの読み取りに限られ、書き込みや DML による更新、リモート関数の実行は行いません。

個人の使用履歴という観点だと、ユーザーがデータエージェントと行った会話は、個々人の画面にのみ表示され、他のユーザーに共有されません。ただし、BigQuery のジョブ発行履歴は残るため、実行された SQL は記録されます。

コストのガードレール

データエージェントは、質問に応じて自動でクエリを実行します。大きなテーブルの読み込みや、テーブルの結合、AI 関数の頻繁な呼び出しは、クエリのコストを押し上げる要因です。

想定外の高額なクエリを防ぐため、データエージェントには1回のクエリで処理できるデータ量の上限を設定できます。この値は 10,485,760 バイト(10 MB)以上で指定します。ここで設定する上限は、1回のクエリあたりに処理するデータ量に働きます。データエージェントはクエリの実行前に処理量を見積もり、上限を超えるクエリは課金される前にブロックします。

設定した上限を超えると、データエージェントの回答には、次のようなメッセージが表示されます。

Request cannot be completed at this time. Try again later.
  
Error:
Resource has been exhausted (e.g. check quota).

また、BigQuery のジョブの詳細では、設定した上限値を含む次のエラーを確認できます。

Query exceeded limit for bytes billed: 10485760. 190840832 or higher required.

データエージェントに上限値を指定しない場合は、1回あたりの上限ではなく、プロジェクトの「1日あたりのクエリ使用量(Query usage per day)」が上限として働きます。これは BigQuery のカスタムクォータで、1日に処理したデータ量の累計を制限します。たとえば1日あたりの上限を 100 MB に設定した場合、50 MB と 40 MB のクエリは続けて実行できますが、累計がこの上限を超える次のクエリはエラーになります。なお、カスタムクォータを設定していない場合、このクエリ使用量に既定の上限はありません。

日次の上限を超えると、データエージェントの回答には、次のようなメッセージが表示されます。

Request cannot be completed at this time. Try again later.
  
Error:
Resource has been exhausted (e.g. check quota).

また、BigQuery のジョブの詳細では、超過したクォータ名を含む次のエラーを確認できます。

Custom quota exceeded: Your usage exceeded the custom quota for QueryUsagePerDay, which is set by your administrator.

想定外のコストを避けるため、1回のクエリあたりの上限を明示的に設定するか、プロジェクトに「1日あたりのクエリ使用量」のカスタムクォータを設定しておくことを推奨します。

杉村 勇馬 (記事一覧)

執行役員 CTO

元警察官という経歴を持つ IT エンジニア。クラウド管理・運用やネットワークに知見。AWS 認定資格および Google Cloud 認定資格はすべて取得。X(旧 Twitter)では Google Cloud や Google Workspace のアップデート情報をつぶやいています。