Skip to content

1.1 LangChain vs LangGraph vs Deep Agents

本章将介绍 LangChain 生态中的三大框架:LangChainLangGraphDeep 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:

python
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 的 PregelApache BeamNetworkX 等图计算框架。

核心特性

1. 持久化执行 (Durable Execution)

Agent 可以在任意时刻中断和恢复,支持长时间运行的任务。

2. 人机协作 (Human-in-the-Loop)

支持在关键决策点暂停 Agent 执行,等待人工审批后继续。

3. 全面的记忆系统 (Comprehensive Memory)

支持多种类型的记忆:

  • 短期记忆:对话上下文记忆
  • 长期记忆:跨会话持久化

4. 流式中间步骤 (Streaming Intermediate Steps)

可以实时获取 Agent 中间执行步骤。

5. LangSmith 集成

完整的可观测性和调试工具支持。

快速开始

bash
pip install -U langgraph

Hello World 示例:

python
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 应用
                      (最终产品)

总结

  1. LangChain 底层使用 LangGraph,但提供更简单的接口
  2. Deep Agents 使用 LangGraph 的图结构执行,使用 LangChain 的工具和模型
  3. 三个框架都使用 LangSmith 进行监控和调试

选型建议

需求场景推荐框架
快速构建简单 AgentLangChain
需要精确控制的复杂工作流LangGraph
需要自主规划的多子 AgentDeep Agents
生产环境部署LangGraph + Agent Server
调试和监控LangSmith

决策流程

你的需求是...

1. 简单的 Agent 功能?
   → 使用 LangChain

2. 复杂多步骤工作流?
   → 使用 LangGraph

3. 需要自主子 Agent 协作?
   → 使用 Deep Agents

4. 不确定具体需求?
   → 先从简单方案开始迭代

参考资料


小结

本章介绍了 LangChain v1.x 生态系统的三大框架,理解它们的定位和适用场景,将帮助你在实际开发中做出正确的技术选型。

下一章2.0 Get Started

基于 MIT 许可证发布。内容版权归作者所有。