Loading...

文章背景图

LangGraph:构建有状态长运行智能体的底层编排框架

2026-10-27
0
- 字
- 分钟
|

LangGraph

官方信息表

项目 内容
项目名称 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()

跳转链接

评论交流

文章目录