はじめに
この記事は ADK Advent Calendar 2025 21日目の記事です。
最近、AIエージェントの話題を至る所で耳にするようになりました。普段Webのバックエンドをメインに書いている私は、なんとなく難しそうだなという印象を抱いていましたが、ADK(Agent Development Kit)を触ってみたところ、驚くほど簡単にAIエージェントを作成することができ、非常に感動しました。
ADKは、AIエージェントの開発経験がない初学者の方にもおすすめできるフレームワークだと感じています。
本記事では、ADKを触ったことがない方に向けて、簡単なRAG接続を行うAIエージェントの作成手順を紹介します。
ADKとは
ADK(Agent Development Kit)は、AIエージェントを構築するためのフレームワークです。
Googleが提供するVertex AI、もしくはGoogle AI Studioのモデルをオンラインで利用することができ、これらを活用したエージェント開発を効率的に行うことが可能です。
Vertex AI RAG Engine
Vertex AI RAG Engineは、RAG(検索拡張生成)の仕組みを構築できるサービスです。 Google CloudのVertex AIが提供する機能の一つで、対象となるドキュメントをアップロードすることで、比較的容易にRAGを構成できます。 一連の作成工程がコンソール(UI)上の操作だけで完結する点も、大きなメリットです。
作ってみる
というわけで作成していきましょう。
今回はVertex AI RAG Engineに構築したRAGを参照して質問に回答するという、シンプルなAIエージェントを作成してみようと思います。
1. RAGの構築
まずはRAGの構築です。
Vertex AI の RAG EngineのTOPページに、RAG Engineを構成するというリンクがあるので、それをクリックします。
RAG Engineの構成は二種類あります。
- スケールティア
- ベーシックティア
詳しい説明は公式ドキュメントに記載されているのでご参照ください。
今回はデモで使いたいだけなので、安いベーシックティアを利用しようと思います。
続いて、コーパスを作成しましょう。
構築したい内容のドキュメントをUI上でアップロードすることで、RAGを構築することができます。
今回はGCSにアップロードしていた資料を指定しました。
詳細オプションでは、RAGの設定を細かく指定することができます。
レイアウトパーサーでは、ファイルをチャンキングするパーサーを指定します。アップロードするファイルの形式にあったパーサーを選択しましょう。
今回はデフォルトの解析ライブラリを選択しました。
最後に、RAGを保存するベクトルデータベースを選択します。
以上で作成は完了です。
以下のように表示されれば準備完了になります。

詳細タブにあるリソース名を後程ADKから指定するので、メモしておきましょう。

ちなみに、Vertex AI Studioでテストするから、実際にRAGを試すこともできます。
2. ADKの環境構築
続いて、ADKの環境構築を進めましょう。
まずは、venvを使って仮想環境を立ち上げていきます。
(venvは使ったことなかったですが、python用のdockerみたいなイメージなんですかね?便利)
$ python -m venv .venv
その後、venvを有効化しましょう。
$ .venv\Scripts\Activate
続いて、pipでgoogle-adkをインストールします。
$ pip install google-adk
これで準備OKです。
3. AIエージェント作成
続いて、ADKを用いてRAGを構築するAIエージェントを作成していきましょう。
今回作成するコードの最終的なディレクトリ構成は以下になります。
parent_folder/
rag_agent/
__init__.py
agent.py
.env
agent.py
agent.py では、AIエージェントの核となるロジックを定義します。
まず、AIエージェントが「知識」として利用するRAGの設定を行います。ここでは VertexAiRagRetrieval クラスを使用し、先ほど作成したRAGリソースの指定や、検索の挙動(similarity_top_k や vector_distance_threshold)を定義します。
次に、メインとなる LlmAgent(root_agent)を定義します。このエージェントの tools に、先ほど作成したRAGツール(ask_vertex_retrieval)を登録することで、AIがユーザーの質問に応じて自律的にドキュメントを参照し、回答を生成できるようになります。
import os
from google.adk.agents.llm_agent import LlmAgent
from google.adk.tools.retrieval.vertex_ai_rag_retrieval import VertexAiRagRetrieval
from vertexai.preview import rag
from dotenv import load_dotenv
# .envファイルを環境変数に適用
load_dotenv()
# RAG接続用のツールを作成
ask_vertex_retrieval = VertexAiRagRetrieval(
name="flow_rag_documentation",
description=(
'This is documentation od PHP web Framework Flow'
),
rag_resources=[
rag.RagResource(
rag_corpus= os.environ.get("RAG_CORPUS"),
)
],
similarity_top_k=1,
vector_distance_threshold=0.6,
)
instruction = """
あなたはPHPフレームワークFlowに関する質問に答えるエージェントです。
必要に応じてflow_rag_documentationを見て、質問に答えてください。
"""
# ルートエージェントを定義
# エージェントがRAG接続できるよう、toolsに追加
root_agent = LlmAgent(
name="flow_rag_agent",
model=os.environ.get("MODEL"),
instruction=instruction,
tools=[ask_vertex_retrieval],
)
__init__.py
__init__.pyを使い、作成するエージェントをモジュール化します。
from . import agent
.env
.envには設定値を書きます。
今回はVertexAIを利用するためGOOGLE_GENAI_USE_VERTEXAI=TRUEにしています。
RAG_CORPUSには先ほど作成したRAG Engineのリソース名を指定します。
GOOGLE_GENAI_USE_VERTEXAI=TRUE
GOOGLE_CLOUD_PROJECT=YOUR_PROJECT_ID
GOOGLE_CLOUD_LOCATION=LOCATION
MODEL=gemini-2.5-flash
RAG_CORPUS=projects/hogehoge/locations/us-central1/ragCorpora/fuga
動作確認
ここまでで問題なければ、動作確認をしてみましょう。
プロジェクトのディレクトリ直下でadk webコマンドを実行すると、ローカルホストでUvicornサーバが立ち上がります。
> adk web
INFO: Started server process [11888]
INFO: Waiting for application startup.
+-----------------------------------------------------------------------------+
| ADK Web Server started |
| |
| For local testing, access at http://127.0.0.1:8000. |
+-----------------------------------------------------------------------------+
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
http://127.0.0.1:8000にアクセスすると、動作確認用のUIが立ち上がり、そこで作成したAIエージェントの動作確認ができます。
画面左側のEventタブでは、AIエージェントのレスポンスの情報を確認することができます。
ここを見ると、グラウンディングに使用した情報を確認でき、ちゃんとRAGに接続して回答を生成していることが確認できました!

おわりに
今回はADKを使用し、RAG接続するAIエージェントの作成について解説しました。
ADKに入門するまではpythonを触ったことはありませんでしたが、そんな状態でもサクッと作れて、ADKの便利さとVertex AI RAG Engineのすごさに感動しています。
今回はローカルでしたが、実際に使用する場合はVertex AI Agent EngineやCloudRunなどへのデプロイが必要です。
今回は割愛しましたが、以前こちらの記事でVertex AI Agent Engineへのデプロイ方法を載せたので、併せて是非ご覧ください。
ここまでご覧いただきありがとうございました!







