What is Google ADK? How it works and how to evaluate it

Build agents
HoneyHive Engineering

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 web Eval tab, from pytest with AgentEvaluator.evaluate, or from the command line with adk eval <agent_path> <evalset_file> (evaluation docs).
  • tool_trajectory_avg_score requires an exact match of the tool-call trajectory, and response_match_score measures ROUGE-1 similarity to a reference answer. Defaults are 1.0 and 0.8, and custom thresholds go under criteria in test_config.json (evaluation docs).
  • LLM-judge criteria such as final_response_match_v2 need 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).

Share