Google ADK (エージェント開発キット) とは?実践ガイド

Google ADKとは?エージェント開発キットの実践ガイド:エージェント、ツール、マルチエージェントランナー、Vertex AIへのデプロイ、およびそれが呼び出すAPIのテスト方法。

Ashley Innocent

Ashley Innocent

25 6月 2026

Google ADK (エージェント開発キット) とは?実践ガイド

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

Google ADKは、AIエージェントの構築、評価、デプロイを行うためのオープンソースフレームワークであり、AgentspaceのようなGoogle製品内の実際のエージェントを動かしています。もしあなたがOpenAI Agents SDKのような他のエージェントスタックをすでに検討しているなら、ADKはGeminiおよびVertex AIとの密接な連携を保ちながら、同様の領域をカバーしています。このガイドでは、ADKとは何か、その主要なコンポーネントがどのように連携するか、そしてApidogのようなツールがエージェントが最終的に呼び出すAPIのテストにどのように役立つかを説明します。

ボタン

Google ADKとは

ADKはAgent Development Kitの略です。Googleは2025年4月のGoogle Cloud Nextで、エージェントの全ライフサイクル(エージェントの定義、ツールの付与、複数のエージェントの構成、振る舞いの評価、本番環境へのデプロイ)のためのオープンソースツールキットとして発表しました。

当初はPythonが最初にサポートされ、その後GoogleはJavaを追加し、GoとTypeScriptのサポートも追随しています。このフレームワークは、GoogleがAgentspaceやCustomer Engagement Suiteのエージェントで内部的に使用しているものと同じであるため、おもちゃのようなSDKではありません。本番ワークロード向けに構築されています。

ADKはモデルに依存しませんが、Google向けに最適化されています。GeminiとVertex AI Model Gardenを通じて利用可能なあらゆるモデルで最適に動作し、LiteLLMに接続することで、Anthropic、Meta、Mistral、その他のプロバイダーのエージェントをポイントできます。単一のモデルに縛られることなく、密接なGemini統合を利用できます。

ADKがGeminiとVertex AIのエコシステムで占める位置

次の3つのレイヤーを区別すると理解しやすくなります。

つまり、ADKは開発者向けレイヤーです。その下にはGeminiがインテリジェンスを提供し、その上にはVertex AI Agent Engineがマネージドなホームを提供します。これらすべてを一緒に使用することも、ADKをローカルで実行して別の場所にデプロイすることもできます。単一のパスに強制されることはありません。

主要な概念

いくつかの構成要素が、あなたが書くコードのほとんどをカバーします。

エージェント

基本的な単位はLLMに裏打ちされたエージェントです。Pythonでは、google.adk.agentsからインポートします。クラスはLlmAgentであり、Agentはその便利なエイリアスです。モデル、名前、振る舞いを形成する指示、およびツールのリストをエージェントに与えます。

from google.adk.agents import Agent

def get_exchange_rate(base: str, target: str) -> dict:
    """Return the exchange rate between two currencies."""
    # ここで実際のFX APIを呼び出す
    return {"base": base, "target": target, "rate": 1.08}

currency_agent = Agent(
    name="currency_exchange_agent",
    model="gemini-2.0-flash",
    instruction="通貨間の換算をユーザーに手伝います。事実に忠実に従ってください。",
    tools=[get_exchange_rate],
)

これが動作する単一のエージェントです。指示がエージェントに何をすべきかを伝え、ツールリストが何を呼び出せるかを伝えます。

ツール

ツールは、エージェントがテキスト生成以外のことを行う方法です。ADKでは、単純なPython関数がツールです。関数の名前、型ヒント、ドキュメンテーション文字列は、モデルがいつどのようにそれを呼び出すかを伝えるため、明確なドキュメンテーション文字列は予想以上に重要です。

独自の関数以外にも、ADKはgoogle_searchやコード実行などの組み込みツールを提供し、外部ツールサーバーを接続するためのModel Context Protocol (MCP)をサポートしています。LangChainやLlamaIndexのようなサードパーティライブラリをラップしたり、別のエージェントをツールとして使用したりすることもできます。ほとんどのエージェントは、これらのツールを通じて外部REST APIを呼び出すことになり、まさに後でテストとモックが重要になる点です。

マルチエージェントシステム

単一のエージェントでもかなりのことができますが、ADKは階層構造のために構築されています。専門のエージェントをより大きなシステムに構成し、コーディネーターがそれらの間で作業をルーティングできるようにします。

このフレームワークは、決定論的制御のためのワークフローエージェントを提供します。SequentialAgentはサブエージェントを順番に実行し、ParallelAgentは同時に実行し、LoopAgentは条件が満たされるまで繰り返します。これらをLLM駆動のルーティングと組み合わせることで、複数のサブエージェントに分散してその結果をマージするリサーチエージェントを構築できます。

ランナー

本番環境でエージェントを直接呼び出すことはありません。RunnerはADKの実行エンジンです。セッションを管理し、イベントの流れを駆動し、状態を更新し、モデルを呼び出し、ツール呼び出しを調整します。開発中はCLIで定型コードをスキップできます。adk runは対話型ターミナルセッションを起動し、adk webはエージェントとのチャットや各ステップの検査のためのローカルブラウザUIを開きます。

評価とデプロイ

ADKには評価ハーネスが含まれており、単に出力を見るだけでなく、期待される軌道や応答に対してエージェントを採点できます。これは、プロンプト、ツール、またはモデルを変更するとエージェントの動作が変化するため、重要です。

デプロイには、マネージドパスとポータブルパスがあります。Vertex AI Agent Engineは、インフラストラクチャがすべて処理された、完全にマネージドでスケーラブルなランタイムを提供します。よりポータブルにしたい場合は、エージェントをコンテナにパッケージ化し、Cloud Runまたは任意のコンテナプラットフォームにデプロイできます。

高レベルな例

これは、小さなマルチエージェント設定の形です。コーディネーターが2つのスペシャリストに委任します。

from google.adk.agents import Agent

flights = Agent(
    name="flight_agent",
    model="gemini-2.0-flash",
    instruction="ユーザーのルートと日付のフライトオプションを検索します。",
    tools=[search_flights],   # フライトAPIをラップする独自の関数
)

hotels = Agent(
    name="hotel_agent",
    model="gemini-2.0-flash",
    instruction="目的地の近くのホテルオプションを検索します。",
    tools=[search_hotels],    # ホテルAPIをラップする独自の関数
)

trip_planner = Agent(
    name="trip_planner",
    model="gemini-2.0-flash",
    instruction="旅行を計画します。フライトとホテルの検索はサブエージェントに委任します。",
    sub_agents=[flights, hotels],
)

コーディネーターはリクエストについて推論し、適切なサブエージェントに引き渡します。各サブエージェントは、そのツール関数を通じて実際のAPIを呼び出します。全体をRunnerを通じて実行するか、adk webでインタラクティブにテストします。

ADK対OpenAI Agents SDK

どちらもツール、引き渡し、トレースを備えたコードファーストのエージェントフレームワークです。違いはエコシステムの重力です。

Google ADK OpenAI Agents SDK
デフォルトモデル Gemini (Vertex AI) OpenAIモデル
その他のモデル Vertex AI Model Garden, LiteLLM LiteLLMなど
言語 Python, Java, Go, TypeScript Python, JavaScript/TypeScript
マルチエージェント サブエージェントとSequential、Parallel、Loopワークフローエージェント ツールとしてのエージェントと引き渡し
マネージドランタイム Vertex AI Agent Engine 持ち込み
ツールプロトコル MCP, 組み込みツール, 関数ツール MCP, 関数ツール

スタックがすでにGoogle Cloud上で動作している場合、ADKとVertex AIが自然に適合します。OpenAIを第一に考えている場合、OpenAI Agents SDKはあなたをその道にとどめます。どちらもMCPに対応しているため、ツールサーバーを共有できます。

ADKを使用すべきとき

ADKを検討すべき状況は次のとおりです。

別のモデルエコシステムに確固として属している場合や、1つまたは2つの関数呼び出しを伴う単一のプロンプトでユースケース全体がカバーされる場合は、ADKをスキップするかもしれません。エージェントフレームワークは構造を追加しますが、作業が小さい場合はその構造にはコストがかかります。

Apidogの役割:エージェントが呼び出すAPIのテストとモック

ADKはエージェントを調整しますが、そのエージェントが依存する外部APIはテストしません。そして、それが早期に解消すべきギャップです。

エージェント内の意味のあるすべてのツールは、LLMエンドポイント、決済API、内部マイクロサービス、サードパーティのデータソースなど、何らかのものを呼び出します。これらのいずれかが予期しない形式を返した場合、エージェントは不正な入力に基づいて推論し、障害の追跡が困難になります。Apidogは、問題が発生する前にその契約を確立する場所です。明確に述べると、Apidogはエージェントフレームワークではなく、ADKを置き換えるものではありません。それは、ツールがアクセスするAPIの1つ下のレイヤーに位置します。

ADK開発中のいくつかの具体的な用途:

特にエージェントを対象としたより詳細なウォークスルーが必要な場合は、本番環境で問題が発生する前にAIエージェントのツール呼び出しをテストする方法を参照してください。Apidogをダウンロードして、数分で単一のエンドポイントをモックできます。

よくある質問

Google ADKは無料でオープンソースですか?

はい。ADKはApacheライセンスのGitHubリポジトリでオープンソースとして公開されており、費用なしでローカルで実行できます。呼び出すモデルや、Vertex AI Agent Engineのようなデプロイ先のマネージドランタイムに対しては料金が発生します。フレームワーク自体は無料です。

ADKはGeminiでのみ動作しますか?

いいえ。ADKはGeminiとVertex AIに最適化されていますが、モデルに依存しません。Vertex AI Model GardenとLiteLLMを通じて、Anthropic、Meta、Mistral、その他のプロバイダーでエージェントを実行できます。Geminiはデフォルトですが、必須ではありません。

ADKはどの言語をサポートしていますか?

Pythonが最初にサポートされ、最も完成度が高いです。その後、GoogleはJavaを追加し、GoとTypeScriptのサポートも追随しています。今日、最も幅広い機能カバーを望むなら、Pythonが最も安全な選択肢です。

ADKエージェントが依存するAPIをテストするにはどうすればよいですか?

エージェントとは別にテストしてください。LLMまたはツールエンドポイントをモックして、ライブ呼び出しなしでエージェントが実行されるようにし、各応答がエージェントが期待するものと一致することをアサートします。Apidogはこれら両方をカバーしており、ChatGPT APIのテスト方法に関するガイドは、ツールが呼び出す可能性のあるLLMエンドポイントについても同様のパターンを示しています。

まとめ

Google ADKは、GeminiとVertex AIを手元に置きながら、他のモデルも設定変更一つで利用できる、エージェントおよびマルチエージェントシステムを構築するためのクリーンで本番環境志向の方法を提供します。まず1つのエージェントといくつかのツールから始め、adk webを活用してその思考プロセスを観察し、作業の要求に応じてサブエージェントやマネージドランタイムへと拡張していきましょう。エージェントが外部APIに強く依存するようになったら、それらのAPIをモックしてアサートするものとして扱いましょう。それがApidogが扱うレイヤーであり、不安定なエージェントの動作が通常始まる場所です。

ボタン

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる