1. 始める前に
「ADK を使用して AI エージェントを構築する」シリーズの第 4 部へようこそ。このハンズオン Codelab では、これまでのセッションで学んだことを組み合わせて、データ アナリスト エージェントを作成します。このエージェントは、データを分析し、貴重な分析情報を生成し、データ分析ワークフローの重要な側面を自動化するように設計されます。
ADK に含まれる強力なツールを使用して、アップロードされたファイルを探索し、Google Cloud BigQuery などのエンタープライズ レベルのデータベースに接続するエージェントを構築します。
この Codelab には、短縮 URL(goo.gle/adk-data-analyst)からもアクセスできます。
前提条件
- 生成 AI のコンセプトに関する基礎知識
- Python プログラミングの基本的なスキルがあり、コマンドラインの使用に慣れている。
- このシリーズの前の Codelab「基盤」と「ツールによる強化」のコンセプトを理解していること。
学習内容
- ADK フレームワークを使用して機能するデータ アナリスト エージェントを構築する方法。
- アップロードされたドキュメントからエージェントがデータを分析できるようにする方法。
- エンタープライズ レベルのデータ分析を行うために、エージェントを BigQuery データベースに接続する方法。
- エージェントのコアロジック(目的や手順など)を定義する手法。
必要なもの
- 動作するパソコンと安定したインターネット接続。
- Google Cloud コンソールにアクセスするためのブラウザ(Chrome など)
- 好奇心と学習意欲がある。
2. はじめに
昨今のデータドリブンな世界では、膨大な量の情報を迅速かつ正確に分析できることがこれまで以上に重要になっています。ただし、有益な分析情報を抽出するプロセスには、多くの場合、SQL などの分野の高度な技術的専門知識が必要となり、意思決定の遅延につながるボトルネックが生じます。このギャップを埋めて、複雑なデータセットを会話をするのと同じくらい簡単に操作できたらどうでしょうか。
AI エージェントは、こうした状況を大きく変える可能性があります。AI エージェントは、ユーザーとデータの間のインテリジェントなインターフェースとして機能し、自然言語の質問を理解して技術的なクエリに変換し、実用的な分析情報を数秒で提供します。
この Codelab では、Agent Development Kit(ADK)を使用して実用的なデータ アナリスト エージェントを構築し、データ分析の未来を体験します。まず、基本的なエージェントを作成し、その機能を段階的に強化していきます。まず、アップロードされたドキュメントから非構造化データを分析するようにエージェントをトレーニングします。次に、強力なエンタープライズ グレードのデータ ウェアハウスである Google Cloud BigQuery に接続して、大規模な実際の医療データセットをクエリして分析します。
このチュートリアルを修了すると、機能する AI アシスタントだけでなく、ルーティン データタスクを自動化し、分析を加速し、自分とチームにとって重要な分析情報へのアクセスを民主化できるエージェントを構築する方法をしっかりと理解できます。
3. Google Cloud サービスを構成する
Google Cloud プロジェクトを作成する
この Codelab の作業をすべて整理し、他のプロジェクトと分離するため、まず新しい Google Cloud プロジェクトを作成します。
- console.cloud.google.com/projectcreate に移動します。
- 必要な情報を入力します。
- プロジェクト名 - 任意の名前を入力できます(例: genai-workshop)。
- Location - [No Organization] のままにします。
- 請求先アカウント - このオプションが表示されたら、[Google Cloud Platform トライアルの請求先アカウント] を選択するか、必要に応じて独自の請求先アカウントを選択します。このオプションが表示されない場合は、次のステップに進みます。
- 生成されたプロジェクト ID をメモしておきます。この ID は後で必要になります。

- 問題がなければ、[作成] ボタンをクリックします。
Cloud Shell を構成する
プロジェクトが正常に作成されたら、次の手順で Cloud Shell を設定します。
1. Cloud Shell を起動する
shell.cloud.google.com に移動します。承認を求めるポップアップが表示されたら、[承認] をクリックします。

2. プロジェクト ID を設定する
replace-with-your-project-id は、上記のプロジェクト作成ステップで取得した実際のプロジェクト ID に置き換えます。Cloud Shell ターミナルで次のコマンドを実行して、正しいプロジェクト ID を設定します。
gcloud config set project replace-with-your-project-id
これで、Cloud Shell ターミナルで正しいプロジェクトが選択されていることがわかります。選択したプロジェクト ID が黄色でハイライト表示されます。

3. 必要な API を有効にする
Google Cloud サービスを使用するには、まずプロジェクトでそれぞれの API を有効にする必要があります。Cloud Shell ターミナルで次のコマンドを実行して、この Codelab のサービスを有効にします。
gcloud services enable \
aiplatform.googleapis.com \
bigquery.googleapis.com
オペレーションが正常に完了すると、ターミナルに Operation/... finished successfully メッセージが表示されます。
4. Python 仮想環境を作成する
次に、プロジェクトの依存関係を管理するための隔離された Python 環境を作成します。
1. プロジェクト ディレクトリを作成し、そのディレクトリに移動します。
mkdir -p ai-agents-adk && cd ai-agents-adk
2. 仮想環境を作成して有効にします。
uv venv --python 3.12
source .venv/bin/activate
ターミナル プロンプトの先頭に(ai-agents-adk)が表示され、仮想環境がアクティブであることを示します。

3. ADK のインストール ページ
uv pip install google-adk --no-cache
5. スターター エージェントを作成する
環境が整ったら、簡単な ADK コマンドを使用して AI エージェントを作成します。
1. エージェントを作成する
ターミナルで、次のコマンドを実行します。
adk create data_analyst_agent
2. エージェントを構成する
エージェントの構成を求めるメッセージが表示されます。以下を選択します。
- モデルを選択してください: 1 を選択します。
gemini-2.5-flash - バックエンドを選択してください: 2 を選択します。
Vertex AI - Enter Google Cloud project ID(Google Cloud プロジェクト ID を入力): Enter キーを押して、正しいプロジェクト ID を確認します。
- Enter Google Cloud region: Enter キーを押して、デフォルトの
us-central1を使用します。
3. 開発用ウェブサーバーを起動する
エージェントが作成されたら、次のコマンドを実行して開発用ウェブサーバーを起動します。
adk web
リンク(http://localhost:8000)をターミナルで実行するか、
- [ウェブでプレビュー] ボタンをクリックします
- [ポートを変更] を選択します。
- ポート番号を入力します(例: 8000)。
- [変更してプレビュー] をクリックします。
ブラウザにチャット アプリケーションのような UI が表示されます。
4. エージェントとチャットする
このインターフェースからエージェントとチャットしてください。「こんにちは、何ができるの?」などと話しかけます。
6. ドキュメントからデータを分析する
このセクションでは、エージェントにドキュメントをアップロードし、その内容について質問します。
1. ドキュメントを要約する
ドキュメントの要約を取得する手順は次のとおりです。
- Google のヘルスケア戦略に関するファイルをダウンロードします。
- エージェントの UI で [ファイルをアップロード] ボタンをクリックし、先ほどダウンロードしたファイルを選択します。
- チャット インターフェースで、エージェントにファイルの要約を依頼します(「このファイルの要約を教えて」など)。
- Enter キーを押します。
ドキュメントの内容の簡潔な要約が返されます。

2. より詳細な質問をする
次に、より詳細な質問をして、ドキュメントをさらに詳しく調べてみましょう。
- Google が現在 AI とデータ イニシアチブで主にターゲットとしている病気は何ですか?
- Google は、医療データの相互運用性を向上させ、データサイロを解消するためにどのような計画を立てていますか?
- Google Cloud は、医療機関や研究者をサポートするためにどのように活用されていますか?
- Google が次に検討する可能性のある新しい疾患の分野(COPD、がん、メンタルヘルスなど)は何ですか?
3. もっと聞く
さらに調査を進めるために、ページ参照番号を尋ねるなどのもっと聞くをすることもできます。
- 糖尿病に関する情報はどこでご覧になりましたか?
- 病気に関する関連ページに移動して。
- 確認すべき興味深いグラフはどこにありますか?
課題: エージェントに分析してほしい独自のドキュメントを見つけてアップロードします。エージェントにコンテンツについて質問します。
7. ドキュメントの分析情報とライブ ウェブ検索を組み合わせる
エージェントはドキュメントの専門家になりましたが、強力なアナリストは最新の外部情報にもアクセスする必要があります。エージェントにウェブ検索機能を追加しましょう。
- Cloud Shell ターミナルで、Ctrl+C キーを押してウェブサーバーを停止します。
- 次のコマンドを実行して、Cloud Shell エディタで
data_analyst_agent/agent.pyファイルを開きます。
cloudshell edit data_analyst_agent/agent.py
- ファイルを変更して、
google_searchツールをインポートして追加します。
from google.adk.agents.llm_agent import Agent
from google.adk.tools import google_search
root_agent = Agent(
model='gemini-2.5-flash',
name='root_agent',
description='A helpful assistant for user questions.',
instruction="""
First, check the uploaded files for an answer.
If the information is not in the files, use your tools to search the web.
Answer user questions to the best of your ability.
""",
tools=[
google_search
]
)
- ターミナルで
adk webと入力して、ファイルを保存し、ウェブサーバーを再起動します。 - エージェント UI で、
GoogleHealthStrategy.pdfファイルを再アップロードします。 - 次に、ドキュメントのコンテキストと外部情報の両方を必要とする質問をします。
The document discusses Google's strategy in healthcare. What are three other major tech companies that are also investing heavily in healthcare AI, and what are their primary focus areas?
エージェントは、ドキュメントと Google 検索の結果の両方から情報を統合して、包括的な回答を提供します。次のような質問をしてみましょう。
- このドキュメントでは、糖尿病性網膜症に AI を使用することについて言及しています。この分野で、過去 1 年間に発表された FDA 承認済みの最新テクノロジーにはどのようなものがありますか?
- ファイルにパートナーシップに関する記述がある。Google の医療分野における最新のコラボレーションに関する最近のニュース記事やプレスリリースはありますか?
チャレンジ: 自分のドキュメントに同様の質問をしてみてください。ローカル ドキュメントとインターネットの結果を利用するもの。
8. BigQuery を使用して医療データを分析する
個々のドキュメントのアップロードはスケーラブルではありません。実際のシナリオでは、データは Google Cloud BigQuery などのエンタープライズ システムに存在します。
現在、エージェント アプリケーションのデベロッパーは、独自のカスタムツールを作成して維持することを余儀なくされています。この手動プロセスは、処理速度が遅く、リスクが高く、大きなオーバーヘッドが発生します。デベロッパーは、イノベーションに注力するのではなく、認証からエラー処理まで、すべてを処理することを余儀なくされます。
Agent Development Kit(ADK)には、BigQuery の操作用のファーストパーティ ツールが含まれています。この分析では、メディケアおよびメディケイド サービス センター(CMS)が提供する一般公開の Medicare 利用状況データセットを使用します。
まず、エージェントを大規模な一般公開の医療データセットに接続します。
- Cloud Shell ターミナルで、Ctrl+C キーを押してウェブサーバーを停止します。
- ターミナルで次のコマンドを実行して、Cloud Shell エディタで
data_analyst_agent/agent.pyファイルを開きます。
cloudshell edit data_analyst_agent/agent.py
- ファイルの内容全体を次のコードに置き換えて、強力な
BigQueryToolsetを構成します。
import google.auth
from google.adk.agents.llm_agent import Agent
from google.adk.tools import google_search
from google.adk.tools.agent_tool import AgentTool
from google.adk.tools.bigquery import (
BigQueryToolset,
BigQueryCredentialsConfig
)
from google.adk.tools.bigquery.config import (
BigQueryToolConfig,
WriteMode
)
# Automatically get credentials from the gcloud environment
application_default_credentials, _ = google.auth.default()
credentials_config = BigQueryCredentialsConfig(
credentials=application_default_credentials
)
# Configure the BigQuery tool
tool_config = BigQueryToolConfig(
write_mode=WriteMode.ALLOWED,
application_name='data_analyst_agent'
)
# Create the toolset with the specified configurations
bigquery_toolset = BigQueryToolset(
credentials_config=credentials_config, bigquery_tool_config=tool_config
)
# Create an agent with google search tool as a search specialist
google_search_agent = Agent(
model='gemini-2.5-flash',
name='google_search_agent',
description='A search agent that uses google search to get latest information about current events, weather, or business hours.',
instruction='Use google search to answer user questions about real-time, logistical information.',
tools=[google_search],
)
# Define the final agent with its instructions and tools
root_agent = Agent(
model="gemini-2.5-flash",
name="bigquery_agent",
description=(
"Agent to answer questions about BigQuery data and execute SQL queries."
),
instruction="""
You are an expert data analyst agent with access to BigQuery tools.
When a user asks about a dataset, first use your tools to understand its schema.
Then, use this knowledge to construct and execute SQL queries to answer the user's questions.
Always confirm with the user if their question is ambiguous (e.g., for which year?).
""",
tools=[
AgentTool(google_search_agent),
bigquery_toolset
],
)
- ターミナルで
adk webと入力して、ファイルを保存し、ウェブサーバーを再起動します。 - これで、エージェントに Medicare の一般公開データセットの分析を依頼できます。まず、データを探索します。
Look into the cms_medicare dataset in the bigquery-public-data project. What can you tell me about it?
エージェントはツールを使用してデータセットを検査し、使用可能なテーブルのリストを提供します。そこから、具体的な分析に関する質問でドリルダウンできます。エージェントは、クエリの精度を高めるために、確認のための質問をすることがあります。

一部の質問では、エージェントがクエリを作成するために使用するプロジェクト ID を提供する必要があります。次に例を示します。

以下に、試すことができる分析プロンプトの例をいくつか示します。
inpatient_charges_2015テーブルを使用して、退院数の上位 5 つの手術(DRG 定義)を特定します。- カリフォルニア州(CA)における「MAJOR JOINT REPLACEMENT」の平均総支払額はいくらですか?
- 同じ手術の平均保険適用額が最も高い州はどこですか?
これでこの Codelab は終了です。エンタープライズ データシステムを搭載したデータ エージェントで実現できることのほんの一部しか、まだ明らかになっていません。cms_medicare データセットについてご不明な点がございましたら、お気軽にエージェントにお問い合わせください。
チャレンジ: 別の BigQuery 一般公開データセットを見つけて、エージェントを使用して探索します。独自のデータを使用して独自のデータセットを作成し、非公開で分析することもできます。
9. クリーンアップ(省略可)
今後課金されないようにするには、この Codelab で使用したリソースを削除します。
1. エージェントを停止する
Cloud Shell ターミナルで、Ctrl+C キーを押して adk web プロセスを停止します。
2. プロジェクト ファイルを削除する
Cloud Shell 環境からエージェント コードを削除するには、ターミナルで次のコマンドを実行します。
cd ~ && rm -rf ai-agents-adk
3. API を無効にする
以前に有効にした API を無効にするには、ターミナルで次のコマンドを実行します。
gcloud services disable \
aiplatform.googleapis.com \
bigquery.googleapis.com
4. プロジェクトをシャットダウンする
Google Cloud プロジェクト全体を削除する場合は、プロジェクトのシャットダウン ガイドをご覧ください。
10. まとめ
おめでとうございます!Agent Development Kit(ADK)フレームワークを使用して、データ アナリスト エージェントを正常に構築しました。このエージェントは、さまざまなソースのデータを分析し、分析情報を生成し、データ分析ワークフローの一部を自動化できます。
学習を続けるには、以下のリソースをご覧ください。
- 公式ブログ投稿 AI エージェント向けの BigQuery ツールセットの発表をご覧ください。
- ドキュメントを確認する: 新機能と詳細なガイドについては、Agent Development Kit(ADK)の公式ドキュメントをご覧ください。
- コードを閲覧する: ADK GitHub リポジトリをご覧ください。
- その他のデータを見つける: Google Cloud 一般公開データセット カタログをご覧ください。