-
buo4 技术教程组 用户
写 Agent 的人都会经历一个相似的阶段:demo 五分钟跑通,然后花三个月处理"跑久了会出问题"。
具体是什么问题?任务跑到一半进程挂了,状态全丢;需要人工确认一个关键决策,但 Agent 已经自顾自往下跑了;会话结束了,上次积累的上下文也就没了。
这些问题的共同点是——它们都发生在"长时间运行"这个维度上。单轮对话的 Agent 不会遇到,但真正的生产级 Agent 一定会。
LangGraph 就是专门解决这一层的基础设施。它的自我定位很明确:构建有状态 Agent 的低层编排框架。

"低层"这个词是关键
README 里有一句提醒:如果你只是想快速搭 Agent,可以看看 Deep Agents——一个基于 LangGraph 构建的更上层包,能做规划、使用子 Agent、利用文件系统处理复杂任务。
这句话反过来说明了 LangGraph 的定位:它不做封装,它做地基。
它的自我描述是这样的:
为任何长时间运行、有状态的 workflow 或 Agent 提供低层支撑基础设施。
"任何"和"低层"这两个词都值得留意。它不假设你用哪个模型、做哪类任务,只提供编排这一层需要的东西。
五个能力,全部围绕"长时运行"
持久执行(Durable execution) ——构建能扛过故障、长时间运行的 Agent,从上次中断的精确位置自动恢复。这是"跑久了会挂"这个问题的直接答案。不是重试,是续跑。
人在回路(Human-in-the-loop) ——在执行过程中的任意时刻检查并修改 Agent 状态。注意是"任意时刻",不是只在开始时确认一次。这让"关键节点人工把关"变得可实现。
完整记忆(Comprehensive memory) ——两种记忆:短期工作记忆用于正在进行中的推理,长期持久记忆跨会话保存。做真正有状态的 Agent,而不是每次从空白开始。
用 LangSmith 调试 ——可视化工具追踪执行路径、捕捉状态转移、提供详细的运行时指标。复杂 Agent 的行为本来就难查,这一层可视化不是锦上添花。
生产级部署 ——为有状态、长时间运行的工作流设计的可扩展基础设施。

生态里的位置
LangGraph 可以独立使用,但也和 LangChain 生态无缝集成:
| 配套 | 作用 |
|---|---|
| Deep Agents | 构建能规划、使用子 Agent、利用文件系统的复杂任务 Agent |
| LangChain | 提供集成和可组合组件,简化 LLM 应用开发 |
| LangSmith | Agent 评估与可观测性——调试表现不好的运行、评估轨迹、获得生产可见性 |
| LangSmith Deployment | 用专门的部署平台扩展 Agent |
值得一提的是使用范围:README 提到 Klarna、Replit、Elastic 等公司都在用。对于"低层框架"这类不太容易讲故事的项目来说,这份名单是它最实在的背书。
上手
pip install -U langgraph
需要 JS/TS 版本的话,有对应的 LangGraph.js。
文档资源:
- 官方文档:docs.langchain.com(含概念总览与指南)
- API 参考:reference.langchain.com/python/langgraph
- 快速开始:LangGraph Quickstart
- 免费课程:LangChain Academy 的 intro-to-langgraph
- 案例研究:built-with-langgraph
谁适合用它
适合:
- 做需要长时间运行的 Agent,要求故障后能续跑
- 需要在流程中间做人工审核或干预
- 需要跨会话的长期记忆,而不只是单次对话上下文
- 想要对 Agent 的执行路径有完全的控制权
- 已经在用 LangChain 生态
不太适合:
- 想快速搭一个能用的 Agent,不想处理编排细节(先看 Deep Agents)
- 只是做单轮问答或简单 RAG
- 不想写代码、只想可视化拖拽(那是 Dify、n8n 这类平台的领域)
说点实在的
"低层框架"这个定位在开源圈里挺少见,因为不好卖。封装得越厚,用户上手越快,star 涨得越快。但封装厚了,一旦你的需求和框架的假设不匹配,就得跟框架打架。
LangGraph 反过来:它把并发控制、持久化、人工介入这些机制做成原语,让你自己组织。代价是你得先想清楚自己的 Agent 应该长什么样,收益是它不会在你走到一半的时候说"这里不支持"。
几个关键概念——状态图、检查点、中断、子图——前期理解成本是有的。但对于要上生产的有状态 Agent,这些概念早晚都得面对,早一点比晚一点好。