1.1 LangChain vs LangGraph vs Deep Agents
本章将介绍 LangChain 生态中的三大框架:LangChain、LangGraph 和 Deep Agents,帮助你选择最适合的 AI 开发工具。
概览
LangChain 生态系统提供了多种构建 AI 应用的方式,每种都有其最佳使用场景:
| 框架 | 定位 | 最佳场景 |
|---|---|---|
| LangChain | 简单代理框架 | 快速构建简单 Agent 应用 |
| LangGraph | 复杂工作流框架 | 构建复杂、可控制的多步骤 Agent |
| Deep Agents | 深度 Agent 模式 | 自主规划的子 Agent 协作系统 |
LangChain:简单 LLM 应用
LangChain 适合快速 Agent 和 LLM 链式应用的搭建场景
核心特性
LangChain v1.x 版本提供以下核心能力:
1. 标准模型接口 (Standard Model Interface)
LangChain 提供统一的接口支持多种 LLM 模型:
- OpenAI (GPT-4, GPT-4o)
- Anthropic (Claude 3.5, Claude 3 Opus)
- Google (Gemini)
- 更多...
2. 简单代理 Agent
只需 10 行代码即可创建一个完整的 Agent:
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""Get weather for a given city."""
return f"It's always sunny in {city}!"
agent = create_agent(
model="claude-sonnet-4-5-20250929",
tools=[get_weather],
system_prompt="You are a helpful assistant",
)3. 底层 LangGraph 支持
LangChain Agent 底层使用 LangGraph 实现,提供:
- 持久化执行:Agent 可以中断和恢复
- 人机协作:支持人工干预和审批流程
- 流式输出:实时获取中间结果
4. LangSmith 集成
LangSmith 提供完整的 Agent 生命周期管理:
- 执行链路追踪
- 调试和测试
- 性能监控分析
适用场景
最佳场景:
- 快速原型开发
- 简单的 Agent 应用
- 需要快速切换 LLM 模型
- 初学者学习 LLM 应用开发
LangGraph:复杂工作流框架
LangGraph 是一个用于构建复杂、可控制的多步骤 Agent 的图结构框架
核心概念
LangGraph 将 AI 工作流抽象为三个核心概念:
- 节点 (Node):执行特定 Agent 任务
- 边 (Edge):定义节点之间的执行流转逻辑
- 状态 (State):在各节点间传递和共享数据
LangGraph 的设计灵感来自 Google 的 Pregel、Apache Beam 和 NetworkX 等图计算框架。
核心特性
1. 持久化执行 (Durable Execution)
Agent 可以在任意时刻中断和恢复,支持长时间运行的任务。
2. 人机协作 (Human-in-the-Loop)
支持在关键决策点暂停 Agent 执行,等待人工审批后继续。
3. 全面的记忆系统 (Comprehensive Memory)
支持多种类型的记忆:
- 短期记忆:对话上下文记忆
- 长期记忆:跨会话持久化
4. 流式中间步骤 (Streaming Intermediate Steps)
可以实时获取 Agent 中间执行步骤。
5. LangSmith 集成
完整的可观测性和调试工具支持。
快速开始
pip install -U langgraphHello World 示例:
from langgraph.graph import StateGraph, MessagesState, START, END
def mock_llm(state: MessagesState):
return {"messages": [{"role": "ai", "content": "hello world"}]}
# 构建图
graph = StateGraph(MessagesState)
graph.add_node(mock_llm)
graph.add_edge(START, "mock_llm")
graph.add_edge("mock_llm", END)
# 编译运行
graph = graph.compile()
graph.invoke({"messages": [{"role": "user", "content": "hi!"}]})适用场景
最佳场景:
- 构建复杂多步骤工作流
- 需要精确控制执行流程
- 需要长时间运行的任务
- 需要人机协作的应用
- Agent 协作场景
注意:LangGraph 是一个更底层的框架,学习曲线比 LangChain 的简单 Agent 更陡峭。
Deep Agents:深度 Agent 模式
Deep Agents 是一种能够自主规划和协调子 Agent 的高级模式
核心特性
1. 任务规划 (Planning and Task Decomposition)
Agent 通过 write_todos 工具进行:
- 复杂任务分解成小步骤
- 动态调整计划
- 跟踪进度
2. 上下文管理 (Context Management)
通过文件系统工具 (ls, read_file, write_file, edit_file) 让 Agent:
- 管理工作目录和文件
- 读取和修改代码
- 保持上下文一致性
3. 子 Agent 生成 (Subagent Spawning)
通过内置 task 工具:
- 创建独立子 Agent
- 并行执行任务
- 汇总多个子任务结果
4. 长期记忆 (Long-term Memory)
使用 LangGraph 的 Store 实现持久化存储:
- 跨会话保存知识和偏好
- 持续学习改进
适用场景
最佳场景:
- 需要自主规划的复杂任务
- 大型项目的自动化处理
- 需要协调多个子 Agent
- 需要长期记忆的应用
三者关系
LangSmith
(监控、调试、评估、追踪)
↑
│
↓
↙ ↓ ↘
LangChain LangGraph Deep Agents
简单代理 图结构工作流 自主规划
快速开发 精确流程控制 多子Agent协作
↓
│
↓
Agent 应用
(最终产品)总结
- LangChain 底层使用 LangGraph,但提供更简单的接口
- Deep Agents 使用 LangGraph 的图结构执行,使用 LangChain 的工具和模型
- 三个框架都使用 LangSmith 进行监控和调试
选型建议
| 需求场景 | 推荐框架 |
|---|---|
| 快速构建简单 Agent | LangChain |
| 需要精确控制的复杂工作流 | LangGraph |
| 需要自主规划的多子 Agent | Deep Agents |
| 生产环境部署 | LangGraph + Agent Server |
| 调试和监控 | LangSmith |
决策流程
你的需求是...
1. 简单的 Agent 功能?
→ 使用 LangChain
2. 复杂多步骤工作流?
→ 使用 LangGraph
3. 需要自主子 Agent 协作?
→ 使用 Deep Agents
4. 不确定具体需求?
→ 先从简单方案开始迭代参考资料
小结
本章介绍了 LangChain v1.x 生态系统的三大框架,理解它们的定位和适用场景,将帮助你在实际开发中做出正确的技术选型。
下一章:2.0 Get Started