SuperAPI AI 工具集

google-adk-python

智能体与模型

查看项目

更新于 10-16 06:03

技能介绍

Google ADK Python 是 Google 的 Agent Development Kit (ADK) Python 版本,一个开源、代码优先的工具包,用于构建、评估和部署 AI 智能体。

用途

该技能适用于以下场景:构建带工具集成与编排能力的 AI 智能体;创建具有层级协调的多智能体系统;实现可预测流水线的工作流智能体(顺序、并行、循环);将 LLM 驱动的智能体与 Google 搜索、代码执行或自定义工具集成;将智能体部署到 Vertex AI Agent Engine、Cloud Run 或自定义基础设施;系统化评估和测试智能体性能;为工具执行实现人工审批流程。

核心概念

智能体类型:

  • LlmAgent:LLM 驱动的智能体,具备动态路由和自适应行为。通过 name、model、instruction、description 和 tools 定义,支持用于委派和协调的子智能体,基于上下文进行智能决策。
  • 工作流智能体:结构化、可预测的编排模式。SequentialAgent 按定义顺序执行智能体;ParallelAgent 并发运行多个智能体;LoopAgent 带迭代逻辑重复执行。
  • BaseAgent:自定义智能体实现的基础。

关键组件:

  • 工具生态:预构建工具(google_search、code_execution)、作为工具的自定义 Python 函数、OpenAPI 规范集成、用于人工审批的工具确认流程。
  • 多智能体架构:层级式智能体组合、面向特定领域的专用智能体、用于委派的协调智能体。

安装

稳定版(推荐):pip install google-adk 开发版(最新功能):pip install git+https://github.com/google/adk-python.git@main

实现模式

单智能体带工具:使用 LlmAgent 定义 name、model、instruction、description 和 tools(如 google_search)。

多智能体系统:创建专用智能体(如 Researcher、Writer),再通过协调智能体(Coordinator)的 sub_agents 进行委派。

自定义工具创建:通过 Tool.from_function 将 Python 函数转换为工具,再传入智能体的 tools 列表。

顺序工作流:使用 SequentialAgent 按顺序执行多个智能体。

并行工作流:使用 ParallelAgent 并发运行多个智能体。

人工介入:在 LlmAgent 中设置 tool_confirmation=True,使工具执行前需要审批。

部署选项

  • Cloud Run 部署:构建容器镜像(docker build -t my-agent .),再部署(gcloud run deploy my-agent --image my-agent)。
  • Vertex AI Agent Engine:部署到 Vertex AI 以实现可扩展的智能体托管,与 Google Cloud 托管基础设施集成。
  • 自定义基础设施:在本地或自定义服务器上运行智能体,完全控制部署环境。

模型支持

针对 Gemini 优化:gemini-2.5-flash、gemini-2.5-pro、gemini-1.5-flash、gemini-1.5-pro。模型无关:虽然针对 Gemini 优化,ADK 通过标准 API 支持其他 LLM 提供商。

最佳实践

代码优先理念:用 Python 定义智能体,便于版本控制、测试和灵活性。模块化设计:为特定领域创建专用智能体,再组合成系统。工具集成:利用预构建工具,用自定义函数扩展。评估:针对测试用例系统化测试智能体。安全:为敏感操作实现确认流程。层级结构:使用协调智能体处理复杂的多智能体工作流。工作流选择:可预测流水线选用工作流智能体,动态路由选用 LLM 智能体。

常见用例

研究助手:网络搜索 + 摘要 + 报告生成。代码助手:代码执行 + 文档 + 调试。客户支持:查询路由 + 知识库 + 升级。内容创作:研究 + 写作 + 编辑流水线。数据分析:数据获取 + 处理 + 可视化。任务自动化:带条件逻辑的多步骤工作流。

开发 UI

ADK 包含内置界面,用于交互式测试智能体行为、调试工具调用与响应、评估智能体性能、迭代智能体设计。

资源

GitHub:https://github.com/google/adk-python 文档:https://google.github.io/adk-docs/ llms.txt:https://raw.githubusercontent.com/google/adk-python/refs/heads/main/llms.txt

实现工作流

实现基于 ADK 的智能体时:定义需求(识别智能体能力和所需工具);选择架构(单智能体、多智能体或基于工作流);选择工具(预构建、自定义函数或 OpenAPI 集成);实现智能体(创建带指令和工具的智能体定义);本地测试(使用开发 UI 迭代);添加评估(创建测试用例进行系统化验证);部署(选择 Cloud Run、Vertex AI 或自定义基础设施);监控(跟踪智能体性能并迭代)。

注意:ADK 将智能体开发视为传统软件工程——使用版本控制、编写测试并遵循工程最佳实践。