One of the highlights revealed during the Google Cloud NEXT 2025 was the Agent Development Kit (ADK), a new open-source framework designed to streamline the creation and deployment of intelligent, autonomous AI agents and advanced multi-agent systems easier. As the AI landscape evolves beyond single-purpose models, building coordinated teams of agents presents new challenges, which ADK aims to solve by providing a full-stack, end-to-end development solution.
The
framework is the same one that powers agents within Google's own products,
including Agentspace and the Google Customer Engagement Suite (CES). By
open-sourcing ADK, Google intends to empower developers with powerful and
flexible tools for building in the rapidly changing agentic AI space. ADK is
built with flexibility in mind, supporting different models and deployment
environments, and designed to make agent development feel similar to
traditional software development.
Core Pillars Guiding Development
ADK
provides capabilities across the entire agent development lifecycle. Its core
principles emphasize flexibility, modularity, and precise control over agent
behavior and orchestration. Key pillars include:
- Multi-Agent
by Design:
Facilitates building modular and scalable applications by composing
specialized agents hierarchically, enabling complex coordination and
delegation.
- Rich
Model Ecosystem:
Allows developers to choose the best model for their needs, integrating
with Google's Gemini models, Vertex AI Model Garden, and through LiteLLM,
a wide selection of models from providers like Anthropic, Meta, and
Mistral AI.
- Rich
Tool Ecosystem:
Agents can be equipped with diverse capabilities using pre-built tools
(like Search or Code Execution), custom Function Tools, integrating
3rd-party libraries (like LangChain or LlamaIndex), or even using other
agents as tools via AgentTool. ADK also supports Google Cloud
tools, MCP tools, and those defined by OpenAPI specifications.
- Built-in
Streaming: Enables
human-like conversations with agents through bidirectional audio and video
streaming capabilities, moving beyond text-only interactions into rich,
multimodal dialogue with just a few lines of code.
- Flexible
Orchestration:
Workflows can be defined using Workflow Agents such as Sequential,
Parallel, and Loop agents for predictable pipelines, or by leveraging
LLM-driven dynamic routing via LlmAgent transfer for more adaptive
behavior.
- Integrated
Developer Experience:
Offers tools for local development, testing, and debugging, including a
powerful CLI, a visual Web UI to inspect execution step-by-step, and an
API Server.
- Built-in
Evaluation:
Provides systematic assessment of agent performance by evaluating both
final response quality and the step-by-step execution against predefined
test cases.
- Easy
Deployment: Agents
can be containerized and deployed anywhere, with seamless integration
options for Vertex AI Agent Engine, a fully managed, scalable, and
enterprise-grade runtime on Google Cloud.
Additional
core concepts include Sessions & Memory for managing conversational
context and agent state, Artifacts for handling files and binary data
tied to a session, and Callbacks for customizing behavior at specific
execution points. The Runtime manages execution, tracked via Events,
with Context providing relevant information.
A
notable architectural component is the Agent2Agent (A2A) Protocol, an
open protocol designed to facilitate communication and collaboration between
agents across different platforms and frameworks, promoting a more
interconnected ecosystem.
Getting
Started and Building with ADK
Building
a basic agent with ADK is designed for Pythonic simplicity, potentially
requiring fewer than 100 lines of code. Developers define an agent's logic,
tools, and information processing. ADK provides the structure for managing
state, orchestrating tool calls, and interacting with underlying LLMs.
The
framework primarily supports the Python programming language, with
future plans for additional language support. Installation is straightforward
using pip. The documentation includes quickstart guides and examples, such as a
simple "question_answer_agent" using a Google Search tool.
For
a more integrated experience, ADK includes a developer Web UI that can
be launched locally via a CLI command (adk web), providing a user-friendly
interface for running, testing, and debugging agents. Agents can also be run
and tested via the CLI (adk run) or accessed through an api_server.
ADK
truly excels in building multi-agent applications. This involves
creating teams of specialized agents that can delegate tasks based on
conversation context, utilizing hierarchical structures and intelligent
routing. An illustrative example shows a WeatherAgent delegating simple
greetings and farewells to specialized GreetingAgent and FarewellAgent
instances, while handling weather queries itself using a get_weather tool. Delegation
relies heavily on clear, distinct descriptions of each agent's capability,
which the LLM uses to route tasks effectively.
Evaluation and Deployment Path
Ensuring
agents behave reliably is crucial before deployment. ADK offers built-in evaluation
tools that allow developers to systematically assess performance by testing
execution paths and response quality against predefined datasets. These checks
can be run programmatically or via the ADK eval command-line tool or Web UI.
Once
satisfied with performance, ADK provides a clear path to production. Agents can
be containerized and deployed on various platforms, including Cloud Run
and Google Kubernetes Engine (GKE), or using Docker. For a fully managed,
scalable, and enterprise-grade runtime, ADK offers seamless integration with Vertex
AI Agent Engine on Google Cloud.
Optimized for Google Cloud, but Versatile
While
offering flexibility across various tools and models, ADK is optimized for
seamless integration within the Google Cloud ecosystem, particularly with
Gemini models and Vertex AI. This integration allows developers to leverage
advanced Gemini capabilities and provides a native pathway to deploy on Vertex
AI.
Beyond
model integration, ADK enables agents to connect directly to enterprise systems
and data. This includes over 100 pre-built connectors, utilization of workflows
built with Application Integration, and access to data in systems like AlloyDB,
BigQuery, and NetApp, without requiring data duplication. Agents can also
securely tap into existing API investments managed through Apigee. This
comprehensive connectivity enhances ADK's power within the Google Cloud
environment.
Despite
this optimization, ADK is designed to be model and deployment agnostic. Through
integration with Vertex AI Model Garden and LiteLLM, it supports models from
providers like Anthropic, Meta, Mistral AI, and AI21 Labs. It also allows
integration with third-party libraries such as LangChain and CrewAI.
Open Source and Community Driven
ADK
is released as an open-source framework, with its primary codebase
hosted on GitHub. The repository includes essential files like CHANGELOG.md,
CONTRIBUTING.md, LICENSE (Apache-2.0), and README.md, providing information and
guidelines for the project and community engagement.
Google
actively encourages contributions from the community, welcoming issue
reports, feature suggestions, documentation improvements, and code
contributions. There is already an active community, with a number of
contributors submitting changes. Stable releases are available weekly via pip,
while a development version can be installed directly from GitHub for access to
the latest changes (though this version may contain experimental features or
bugs).
Community Perspectives and Comparisons
Initial
community reception of ADK includes significant praise for its excellent CLI
and developer-first tools (adk web, adk run, api_server), smooth building and
debugging process, and robust support for multiple model providers
beyond Google's, thanks to LiteLLM integration. Features like artifact
management for stateful agents and the AgentTool concept have also been
highlighted as useful additions. Deployment options, including the fully
managed Agent Engine and Cloud Run, are seen as providing appropriate levels of
control.
However,
community feedback also points out areas for potential improvement. Some
developers found initial setup steps cumbersome and perceived the different
agent types (LlmAgent, Sequential, Parallel, Loop) as potentially
over-engineered. The developer experience for evaluation and guardrails
is not consistently perceived as intuitive or smooth. Session state
management has been identified as a notable weak point, making it
challenging to work with effectively. A recurring concern is that the overall
developer experience seems optimized for advanced users, potentially posing a
higher barrier for beginners.
Compared
to other open-source frameworks:
- LangChain/LangGraph: ADK is presented as a higher-level
framework potentially easier for simpler workflows, whereas LangGraph
offers lower-level, granular control, especially for persistence. ADK has
a built-in chat UI and monitoring, while LangChain is a widely adopted standard.
ADK integrates with LangChain tools, leveraging its extensive library.
- CrewAI: Both facilitate complex agents.
ADK offers smoother integration with Google products, stronger enterprise
features like built-in RAG and connectors, and better deployment options
like Vertex AI Agent Engine. CrewAI focuses specifically on role-based multi-agent
collaboration.
- AutoGen: Microsoft's AutoGen focuses on
swarms of specialized agents and multi-agent conversation frameworks. ADK
is a more general toolkit and uniquely offers built-in bidirectional
audio/video streaming. Some users prefer ADK.
- OpenAI
Agents SDK: Both
are for multi-agent workflows. ADK supports multiple providers via LiteLLM
(including OpenAI models), while OpenAI Agents SDK focuses on native
integration with OpenAI endpoints. ADK includes artifact management.
- Semantic
Kernel: A
model-agnostic SDK for building/orchestrating agents, with a focus on
enterprise integration. ADK integrates with Semantic Kernel via MCP and
A2A for cross-cloud collaboration. Semantic Kernel supports more languages
and has a plugin ecosystem.
- LlamaIndex: Primarily focuses on connecting
LLMs to external data for Retrieval-Augmented Generation (RAG). ADK
integrates with LlamaIndex as a library to leverage its data
indexing/retrieval capabilities.
This
comparison highlights that ADK brings unique strengths, particularly its deep
integration with the Google Cloud ecosystem and the A2A protocol, while fitting
into a broader landscape of tools, each with its own focus and advantages.
Intended Use Cases and Future Potential
Google
ADK is designed for a wide range of AI agent applications, from simple
automated tasks to complex, collaborative multi-agent systems. Its flexible
orchestration makes it suitable for applications requiring both deterministic
task execution and intelligent, context-aware routing. The ability to compose
specialized agents hierarchically is useful for breaking down intricate tasks.
The rich tool ecosystem and deployment flexibility broaden its applicability
across diverse scenarios. Built-in evaluation and emphasis on safety and
security make it suitable for applications where reliability and
trustworthiness are key.
Specific
potential applications mentioned include travel planning, retail automation,
and internal automation.
The
Agent Development Kit provides a robust, flexible, and open-source foundation
for building the next generation of AI applications. While community feedback
indicates areas for refinement, particularly in developer experience for
beginners and session state management, its strengths in modularity, Google
Cloud integration, and the innovative A2A protocol position it as a significant
tool in the evolving field of agentic AI. Its open-source nature and the
encouragement of community contributions suggest a promising path for future
development.
For
developers interested in exploring ADK, the official documentation and
quickstart guide are recommended starting points. Utilizing the developer Web
UI for local testing provides valuable hands-on experience. Considering
contributions to the GitHub project is also encouraged to engage with the
community and shape the framework's evolution. Developers with projects
requiring strong Google Cloud integration or leveraging Gemini models should
seriously evaluate ADK, while also considering other frameworks based on
specific project needs and infrastructure.
No comments:
Post a Comment