Google ADK
用 Python 构建、编排、评估和本地运行复杂 AI 智能体应用。
按维度查看评分与理由
证据显示:项目提供约束文件以保护传递依赖,并在pyproject.toml中明确标注了依赖版本范围,显示对依赖安全的关注。但未发现明确的权限最小化设计、用户确认机制、数据流透明性说明或敏感数据处理策略。外部效果(如网络调用)未明确说明,回滚机制未提及。来源归属清晰(Google官方组织),但未提供安全审计或漏洞报告渠道。因此,多数标准得分较低,仅依赖安全和来源归属得分较高。
证据显示:项目有明确的版本约束和依赖范围,显示对依赖可用性的关注。但未提供失败消息的详细说明或错误处理策略。自一致性方面,README和pyproject.toml中的描述一致,但未深入验证。因此,自一致性和依赖可用性得分中等,失败消息得分较低。
证据显示:项目面向开发者,提供了多种使用场景(Agent、Workflow、CLI、Web UI),并支持多种Python版本和可选集成,显示良好的环境适应性。但触发精度(如事件触发)未详细说明,能力边界(如支持的模型和工具)未明确列出。因此,受众和场景、能力边界、环境适配得分中等,触发精度得分较低。
证据显示:项目提供了清晰的安装说明、文档链接、示例和许可证(Apache-2.0),并维护了CHANGELOG,显示良好的信息架构和版本管理。但已知限制未明确列出,维护责任虽由Google承担但未详细说明。因此,多数标准得分较高,已知限制得分较低。
证据显示:项目提供了丰富的功能和集成,可能带来较高的边际价值,但成本效益未明确说明。输出可用性方面,提供了CLI和Web UI,但未详细说明输出格式。因此,各标准得分中等。
证据显示:README中的声明(如功能、版本)与pyproject.toml和文件结构一致,显示一定的可追溯性。但缺乏跨来源的验证(如独立测试报告),且事实与推断未明确分离。因此,声明可追溯性得分中等,其他两项得分较低。
- 未发现明确的权限最小化设计或用户确认机制,使用时应谨慎授予权限。
- 数据流透明性和敏感数据处理策略未明确,涉及敏感数据时需自行评估。
- 外部效果(如网络调用)未明确说明,可能产生意外副作用。
- 回滚机制未提及,升级或变更时需注意备份。
- 已知限制未列出,可能隐藏潜在问题。
这个 Agent 能做什么,适合哪些场景?
Google ADK 是一个开源、代码优先的 Python 智能体框架,面向复杂 AI 智能体的构建、评估与部署。其核心示例使用 `Agent` 定义模型、指令与行为,并使用 `Workflow` 编排智能体和任务。2.0 引入图式 Workflow Runtime,可表达路由、并行汇合、循环、重试、状态管理、动态节点、人工介入和嵌套工作流。Task API 提供结构化的智能体间委派,覆盖多轮任务、单轮受控输出、混合委派和人工介入。项目提供 `adk run` 交互式 CLI 与 `adk web` Web UI;后者可指向多智能体目录或单个智能体目录。
开发者先用 Agent(name=..., model=..., instruction=...) 声明智能体,再可用 Workflow(name=..., edges=[...]) 将多个 Agent 连接成图。运行时按工作流边执行节点,并支持路由、扇出/扇入、循环、重试、状态和人工介入;Task API 可在智能体之间进行结构化任务委派。通过 adk run path/to/my_agent 启动交互式本地运行,或通过 adk web path/to/agents_dir 启动 Web UI。README 中的示例将模型设为 gemini-2.5-flash,但未说明凭据配置、模型提供方配置或应用输出的持久化方式。
- Python 团队需要把“生成水果名称”和“说明该水果健康益处”这类顺序步骤连接为可运行流程时,可用
Workflow的edges定义执行链。 - 需要让多个智能体在任务间进行多轮或单轮受控委派的应用开发者,可使用 Task API 组织委派模式。
- 需要在一个流程中加入路由、扇出/扇入、循环或重试的团队,可采用 2.0 的图式 Workflow Runtime。
- 希望在本机终端交互调试智能体目录的开发者,可使用
adk run path/to/my_agent。 - 需要通过浏览器界面查看或运行单智能体目录与多智能体目录的开发者,可使用
adk web。
这个 Agent 有哪些优点和局限?
Workflow提供图式执行模型,明确覆盖路由、扇出/扇入、循环、重试和嵌套工作流。- Task API 明确支持多轮任务、单轮受控输出、混合委派以及人工介入。
- 同时提供 Python API、交互式
adk runCLI 和adk webWeb UI,覆盖代码定义与本地运行入口。 - README 提供 Python 3.10 至 3.14 的约束文件安装建议,可用于保护传递依赖版本。
- 2.0 对 Agent API、事件模型和 session schema 有破坏性变更;ADK 1.28 以下版本无法兼容 2.0 生成的会话。
- 示例使用
gemini-2.5-flash,但所给资料没有列出支持的模型提供方、适配器或替代模型路径。 - 所给资料未说明认证凭据、环境变量、密钥管理、生产部署方式或服务端运行边界。
adk run和adk web都依赖本地路径,采用者需要自行准备符合要求的智能体目录。
如何安装或部署这个 Agent?
运行环境需要 Python 3.10+。安装基础包:pip install google-adk。可选集成安装:pip install "google-adk[extensions]"。README 还给出了按 Python 版本下载约束文件并以 pip install google-adk -c constraints-3.10.txt 安装的方式;需选择与实际 Python 版本对应的约束文件。
如何使用这个 Agent?
创建 Python 文件并定义 root_agent = Agent(name="greeting_agent", model="gemini-2.5-flash", instruction="You are a helpful assistant. Greet the user warmly.")。随后运行 adk run path/to/my_agent,其中路径应替换为你的智能体目录;也可运行 adk web path/to/agents_dir 启动 Web UI。若要编排多个节点,创建 Workflow 并传入 edges。所给资料未说明模型凭据、环境变量、目录结构或生产部署配置,因此这些信息需要在采用前另行确认。
这个 Agent 与同类方案有什么区别?
README 仅明确说明 ADK 2.0 与 ADK 1.x 的迁移关系:2.0 生成的会话可被 ADK 1.28+ 读取(额外字段会被忽略),但不能被更早的 1.x 版本读取。
常见问题
采用 ADK 2.0 前,旧版会话是否可兼容?
最低运行环境是什么?
是否需要模型凭据?
gemini-2.5-flash,但所给资料没有说明任何凭据、环境变量或密钥配置步骤。能否在本地用浏览器运行?
adk web path/to/agents_dir;README 说明它支持多智能体目录,也可直接指向单个智能体目录。