What ADK Is
Google’s Agent Development Kit (ADK) is an open-source, code-first Python framework for building, evaluating, and deploying AI agents [1]. The library is designed around flexibility and developer control, exposing its core primitives directly in Python rather than abstracting them behind configuration layers. The project is hosted on GitHub under the Apache license and targets engineers who want explicit, programmatic authority over agent behavior [1].
A minimal agent definition requires only an Agent object with a name, a model identifier, and an instruction string. The repository’s quick-start example instantiates a greeting_agent backed by gemini-2.5-flash in roughly four lines of code [1].
Breaking Changes in Version 2.0
ADK 2.0 introduces breaking changes across three areas: the agent API, the event model, and the session schema [1]. Developers migrating from 1.x releases will need to account for these incompatibilities before upgrading.
The session compatibility boundary is partially preserved. Sessions produced by ADK 2.0 are readable by ADK 1.28 and later 1.x releases, because those older versions ignore unrecognized fields. Sessions are not readable by any 1.x version older than 1.28 [1]. There is no stated backward path in the other direction: ADK 2.0 does not guarantee it can consume sessions written by pre-2.0 versions.
Workflow Runtime
The most architecturally significant addition in 2.0 is the Workflow Runtime, described as a graph-based execution engine for composing deterministic execution flows in agentic applications [1]. The engine supports a range of control-flow patterns: routing between nodes, fan-out and fan-in for parallel branches, loops, retry logic, state management across steps, dynamic node construction, human-in-the-loop checkpoints, and nested workflows [1].
Workflows are declared using a Workflow class imported from the google.adk namespace. Edges between agents are expressed as tuples passed to an edges parameter. The repository’s sample chains a generate_fruit_agent to a generate_benefit_agent by specifying edges=[('START', generate_fruit_agent, generate_benefit_agent)], illustrating how sequential pipelines are wired without imperative control flow [1].
The graph-based model means execution order and branching are encoded in the workflow definition itself rather than inside individual agent instructions, which separates orchestration logic from agent-level reasoning.
Task API and Agent-to-Agent Delegation
ADK 2.0 also ships a Task API designed for structured delegation between agents [1]. The API supports four interaction patterns: multi-turn task mode, single-turn controlled output, mixed delegation patterns, and the use of task agents as nodes inside a Workflow [1].
Multi-turn task mode allows a delegating agent to maintain a back-and-forth exchange with a subordinate agent across several steps. Single-turn controlled output constrains the subordinate to a single response, which is useful when deterministic, bounded output is required. Mixed delegation patterns combine both modes within the same application. Task agents can also be embedded directly as nodes in the Workflow Runtime, connecting the two new subsystems [1].
Sample code for both the Workflow and Task APIs is available in the repository under contributing/workflow_samples/ and contributing/task_samples/ [1].
Installation and Requirements
ADK installs from PyPI with pip install google-adk [1]. Optional integrations are available through an extensions extra: pip install "google-adk[extensions]" [1]. The minimum supported Python version is 3.11 [1].
The project ships on a roughly bi-weekly release cadence [1]. Documentation is hosted at google.github.io/adk-docs/, and the toolkit includes both an interactive CLI (adk run) and a web UI (adk web) for local development and testing [1].
FAQ
Q. Which 1.x versions can read sessions written by ADK 2.0? ADK 1.28 and later 1.x releases can read 2.0 sessions, because those versions silently ignore unrecognized fields. Versions older than 1.28 are incompatible with 2.0-generated sessions [1].
Q. Is the Workflow Runtime required, or can agents be used standalone?
The sources show that a plain Agent object can be instantiated and run independently without a Workflow wrapper. The Workflow Runtime is an optional composition layer for deterministic multi-agent flows [1].
Q. What Python version is required to run ADK 2.0? ADK 2.0 requires Python 3.11 or later. No support for earlier Python versions is documented [1].
Q. How do Task API agents relate to Workflow nodes? Task agents can be embedded directly as nodes inside a Workflow, meaning the Task API and Workflow Runtime are composable rather than mutually exclusive [1].
Q. How often does ADK receive new releases? The project’s stated release cadence is roughly bi-weekly [1].
Key takeaways
- ADK 2.0 introduces breaking changes to the agent API, event model, and session schema; sessions are backward-compatible only with ADK 1.28 and later 1.x versions [1].
- The new Workflow Runtime is a graph-based engine supporting routing, fan-out/fan-in, loops, retry, state management, dynamic nodes, human-in-the-loop, and nested workflows [1].
- The Task API adds structured agent-to-agent delegation with multi-turn, single-turn, and mixed modes, and task agents can serve as Workflow nodes [1].
- Installation requires Python 3.11 and uses
pip install google-adk, with an optional extensions variant available [1]. - The project ships on a roughly bi-weekly release cadence under the Apache license [1].