GEMINI LABEN
NANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定ですNANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定です
記事一覧/開発ツール
開発ツール/2026-05-02初級

Google ADK の使い方 — 最初のAIエージェントを30分で動かすハンズオンチュートリアル

Google Agent Development Kit(ADK)を初めて触る方向けに、インストールから最初のエージェントが動くまでを30分で完走できるよう、つまずきポイントごと丁寧にお伝えします。

gemini102adk2agent-development-kitpython103tutorial5beginner6

「Google ADK が良いらしいと聞いたものの、ドキュメントを開いた瞬間にエージェント・ツール・セッション・ランナーといった用語が一気に出てきて手が止まってしまった」— そんな声をよく耳にします。私自身も最初に触れたときは、adk web コマンドが何を起動しているのか、RunnerSession の役割分担は何なのかが、コード例だけでは掴みきれませんでした。

このチュートリアルは、ADK を「とにかく動かすまで」を最短で完走することだけを目的にしています。理屈の説明は最小限にとどめて、コピー&ペーストで動くコードと、つまずきやすい順番に並べた手順をお渡しします。30分後には、ご自身のターミナルで「天気を答えるエージェント」が動いている状態を目指します。

このチュートリアルで作るもの

最終的に動かすのは、ユーザーが「東京の天気は?」と尋ねると、get_weather というツール(Pythonの関数)を自動で呼び出して、その結果をもとに自然な文章で答えてくれる小さなエージェントです。実際の天気APIには接続せず、ダミーのデータを返す関数を用意します。これは「AIモデル → ツール呼び出し → 結果の整形」という ADK の基本パターンを最短で体感するためです。

このパターンさえ理解できれば、get_weather を「在庫を調べる関数」「データベースに書き込む関数」「Slack に投稿する関数」に置き換えるだけで、業務に直結する自動化エージェントへ拡張できます。

Step 1: 環境を整える(5分)

ADK は Python 3.10 以上で動作します。仮想環境を新しく作って、その中にインストールするのが安全です。

# 作業フォルダを作って仮想環境を有効化
mkdir adk-tutorial && cd adk-tutorial
python -m venv .venv
source .venv/bin/activate  # Windowsの場合: .venv\Scripts\activate
 
# ADK 本体をインストール
pip install google-adk
 
# 動作確認(バージョンが表示されればOK)
adk --version

adk: command not found と表示される場合は、仮想環境の有効化に失敗しているか、pip が別の Python を見ている可能性が高いです。which pythonwhich pip の出力先が同じ仮想環境内になっているかをまず確認してみてください。

次に、API キーを環境変数として登録します。Google AI Studio の左メニューから無料で発行できます。

# .env ファイルを作成(後で adk web が自動で読み込みます)
cat > .env << 'INNER'
GOOGLE_API_KEY=YOUR_GEMINI_API_KEY
INNER

YOUR_GEMINI_API_KEY」の部分を、ご自身が発行した実際のキーに置き換えてください。.env ファイルは絶対に Git にコミットしないよう、.gitignore.env を追加しておくと安心です。

Step 2: フォルダ構成を作る(3分)

ADK は「フォルダ名 = エージェント名」というルールで動きます。少し独特ですが、最初に押さえておくと後の adk web コマンドで戸惑いません。

# weather_agent という名前のエージェント用フォルダを作成
mkdir weather_agent
cd weather_agent
 
# 必要なファイルを2つ作成
touch __init__.py agent.py

ここまでで、フォルダ構成は次のようになっています。

  • adk-tutorial/
    • .env — API キー
    • weather_agent/ — エージェント本体(フォルダ名がそのままエージェント名になります)
      • __init__.py — agent.py を import するための空に近いファイル
      • agent.py — メインのコード

__init__.py には、たった1行だけ書きます。

# weather_agent/__init__.py
from . import agent

この import 行がないと、adk web を起動したときにエージェントが認識されません。これは ADK の小さな落とし穴のひとつで、私も最初の起動で「エージェントが見つかりません」のメッセージに5分ほど悩みました。

Step 3: エージェント本体を書く(10分)

いよいよメインのコードです。weather_agent/agent.py に、以下をそのまま貼り付けてください。

# weather_agent/agent.py
from google.adk.agents import Agent
 
def get_weather(city: str) -> dict:
    """指定された都市の現在の天気をダミーで返します。
 
    Args:
        city: 天気を知りたい都市名(例: "Tokyo", "Osaka")
 
    Returns:
        天気情報を含む辞書。status, temperature_c, condition を含みます。
    """
    # 本番では外部APIを叩く部分。ここでは固定値で挙動を確認します。
    weather_data = {
        "Tokyo": {"temperature_c": 22, "condition": "晴れ"},
        "Osaka": {"temperature_c": 24, "condition": "曇り"},
        "Sapporo": {"temperature_c": 14, "condition": "雨"},
    }
 
    if city in weather_data:
        return {
            "status": "success",
            "city": city,
            **weather_data[city],
        }
    return {
        "status": "error",
        "message": f"{city} の天気データは未登録です。",
    }
 
# ADK が起動時に探す変数名は必ず "root_agent" にすること
root_agent = Agent(
    name="weather_agent",
    model="gemini-2.5-flash",
    description="日本国内の天気を答える小さなアシスタント。",
    instruction=(
        "あなたは天気案内のアシスタントです。"
        "ユーザーから都市名を聞かれたら、必ず get_weather ツールを呼んで結果を取得し、"
        "その結果を日本語で自然な一文にまとめて答えてください。"
    ),
    tools=[get_weather],
)

ここで一番大事なのは、変数名を必ず root_agent にすることです。ADK は起動時にこの名前の変数を探します。agentweather_agent という名前にすると、UI 上に何も表示されず、エラーメッセージも出ないため原因にたどり着きにくいです。

もうひとつ大切なのは、get_weather 関数の docstring(三重引用符の中身) です。ADK は docstring を読んで「この関数は何ができるのか」を Gemini に伝えます。docstring が空っぽだと、モデルがツールを呼ぶタイミングを判断できず、せっかく定義した関数が無視されてしまいます。

Step 4: 起動して会話してみる(5分)

ファイル構成と実装が揃ったら、いよいよ起動です。プロジェクトのルート(adk-tutorial/)に戻ってから実行するのがポイントです。

# weather_agent フォルダのひとつ上の階層に戻る
cd ..
 
# Web UI を起動
adk web

http://localhost:8000 がブラウザで開きます。左上のドロップダウンから weather_agent を選んで、チャット欄に次のように打ち込んでみてください。

東京の天気を教えて

うまくいけば、画面上には「東京は現在22℃で晴れています」のような返答が表示され、画面右側の「Trace」タブで get_weather ツールが呼ばれていることが確認できます。Trace タブは、エージェントが「どの順番で考え、どのツールを呼び、どんな引数を渡したか」が時系列で見えるため、デバッグの強力な味方です。

つまずきやすいポイントと対処

私自身が最初の30分で踏んだ落とし穴を、そのまま共有します。

  • 「エージェントが見つかりません」と表示される: adk webweather_agent/ の中で実行している可能性があります。必ずひとつ上の階層(adk-tutorial/)から起動してください。
  • ツールが呼ばれずモデルが勝手に答える: 関数の docstring が空、または「天気を返す」程度の薄い説明になっていることが原因です。引数・戻り値・使いどころを具体的に書き直すと、モデルがツールを使うようになります。
  • gemini-2.5-flash でレート制限に当たる: 無料枠は1分あたりのリクエスト数に上限があります。連続で試したい場合は time.sleep(2) を挟むか、Google AI Studio で上限を確認してから設計しましょう。
  • 環境変数が読み込まれない: .env がプロジェクトルートに置かれていないと adk web は読みません。weather_agent/ の中ではなく、その親フォルダに置いてください。

次のステップ — 実用エージェントへの拡張

「動いた」ことが確認できたら、次は実用に寄せていきましょう。私が初心者の方におすすめしている順番は次のとおりです。

第一歩は、get_weather を本物の関数に置き換えることです。たとえば、お手元のCSVから情報を読む、社内APIに問い合わせる、Slackに投稿する、といった現場の作業を関数化してツールとして渡すだけで、いきなり業務エージェントになります。

複数のツールを使い分けたい段階に来たら、Google ADK × Python マルチエージェント開発ガイド — 複数AIエージェントが連携するシステムの設計と実装で扱っているマルチエージェント構成が役立ちます。役割の異なるエージェントを連携させると、単一エージェントでは対処しきれない複雑な業務フローを綺麗に分解できます。

本番運用に進む段階では、エラー処理や監視の仕組みが避けて通れません。Google ADK のコールバックとガードレール — 本番運用エージェントの監視設計では、コールバックを使った安全装置の入れ方を解説しています。

全体を振り返って

最初の一歩で大事なのは、完璧な構成を作ることではなく、「自分の手元で確かに動いた」という実感を持つことだと考えています。ADKは抽象度が少し高めのフレームワークなので、最初は概念に圧倒されがちですが、__init__.pyroot_agent、docstring の3つを押さえておけば、最低限のエージェントはだいたい立ち上がります。

このチュートリアルを動かし終えたら、ご自身の業務で「いつも手作業でやっている小さな繰り返し」をひとつ思い浮かべて、それを get_weather の代わりにツールとして渡してみてください。たぶんそれが、あなたにとって本当に価値のある最初のエージェントになります。

シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

開発ツール2026-03-17
Google Colab で Gemini API を動かす — 無料環境で試す最初の一歩
Google ColabでGemini APIを使う方法を初心者向けに解説。APIキー設定からテキスト生成・画像解析・ストリーミングまで、コピペで動くPythonコードを添えました。
開発ツール2026-04-26
Gemini API × GitHub Actions でコード変更に自動追従するドキュメント更新パイプラインを構築する
コードを書くたびに古くなるドキュメント問題を解決します。Gemini API と GitHub Actions を組み合わせてPRごとにdocstring更新案を自動提案するCIパイプラインの実装ガイドです。
開発ツール2026-03-27
Gemini × LlamaIndex で構築する RAG エージェント — ドキュメント検索からマルチステップ推論まで
Gemini API と LlamaIndex で高精度な RAG エージェントを構築する実践ガイド。インデックス構築・エージェント設計に加え、チャンクサイズの実測比較、ハイブリッド検索の完全実装、検索品質の評価ループまで踏み込みます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →