GoogleADKPython技能Skill google-adk-python

Google ADK Python 是一个开源工具包,用于构建、评估和部署 AI 智能体。支持工具集成、多代理系统和工作流代理,适用于研究助手、代码助手等多种应用场景。关键词:AI 智能体,多代理系统,工作流代理,Google Gemini,部署,评估,代码优先,工具集成,人工审批,云计算。

AI智能体 0 次安装 0 次浏览 更新于 3/17/2026

Google ADK Python 技能

您是一位 Google Agent Development Kit (ADK) Python 的专家指南 – 这是一个开源的、代码优先的工具包,用于构建、评估和部署 AI 智能体。

何时使用此技能

在用户需要时使用此技能:

  • 构建具有工具集成和协调能力的 AI 智能体
  • 创建具有分层协调的多代理系统
  • 为可预测的流程实现工作流代理(顺序、并行、循环)
  • 将 LLM 驱动的智能体与 Google 搜索、代码执行或自定义工具集成
  • 将代理部署到 Vertex AI Agent Engine、Cloud Run 或自定义基础设施
  • 系统性地评估和测试代理性能
  • 为工具执行实现人工审批流程

核心概念

代理类型

LlmAgent:具有动态路由和自适应行为的 LLM 驱动代理

  • 使用名称、模型、指令、描述和工具定义
  • 支持子代理进行委托和协调
  • 基于上下文的智能决策

Workflow Agents:结构化、可预测的协调模式

  • SequentialAgent:按定义顺序执行代理
  • ParallelAgent:并发运行多个代理
  • LoopAgent:使用迭代逻辑重复执行

BaseAgent:自定义代理实现的基础

关键组件

Tools Ecosystem

  • 预建工具(google_search、code_execution)
  • 作为工具的自定义 Python 函数
  • OpenAPI 规范集成
  • 用于人工审批的工具确认流程

Multi-Agent Architecture

  • 分层代理组合
  • 针对特定领域的专用代理
  • 用于委托的协调器代理

安装

# 稳定版本(推荐)
pip install google-adk

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

实现模式

带工具的单代理

from google.adk.agents import LlmAgent
from google.adk.tools import google_search

agent = LlmAgent(
    name="search_assistant",
    model="gemini-2.5-flash",
    instruction="您是一个有用的助手,可在网络上搜索信息。",
    description="用于网络查询的搜索助手",
    tools=[google_search]
)

多代理系统

from google.adk.agents import LlmAgent

# 专用代理
researcher = LlmAgent(
    name="Researcher",
    model="gemini-2.5-flash",
    instruction="使用网络搜索彻底研究主题。",
    tools=[google_search]
)

writer = LlmAgent(
    name="Writer",
    model="gemini-2.5-flash",
    instruction="基于研究撰写清晰、引人入胜的内容。",
)

# 协调器代理
coordinator = LlmAgent(
    name="Coordinator",
    model="gemini-2.5-flash",
    instruction="向研究者和写作者代理委派任务。",
    sub_agents=[researcher, writer]
)

自定义工具创建

from google.adk.tools import Tool

def calculate_sum(a: int, b: int) -> int:
    """计算两个数字的总和。"""
    return a + b

# 将函数转换为工具
sum_tool = Tool.from_function(calculate_sum)

agent = LlmAgent(
    name="calculator",
    model="gemini-2.5-flash",
    tools=[sum_tool]
)

顺序工作流

from google.adk.agents import SequentialAgent

workflow = SequentialAgent(
    name="research_workflow",
    agents=[researcher, summarizer, writer]
)

并行工作流

from google.adk.agents import ParallelAgent

parallel_research = ParallelAgent(
    name="parallel_research",
    agents=[web_researcher, paper_researcher, expert_researcher]
)

人工参与循环

from google.adk.tools import google_search

# 需要确认的工具
agent = LlmAgent(
    name="careful_searcher",
    model="gemini-2.5-flash",
    tools=[google_search],
    tool_confirmation=True  # 执行前需要批准
)

部署选项

Cloud Run 部署

# 容器化代理
docker build -t my-agent .

# 部署到 Cloud Run
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 提供商。

最佳实践

  1. 代码优先理念:在 Python 中定义代理以进行版本控制、测试和灵活性
  2. 模块化设计:为特定领域创建专用代理,组合成系统
  3. 工具集成:利用预建工具,通过自定义函数扩展
  4. 评估:针对测试用例系统性测试代理
  5. 安全:为敏感操作实现确认流程
  6. 分层结构:使用协调器代理处理复杂的多代理工作流
  7. 工作流选择:为可预测管道选择工作流代理,为动态路由选择 LLM 代理

常见用例

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

开发 UI

ADK 包含内置界面用于:

  • 交互式测试代理行为
  • 调试工具调用和响应
  • 评估代理性能
  • 迭代代理设计

资源

实现工作流

当实现基于 ADK 的代理时:

  1. 定义需求:确定代理能力和所需工具
  2. 选择架构:单代理、多代理或基于工作流
  3. 选择工具:预建、自定义函数或 OpenAPI 集成
  4. 实现代理:使用指令和工具创建代理定义
  5. 本地测试:使用开发 UI 进行迭代
  6. 添加评估:创建测试用例进行系统性验证
  7. 部署:选择 Cloud Run、Vertex AI 或自定义基础设施
  8. 监控:跟踪代理性能并迭代

记住:ADK 将代理开发视为传统软件工程 – 使用版本控制、编写测试并遵循工程最佳实践。