Agent Development Kit (ADK)
Type: full-code · Vendor: Google · Language: Python, Java · License: Apache-2.0 · Status: active · Status in practice: mature · First released: 2025-03-17
Provide a code-first, model-agnostic Python and Java framework for composing LLM agents with deterministic workflow agents into multi-agent applications that can be evaluated and deployed at enterprise scale.
Description. Agent Development Kit (ADK) is Google's open-source, Apache-2.0 framework for building, evaluating, and deploying AI agents from a single LlmAgent up to multi-agent workflows. The 2.0 release adds a graph-based Workflow Runtime that interleaves deterministic execution flows with LLM reasoning, plus a Task API for structured agent-to-agent delegation. Core abstractions include LlmAgent (instructions + model + tools), the workflow agents Sequential / Parallel / Loop, sub_agents trees, MCP tool integration via McpToolset, an evaluation harness (AgentEvaluator, eval sets, tool-trajectory and response-match criteria), and first-class deployment to Cloud Run, GKE, and Vertex AI Agent Runtime.
Agent loop shape. Hierarchical agent tree with a graph-based Workflow Runtime. An LlmAgent runs the standard reason-act-observe loop over its tools; workflow agents (Sequential / Parallel / Loop) compose sub_agents with fixed execution logic; in collaborative workflows an LlmAgent coordinator dynamically routes work across sub_agents. ADK 2.0 adds a graph-based execution engine that interleaves deterministic nodes with LLM agents inside one run.
Primary use cases
- production multi-agent workflows on Google Cloud (Agent Runtime, Cloud Run, GKE)
- deterministic orchestration via SequentialAgent / ParallelAgent / LoopAgent
- LLM-coordinated dynamic routing across sub-agents
- evaluation-driven agent development with eval sets and trajectory matching
- MCP-tool integration into Gemini and other LLMs
Key concepts
- LlmAgent → tool-use (docs) — Self-contained execution unit: model + instructions + tools. The core building block, often aliased simply as Agent.
- Workflow Agents (Sequential / Parallel / Loop) → orchestrator-workers (docs) — Specialised agents that control execution flow over sub-agents with predefined, deterministic logic.
- Collaborative workflow → supervisor (docs) — Single LlmAgent acts as dynamic coordinator over a set of sub_agents.
- McpToolset → mcp (docs) — Bridges an MCP server into ADK: connects, lists tools, converts them to ADK BaseTool instances, manages shutdown.
- output_schema / output_key → structured-output (docs) — output_schema enforces a JSON shape on the final response; output_key auto-saves the response to session state.
- AgentEvaluator + eval sets → eval-harness (docs) — Evaluation harness comparing actual trajectories to expected ones via tool_trajectory_avg_score, response_match_score, rubric_based_final_response_quality_v1, and similar criteria.
Patterns this full-code implements —
- ★★Tool Use
Tools (function tools, OpenAPI tools, MCP tools, built-in tools) attach to an LlmAgent via its tools list and the LLM invokes them through the standard reason-act-observe loop.
- ★★Model Context Protocol
McpToolset connects to an MCP server, lists tools, converts them to ADK BaseTool instances and manages graceful shutdown; both StdioServerParameters and SSE-style connections are supported.
- ★★Structured Output
LlmAgent.output_schema constrains the final response to a JSON shape; output_key writes the response into session state for downstream agents.
- ★★Supervisor
Collaborative workflow places one LlmAgent in a dynamic coordinator role over a set of sub_agents that automatically return to the coordinator after task completion; orchestration is LLM-driven rathe…
- ★★Orchestrator-Workers
Workflow agents (Sequential / Parallel / Loop) execute sub-agents under fixed deterministic logic, yielding orchestrator-worker shape.
- ★Handoff
ADK 2.0 ships a Task API for structured agent-to-agent delegation; combined with sub_agents trees and the collaborative coordinator this realises the handoff pattern.
- ★★Evaluator-Optimizer
AgentEvaluator with eval sets compares actual trajectories to expected ones; multiple built-in criteria (tool_trajectory_avg_score, response_match_score, rubric_based_final_response_quality_v1) drive…
- ★★Agentic RAG
ADK ships the vertex_ai_rag_retrieval tool that lets an LlmAgent perform private-data retrieval via Vertex AI Knowledge Engine; agentic RAG is a first-party integration but not a top-level abstractio…
- ★Subagent Isolation
sub_agents trees give an LlmAgent named children it can delegate to with automatic return-to-parent behaviour after each task; ADK does not document a hard context-isolation boundary at the level Ant…
Neighbourhood
Click any neighbour to follow the lineage. Scroll to zoom, drag to pan.