Google Agent Development Kit (ADK) 指南 第一章:ADK 简介与对比
·
Google Agent Development Kit (ADK) 指南 第一章:ADK 简介与对比
系列教程:这是《Google ADK 指南》系列的第一章,介绍 ADK 核心概念并与主流框架对比。
目录
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:
-
已在 GCP 生态
- 使用 Vertex AI、BigQuery、GCS
- 需要深度集成 Google 服务
-
企业级需求
- 需要 SLA 保障
- 合规认证要求
- 官方技术支持
-
Gemini 优先
- 想充分利用 Gemini 特性
- 需要最新模型功能
-
快速上线
- 需要开箱即用
- 减少基础设施搭建
5.2 选择 LangChain 的场景
推荐 LangChain:
-
多云策略
- 不想绑定单一云厂商
- 需要灵活切换模型
-
社区生态
- 需要丰富第三方工具
- 想要更多示例和教程
-
成本敏感
- 预算有限
- 可以自建基础设施
-
技术掌控
- 团队技术能力强
- 需要深度定制
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 开发与编排
- 第五章:工具集成与自定义
- 第六章:记忆与状态管理
- 第七章:企业级功能与安全
- 第八章:实战案例与最佳实践
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)