Agent Development Kit (ADK) で作る マイ ファースト AI エージェント

2025年は AI エージェント元年なんて言われていて、すごく盛り上がりそうですよね！なんだか未来っぽくてワクワクするし、『この流れに乗り遅れたくない！』と思って、自分でも AI エージェントを作ってみようと考えました。でも、いざやろうとすると、『えっと…まず何から始めればいいの？』となってしまい、手がかりがつかめませんでした。

情報収集のために Google Cloud Next '25 の発表を見ていたところ、新しい <B>Agent Development Kit（ADK）</B>で誰でも簡単に AI エージェントが作成できる、とのことでしたので、こちらを使って、初めての AI エージェントを作ってみたいと思います。
### Agent Development Kit（ADK）について調べてみる
まずは Agent Development Kit（ADK）について調べてみました。Agent Development Kit（ADK）は、エージェントの挙動を正確に制御しながら、高度なマルチエージェントシステムの構築プロセスを簡素化するオープンソースフレームワークとのことです。ADKを使用すると、100 行未満の直感的なコードで AI エージェントを構築できるらしいです。

https://cloud.google.com/blog/ja/topics/google-cloud-next/welcome-to-google-cloud-next25?hl=ja

また導入ビデオを見て、Agent Development Kit（ADK）について学びました。このフレームワークが大事にしている考え方の1つは、AI エージェントの開発をソフトウェア開発のように感じられるようにすること、とのことです。

https://youtu.be/zgrOwow_uTQ

AI エージェント開発って、特別な知識がたくさん要りそうで難しそうなイメージでしたが、このフレームワークを使えば、普段やっているアプリ開発と同じような感覚でできるのかもしれないんですね。これなら自分でも作れそうで期待に胸が高まります！

### AI エージェントを作ってみる

それでは実際に手を動かしてみましょう。ADK には Quickstart という、さくっと始められるお試しセットみたいなものがあるので、こちらをやってみます。AI エージェント開発をやるには、まず何からやればいいか分からなかったので、こういうのがあるとすごく助かるし、最初にやるには最適ですね。

https://google.github.io/adk-docs/get-started/quickstart/

これから Quickstart を進めていきますが、今の私のパソコン (Mac) の状態はこんな感じです。

- Python の実行環境 : 特に入れていません
- Google AI Studio : 登録・ログイン済み
- VS Code : インストール済み

この状態で、開発環境のセットアップから始めていきます。

#### ステップ 0. 開発環境のセットアップ
最初に、自分の Mac で AI エージェントが開発ができるように開発環境のセットアップをします。AI 開発でよく使うプログラミング言語は Python ですが、PC は買ったままの状態に近かったので、AI 開発で Python が使える状態ではありませんでした。

そこで、Google AI Studio で、Mac でAI 開発を行うための環境セットアップ方法をGemini に質問してみました。

Gemini が詳しく教えてくれた手順に沿って、必要なものをインストールしていきました。全部は書きませんが、主にやったのは次の 4 つです。

1. <B>Xcode Command Line Tools を入れる</B> : まず、Mac でプログラミングするのに必要な基本的なものを入れました
1. <B>Homebrew を入れる</B> : 次に、他の開発ツールを簡単にインストールするための便利なソフト (Homebrew) を入れました
1. <B>Python本体を入れる (pyenv経由)</B>: そして、今回使う特定のバージョンの Python を、バージョン管理ツール (pyenv) を使ってインストールしました。ちなみに Python のバージョンは 3.11.12 としました
1. <B>仮想環境 venv (作業用の隔離スペース)を作る</B> : 最後に、他のプロジェクトと影響しあわないように、今回の開発専用の仮想環境を作って、そこで作業するように設定しました

#### ステップ 1. ADKのインストール

開発環境のセットアップが完了したので、次にADKをインストールします。ADKのインストールは、Terminal でコマンドを 1 つ実行するだけです。

```shell:
% pip install google-adk
```

インストールはこれで終わりです。めっちゃ簡単ですね。

#### ステップ 2. AI エージェントのプロジェクトの作成

ADK のインストールが完了したら AI エージェントのプロジェクトを作成していきます。

まず、`multi_tool_agent` という名前のフォルダを作成します。

```shell:
% mkdir multi_tool_agent/
```

次に、フォルダの中に `__init__.py` という名前のファイルを作成します。

```shell:
% echo "from . import agent" > multi_tool_agent/__init__.py
```

その次に、同じフォルダに `agent.py` という名前のファイルを作成します。

```shell:
% touch multi_tool_agent/agent.py
```

作成したら、VS Code で `agent.py` を開いて、以下のコードをコピペします。

```python:agent.py
import datetime
from zoneinfo import ZoneInfo
from google.adk.agents import Agent

def get_weather(city: str) -> dict:
    """Retrieves the current weather report for a specified city.

    Args:
        city (str): The name of the city for which to retrieve the weather report.

    Returns:
        dict: status and result or error msg.
    """
    if city.lower() == "new york":
        return {
            "status": "success",
            "report": (
                "The weather in New York is sunny with a temperature of 25 degrees"
                " Celsius (77 degrees Fahrenheit)."
            ),
        }
    else:
        return {
            "status": "error",
            "error_message": f"Weather information for '{city}' is not available.",
        }


def get_current_time(city: str) -> dict:
    """Returns the current time in a specified city.

    Args:
        city (str): The name of the city for which to retrieve the current time.

    Returns:
        dict: status and result or error msg.
    """

    if city.lower() == "new york":
        tz_identifier = "America/New_York"
    else:
        return {
            "status": "error",
            "error_message": (
                f"Sorry, I don't have timezone information for {city}."
            ),
        }

    tz = ZoneInfo(tz_identifier)
    now = datetime.datetime.now(tz)
    report = (
        f'The current time in {city} is {now.strftime("%Y-%m-%d %H:%M:%S %Z%z")}'
    )
    return {"status": "success", "report": report}


root_agent = Agent(
    name="weather_time_agent",
    model="gemini-2.0-flash",
    description=(
        "Agent to answer questions about the time and weather in a city."
    ),
    instruction=(
        "You are a helpful agent who can answer user questions about the time and weather in a city."
    ),
    tools=[get_weather, get_current_time],
)
```

最後に、同じフォルダ内に `.env` ファイルを作成します。

```shell:
% touch multi_tool_agent/.env
```

これでプロジェクトの作成は終了です。VS Code で見るとこんな感じです。

![my_first_agent_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1602803/3f443dbd-47b5-418e-950b-843369d41dca.png)

#### ステップ 3. model のセットアップ

次に AI エージェントが LLM モデルを使用できるように、API キーを設定します。Google AI Studio と Vertex AI が選べますが、今回は個人利用なので Google AI Studio で API キーを作りたいと思います。

まずは、Google AI Studio の画面上部の Get API Key を押し、さらに API Keys の画面で Create API Key を押します。

![my_first_agent_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1602803/343d9aea-8818-4d80-8874-e2c3bad7b977.png)

次に、Create API Key で Google Cloud の Project を選択し、Create API Key in existing Project を押すと、API キーが発行できます。

![my_first_agent_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1602803/1efe33e7-066c-4a86-82f4-d72bfdbef23e.png)

API キーは外部に流出させないよう取り扱いを気をつけましょう。

API が発行できたら、VS Code で `.env` ファイルを開き、以下のコードをコピペします。

```python:.env
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=PASTE_YOUR_ACTUAL_API_KEY_HERE
```

`PASTE_YOUR_ACTUAL_API_KEY_HERE` の部分を、先ほど発行した API キーに置き換えます。

これで model のセットアップは完了です。

#### ステップ 4. AI エージェントを動かしてみる

それでは AI エージェントを動かしてみましょう！

まずは Terminal で以下のコマンドを実行します。

```shell:
% adk web
```

次に、ブラウザに `http://localhost:8000` と入力します。

画面が現れたら、画面左上のプルダウンで `multi_tool_agent` を選択します。

![my_first_agent_6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1602803/2c99a484-f514-41f2-af2d-8da12cc6253d.png)

実際にエージェントとチャットしてみましょう。

![my_first_agent_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1602803/586828ba-9e03-45b8-b779-e2e96e541216.png)

エージェントと会話ができました！ニューヨークの天気と時間を教えてくれるエージェントですね。

### まとめ

今回、Agent Development Kit (ADK) を使って、初めての AI エージェント作りに挑戦してみました！ 思ったよりもずっと簡単に動かすことができて、正直びっくりです。もっと色々なことができるように、サンプルコードを見たりしながら、さらに学んでいこうと思います。