はじめに
こんにちは!Ryuです!
今回はGoogle製のAIエージェント開発ツールであるADKを使って爆速でAIエージェントを作ってみようと思います。
AIエージェントと言っても色々ありますが、検索を一緒に行ってくれるエージェントを作っていこうと思います。
Google ADKとは
Google ADKは、LLM(Large Language Model)を活用したエージェントシステムを簡単に構築できるフレームワークです。
GoogleのVertex AIなどの既存サービスとも柔軟に連携できるため、既にGoogle Cloudを利用されている場合は親和性が高いものかなと思います。
環境構築
必要なパッケージのインストール
pip install google-adk google-genai google-cloud-aiplatform
Google Cloud認証の設定
GeminiをVertex AI経由で利用する場合のみ必要な手順です。
gcloud auth application-default login
ディレクトリ構造
my-adk-agent/
├── agent.py # エージェント定義
├── search.py # 検索ツール実装
└── requirements.txt # 依存関係
商品検索エージェントの実装
1. 検索ツールの作成
商品を検索するツール(関数)を実装します。
ここでのツールとはAIエージェントが利用するツールのことです。
ADKのエージェントはdocstringの情報を読み取って「どのようなツールであるか」を把握するため、引数や返り値、ツールの概要などをしっかりと記載しておきましょう。
検索API等は用意せず、検索結果をモックで定義しておきます。
実際にサービス等で使いたい場合はここでrequestsモジュール等を使ってAPIを叩く処理を追加します。
また、返り値を辞書形式で渡すと、Keyの名前も認識してくれます。
そのため、検索結果数などを返すことで「◯件ヒットしました!」のような応答を生成させることも可能です。
from google.genai import types
async def search_tool(
keyword: str,
) -> dict:
"""
商品を検索するツール
Args:
keyword (str): 検索キーワード
Returns:
dict: 検索結果
"""
# 実際のAPIやデータベースから商品を検索
# ここではサンプルデータを返す
products = [
{
"name": f"{keyword}関連商品1",
"price": "¥3,980",
"description": "高品質な商品です",
"image_url": "https://xxx.xx/product1.jpg"
},
{
"name": f"{keyword}関連商品2",
"price": "¥2,480",
"description": "お手頃価格の商品です",
"image_url": "https://xxx.xx/product2.jpg"
}
]
return {
"count": len(products),
"products": products
}
2. 検索エージェントの作成
続いてAIエージェント自体を作っていきます。
モデル名やエージェント名、プロンプト等を定義していきます。
nameやdescriptionはマルチエージェント構成にした際、他のエージェントにお互いがどのようなエージェントかを認識させるために利用します。
今回はシングルエージェント構成で作るので、何を指定しても特に影響はありません。
instructionはエージェントのシステムプロンプトになるので、非常に重要です。
定義したツールの使い方や使い時をここで指定します。
最後にtools部分にリスト形式でツールを渡してあげます。
リスト形式で渡せるので、例えば検索とは別に商品の返品をサポートするツールなどを追加することも可能です。
from google.adk.agents import Agent
from search_tool import search_tool
# プロンプトの定義
SEARCH_AGENT_INSTRUCTION = """
あなたは商品検索アシスタントです。
## 役割
- ユーザーの要望を理解し、適切な商品を検索
- 検索結果を分かりやすく表示
- 商品の特徴や価格を説明
## ツールの使用
- search_toolを使用して商品を検索
- ユーザーの曖昧な要求も適切に解釈
## 応答スタイル
- 親しみやすい口調で対応
- 商品の魅力を伝える
- 必要に応じて追加の質問をする
"""
# 商品検索エージェントの作成
root_agent = Agent(
name="product_search_assistant",
model="gemini-2.5-flash",
description="商品検索をサポートするエージェント",
instruction=SEARCH_AGENT_INSTRUCTION,
tools=[search_tool]
)
なんとここまででAIエージェントの開発は終了です。
ADKには開発したAIエージェントを簡単に試すWeb Kitも存在するので、そちらでAIエージェントを試してみましょう!
ADK Webでデモを動かしてみる
ADK Webとは
ADK WebとはADKを使った開発とデバッグを容易にするため、ADKに組み込まれているWebのUIツールです。
ADK Webの起動方法
エージェントをroot_agentという変数に入れないとADK Webが認識してくれないため注意です。
adk web
これにより、http://localhost:8080 でWebインターフェースが起動します。
ADK Webを使ってみる
上記のコマンドを打ってから http://localhost:8080 にアクセスすると以下のような画面が現れます。
「Tシャツを探して」と言ってみると、このようにsearch_toolが呼び出され、結果を報告してくれました。
ADK Webを利用することで、エージェントがどのタイミングでどんなツールが呼び出されたかがわかるので、開発中は非常に便利です。
エージェントアイコンをクリックすると左側にリクエスト情報や生成AIからのレスポンスが表示されるので、こちらもデバッグに活用できます。
おわりに
このように、GoogleのADKを使うことで簡単にAIエージェントが開発できるほか、
ADKの強みは他のGoogle Cloudサービスとの連携が容易である点なので、そちらについては別の記事で紹介しようと思います。
ここまで閲覧いただきありがとうございました!
モチベーションにつながるので、いいねやストックしていただけると嬉しいです!!


