概览
智能体开发套件 (ADK) 是谷歌开源的一个灵活且模块化的框架,它将成熟的软件开发原则应用于 AI智能体 的创建过程。其核心目标是简化智能体工作流的构建、部署和编排,无论是处理简单任务还是设计复杂的多智能体系统,都能轻松应对。
虽然框架为 Gemini 模型做了专门优化,但 ADK 在设计上保持了高度的通用性:它独立于具体的AI模型,不依赖特定的部署平台,并且能够与其他主流开发框架良好兼容。
✨ 核心特性
ADK 提供了一系列强大的功能来支持智能体开发:
- 丰富的工具生态系统:开发者可以便捷地使用预构建的工具、自定义函数、OpenAPI 规范或 MCP 工具,快速为智能体赋能。该框架还深度集成了 Google 生态,提供了强大的扩展能力。
- 代码优先的开发范式:直接在 Python 代码中定义智能体的逻辑、工具和工作流编排。这种方式带来了极致的灵活性、可靠的可测试性以及完善的版本控制支持。
- 智能体配置:除了代码开发,ADK 还支持无需编写代码即可通过配置方式构建智能体。
- 工具执行确认:引入了一个可配置的工具确认流程(支持人工介入),通过对关键操作进行明确确认和自定义输入验证,为工具的执行提供了安全保障。
- 模块化的多智能体系统:通过将多个功能专一的智能体组合成灵活的层次结构,开发者能够设计出可扩展、解耦良好的复杂应用程序。
- 灵活的部署选项:可以轻松地将智能体容器化并部署到 Cloud Run 上,也能通过 Vertex AI Agent Engine 实现无缝的规模化扩展。
🚀 如何安装
安装稳定版(推荐)
对于大多数用户,建议通过 pip 安装最新的稳定版本:
pip install google-adk
该版本大约每两周发布一次,代表了经过测试的官方最新发布,稳定性有保障。
安装开发版
如果你希望体验最新的功能或急需某个尚未包含在稳定版中的错误修复,可以直接从 GitHub 的主分支安装开发版本:
pip install git+https://github.com/google/adk-python.git@main
需要注意的是,开发版直接构建自最新的代码提交,虽然包含了最前沿的修复和功能,但也可能引入实验性改动或不稳定的因素。因此,它主要适用于测试即将发布的特性或在紧急情况下获取关键修复。
🏁 快速上手:特性演示
定义一个单一智能体
以下是一个基础智能体的定义示例,它集成了 Google 搜索工具:
from google.adk.agents import Agent
from google.adk.tools import google_search
root_agent = Agent(
name="search_assistant",
model="gemini-2.5-flash", # 或者您偏好的 Gemini 模型
instruction="你是一个乐于助人的助手。在需要时使用 Google 搜索回答用户问题。",
description="一个可以搜索网络的助手。",
tools=[google_search]
)
定义一个多智能体系统
ADK 可以方便地构建由多个智能体协作的系统。下面的例子展示了一个包含协调者、问候者和任务执行者的分层结构:
from google.adk.agents import LlmAgent, BaseAgent
# 定义各个智能体
greeter = LlmAgent(name="greeter", model="gemini-2.5-flash", ...)
task_executor = LlmAgent(name="task_executor", model="gemini-2.5-flash", ...)
# 创建父智能体并通过 sub_agents 分配子智能体
coordinator = LlmAgent(
name="Coordinator",
model="gemini-2.5-flash",
description="我协调问候和任务。",
sub_agents=[ # 在此处分配子智能体
greeter,
task_executor
]
)
定义完成后,ADK 的引擎和底层模型将自动引导这些智能体协同工作以完成用户提交的任务。
使用开发 UI
ADK 内置了一个便捷的开发用户界面,你可以用它来交互式地测试、调试你的智能体,并进行效果评估和成果演示。
评估智能体性能
ADK 提供了命令行工具来对智能体进行自动化评估:
adk eval \
samples_for_testing/hello_world \
samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json
项目资源
谷歌此次开源 ADK,为 AI智能体 的工程化开发提供了新的标准化工具,尤其为基于 Python 和多智能体协作的复杂应用场景带来了便利。如果你对构建可编排的 AI 工作流感兴趣,不妨深入了解一下这个项目。更多前沿技术讨论和实践分享,也欢迎访问 云栈社区。