Dev & Engineering ✓ Google · Official python-sdkworkflow-runtimegraph-executiontask-delegationadk-climulti-agent-systems

Google ADK

A Python framework for building, orchestrating, evaluating, and locally running sophisticated AI agent applications.

FollowAgents review · FARS-2.1
Not recommended
55/ 100 5-point scale 2.8 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust12 / 29 · 2.1/5

Evidence shows: The project provides constraints files to protect transitive dependencies and specifies dependency version ranges in pyproject.toml, indicating attention to dependency security. However, no explicit least-privilege design, user confirmation mechanism, data flow transparency, or sensitive data handling policy is found. External effects (e.g., network calls) are not clearly documented, and rollback mechanisms are not mentioned. Source attribution is clear (official Google organization), but no security audit or vulnerability reporting channel is provided. Therefore, most criteria score low, with dependency security and source attribution scoring higher.

2Reliability8 / 14 · 2.9/5

Evidence shows: The project has clear version constraints and dependency ranges, indicating attention to dependency availability. However, no detailed failure messages or error handling strategies are provided. Self-consistency is moderate as README and pyproject.toml descriptions align, but not deeply verified. Thus, self-consistency and dependency availability score moderate, while failure messages score low.

3Adaptability10 / 18 · 2.8/5

Evidence shows: The project targets developers, offers multiple usage scenarios (Agent, Workflow, CLI, Web UI), supports multiple Python versions and optional integrations, indicating good environment fit. However, trigger precision (e.g., event triggers) is not detailed, and capability boundaries (e.g., supported models and tools) are not explicitly listed. Therefore, audience and scenarios, capability boundaries, and environment fit score moderate, while trigger precision scores low.

4Convention12 / 18 · 3.3/5

Evidence shows: The project provides clear installation instructions, documentation links, examples, and license (Apache-2.0), and maintains a CHANGELOG, indicating good information architecture and versioning. However, known limitations are not explicitly listed, and maintenance responsibility is clear but not detailed. Thus, most criteria score high, with known limitations scoring low.

5Effectiveness9 / 13 · 3.5/5

Evidence shows: The project offers rich features and integrations, potentially providing high marginal value, but cost-benefit is not explicitly stated. Output usability is supported by CLI and Web UI, but output formats are not detailed. Therefore, each criterion scores moderate.

6Verifiability4 / 8 · 2.5/5

Evidence shows: Claims in README (e.g., features, versions) align with pyproject.toml and file structure, indicating some traceability. However, cross-source corroboration (e.g., independent test reports) is lacking, and facts vs. inferences are not clearly separated. Thus, claim traceability scores moderate, while the other two score low.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 2bdf4debd0f6
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • No explicit least-privilege design or user confirmation mechanism found; exercise caution when granting permissions.
  • Data flow transparency and sensitive data handling policies are not explicit; assess when handling sensitive data.
  • External effects (e.g., network calls) are not clearly documented; may cause unintended side effects.
  • Rollback mechanisms are not mentioned; ensure backups when upgrading or changing.
  • Known limitations are not listed; potential issues may be hidden.
Review evidence [1][2][3][4][5][6][7][8][9]
See the full review method →

What does this agent do, and when should you use it?

Google ADK is an open-source, code-first Python framework for building, evaluating, and deploying sophisticated AI agents. Its examples use `Agent` to define a model, instructions, and behavior, while `Workflow` orchestrates agents and tasks. Version 2.0 adds a graph-based Workflow Runtime for routing, fan-out/fan-in, loops, retries, state management, dynamic nodes, human-in-the-loop operation, and nested workflows. Its Task API supports structured agent-to-agent delegation, including multi-turn tasks, controlled single-turn output, mixed delegation patterns, and human involvement. The repository exposes an interactive `adk run` CLI and an `adk web` UI for agent directories.

A developer defines an agent with Agent(name=..., model=..., instruction=...), then can connect multiple agents with Workflow(name=..., edges=[...]). The runtime executes graph nodes through workflow edges and supports routing, fan-out/fan-in, loops, retries, state, and human-in-the-loop operation; the Task API enables structured delegation between agents. adk run path/to/my_agent starts an interactive local CLI session, while adk web path/to/agents_dir starts the Web UI. The supplied example uses gemini-2.5-flash, but the supplied material does not document credential setup, model-provider configuration, or output persistence.

  1. A Python team connecting a fruit-name generator to a second agent that explains the fruit’s health benefit can define the sequence with Workflow edges.
  2. An application developer who needs multi-turn delegation or controlled single-turn results between agents can use the Task API.
  3. A team building an agentic flow with routing, fan-out/fan-in, loops, or retries can use the 2.0 graph-based Workflow Runtime.
  4. A developer debugging an agent directory interactively from a local terminal can use adk run path/to/my_agent.
  5. A developer who wants a browser UI for either a multi-agent directory or a single agent folder can use adk web.

What are this agent's strengths and limitations?

Pros
  • Workflow provides a graph execution model that explicitly includes routing, fan-out/fan-in, loops, retries, and nested workflows.
  • The Task API explicitly supports multi-turn tasks, controlled single-turn output, mixed delegation, and human-in-the-loop patterns.
  • It provides Python APIs, the interactive adk run CLI, and the adk web UI for code definition and local execution.
  • The README recommends version-matched constraints files for Python 3.10 through 3.14 to protect transitive dependencies.
Limitations
  • Version 2.0 makes breaking changes to the agent API, event model, and session schema; sessions generated by 2.0 are incompatible with ADK versions earlier than 1.28.
  • The example uses gemini-2.5-flash, but the supplied material does not list supported model providers, adapters, or an alternative-model path.
  • The supplied material does not document authentication, environment variables, secret management, production deployment, or the server-side runtime boundary.
  • Both adk run and adk web take local paths, so adopters must prepare an appropriately structured agent directory.

How do you install or deploy this agent?

Python 3.10+ is required. Install the base package with pip install google-adk. Install optional integrations with pip install "google-adk[extensions]". The README also documents downloading the constraints file matching the installed Python version and installing with, for example, pip install google-adk -c constraints-3.10.txt.

How do you use this agent?

Create a Python definition such as root_agent = Agent(name="greeting_agent", model="gemini-2.5-flash", instruction="You are a helpful assistant. Greet the user warmly."). Then run adk run path/to/my_agent, replacing the path with your agent directory; alternatively, start the UI with adk web path/to/agents_dir. To orchestrate nodes, create a Workflow and pass edges. The supplied material does not document model credentials, environment variables, directory layout, or production deployment configuration, so those details need confirmation before adoption.

How does this agent compare with similar options?

The README only makes a direct version comparison: sessions generated by ADK 2.0 can be read by ADK 1.28+ with extra fields ignored, but not by older 1.x versions.

FAQ

Are existing ADK sessions compatible with version 2.0?
ADK 2.0-generated sessions are readable by ADK 1.28+, but are incompatible with earlier 1.x versions. The upgrade also includes breaking API, event-model, and session-schema changes.
What runtime is required?
The README explicitly requires Python 3.10+ and recommends constraints files for Python 3.10 through 3.14.
How are model credentials configured?
The example sets gemini-2.5-flash, but the supplied material does not document credentials, environment variables, or secret configuration.
Can it be run locally in a browser?
Yes. adk web path/to/agents_dir starts the Web UI, which the README says supports multi-agent directories or a single agent folder.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents