2026年2月13日

【Google Cloud】BigQueryで始める会話型データ分析― Conversational Analytics API / Data Agent / ADK連携まで


Content
多くの現場では、データの内容や業務背景は分かっているものの、SQLが書けないために自分で分析できないという状況が続いています。その結果、ちょっとした確認でも分析担当者に依頼が必要になり、データをCSVで出力してExcelで加工するといった作業から抜け出せないケースも少なくありません。

こうした課題に対するアプローチが会話型分析(Conversational Analytics)です。自然言語で質問すると、裏側でSQLを生成・実行し、結果を分かりやすく返してくれる仕組みで、実はこの機能自体はConversational Analytics APIとして以前から提供されていました。ただし、これまではAPI実装や特定のツール経由での利用が中心で、BigQueryの画面から直接使うことはできませんでした。今回、BigQueryのUI上で会話型分析(Conversational Analytics)を利用できるようになったことで、エンジニア以外の人でもデータに「質問する」体験が現実的になってきています。

本記事では初学者/非エンジニアの方向けに、Conversational Analyticsの概要の紹介、BigQueryでの使い方の紹介、ADK(Agent Development Kit)からの呼び出し方法を紹介いたします。

※本記事は2026年2月時点の情報をもとに執筆しています。現在、BigQueryの会話型分析(Conversational Analytics)はプレビュー機能として提供されています。

Conversational Analyticsとは

Conversational Analytics とは、自然言語でデータに質問し、その意図に応じた分析結果を返す仕組みです。

BigQuery の Conversational Analytics では、ユーザーが SQL を書かなくても、「売上の推移を見たい」「先月と前年同月を比較したい」といった問いを、そのまま言葉で投げかけることができます。

これは単にユーザーの指示を SQL に変換する翻訳機能ではありません。
ユーザーの質問の意味を理解したうえで、
どのテーブルやカラムを使うべきか、どのような集計や比較を行うべきかを判断し、必要な分析処理を組み立てて実行します。

その結果、ユーザーはSQLを作成、実行する必要がなく、会話するようにデータから答えを得ることができます。

BigQueryでの会話型分析(Conversational Analytics)の使い方

ここでは、BigQuery で提供されている会話型分析(Conversational Analytics)の基本的な使い方を紹介します。
本記事では、以下の 3 つのステップに分けて進めていきます。

  1. サンプルエージェントを利用して、エージェントと会話する

  2. データストアと直接会話してみる

  3. データエージェントを作成してみる

 

画面構成の紹介

まずは、BigQuery コンソール上の画面構成を確認します。

BigQuery のコンソール画面左側のナビゲーションから 「エージェント」 を選択すると下の画像のような画面が表示されます。

画面中央上部の 「会話」 では、エージェントやデータソースとの会話履歴を確認できます。

また 「エージェントカタログ」 では、以下のようなエージェントが一覧表示されます。

  • 各 Google Cloud プロジェクト向けに用意されたサンプルエージェント

  • 自分自身で作成したエージェント

  • 他のユーザーが作成し、共有されているエージェント

 

1. サンプルエージェントを利用して、エージェントと会話する

まずは、用意されているサンプルエージェントを使って、実際に会話型分析を体験してみます。

ここでは、サンプルエージェントの『The Look Ecommerce』エージェントを利用します。このエージェントはデータソースとしてbigquerypublicdata.thelook_ecommerceがあらかじめ接続されており、後述する「手順」や「検証済みのクエリ」なども事前に設定されています。サンプルエージェントは会話や構成の確認は可能ですが、構成の編集はできません。

会話を行いたいエージェントを選択すると、そのまま会話の画面に遷移します。

「どのカテゴリーやブランドが最も収益に貢献しているかを特定して」と質問してみたところ、下記のように集計結果だけでなく、可視化された結果まで返してくれました!

画面内で赤枠で示している 「理由を表示」 をクリックすると、英語ではありますが、エージェントがどのようなステップで結果を導き出したかを確認できます。

また 「概要」 セクションでは、生成・実行されたクエリの詳細を確認することも可能です。

2. データストアと直接会話をしてみる

次に、データエージェントを作成せず、データストアと直接会話する方法を試してみます。
この方法では、データソースを選択するだけで、自然言語による分析指示を行うことができます。

ただし、データエージェントを作成した場合と異なり、事前に定義したコンテキストや処理指示(手順・用語集など)を考慮せずに質問が解釈されるため、複雑な分析では精度が下がる可能性がある点には注意が必要です。

データストアと直接会話する場合は、画面の 「データソース」 を選択し、利用したいデータソースを指定したうえで 「会話の作成」 ボタンを押すだけで会話を開始できます。

今回は、日本の各都道府県の人口データが格納されたテーブルを利用し、「2023年から2024年にかけて人口が増加している都道府県を教えて」と質問してみました。

下記の画像のように、要約と表形式のデータに整理された結果が返ってきました。この程度のシンプルな集計・比較であれば、データエージェントを作成しなくても十分に対応できそうです。

 

3. データエージェントを作成してみる

最後に、データエージェントを作成してみます。

最初の画面に戻り、「+新しいエージェント」 ボタンを押すと、エージェント名やナレッジソース(テーブルやビューなど)を指定する画面が表示されます。

ここで、以下の項目を入力します。

  • エージェント名

  • エージェントの説明

  • ナレッジソース

ナレッジソースを追加すると、画面下部に設定項目が表示され、必要に応じて詳細な設定を行うことができます。

エージェントからの回答精度が十分でない場合は、以下の項目を設定することで 分析精度の向上が期待できます

 

手順:

「売上に関する質問では sales テーブルを使用する」「日付指定がない場合は月単位で集計する」といった 分析の進め方に関する指示 や、テーブル間の関係性、分析において重要なカラムなどをここに記載します。これにより、エージェントが質問の意図をより正確に理解し、期待に沿った分析を行いやすくなります。

検証済みクエリ:

「こういう質問が来たら、こういう SQL を書くのが正解」というお手本となる SQL クエリ を登録する項目です。これを設定することで、エージェントが業務上の正解パターンを学習し、組織のルールや集計ロジックに沿った分析を行うことが期待できます。

用語集:

ビジネス用語とカラム名の紐づけや、社内独自の用語・言い換え表現などを登録します。これにより、エージェントがどのカラムを利用すべきか迷うことが減り、自然言語での質問に対する解釈精度が向上します。

 

オプションとして、データエージェントが実行するクエリのサイズ上限 を設定することも可能です。

10,485,760(これ未満の値は設定できずエラーになります)以上の数値を指定することで、意図せず大容量のクエリが実行されることを防ぐことができます。

 

設定が終わったら、画面右上の『保存』あるいは『公開』を押します。

次のADKから呼び出すためには『公開』が必要です。

ADK を使って Data Agent を外部から呼び出す

ここまで、BigQuery の UI 上で Conversational Analytics を使い、データエージェントを作成する方法を紹介してきました。

作成したエージェントはAPIやADK(Agent Development Kit)ツールを利用して外部から呼び出すことができます。

最後に、作成した Data Agent をアプリケーションやスクリプトから呼び出す方法として、Google が提供する ADK を利用する方法を紹介します。

前提:

・実行するローカル環境で、Google Cloud認証済みであること

・ADKからData Agent呼び出しを実行するユーザー/サービスアカウントにBigQueryの読み取り権限や作成したData Agentへのアクセス権限があること

・ADKを実行するためのライブラリがインストール済みであること(”google-adk>=1.24.0″,”google-auth>=2.48.0″,”google-genai>=1.62.0″で実行しています)

 

ADKから作成したData Agentの呼び出しにはData Agents tools for ADKを利用します。

このツールはConversational Analytics APIを活用したデータエージェントの統合を目的としたツールセットです。

Data Agents tools for ADKのページにあるサンプルコードをそのまま利用します。

コードの実行前に、環境変数の設定が必要です。以下は Windows PowerShell での実行例です。プロジェクト名やロケーションはご自身の環境にあわせて設定してください。


$env:GOOGLE_GENAI_USE_VERTEXAI="true"
$env:GOOGLE_CLOUD_PROJECT="project_name"
$env:GOOGLE_CLOUD_LOCATION="us-central1"

またサンプルコード内のcall_agent関数に渡す引数の <PROJECT_ID>と<DATA_AGENT_NAME>をご自身のPROJECT_IDとDATA_AGENT_NAMEに置き換えます。
また質問を自身のエージェントに沿った質問に変更して、実行をします。

実際に実行に利用したコードは下記です。


# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import asyncio

from google.adk.agents import Agent
from google.adk.runners import Runner
from google.adk.sessions import InMemorySessionService
from google.adk.tools.data_agent.config import DataAgentToolConfig
from google.adk.tools.data_agent.credentials import DataAgentCredentialsConfig
from google.adk.tools.data_agent.data_agent_toolset import DataAgentToolset
from google.genai import types
import google.auth

# Define constants for this example agent
AGENT_NAME = "data_agent_example"
APP_NAME = "data_agent_app"
USER_ID = "user1234"
SESSION_ID = "1234"
GEMINI_MODEL = "gemini-2.5-flash"

# Define tool configuration
tool_config = DataAgentToolConfig(
max_query_result_rows=100,
)

# Use Application Default Credentials (ADC)
# https://cloud.google.com/docs/authentication/provide-credentials-adc
application_default_credentials, _ = google.auth.default()
credentials_config = DataAgentCredentialsConfig(
credentials=application_default_credentials
)

# Instantiate a Data Agent toolset
da_toolset = DataAgentToolset(
credentials_config=credentials_config,
data_agent_tool_config=tool_config,
tool_filter=[
"list_accessible_data_agents",
"get_data_agent_info",
"ask_data_agent",
],
)

# Agent Definition
data_agent = Agent(
name=AGENT_NAME,
model=GEMINI_MODEL,
description="Agent to answer user questions using Data Agents.",
instruction=(
"## Persona\nYou are a helpful assistant that uses Data Agents"
" to answer user questions about their data.\n\n"
),
tools=[da_toolset],
)

# Session and Runner
session_service = InMemorySessionService()
session = asyncio.run(
session_service.create_session(
app_name=APP_NAME, user_id=USER_ID, session_id=SESSION_ID
)
)
runner = Runner(
agent=data_agent, app_name=APP_NAME, session_service=session_service
)

# Agent Interaction
def call_agent(query):
"""
Helper function to call the agent with a query.
"""
content = types.Content(role="user", parts=[types.Part(text=query)])
events = runner.run(user_id=USER_ID, session_id=SESSION_ID, new_message=content)

print("USER:", query)
for event in events:
if event.is_final_response():
final_response = event.content.parts[0].text
print("AGENT:", final_response)

call_agent("List accessible data agents in project [PROJECT_ID].")
call_agent("Get information about [DATA_AGENT_NAME].")
call_agent("Ask [DATA_AGENT_NAME] to count the rows in the table.")
call_agent("テーブルにはどんなカラムがありますか?")
call_agent("2024年の東京の人口は何人ですか?")
call_agent("2023年から2024年で人口が増加した都道府県は?")

 

コードを実行するとそれぞれの回答を確認できます。

下記のようにきちんと回答が返ってきており、Data Agentを呼び出しできていることが確認できました!(画像は回答の一部です)

 

まとめ

BigQuery の会話型データ分析を実際に触ってみて、SQL が書けなくても誰でも簡単に分析に参加できる世界が、現実的になってきていると感じました。

非エンジニア・非アナリストでありながら、現場やドメイン知識を持つ人が Data Agent を作成し、自然言語で分析できるようになることで、データ活用の幅は今後ますます広がっていくと考えると、とてもワクワクします。

特に良いと感じたのは、UI 上で用語定義や検証済みクエリなどの設定を調整できる点です。
これにより、データ分析者自身が分析精度を段階的に高めながら、エージェントを育てていけるという体験は、非エンジニアにとって非常に大きな価値があると思いました。

また、ADK(Agent Development Kit)からの呼び出しにも対応しているため、チャット UI にとどまらず、業務アプリケーションやワークフローへの組み込みなど、今後さまざまな活用用途が広がっていく可能性も感じられました。

一方で、分析結果の正確性を AI が 100% 担保することは依然として難しいため、利用者としては SQL を書けなくても、結果の妥当性を判断するための SQL の基本的な知識やデータ構造への理解の重要性は変わらないと感じます。

AI を正しく活用しつつ、人が最終的な判断を行うことで、会話型データ分析はより実用的で信頼できるものになっていくのではないでしょうか。

2026年2月13日 【Google Cloud】BigQueryで始める会話型データ分析― Conversational Analytics API / Data Agent / ADK連携まで

Category Google Cloud

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら