【AIエージェント】ADKを使用してAIエージェントを作成する方法
Google が公開している ADK(Agent Development Kit) は、エージェント構築を容易にするためのツールキットです。LLM による推論と、ツール(関数)実行を自然に連携できる仕組みを提供しており、複雑なエージェントを簡潔に記述・管理できます。
本記事では、この ADK を使って 将棋・オセロ・チェスのニュースを収集し、ユーザーの質問に応じて必要な情報を返すエージェント を実装します。
はじめに
Google が公開している ADK(Agent Development Kit) は、エージェント構築を容易にするためのツールキットです。LLM による推論と、ツール(関数)実行を自然に連携できる仕組みを提供しており、複雑なエージェントを簡潔に記述・管理できます。
本記事では、この ADK を使って 将棋・オセロ・チェスのニュースを収集し、ユーザーの質問に応じて必要な情報を返すエージェント を実装します。
環境構築
開発では次のものを使用します。
- OpenAI API キー(Gemini の方が適している想定だが、本記事では代替として OpenAI を使用)
- Python
- VSCode などのコードエディタ
- PowerShell
早速、環境を構築していきます。
1,uvのインストール
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"まず最初に行っているのが、
のインストールです。 powershellを通じてインストールします。
2,プロジェクトフォルダの作成
./agent_dev
次に、作業用のプロジェクトディレクトリとして
フォルダ を作ります。このディレクトリ以下にエージェントのコードなどを記載していきます。
3,uvによる環境準備
uv init
uv venv
.\\.venv\\Scripts\\Activate.ps1ここでは
を使って、Python プロジェクトの初期化と仮想環境の作成 、その有効化を行っています。powershellで先ほど作成したプロジェクトフォルダに移動した後に実行してください。
4,パッケージのインストール
uv pip install google-adk
uv pip install feedparserここでは、エージェントの実装に必要な Python パッケージを 仮想環境内にインストール しています。 google-adkはADKを使用するためのパッケージです。feedparserは将棋・チェスのニュース取得に使用するライブラリです。
5,ディレクトリ構成
続いて、以下のようにディレクトリを構築してください。.venv以下はすでに作成されていると思うのでshogi_info_agent以下を構築します。
agent_dev
└─ .venv/
└─ shogi_info_agent/
├─ __init__.py
├─ agent.py
└─ .env6,OpenAI APIキーを設定(.env)
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
PYTHONUTF8=1ここでは、OpenAIを使用するために、APIキーを環境変数に設定します。
ここまで準備すれば、あとは agent.py に処理を書くだけでエージェントが動作します。
エージェントの作成
それでは、以下のようにagent.pyに記載していきます。

コードの解説
全体像として、3つのtoolを定義し、エージェントがこのtoolを使用して回答を生成する形になっています。3つのtoolはそれぞれ「get_shogi_news」「get_othello_news」「get_chess_news」の関数に対応し、それぞれ将棋のニュースを取得する関数、オセロのニュースを取得する関数、チェスのニュースを取得する関数に対応します。
ここで作成した、toolをエージェントが適宜選択しながら回答を生成するような形です。
以下の箇所がエージェントに対応しています。このエージェントでは、openai/gpt-4o-miniの中核モデルとして、これに対して、最下の箇所で3つのtoolを付与しているようになります。

実行結果
実行方法
PowerShellで「./agent_dev/shogi_info_agent」のディレクトリまで移動し、以下のコマンドで実行します。
adk run .\
なお、PowerShellで実行する際、管理者モードで実行しないと権限の都合上エラーになる可能性があります。
以上の実行を行うと、以下のような質問画面が表示されるので質問する。

- 将棋に関するニュースを教えてください。

関連した答えが返ってくることが確認されます。
異なる話題について質問する。
- チェスの最新トピックを5件教えて。要点だけ箇条書きで。

同様に適切な回答が返ってきたいることが分かります
- 明日の天気は?

今回toolに準備していない内容に関しては回答が確認できませんでした。
まとめ
本記事では、Google ADK を使った ニュース収集エージェントの基礎構築 を紹介しました。
- ADK は LLM + ツール実行の流れを簡潔に記述できる
- 関数を追加するだけでエージェントに新しい能力を持たせられる
- ローカル環境で簡単に実行できるため、学習・検証しやすい
ということが確認出来ました。次回以降、より複雑なエージェントの作成に移っていきます。
