
官方信息表
| 项目 | 内容 |
|---|---|
| 项目名称 | LangGraph |
| 仓库地址 | langchain-ai/langgraph |
| 官方文档 | docs.langchain.com |
| 开源协议 | MIT |
| 最新更新 | 2026-10-26 |
| 定位 | 低层级有状态智能体编排框架 |
项目背景
LangGraph 是 LangChain 官方推出的底层智能体编排库,用图结构描述智能体的状态流转。它被 Klarna、Replit、Elastic 等公司用于生产环境。LangGraph 不替代 LangChain,而是提供更底层的状态机编排能力,与 LangChain 组件无缝集成。
核心特性
- 持久化执行(Durable Execution):构建可持久化的智能体,崩溃后从断点自动恢复,长时间运行不丢状态
- 人在回路(Human-in-the-loop):在任意节点中断,检查和修改智能体状态,审批后继续
- 综合记忆:短期工作记忆用于当前推理,长期记忆跨会话保留
- LangSmith 调试:可视化执行路径、捕获状态转换、详细运行指标
- 生产部署:配套 LangSmith Deployment 平台,支持扩缩容
- Deep Agents:高层封装包,支持规划、子智能体、文件系统
环境要求
- Python 3.10+
- 推荐配合 LangSmith 做 tracing
- 可选:Postgres 做持久化 checkpointer
部署步骤
pip install -U langgraph
最小示例:
from langgraph.graph import StateGraph, END
graph = StateGraph(dict)
# 添加节点和边...
app = graph.compile()
状态管理模型
LangGraph 的状态对象是一个普通 Python dict,在节点间传递。每个节点接收当前状态、返回状态更新,图引擎负责合并。你可以定义 reducer 控制合并策略(覆盖、追加、求和)。checkpointer 把每一步状态持久化到内存或 Postgres,崩溃后从最近 checkpoint 恢复。
生态集成
- Deep Agents:高层包,构建能规划、用子智能体、操作文件系统的智能体
- LangChain:提供集成和组件
- LangSmith:智能体评估和可观测
- LangGraph.js:JS/TS 版本
常见问题 FAQ
Q:LangGraph 和 LangChain 是什么关系? A:LangChain 提供组件集成,LangGraph 负责状态机编排,二者可单独使用也可配合。
Q:支持 JS/TS 吗? A:支持,见 LangGraph.js。
Q:生产部署怎么做? A:官方提供 LangSmith Deployment 平台,也可自行用 FastAPI 封装。
安装要求
pip install -U langgraph
# 可选:LangSmith tracing
pip install langsmith
Python 3.10+。JS/TS 版本见 LangGraph.js。
更多使用示例
from langgraph.graph import StateGraph, END
from typing import TypedDict
class State(TypedDict):
messages: list
def call_model(state: State):
return {"messages": state["messages"] + ["response"]}
graph = StateGraph(State)
graph.add_node("model", call_model)
graph.set_entry_point("model")
graph.add_edge("model", END)
app = graph.compile()