Google ADK 2.0: The Framework That Turns Agents Into Teammates
At Google I/O 2026, Google released ADK 2.0 with a graph-based execution engine and collaborative multi-agent workflows. Here is what changed, what it means, and why it matters even if you have never written an agent before.
Most AI tools answer one question at a time. You ask. It responds. Done.
ADK is different. It lets you build systems where multiple AI agents coordinate, divide work, and hand off results to each other. Google released ADK 2.0 at Google I/O 2026 on May 19. It changes how those agents are organized and how reliably they run.
That is Reading DNA Bot, a Telegram bot I built using ADK 2.1. It analyzes the books you love, builds your Reading DNA profile, and recommends your perfect next read. If you want to see the full technical breakdown of how it was built, the project page is here.
What is ADK?
ADK stands for Agent Development Kit. It is Google's open-source framework for building AI agents in code.
An AI agent is not just a chatbot. It is a language model that has been given tools: search the web, call an API, query a database. The agent decides which tool to use, runs it, reads the result, and decides what to do next.
Think of a chatbot as a knowledgeable friend at a desk. An agent is more like a researcher with a phone and a laptop. They do not answer from memory. They go find out.
What Google Announced at I/O 2026
ADK 2.0 reached general availability on May 19, 2026. The headline change is the Workflow Runtime, a graph-based execution engine that replaces the older hierarchical execution model.
Three capabilities came with it:
- Graph-based workflows: define your process as a map of connected steps
- Collaborative workflows: one coordinator agent delegates work to a team of sub-agents
- Dynamic workflows: use full programming logic for complex branching and loops
Google also released ADK for Kotlin (version 0.1.0, beta), extending support to Android. Python, TypeScript, Go, and Java were already supported.
What Graph-Based Execution Actually Means
In ADK 1.x, agents were organized in a hierarchy. A parent called child agents, which called their own children. Everything flowed top to bottom.
In ADK 2.0, agents, tools, and functions are all nodes in a graph, a map of steps with arrows connecting them.
Think of a kitchen. In the old model, every instruction flows from the head chef to the sous chef to each station. If the sous chef is busy, everyone waits.
In ADK 2.0, the kitchen has a recipe board. Every station can see it. The fish station and the salad station work at the same time. Results flow directly to whoever needs them next.
Each node can be an AI agent, a Python function, or an external tool.
Collaborative Workflows
ADK 2.0 formalizes how one agent delegates work to a team of others. A coordinator agent oversees the task without doing the work itself. Each sub-agent operates in one of three modes:
- Chat mode: talks directly to the user and hands back control manually
- Task mode: can ask the user for clarification, then automatically returns to the coordinator when done
- Single-turn mode: runs without user interaction and returns output immediately. Multiple single-turn agents can run in parallel.
Think of it like a project manager. They do not write the code, design the screens, or test the app. They assign work, define when each person should check back in, and collect what the team produces.
Before ADK 2.0, this kind of delegation required wiring together yourself. The framework now handles it natively.
What Changed from ADK 1.x
The agent base class changed. BaseAgent now extends BaseNode, the same base class used by tools and functions. Everything is a node.
Custom method overrides no longer work. If you overrode _run_async_impl() or generate_content() in ADK 1.x, the graph engine silently bypasses them in 2.0. Use BeforeAgentCallback and AfterAgentCallback instead.
Error handling changed. Broad try...except blocks inside tools hide exceptions ADK 2.0 needs for retries and human-in-the-loop pauses.
The event schema changed. The Event object gained two new fields: node_info and output. ADK 2.0 sessions are readable by ADK 1.28 and later, but incompatible with older 1.x versions.
Why This Matters
When an AI model decides every step, you get flexibility but lose control. When pure code decides every step, you get control but lose the AI's ability to reason.
ADK 2.0 lets you define the structure in code and let AI handle the reasoning at specific nodes. For complex tasks, that balance is more reliable than either approach alone.
If you are building on ADK, 2.0 is a meaningful upgrade. If you are starting fresh, it is a good entry point: open-source, multi-language, and more structured than ever.
The framework that used to help you build a smart assistant now helps you build a coordinated team.