Google ADK
A Python framework for building, orchestrating, evaluating, and locally running sophisticated AI agent applications.
Per-dimension scores and reasoning
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.
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.
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.
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.
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.
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.
- 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.
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.
- A Python team connecting a fruit-name generator to a second agent that explains the fruit’s health benefit can define the sequence with
Workflowedges. - An application developer who needs multi-turn delegation or controlled single-turn results between agents can use the Task API.
- A team building an agentic flow with routing, fan-out/fan-in, loops, or retries can use the 2.0 graph-based Workflow Runtime.
- A developer debugging an agent directory interactively from a local terminal can use
adk run path/to/my_agent. - 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?
Workflowprovides 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 runCLI, and theadk webUI for code definition and local execution. - The README recommends version-matched constraints files for Python 3.10 through 3.14 to protect transitive dependencies.
- 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 runandadk webtake 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?
What runtime is required?
How are model credentials configured?
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?
adk web path/to/agents_dir starts the Web UI, which the README says supports multi-agent directories or a single agent folder.