Agent Development Kit (ADK) is a code-first framework from Google for building, evaluating, and deploying AI agents, from single agents to multi-agent systems. The Python package is the reference implementation, with separate ADK versions for TypeScript, Go, Java, and Kotlin. It is optimized for Gemini but model-agnostic, deployment-agnostic, and compatible with other frameworks.
Applications are built from two main classes. An Agent defines a model's instructions, tools, and behavior, and a Workflow orchestrates agents and tasks in a graph. The workflow runtime supports routing, fan-out and fan-in, loops, retries, state management, dynamic nodes, human-in-the-loop steps, and nested workflows, and a Task API handles structured delegation from one agent to another.
Agents use pre-built tools, custom functions, OpenAPI specs, and MCP tools, and a tool confirmation flow can require explicit approval before a tool runs. Agents can also be defined without code through Agent Config. A built-in development UI tests, evaluates, and debugs agents, a CLI runs evaluation sets, and agents deploy to Docker containers, Cloud Run, or Vertex AI Agent Engine.
Features
- Workflow runtime: graph-based execution with routing, fan-out and fan-in, loops, retries, state, dynamic nodes, and nested workflows
- Task API: structured agent-to-agent delegation with multi-turn task mode, single-turn controlled output, and task agents as workflow nodes
- Multi-agent hierarchies: composes specialized agents into larger applications
- Tool ecosystem: pre-built tools, custom functions, OpenAPI specs, and MCP tools
- Tool confirmation: a human-in-the-loop flow that guards tool execution with explicit confirmation and custom input
- Agent Config: defines agents without writing code
- Development UI: a web interface to test, evaluate, debug, and demo agents
- Evaluation: runs agents against evaluation sets with configurable criteria
- Deployment targets: Docker containers, Cloud Run, and Vertex AI Agent Engine
- Multiple languages: Python, TypeScript, Go, Java, and Kotlin implementations



