What is Google ADK? How it works and how to evaluate it
Google ADK is an open-source, code-first framework for building, evaluating and deploying AI agents, with graph workflows and built-in evals.
Google’s Agent Development Kit (ADK) is an open-source framework for building, debugging and deploying AI agents, available in Python, TypeScript, Go, Java and Kotlin (ADK docs). The Python repository calls it a “code-first” toolkit, so agent logic, tools and orchestration are defined in code (GitHub).
What ADK gives you
- Models: easy access to Gemini and adapters for other leading models, including local ones (ADK docs).
- Workflows: new in ADK 2.0, agents and deterministic nodes can be composed into an execution graph, or controlled with plain programmatic logic (workflows).
- Context management: sessions, memory, tool outputs and artifacts are assembled into a structured context, with filtering and summarizing as needed (ADK docs).
- Deployment: containerize it and run it anywhere, or deploy to Google Cloud through Agent Runtime, Cloud Run or GKE (ADK docs).
- No-code option: an Agent Config feature builds agents without code, though the project describes itself as code-first (GitHub).
The Python package installs with pip install google-adk and needs Python 3.11 or newer (GitHub). The latest release was 2.13.0 as of November 2026 (PyPI).
Ways to structure agents
| Pattern | What it is |
|---|---|
| Graph workflow | AI agents and deterministic nodes in one execution graph, with decision branching |
| Dynamic workflow | The same mix, controlled by full programmatic code |
| Collaborative | One agent acts as a coordinator over a set of specified sub-agents |
| Template | Fixed structures built on BaseAgent: sequences, loops and parallel execution |
Source: ADK workflows. For the general idea behind coordinating several agents, see agent orchestration.
When to use it
ADK fits teams that want one framework from prototype to deployment, with evaluation and a Google Cloud deploy path built in. If you want explicit graph state with checkpoints, compare LangGraph. For a lighter SDK with handoffs, see the OpenAI Agents SDK. For role-based crews, see CrewAI. Background: what AI agents are and agentic workflows.
How to evaluate an ADK agent
ADK evaluates agents against predefined datasets and scores both the tool-use trajectory and the final response (evaluation docs).
- Test files (
.test.json) hold one session and suit quick, unit-test-style checks. Evalset files hold several sessions and suit multi-turn integration tests (evaluation docs). - Run them from the
adk webEval tab, from pytest withAgentEvaluator.evaluate, or from the command line withadk eval <agent_path> <evalset_file>(evaluation docs). tool_trajectory_avg_scorerequires an exact match of the tool-call trajectory, andresponse_match_scoremeasures ROUGE-1 similarity to a reference answer. Defaults are 1.0 and 0.8, and custom thresholds go undercriteriaintest_config.json(evaluation docs).- LLM-judge criteria such as
final_response_match_v2need Vertex Gen AI Evaluation Service credentials. Efficiency metrics like token usage are reported but never pass or fail a case (evaluation docs).
An exact trajectory match is strict, and ROUGE-1 only measures word overlap with a reference, so these checks work best on a curated set of cases. The general method is in LLM evaluation.
Observability
ADK says it provides built-in observability through logging, metrics and traces, and that you may want more advanced integrations for monitoring and analysis (ADK docs). For why agents need traces, see what agent observability is.
Tracing an ADK app in HoneyHive
HoneyHive traces ADK through the OpenInference Google ADK instrumentor. It captures agent runs with inputs and outputs, LLM calls with requests, responses and token usage, and tool calls with arguments and results. For a multi-agent app, the trace shows the full hierarchy from coordinator to sub-agents. Install honeyhive[openinference-google-adk], call HoneyHiveTracer.init() (it reads HH_INGESTION_API_KEY), then call GoogleADKInstrumentor().instrument(tracer_provider=tracer.provider) before you create agents. Leaving out tracer_provider means traces will not appear. The docs were last tested with google-adk 1.28.1 in April 2026 (integration docs).
Setup details are on the HoneyHive Google ADK integration page.
FAQ
Is Google ADK free?
Yes. The Python repository is licensed under Apache 2.0 and installs with pip install google-adk (GitHub).
Does Google ADK only work with Gemini?
No. It gives easy access to Gemini and has adapters for other leading models, including locally running ones (ADK docs).
What languages does Google ADK support?
Python, TypeScript, Go, Java and Kotlin (ADK docs).
How do I trace a Google ADK app?
Install the OpenInference Google ADK instrumentor and pass it your tracer provider before you create agents. Existing agent code runs unchanged (HoneyHive Google ADK integration).