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つのレイヤーを区別すると理解しやすくなります。
- モデル。 Gemini(またはVertex AI Model GardenやLiteLLMを介した他のプロバイダー)が推論を行います。
- フレームワーク。 ADKは、エージェントを定義し、ツールを接続し、マルチエージェントフローを調整するコードレイヤーです。
- ランタイム。 Vertex AI Agent Engineは、エージェントが本番環境で実行されるマネージドでスケーラブルなホストです。Cloud Runやその他のコンテナランタイムにデプロイすることもできます。

つまり、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を検討すべき状況は次のとおりです。
- Google Cloud上で開発しており、GeminiとVertex AI Agent Engineのマネージドランタイムを求めている場合。
- 明示的なシーケンシャル、パラレル、またはループ制御を伴うマルチエージェントのオーケストレーションが必要な場合。
- 後から追加するのではなく、フレームワークに評価が組み込まれていることを望む場合。
- モデルを交換する可能性があり、エスケープハッチとしてLiteLLMとVertex AI Model Gardenを望む場合。
別のモデルエコシステムに確固として属している場合や、1つまたは2つの関数呼び出しを伴う単一のプロンプトでユースケース全体がカバーされる場合は、ADKをスキップするかもしれません。エージェントフレームワークは構造を追加しますが、作業が小さい場合はその構造にはコストがかかります。
Apidogの役割:エージェントが呼び出すAPIのテストとモック
ADKはエージェントを調整しますが、そのエージェントが依存する外部APIはテストしません。そして、それが早期に解消すべきギャップです。

エージェント内の意味のあるすべてのツールは、LLMエンドポイント、決済API、内部マイクロサービス、サードパーティのデータソースなど、何らかのものを呼び出します。これらのいずれかが予期しない形式を返した場合、エージェントは不正な入力に基づいて推論し、障害の追跡が困難になります。Apidogは、問題が発生する前にその契約を確立する場所です。明確に述べると、Apidogはエージェントフレームワークではなく、ADKを置き換えるものではありません。それは、ツールがアクセスするAPIの1つ下のレイヤーに位置します。
ADK開発中のいくつかの具体的な用途:
- ツールが呼び出すエンドポイントをモックする。 LLMまたはツールのRESTエンドポイント用のモックAPIを立ち上げ、トークンを消費したりレート制限に達したりすることなくエージェントを開発および実行できます。エージェントが処理する必要のあるエラーケースを含む応答を制御できます。
- ツールの応答形式をアサートする。 APIアサーションを使用して、ツールエンドポイントがエージェントが期待するフィールドを正確に返すことを確認します。契約がずれた場合、混乱したエージェントのトランスクリプトではなく、テストでそれを捕捉します。
- 環境ごとにキーを管理する。 開発、ステージング、本番のキーをApidog環境に保持することで、同じツール呼び出しがすべてのステージでクリーンに実行されます。
特にエージェントを対象としたより詳細なウォークスルーが必要な場合は、本番環境で問題が発生する前に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が扱うレイヤーであり、不安定なエージェントの動作が通常始まる場所です。
