Googleが先日、Agent Development Kit(ADK)を公開しました。
これを使うとLLMを用いたAIエージェントを簡単に開発できます。OpenAI Agents SDKなどの類似の製品との違いは、WebのUIがデフォルトで付いていたり、Google Cloudとの親和性にあるようです。
本稿ではADKを使って開発したエージェントをCloud Runにデプロイしてみました。そもそもCloud Runもシンプルな製品ですが、ADKからデプロイするのはかなり簡単になっています。
環境
- uv 0.6.6
- Python 3.13.2
- google-adk>=0.1.0
ディレクトリ構成(抜粋)
├── mise.toml
├── pyproject.toml
├── src
│ └── google_adk
│ ├── __init__.py
│ └── agent.py
└── uv.lock
AIエージェントの構築
本稿では、Geminiに現在時刻を取得する関数をツールを与えて、「いま何時?」と質問したら答えてくれるような簡単なエージェントを構築します。だいたいAgent Development Kit公式ドキュメントのクイックスタートに書いてあるとおりです。
まず、$ uv add google-adk
みたいな感じでADKをインストールします。
最初にsrc/google_adk/__init__.py
を作成します。
from . import agent
次に、src/google_adk/agent.py
を作成します。読めば分かると思いますが、これがLLMを呼び出すエージェントの本体と、ツールのプログラムの本体です。簡単ですね。
from datetime import datetime
from google import adk
def get_time() -> dict:
"""現在時刻を取得する関数"""
return {"status": "success", "report": datetime.now().strftime("%Y-%m-%d %H:%M:%S")}
root_agent = adk.Agent(
name="アシスタント",
model="gemini-2.0-flash-exp",
description=(
"優秀なアシスタント"
),
instruction=(
"あなたは優秀なアシスタントです"
),
tools=[get_time],
)
実行します。
$ uv run adk web ./src
ADKにはWeb画面が付いています。 http://localhost:8000/ にアクセスし、エージェントを選択します。
「いま何時?」と聞いてみます。
無事に答えてくれました。
ADKで開発したエージェントのCloud Runへのデプロイ
ADKで作ったエージェントは、そのままGoogle CloudのサーバレスサービスであるCloud Runにデプロイできます。$ adk deploy cloud_run
というコマンドが用意されていて、これを実行すると裏側でDockerfileの作成やビルド済コンテナのArtifact Registryへの登録などが自動で良い感じに行われて、Web上にデプロイされます。
Cloud Run - Agent Development Kit
$ uv run adk deploy cloud_run \
--project=<GoogleCloudプロジェクト名> \
--region=us-central1 \
--service_name=<CloudRunサービス名> \
--with_ui \
./src/google_adk
注意点として、指定したモデルが利用できるリージョンにデプロイしないといけないようです。gemini-2.0-flash-001
は日本含むアジアリージョンでまだ使えないので注意が必要です。本稿ではus-central1
にしています。詳細は下記で確認できます。
Vertex AI の生成 AI のロケーション | Generative AI on Vertex AI | Google Cloud
これだけでWeb上に公開してアクセスできるようになりました。Cloud Runは放っておくと勝手にゼロスケールしてインスタンス料金が掛からなくなるので、簡単なPoCなどに便利だと思います。
余談: Cloud Run用Identity-Aware Proxyでアクセス制限
Cloud Runにアクセス制限を掛ける方法はいくつかありますが、Google Cloudのプロジェクトが組織に所属していれば、先日プレビューになったCloud Run用Identity-Aware Proxyでアクセス制限ができます。
Cloud Run 用に Identity-Aware Proxy を構成する | Cloud Run Documentation | Google Cloud
デプロイしたCloud Runサービスの「セキュリティ」タブから「Identity-Aware Proxy」を有効にするだけです。
※Google Cloudプロジェクトが組織に所属していないと、このIdentity-Aware Proxyの項目が表示されません。また表示されていても、どうやら組織に所属してから使えるようになるまで1日程度の時間がかかるようです。
うまく行くと、アクセスした時にログイン画面が表示されるようになります。
簡単にアクセス制限が設定できるので、組織内でのPoCなどにも使えるのではないかと思います。