LangGraph 1.2 生产实战:能熬过崩溃的有状态 Agent 编排(2026 完整指南)

LangGraph 是长跑、有状态 AI agent 的底层编排框架。GitHub 32.6k stars,v1.2.1。真实部署指南覆盖图设计、持久化执行、human-in-loop 检查点、LangSmith 调试、以及 LangGraph 何时胜过 CrewAI / AutoGen / 纯 LangChain。

  • ⭐ 32600
  • Python
  • TypeScript
  • PostgreSQL
  • Redis
  • MIT
  • 更新于 2026-05-21

你写过简单 LLM agent,看过它进程重启就忘光、一个 tool call 超时就丢半进度、两个事件并发就静默搞坏状态 —— 那你撞到的就是 LangGraph 要打穿的墙。

LangGraph 是 LangChain 团队出的 有状态、长跑 agent 的底层编排框架。LangChain 给你组件(“这是 LLM 包装,这是工具,自己组合”),CrewAI 给你高层角色抽象(“这是 ‘researcher’ agent,这是 ‘writer’ agent”),LangGraph 居中:基于图的状态机,你显式建模 node(函数 / agent)、edge(转移)、持久化的 state 对象。持久化执行 + human-in-loop + 状态追踪是一等公民,不是事后补的。

到 2026 年中,它有 32.6k GitHub stars,发布了 v1.2.1,是专门为"要熬过崩溃 / 重启 / 多小时长跑"的生产 agent 工作流而出现的最热门框架。

1. LangGraph 究竟是什么(不是什么) #

:基于图的 agent 运行时,你定义 node(Python/TS 函数,常含 LLM 调用)、edge(确定性或 LLM 决定的转移)、state 对象贯穿整个工作流持久化。

不是

  • LangChain 的替代品(它是 LangChain 的补充;很多 LangGraph node 包 LangChain 组件)
  • 无代码工具(developer-first,Python 或 TypeScript)
  • “用自然语言描述 agent” 的高层工具 —— 那是 CrewAI 的地盘

心智模型:“agent 工作流 = 显式状态机,不是隐式对话”。你画图,LangGraph 跑它。

2. 为什么"有状态"重要(LangGraph 修的 bug) #

3 个杀死生产 agent 的失败模式,没有合适的状态管理就掉坑:

  1. 工作流跑一半崩溃 → agent 从零重启,重做 30 分钟工作,丢用户能看到的所有进度
  2. 并发 tool 调用 → 状态修改交织不可预测,agent 进入无效状态
  3. 多小时工作流 → 进程被云厂商空闲超时杀掉,没恢复点

LangGraph 的 Checkpointer(用 Postgres / Redis / 内存做后端)在每个 node 执行后快照状态。崩了?从最近 checkpoint 重启。要注入人类反馈?在 checkpoint 暂停,改 state,继续。要 debug?任意 checkpoint 确定性重放。

这是让你说"早该用 LangGraph"的那个 bug —— 通常在你自建方案搞了 3 周之后。

3. 快装(5 分钟) #

pip install -U langgraph langchain langchain-openai
# 或带 Postgres checkpointer:
pip install -U langgraph langgraph-checkpoint-postgres

最小有状态 agent —— 数到 5,状态 checkpointed,进程重启不丢:

from typing import TypedDict
from langgraph.graph import StateGraph, START, END
from langgraph.checkpoint.memory import MemorySaver

class State(TypedDict):
    counter: int

def increment(state: State) -> State:
    return {"counter": state["counter"] + 1}

def should_continue(state: State) -> str:
    return "increment" if state["counter"] < 5 else END

graph = StateGraph(State)
graph.add_node("increment", increment)
graph.add_edge(START, "increment")
graph.add_conditional_edges("increment", should_continue)

app = graph.compile(checkpointer=MemorySaver())

# 用 thread_id 跑,状态持久化
config = {"configurable": {"thread_id": "demo-1"}}
result = app.invoke({"counter": 0}, config=config)
print(result)  # {'counter': 5}

MemorySaver() 换成 PostgresSaver(connection_string),同一个图就能熬过容器重启。

4. 4 个你真会用的杀手特性 #

持久化执行(Checkpointer#

每个 node return 值快照。进程死了?从 thread_idcheckpoint_id 继续。光这一点就值得任何跑 > 5 分钟的 agent 采用 LangGraph。

Human-in-the-Loop(interrupt#

把 node 标记为可中断。工作流暂停、把 state 暴露给 UI、等人类输入、继续。是构建"AI 提议变更,人审批"工作流的唯一靠谱方式。

from langgraph.types import interrupt

def approval_gate(state):
    user_decision = interrupt({"proposed_action": state["plan"]})
    return {"approved": user_decision}

记忆层(add_messages#

内置短期(thread 内)和长期(跨 thread)记忆。对话 state 用 add_messages reducer,跨 thread 语义回忆插 mem0 通过 AgentMemory MCP

LangSmith 集成 #

每个 node 执行、每次状态转移、每次 LLM 调用都进 LangSmith trace 视图。可视化 debug “为什么 agent 走了那个分支” —— 复杂图无价。

5. 生产部署模式 #

多数团队最终定下来的 4 组件模式:

┌──────────────────────────┐
│  你的 app / FastAPI       │
│  (LangGraph SDK 或 REST)│
└─────────┬────────────────┘
          │
          ▼
┌──────────────────────────┐
│  LangGraph Server         │
│  (langgraph dev / deploy)│
└─────────┬────────────────┘
          │ checkpoint 写
          ▼
┌──────────────────────────┐
│  PostgreSQL              │  ← 状态持久化
└──────────────────────────┘
          │ trace 流
          ▼
┌──────────────────────────┐
│  LangSmith(或自托管)    │  ← 可观测性
└──────────────────────────┘

标准生产部署:容器化 LangGraph app,指向托管 Postgres 做 checkpoint,配 LangSmith 拿 trace。无状态档用 DigitalOcean App Platform 即可;正经负载抓个 HTStack 香港 VPS (8 GB 起)+ DO 托管 Postgres 拿低延迟状态写。

6. LangGraph vs LangChain vs CrewAI vs AutoGen(什么时候挑哪个) #

需求
有状态、长跑、必须熬过重启的 agentLangGraph
快速 LLM-powered app(chatbot / RAG / 简单 agent)LangChain 单用
角色化多 agent 团队(“researcher” + “writer” + “critic”)CrewAI
对话式群聊 agent,辩论/决策工作流AutoGen(注意:Microsoft 已把 AutoGen 转维护模式;新项目评估 Microsoft Agent Framework)
最大控制力 + LangChain 生态LangGraph(两全其美)

2026 生产团队的诚实总结:LangGraph 在持久化和控制力上赢,CrewAI 在 demo-to-first 速度上赢,AutoGen 在多 agent 对话上赢(但在转型)。任何要熬过 deploy 或崩溃的,LangGraph 是默认。

7. 真实用例(LangGraph 闪光的地方) #

客服自动化:多轮工单暂停等人工升级,跨天保持上下文,客户回复时无缝继续。

编程 agent(长跑):跨几十个文件重构代码库的 agent,每个文件后 checkpoint,崩了不丢 4 小时工作。配 自托管 AI 编程工作流 拿全 stack。

研究 / 报告生成:多步研究工作流(搜→提取→综合→写),每阶段产出持久化产物。失败从最后好的 checkpoint 继续。

带人审批的工作流自动化:AI 规划动作,系统在 interrupt 暂停,向用户展示计划,批准后才继续。

多租户 agent 产品:每个客户拿 thread_id,状态完全隔离,可以重放任何客户的 session 做 debug。

8. 坑(第 3 天会撞到的) #

  1. 设计过多细粒度 node —— 每个 node = 一次 checkpoint 写。50 node 图跑得慢。合并相关操作进单 node
  2. 忘 reducer —— 没 reducer 的状态更新是替换不是合并。新用户 bug 来源 #1
  3. 写操作跳过 interrupt —— 做不可逆操作(发邮件 / 扣款)的 agent 没人审批 checkpoint,早晚出事
  4. 第 1 天不用 LangSmith —— 用 print 调 20 node 图是 misery。出事之前接好 LangSmith
  5. 把 LangGraph state 当免费数据库 —— state 保持精简。大对象引用 ID,blob 存 S3 / Postgres

9. 迁移:LangChain Agent → LangGraph #

你有跑通的 LangChain AgentExecutorcreate_react_agent 管线,迁 LangGraph 是机械的:

  1. 定义 state TypedDict(镜像你目前在步骤间传的东西)
  2. 把每个 LangChain tool/step 包装成 LangGraph node
  3. Checkpointer(先 MemorySaver,后期换 Postgres)
  4. 加 edge 建模之前在 LangChain 代码里隐式的控制流

回报:持久化执行 + human-in-loop + 重放调试,你的 LangChain 组件多数不用动。

10. 什么时候不要用 LangGraph #

  • 无状态单轮 LLM 调用 —— 杀鸡用牛刀,直接 LLM SDK
  • 简单 RAG(检索 → 回答) —— LangChain RetrievalQA chain 一行搞定
  • 纯对话 chatbot —— LangChain + 消息存储更简单
  • 团队零 Python 经验 —— CrewAI 的角色抽象更平易近人

TL;DR #

LangGraph = 基于图的有状态 agent 运行时,针对要熬过崩溃、支持人审 checkpoint、跑数小时的生产负载。32.6k stars,v1.2.1,MIT。和 LangChain 天然搭配(你大概率已经在用)。比 CrewAI 多控制力,比 LangChain 单用多持久化,比 AutoGen 在非多 agent 对话外都强。

开一个 DigitalOcean droplet 配 Postgres,跑第 3 节的例子,你就明白为啥跑真生产 agent 的团队最后都汇到这里。


想看 LangGraph 在更大语境?看我们的 AI Agent 工具链合集(即将上线),讲它怎么和 MCP server / AgentMemory / 代码执行沙箱配合。

💬 留言讨论