Agent Development Kit (ADK) 2.0
An open-source, code-first Python toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.
README
Agent Development Kit (ADK) 2.0
<h2 align="center">
<img src="https://raw.githubusercontent.com/google/adk-python/main/assets/agent-development-kit.png" width="256"/>
</h2>
<h3 align="center">
An open-source, code-first Python framework for building, evaluating, and deploying sophisticated AI agents with flexibility and control.
</h3>
<h3 align="center">
Important Links:
<a href="https://google.github.io/adk-docs/">Docs</a>,
<a href="https://github.com/google/adk-samples">Samples</a> &
<a href="https://github.com/google/adk-web">ADK Web</a>.
</h3>
โ ๏ธ BREAKING CHANGES FROM 1.x
This release includes breaking changes to the agent API, event model, and
session schema. Sessions generated by ADK 2.0 are readable by ADK 1.28+
(extra fields will be ignored), but are incompatible with older 1.x versions.
๐ฅ What's New in 2.0
-
Workflow Runtime: A graph-based execution engine for composing
deterministic execution flows for agentic apps, with support for routing,
fan-out/fan-in, loops, retry, state management, dynamic nodes,
human-in-the-loop, and nested workflows. -
Task API: Structured agent-to-agent delegation with multi-turn task
mode, single-turn controlled output, mixed delegation patterns,
human-in-the-loop, and task agents as workflow nodes.
๐ Installation
pip install google-adk
Requirements: Python 3.10+.
To install optional integrations, you can use the following command:
pip install "google-adk[extensions]"
The release cadence is roughly bi-weekly.
Quick Start
Beginner Note: ADK applications are built using two main classes:
Agent(defines an AI's instructions, tools, and behavior) and
Workflow(orchestrates agents and tasks in a graph-based flow).
Agent
from google.adk import Agent
root_agent = Agent(
name="greeting_agent",
model="gemini-2.5-flash",
instruction="You are a helpful assistant. Greet the user warmly.",
)
Workflow
from google.adk import Agent, Workflow
generate_fruit_agent = Agent(
name="generate_fruit_agent",
instruction="Return the name of a random fruit. Return only the name.",
)
generate_benefit_agent = Agent(
name="generate_benefit_agent",
instruction="Tell me a health benefit about the specified fruit.",
)
root_agent = Workflow(
name="root_agent",
edges=[("START", generate_fruit_agent, generate_benefit_agent)],
)
Run Locally
# Interactive CLI
adk run path/to/my_agent
# Web UI (supports multi-agent directories or pointing directly to a single agent folder)
adk web path/to/agents_dir
๐ Documentation
- Getting Started: https://google.github.io/adk-docs/
- Samples: See
contributing/workflow_samples/and
contributing/task_samples/for workflow and task API examples.
๐ค Contributing
See CONTRIBUTING.md for details.
๐ License
This project is licensed under the Apache 2.0 License โ see the
LICENSE file for details.
