Google Agent Development Kit (ADK)

An open-source, code-first Python framework for building and deploying AI agents

Framework
PyPI
v2.7.1
21,179stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
89/100Excellent
Development Activity100
Maintenance100
Community76
Maturity40
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
81/100Excellent
Architecture85
Code Quality82
Innovation85
Learning Curve72

Google’s Agent Development Kit (ADK) is a code-first Python framework for building, evaluating, and deploying sophisticated AI agents, optimized for (but not limited to) Gemini and the Google ecosystem. It centers on two core primitives — Agent, which defines an AI’s instructions, model, and tools, and Workflow, a graph-based execution engine for composing deterministic multi-agent flows with routing, fan-out/fan-in, loops, retries, and human-in-the-loop steps.

ADK 2.0 adds a structured Task API for agent-to-agent delegation (multi-turn task mode, single-turn controlled output, task agents as workflow nodes), and ships a CLI (adk run, adk web) for interactively running agents from the terminal or a local web UI. It integrates with FastAPI for serving agents, supports pluggable session backends, and includes a built-in evaluation module for testing agent behavior.

What You Get

  • An Agent class combining a model, instructions, and tools into a reusable agent definition
  • A graph-based Workflow runtime for composing agents with routing, fan-out/fan-in, loops, retry, and human-in-the-loop nodes
  • A Task API for structured agent-to-agent delegation, including multi-turn and single-turn task modes
  • A CLI (adk run, adk web) for running agents interactively from the terminal or a local web UI
  • Built-in evaluation tooling, session management, memory, and pluggable model/tool integrations

Common Use Cases

  • Building production multi-agent systems with deterministic, auditable execution graphs instead of freeform agent loops
  • Prototyping and iterating on Gemini-powered agents locally via the adk web UI before deployment
  • Delegating subtasks between specialized agents using the Task API’s structured agent-to-agent protocol
  • Evaluating agent behavior systematically using ADK’s built-in evaluation framework before shipping changes

Under The Hood

Architecture — The package is organized under src/google/adk/ into clearly separated concerns: agents/ (the core Agent abstraction), workflow/ (the graph-based execution engine), flows/ and events/ (execution and event propagation), sessions/ and memory/ (state persistence across turns), tools/ and code_executors/ (agent capabilities), models/ (LLM provider integrations), cli/ (the adk run/adk web entry points), evaluation/ (agent test harnesses), a2a/ (agent-to-agent protocol support), and telemetry//errors/ for observability. This modular layout lets the Workflow runtime orchestrate Agent instances as graph nodes while keeping model access, tool execution, and persistence as separately swappable layers.

Tech Stack — Pure Python (3.10+), built on FastAPI for serving, google-genai for Gemini model access, authlib and google-auth for authentication, aiosqlite for lightweight session storage, click for the CLI, and graphviz for workflow visualization. The project uses flit_core as its build backend and ships type-checked (Typing :: Typed) code.

Code Quality — A dedicated tests/ directory and tox.ini support multi-environment testing, and the project maintains pylintrc for lint enforcement. Development velocity is very high (274 commits/month, 71 releases at roughly bi-weekly cadence per the health-score data), reflecting active first-party maintenance by Google’s GenAI team, though the fast pace also means the README explicitly flags breaking changes between major versions (e.g. 1.x → 2.0 session schema changes).

API Design — The Agent/Workflow split keeps the common case trivial (a single Agent with a name, model, and instruction) while scaling to complex graphs via Workflow(edges=[...]) composition, and the CLI mirrors this with zero-config adk run/adk web commands that just point at an agent directory. Extensive first-party documentation (docs/, llms.txt/llms-full.txt for LLM-assisted onboarding, and separate adk-samples/adk-web companion repos) lowers the learning curve for a framework with genuinely broad surface area.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search