TL;DR:
- Google ADK is an open-source framework for building multi-agent AI applications, available in Python, Go, and Java (Python since March 2026, GA with 2.0 release)
- Core orchestration patterns: SequentialAgent (pipeline), ParallelAgent (concurrent sub-tasks), LoopAgent (iterative refinement), plus LLM-driven dynamic routing
- Built-in CLI and web UI let you inspect agent events, tool calls, and state transitions locally before deploying to Vertex AI
- ADK 2.0 added integrations with GitHub, Jira, MongoDB, and observability platforms — positioning it as a full agent execution layer, not just a prototyping tool
- Use it when: you need multi-agent coordination, tool-use patterns, and structured observability; reach for LangChain or CrewAI if you need a wider existing ecosystem
Most agent frameworks start from the same place: wrap a model call, add tool execution, call it an agent. Google’s Agent Development Kit takes a different position. From version one, multi-agent orchestration was the primary design goal — not a feature added later. The result is a framework where coordinating specialised agents, routing between them, and debugging what happened at each step feels like first-class work rather than an afterthought.
What ADK Is
Google released ADK in March 2026 with a Python SDK, followed shortly by Go and Java. ADK 2.0 reached general availability later in the year with full production support, Vertex AI deployment integration, and an expanded set of built-in tools and connectors.
The framework is open-source under Apache 2.0 and available on GitHub (google/adk-python, google/adk-java, google/adk-go). It powers Google’s own Agentspace product, which means there is corporate alignment between the framework’s direction and Google’s agent product strategy — something worth noting when evaluating long-term support.
ADK is not a no-code platform. It is explicitly code-first. You define agents as Python classes, configure tools as functions, and wire multi-agent systems together in code. This is its strength for developers and its limit for non-technical users.
The Three Orchestration Patterns
The framework builds multi-agent coordination around three core abstractions:
SequentialAgent runs a pipeline: Agent A completes, its output passes to Agent B, which passes to Agent C. This is the right pattern for document processing pipelines (extract, then analyse, then format), code generation followed by review, or any workflow where stage ordering is deterministic.
ParallelAgent runs multiple sub-agents concurrently and collects results. Use it when sub-tasks are independent: running competitive analysis across three different data sources simultaneously, or generating multiple creative variants in parallel for a selection step.
LoopAgent runs an agent repeatedly until a termination condition is met. This handles iterative refinement — draft, evaluate, revise, evaluate again — without you having to build the retry loop manually.
Beyond these structured patterns, ADK supports LLM-driven dynamic routing, where the model itself decides which sub-agent to call based on context. This is more flexible but less predictable, and the ADK tooling specifically helps you see when and why routing decisions are made.
The Developer Experience
ADK ships with a CLI and a web-based developer UI. After installing the package and defining your agents, you run a local development server that renders a visual interface showing:
- The event stream from each agent invocation
- Tool calls made and their responses
- State transitions as context passes between agents
- Any error or unexpected routing
This is genuinely useful for multi-agent debugging, where the problem is often not that an agent failed but that the wrong agent was invoked, or that state was passed incorrectly between steps. Being able to see exactly what happened — which tool was called, with what arguments, and what it returned — makes debugging tractable.
from google.adk.agents import SequentialAgent, LlmAgent
from google.adk.tools import google_search
research_agent = LlmAgent(
name="researcher",
model="gemini-2.0-flash",
tools=[google_search],
instruction="Research the topic and return key findings."
)
summary_agent = LlmAgent(
name="summariser",
model="gemini-2.5-pro",
instruction="Take the research findings and produce a concise summary."
)
pipeline = SequentialAgent(
name="research_pipeline",
sub_agents=[research_agent, summary_agent]
)
2026 Additions and Production Readiness
ADK 2.0 added connectors for GitHub (reading issues, creating PRs), Jira (creating and updating tickets), MongoDB (document retrieval and storage), and several observability platforms. This reflects a shift from “framework for prototyping agents” to “runtime for running agents in production workflows.”
It also added the Agent-to-Agent (A2A) protocol, which allows cross-language agent communication: a Python ADK agent can call a Go ADK agent and receive a structured response. This matters in organisations with polyglot codebases where the right tool for one part of a pipeline may not be in the same language as the rest.
Deployment to Vertex AI is handled through the ADK CLI: adk deploy vertex --project=your-project --agent=your_agent. The agent runs as a managed endpoint with autoscaling, and you get the same event-stream observability in the Vertex AI console that you used locally.
How It Compares
LangChain has a much larger ecosystem of integrations and community examples. If you need to connect to an obscure data source or model provider that someone has already built a connector for, LangChain is more likely to have it. ADK has stronger native multi-agent orchestration and a better debugging experience.
CrewAI uses a role-based mental model (you assign agents roles like “researcher” or “writer”) which some teams find more intuitive. ADK is more explicit about orchestration patterns, which makes it easier to reason about what your system does.
LlamaIndex is primarily a retrieval-augmented generation framework, not a general agent orchestration framework. The comparison only makes sense in specific RAG-heavy use cases.
ADK makes the most sense if you are building on Google Cloud, using Gemini models (the native model support is deepest), and want structured multi-agent pipelines with production deployment as a first-class concern.