Skip to content

25. LangGraph 解决了什么问题?和 LangChain 的区别是什么? ​

难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min

本题阅读地图 ​

  1. 💡 简要回答
  2. 📝 详细解析
  3. 🎯 面试总结

👔面试官:LangGraph 解决了什么问题?和 LangChain 的区别是什么?

🙋‍♂️我:LangGraph 是做复杂工作流的,LangChain 是简单链式调用。

👔面试官:笼统了。LangGraph 的核心是显式状态管理和循环能力。LangChain 是线性链,LangGraph 是有向图,支持循环、条件分支、持久化。你能讲清楚吗?

🙋‍♂️我:LangGraph 可以循环,LangChain 不行?

👔面试官:对,但还有:LangGraph 的 State 是显式定义的,支持检查点(checkpoint)和重放。适合多智能体、人机协同、复杂状态管理。LangChain 更适合简单 Pipeline。

💡 简要回答 ​

LangGraph 解决的核心问题:

  1. 循环能力:支持复杂循环(ReAct、规划-执行-反思)
  2. 显式状态管理:State 明确定义,可追踪、可持久化
  3. 条件分支:边(Edge)可以带条件判断
  4. 持久化与重放:支持 checkpoint、人机协同、错误恢复

与 LangChain 的区别:

维度LangChainLangGraph
结构线性链(DAG)有向图(可循环)
状态隐式传递显式定义 State
循环不支持原生支持
适用场景简单 Pipeline复杂 Agent、多智能体

📝 详细解析 ​

LangGraph 的核心概念 ​

State(状态):

  • 明确定义整个运行过程中的数据
  • 每个节点接收 State,返回更新后的 State
python
class State(TypedDict):
    messages: list
    documents: list
    next_step: str

Node(节点):

  • 处理函数,输入 State,输出 State 更新

Edge(边):

  • 普通边:固定流转
  • 条件边:根据 State 判断走向

循环支持:

A → B → C →(条件)→ A(循环)

典型适用场景 ​

ReAct Agent:

  • 思考 → 行动 → 观察 → 再思考 → ...(循环)

多智能体:

  • Supervisor 分配任务 → Agent 执行 → 结果汇总 → 再分配(循环)

人机协同:

  • 执行到某节点 → 暂停等待人工输入 → 继续

错误恢复:

  • checkpoint 保存状态 → 出错后从检查点恢复

与 LangChain 的关系 ​

不是替代,是互补:

  • LangChain:组件生态(Model、Prompt、Parser、Tool)
  • LangGraph:编排层(把组件组织成复杂工作流)

LCEL 链可以作为 LangGraph 的节点使用。

🎯 面试总结 ​

LangGraph 解决循环、显式状态、条件分支、持久化问题。与 LangChain 互补:Chain 做组件,Graph 做编排。


章节首页 · ← Q24 · Q26 →

最后更新2026-05-01
难度P1
频率medium
阅读5 min
主题framework
觉得有帮助?把这个链接转给正在求职的朋友 · 用 Ctrl + K 全站搜索其它题