Google Agent Development Kit (ADK) 指南 第一章:ADK 简介与对比

系列教程:这是《Google ADK 指南》系列的第一章,介绍 ADK 核心概念并与主流框架对比。


目录

  1. 什么是 Google ADK
  2. ADK 核心特性
  3. ADK vs LangChain 深度对比
  4. ADK vs 其他框架
  5. 选型建议
  6. 本章小结

1. 什么是 Google ADK

1.1 定义

Google Agent Development Kit (ADK) 是谷歌官方推出的智能体(Agent)开发框架,专为构建基于大语言模型的企业级 AI 应用而设计。

1.2 推出背景

随着 LLM 技术成熟,企业需要:

  • 企业级可靠性:生产环境所需的稳定性
  • 安全合规:数据隐私和安全控制
  • 生态集成:与 Google 云服务无缝对接
  • 可扩展性:从小规模试点到大规模部署

ADK 应运而生,填补了企业级 Agent 开发框架的空白。

1.3 核心定位

┌─────────────────────────────────────────────────────┐
│                  Google ADK                         │
├─────────────────────────────────────────────────────┤
│  开发者工具 + 运行时 + 管理平台                       │
│                                                     │
│  • 可视化编排                                        │
│  • 代码优先开发                                      │
│  • Vertex AI 集成                                   │
│  • 企业级安全                                        │
│  • 生产级监控                                        │
└─────────────────────────────────────────────────────┘

1.4 适用场景

场景 说明 ADK 优势
企业客服 7x24 小时智能客服 高可用、安全合规
数据分析 自然语言查询 BI 与 BigQuery 集成
流程自动化 跨系统工作流 企业系统连接器
知识管理 企业知识库问答 Vertex AI Search
代码助手 内部开发辅助 Codey 模型集成

2. ADK 核心特性

2.1 技术架构

┌─────────────────────────────────────────────────────────────┐
│                      应用层                                  │
│         (Agent 应用、工作流、API)                            │
├─────────────────────────────────────────────────────────────┤
│                      ADK 框架层                              │
│  ┌───────────┬───────────┬───────────┬───────────┐          │
│  │  Agent    │   Tool    │  Memory   │  Evaluator│          │
│  │  Engine   │  Manager  │  Manager  │           │          │
│  └───────────┴───────────┴───────────┴───────────┘          │
├─────────────────────────────────────────────────────────────┤
│                      模型层                                  │
│  ┌───────────┬───────────┬───────────┬───────────┐          │
│  │  Gemini   │   PaLM    │   Codey   │  第三方   │           │
│  │   Pro     │    2      │           │   模型    │          │
│  └───────────┴───────────┴───────────┴───────────┘          │
├─────────────────────────────────────────────────────────────┤
│                      基础设施层                              │
│  ┌───────────┬───────────┬───────────┬───────────┐          │
│  │  Vertex   │   GCS     │  BigQuery │   IAM     │          │
│  │    AI     │           │           │           │          │
│  └───────────┴───────────┴───────────┴───────────┘          │
└─────────────────────────────────────────────────────────────┘

2.2 核心组件

组件 作用 说明
Agent 智能体核心 定义行为、决策逻辑
Tool 工具接口 调用外部 API、函数
Memory 状态管理 短期/长期记忆
Evaluator 质量评估 输出质量监控
Orchestrator 编排引擎 多 Agent 协调

2.3 关键特性

2.3.1 原生 Gemini 集成
from google.adk import Agent
from google.adk.models import Gemini

agent = Agent(
    model=Gemini("gemini-2.0-pro"),
    instruction="你是一个专业的客服助手"
)
2.3.2 企业级安全
  • IAM 集成:细粒度权限控制
  • 数据加密:传输和存储加密
  • 审计日志:完整操作记录
  • 合规认证:SOC2、GDPR 等
2.3.3 可观测性
  • 实时监控:延迟、吞吐量、错误率
  • 成本分析:Token 消耗、API 调用
  • 追踪调试:请求链路追踪
  • 日志聚合:集中日志管理
2.3.4 多 Agent 协作
from google.adk import MultiAgentOrchestrator

orchestrator = MultiAgentOrchestrator(
    agents=[sales_agent, support_agent, billing_agent],
    routing_strategy="semantic"
)

3. ADK vs LangChain 深度对比

3.1 总体对比

维度 Google ADK LangChain
推出方 Google 官方 社区开源
发布时间 2025 2022
开源状态 部分开源 完全开源
模型支持 Gemini 优先,支持多模型 模型无关
学习曲线 中等 较陡
文档质量 官方完善 社区驱动
企业支持 Google 官方支持 商业公司支持

3.2 技术架构对比

┌─────────────────────┐   ┌─────────────────────┐
│     Google ADK      │   │     LangChain       │
├─────────────────────┤   ├─────────────────────┤
│ • 一体化平台         │   │ • 模块化库          │
│ • 代码 + 可视化      │   │ • 代码优先          │
│ • 强耦合 GCP         │   │ • 云厂商中立        │
│ • 企业级功能内置     │    │ • 插件扩展         │
│ • 生产就绪           │   │ • 需自行搭建        │
└─────────────────────┘   └─────────────────────┘

3.3 开发体验对比

ADK 示例
from google.adk import Agent, Tool
from google.adk.models import Gemini

# 定义工具
@Tool
def get_weather(city: str) -> str:
    """获取天气信息"""
    return f"{city} 天气晴朗,25°C"

# 创建 Agent
agent = Agent(
    name="weather_assistant",
    model=Gemini("gemini-2.0-flash"),
    tools=[get_weather],
    instruction="你是一个天气助手"
)

# 运行
response = agent.run("北京天气怎么样?")
LangChain 示例
from langchain.agents import AgentExecutor, create_openai_functions_agent
from langchain.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI

# 定义工具
tools = [WeatherTool()]

# 创建 LLM
llm = ChatOpenAI(model="gpt-4")

# 创建提示词
prompt = ChatPromptTemplate.from_messages([...])

# 创建 Agent
agent = create_openai_functions_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools)

# 运行
response = agent_executor.invoke({"input": "北京天气怎么样?"})

3.4 详细对比表

特性 ADK LangChain 优势方
安装复杂度 pip install google-adk 多个包 ADK ✅
代码量 较少 较多 ADK ✅
模型切换 配置切换 需改代码 平手
工具开发 装饰器简单 需继承基类 ADK ✅
记忆管理 内置多种 需配置 ADK ✅
多 Agent 原生支持 需额外库 ADK ✅
可视化 内置 UI LangGraph 平手
云集成 GCP 深度 各云均衡 看需求
社区生态 发展中 成熟 LangChain ✅
第三方工具 较少 丰富 LangChain ✅
成本 GCP 计费 开源免费 LangChain ✅
企业支持 Google 官方 LangChain Inc 看偏好

3.5 性能对比

指标 ADK LangChain 说明
冷启动 ~2s ~1s ADK 加载稍慢
推理延迟 基准 +5% 基准 差异不大
内存占用 中等 较低 LangChain 更轻
并发支持 ADK 企业级优化
批量处理 优秀 良好 ADK 批量 API

3.6 成本对比

ADK 成本结构

• Vertex AI API 调用费用
• GCP 基础设施费用
• 企业支持(可选)

LangChain 成本结构

• LLM API 费用(自选)
• 基础设施费用(自建)
• 商业支持(可选)

示例对比(月 100 万 tokens):

方案 ADK+Gemini LangChain+GPT-4
Token 费用 ~$10 ~$30
基础设施 ~$50 ~$50
总计 ~$60/月 ~$80/月

4. ADK vs 其他框架

4.1 对比 LlamaIndex

维度 ADK LlamaIndex
定位 通用 Agent 框架 RAG 专用
RAG 能力 良好 优秀 ✅
Agent 能力 优秀 ✅ 良好
数据连接 GCP 优先 多源支持

选择建议

  • RAG 为主 → LlamaIndex
  • 通用 Agent → ADK
  • 两者都需要 → ADK + LlamaIndex

4.2 对比 AutoGen

维度 ADK AutoGen
多 Agent 原生支持 核心特性 ✅
对话模式 支持 优秀 ✅
企业功能 完善 ✅ 基础
可视化

选择建议

  • 多 Agent 对话 → AutoGen
  • 企业生产 → ADK

4.3 对比 CrewAI

维度 ADK CrewAI
角色定义 灵活 结构化 ✅
任务编排 可视化 代码定义
企业集成 深度 ✅ 基础
学习曲线 中等 较低 ✅

5. 选型建议

5.1 选择 ADK 的场景

强烈推荐 ADK

  1. 已在 GCP 生态

    • 使用 Vertex AI、BigQuery、GCS
    • 需要深度集成 Google 服务
  2. 企业级需求

    • 需要 SLA 保障
    • 合规认证要求
    • 官方技术支持
  3. Gemini 优先

    • 想充分利用 Gemini 特性
    • 需要最新模型功能
  4. 快速上线

    • 需要开箱即用
    • 减少基础设施搭建

5.2 选择 LangChain 的场景

推荐 LangChain

  1. 多云策略

    • 不想绑定单一云厂商
    • 需要灵活切换模型
  2. 社区生态

    • 需要丰富第三方工具
    • 想要更多示例和教程
  3. 成本敏感

    • 预算有限
    • 可以自建基础设施
  4. 技术掌控

    • 团队技术能力强
    • 需要深度定制

5.3 混合方案

┌─────────────────────────────────────────┐
│            混合架构建议                  │
├─────────────────────────────────────────┤
│  • ADK 作为主框架(企业功能)           │
│  • LangChain 处理特殊需求(RAG)        │
│  • LlamaIndex 专注文档检索              │
│  • 统一 API 网关抽象                    │
└─────────────────────────────────────────┘

6. 本章小结

6.1 核心要点

ADK 定位:Google 官方企业级 Agent 开发框架

核心优势

  • Gemini 原生集成
  • 企业级安全合规
  • GCP 生态深度整合
  • 生产级可观测性

vs LangChain

  • ADK:企业优先、一体化、GCP 绑定
  • LangChain:灵活优先、模块化、云中立

6.2 决策矩阵

                    企业需求
                      │
         LangChain ───┼─── ADK
                      │
        (低成本)       │      (高集成)
                      │
                  技术需求

6.3 下一章预告

第二章:环境搭建与快速开始

  • GCP 账号配置
  • ADK 安装与验证
  • 第一个 Agent 应用
  • 本地调试技巧

附录:资源链接

  • ADK 官方文档:https://google.github.io/adk
  • GitHub 仓库:https://github.com/google/adk
  • Vertex AI:https://cloud.google.com/vertex-ai
  • LangChain 文档:https://python.langchain.com

系列教程导航

  • 第一章:ADK 简介与对比 ← 本章
  • 第二章:环境搭建与快速开始
  • 第三章:核心概念与架构
  • 第四章:Agent 开发与编排
  • 第五章:工具集成与自定义
  • 第六章:记忆与状态管理
  • 第七章:企业级功能与安全
  • 第八章:实战案例与最佳实践
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐