Google ADK — Agent Development Kit
Google ADK — Agent Development Kit
The Agent Development Kit (ADK) Google released in 2025 is an open-source framework for building LLM-based agents and multi-agent systems. It assumes integration with Vertex AI but stays relatively neutral on models and runtimes.
1. About ADK
Google ADK was first published on April 9, 2025 at Cloud Next. The official docs live at google.github.io/adk-docs and the code at github.com/google/adk-python. Apache 2.0 open source.
The same name and acronym is used in other domains (Android · development kit). The ADK in this article is Google's Agent Development Kit.
2. ADK's position
ADK tries to handle the following places as one bundle:
- Defining a single agent (model · tools · prompts).
- Tool integration (function · API · MCP).
- Multi-agent (hierarchy · delegation · collaboration).
- Evaluation and debugging (traces · sessions).
- Deployment (local · Cloud Run · Vertex AI Agent Engine).
ADK is combined with Vertex AI Agent Builder for managed operation on top of GCP. At the same time it's designed to run on self-hosted setups and other clouds.
3. Core concepts
| Concept | Meaning |
|---|---|
| Agent | A unit bundling model, tools, and instructions. |
| Tool | An external capability — function, API, MCP server. |
| Session | Conversation/execution context. |
| Runner | The execution environment that actually runs the agent. |
| Workflow Agent | Fixed flows — sequential, parallel, loop. |
| LLM Agent | A free flow where the model decides the next action. |
A shape that mixes pure code flow and LLM-autonomous flow on the same abstraction.
4. Combining models and tools
Model selection — Gemini (AI Studio · Vertex AI) is supported first-class, but there's an adapter shape for integrating other models. Multi-backend models via libraries like LiteLLM.
Tool integration:
- Define tools directly via Python function decorators.
- Auto-generated tools from OpenAPI specs.
- Integration that brings MCP servers in as ADK tools.
- Mapping LangChain and LlamaIndex tools onto ADK.
5. Multi-agent
ADK explicitly handles these shapes:
- Sequential — steps in a fixed order.
- Parallel — independent tasks in parallel.
- Loop — repeat until condition or termination.
- Hierarchical · Sub-agent — a parent agent calls a child agent like a tool.
A pattern where the parent acts as router/coordinator and children handle domains.
6. Evaluation and debugging
ADK includes its own dev UI and trace viewer. Per session you can see tool calls, messages, and intermediate reasoning to analyze failure points. On the Vertex AI side, Agent Engine's managed logging and evaluation are integrated.
7. Comparison with other frameworks
| Framework | Origin · timing | Position |
|---|---|---|
| LangChain · LangGraph | LangChain Inc., 2022~ | The most mainstream. LangGraph is a state graph. |
| LlamaIndex | 2022~ | Started in RAG, added agent modules. |
| AutoGen | Microsoft Research, 2023 | Multi-agent dialogue. Major refactor from 0.4. |
| CrewAI | João Moura, 2024 | Role-centered collaboration. |
| Semantic Kernel | Microsoft, 2023 | C# · Python · Java. Plugin model. |
| Smolagents | Hugging Face, 2024 | A small framework focused on code agents. |
| Haystack | deepset, 2020~ | Search/NLP + agents. |
| Google ADK | Google, 2025 | Vertex AI integration + model-neutral aim. |
Decision factors for selection:
- Cloud and runtime preference (GCP · Azure · self-hosted).
- Single agent vs multi-agent.
- The collaboration style of multi-agent (supervisor · roles · graph).
- Freedom of model selection.
- Operational tooling integration (evaluation · tracing · deployment).
8. Single-agent skeleton
from google.adk.agents import LlmAgent
from google.adk.tools import tool
@tool
def get_weather(city: str) -> dict:
"""Look up current weather by city name."""
...
agent = LlmAgent(
name="weather_agent",
model="gemini-2.0-flash",
instruction="Answer weather concisely in Korean.",
tools=[get_weather],
)
The actual API may shift across versions and releases — follow the official docs.
9. Multi-agent patterns
root_agent (router)
├── search_agent (search tools)
├── coder_agent (code writing/execution)
└── reviewer_agent (review/summary)
The parent analyzes user intent and selects/calls the appropriate child. Children only see their own context.
Vertex AI Agent Engine — deploying an ADK agent provides a managed runtime, session storage, and tracing on GCP. Self-hosting (Cloud Run · GKE · DIY) is also possible.
MCP combination — ADK can act as an MCP client to attach to external MCP servers, or expose an ADK agent as an MCP server — both directions.
10. Common pitfalls
Rapid change — the API changes because it's still new. Pin versions and track the changelog.
Degree of GCP coupling — using Vertex AI integration features means GCP for that part. Design a self-hosting path from the start.
Stability of model adapters — adapters for non-Gemini models vary in quality across model and version. Decide after evaluation.
Framework comparison fatigue — decision paralysis among LangChain, AutoGen, CrewAI, and ADK is common. Build a small prototype with two candidates and compare.
Volume of traces — multi-agent grows logs and traces fast. Retention policy and summarization required.
Infinite loops — poorly designed termination conditions in a Loop agent cause cost runaway. Step caps and budget caps.
Lack of evaluation — development is fast, but late evaluation hides regressions. Start with a small eval set.
MCP trust boundary — don't trust external MCP server results blindly; design permission and approval steps.
Closing thoughts
ADK's appeal is its explicit multi-agent patterns (Sequential · Parallel · Loop · Hierarchical) plus the managed runtime of Vertex AI Agent Engine. Since it's new and the API changes often, in operations the safe starting points are pinned versions, a small eval set, and a trace-retention policy.
Next
- claude-code-skills
- subagents
We refer to Google ADK Docs · google/adk-python · google/adk-java · Cloud Next Agent Builder · LangGraph · AutoGen · CrewAI · LlamaIndex Agents.