AIエージェント入門

【2026年最新】Google ADKでAIエージェントを作る入門ガイド

【2026年最新】Google ADKでAIエージェントを作る入門ガイド

この記事の結論

Google ADK(Agent Development Kit)でAIエージェントを構築する入門ガイド。インストールから最初のエージェント動作まで、コピペ可能なコード例で解説。

「Google製のエージェントフレームワークって、他と何が違うの?」

実際にGoogle ADK(Agent Development Kit)を触ってみて、率直に驚いた。セットアップの速さと、マルチエージェント対応の柔軟性が、他のフレームワークより一歩先を行っていた。adk create 一発でプロジェクトが立ち上がり、adk web でブラウザ上のチャットUIが動く。コードよりも先に動くものを見せてくれる設計思想が、開発者体験として非常に良かった。

Google ADKはPython、TypeScript、Go、Javaに対応しており、Gemini以外のLLM(Claude、Ollamaなど)も使えるモデル非依存設計だ。2025年5月にv1.0がリリースされ、2026年3月時点でv1.27.1まで継続的にアップデートされている(GitHub Releases参照)。

この記事では、Google ADK Pythonを使って最初のエージェントを動かすまでの手順を、コピペ可能なコード例とともに全公開する。

AIエージェントフレームワークの全体像については、AIエージェントとは何か — 基礎から構造までで体系的にまとめています。

まず5分で動かす — Google ADKクイックスタート

セットアップの全体像はシンプルだ。インストール → Gemini APIキー取得 → プロジェクト作成 → 実行、の4ステップ。

ステップ1: インストール

Python 3.10以上が必要。仮想環境を作ってからインストールするのが推奨。

# 仮想環境作成(推奨)
python3 -m venv adk-env
source adk-env/bin/activate  # macOS/Linux
# adk-envScriptsactivate  # Windows

# Google ADKインストール
pip install google-adk

# 動作環境: Python 3.10+, google-adk>=1.27.0
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

ステップ2: Gemini APIキー取得

Google AI Studioにアクセスし、「Get API key」からAPIキーを発行する。無料枠でも試せる。

ステップ3: プロジェクト作成と初期エージェント

# プロジェクト作成
adk create my_first_agent

# 生成されるファイル構成
# my_first_agent/
# ├── agent.py       ← エージェントの本体
# ├── .env           ← APIキー設定
# └── __init__.py
# agent.py
# 動作環境: Python 3.10+, google-adk>=1.27.0
from google.adk.agents import Agent

def get_current_time(city: str) -> dict:
    """指定した都市の現在時刻を返す。

    Args:
        city: 都市名(例: "Tokyo", "New York")

    Returns:
        {"time": "HH:MM", "timezone": "JST"} 形式の辞書
    """
    import datetime, zoneinfo
    tz_map = {
        "Tokyo": "Asia/Tokyo",
        "New York": "America/New_York",
        "London": "Europe/London",
    }
    tz_name = tz_map.get(city, "UTC")
    tz = zoneinfo.ZoneInfo(tz_name)
    now = datetime.datetime.now(tz)
    return {"time": now.strftime("%H:%M"), "timezone": tz_name}

root_agent = Agent(
    name="time_agent",
    model="gemini-2.0-flash",
    description="都市の現在時刻を教えるエージェント",
    instruction="ユーザーが都市名を入力したら get_current_time ツールを呼び出して時刻を返してください。",
    tools=[get_current_time],
)

ステップ4: 実行

# CLI モード(ターミナル上でチャット)
adk run my_first_agent

# Web UIモード(開発・デバッグ専用)
# ※ Webモードは本番環境での使用は非推奨。
adk web --port 8000
# → http://localhost:8000 にアクセス

Google ADKの3つのアーキテクチャを理解する

エージェント種別 特徴 向いているユースケース
LLMエージェント LLMが動的にツール呼び出しを判断。最も柔軟 会話、Q&A、可変的なタスク
ワークフローエージェント(Sequential/Parallel/Loop) 実行順序が固定。予測可能で安定 データ処理パイプライン、定型業務自動化
マルチエージェント 複数の専門エージェントを階層的に組み合わせ 複雑なワークフロー、役割分担が必要なタスク

実践: カスタムツールとマルチエージェントの実装

カスタム検索ツール付きエージェント

# search_agent/agent.py
# 動作環境: Python 3.10+, google-adk>=1.27.0, requests>=2.31.0
# pip install google-adk requests
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

from google.adk.agents import Agent
import requests

def search_web(query: str) -> dict:
    """DuckDuckGo Instant Answer APIで簡易検索する。

    Args:
        query: 検索クエリ(日本語可)

    Returns:
        {"abstract": "...", "source": "..."} 形式の辞書
    """
    url = "https://api.duckduckgo.com/"
    params = {"q": query, "format": "json", "no_html": 1}
    try:
        resp = requests.get(url, params=params, timeout=5)
        resp.raise_for_status()
        data = resp.json()
        abstract = data.get("Abstract", "")
        source = data.get("AbstractSource", "不明")
        if not abstract:
            return {"abstract": "該当情報が見つかりませんでした。", "source": ""}
        return {"abstract": abstract, "source": source}
    except requests.RequestException as e:
        return {"abstract": f"検索エラー: {str(e)}", "source": ""}

root_agent = Agent(
    name="search_agent",
    model="gemini-2.0-flash",
    description="Webから情報を検索して回答するエージェント",
    instruction=(
        "ユーザーの質問に対して search_web ツールで情報を取得し、"
        "取得した情報をもとに簡潔に回答してください。"
    ),
    tools=[search_web],
)

マルチエージェント(サブエージェント委任)

# multi_agent/agent.py
# 動作環境: Python 3.10+, google-adk>=1.27.0
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

from google.adk.agents import Agent

translator_agent = Agent(
    name="translator",
    model="gemini-2.0-flash",
    description="テキストの翻訳を行うエージェント",
    instruction="受け取ったテキストを指定された言語に翻訳してください。",
)

summarizer_agent = Agent(
    name="summarizer",
    model="gemini-2.0-flash",
    description="テキストの要約を行うエージェント",
    instruction="受け取ったテキストを3文以内で要約してください。",
)

root_agent = Agent(
    name="orchestrator",
    model="gemini-2.0-flash",
    description="翻訳と要約を組み合わせる統合エージェント",
    instruction=(
        "ユーザーの要求に応じて、translator(翻訳)または"
        "summarizer(要約)のサブエージェントに処理を委任してください。"
    ),
    sub_agents=[translator_agent, summarizer_agent],
)

他のフレームワークとの比較

項目 Google ADK LangChain Dify
セットアップ速度 速い(adk createで即立ち上がり) 中程度(設定多め) 速い(UI操作)
マルチエージェント ネイティブ対応 LangGraph経由 限定的
モデル対応 Gemini優先、他LLMも可 全モデル対応 複数対応
GCP連携 ネイティブ(Vertex AI等) サードパーティ経由 なし
コード量 少ない 多め ほぼ不要

料金情報の最終確認: 2026-03-17。Google ADKはオープンソース(無料)。APIコストは使用するLLMのAPI料金に依存する。

【要注意】よくある失敗パターンと回避策

失敗1: root_agentを定義し忘れてadk runが動かない

my_agentという名前の変数でエージェントを定義し、adk run を実行

⭕ 必ず root_agent という変数名でAgentオブジェクトを定義する

なぜ重要か: ADKは内部で root_agent という名前で起動エントリーポイントを探す。変数名を変えると見つからずエラーになる。

失敗2: .envをGitにコミットしてAPIキーを漏洩

.env ファイルをそのままgit addしてリモートにpush

.gitignore.env を必ず追加してからコミット

なぜ重要か: GitHubのpublicリポにAPIキーを上げると、数分以内にボットにスキャンされてキーが悪用される事例が多数報告されている。

失敗3: adk webを本番環境に使ってしまう

adk web で立ち上げたUIをそのまま本番ユーザーに公開

⭕ 本番環境ではCloud RunやVertex AI Agent Engineにデプロイする

なぜ重要か: 公式ドキュメントに「not meant for use in production deployments」と明記されている開発用UIだ。

失敗4: ツール関数のdocstringを省略してLLMが使い方を誤解

❌ ツール関数にdocstringなし

⭕ 引数の説明・戻り値の型・使用上の注意をdocstringで明記する

なぜ重要か: ADKはツール関数のdocstringをそのままLLMに渡してツールの使い方を解説させる。docstringが不足すると、LLMが誤ったパラメータを渡してエラーになる。

参考・出典


まとめ: 今日から始める3つのアクション

  1. 今日やること: pip install google-adkadk create my_first_agentadk web でブラウザ上のエージェントを動かす(所要5分)
  2. 今週中: カスタムツール(業務API呼び出し・DB検索等)を1つ追加して自分のユースケースに応用する
  3. 今月中: マルチエージェント構成を試し、複数の専門エージェントを組み合わせた本番想定の設計を検証する

あわせて読みたい:


著者: 佐藤傑(さとう・すぐる)
株式会社Uravation代表取締役。X(@SuguruKun_ai)フォロワー10万人超。
100社以上の企業向けAI研修・導入支援。著書累計3万部突破。
SoftBank IT連載7回執筆(NewsPicks最大1,125ピックス)。
ご質問・ご相談は お問い合わせフォーム からお気軽にどうぞ。

関連記事: MCPサーバー実践10選|Claude Desktopで即使える

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年3月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事