LangGraph 完整指南:3 步跑起来,构建中断也不丢状态的状态化智能体
【免费下载链接】langgraphBuild resilient agents.项目地址: https://gitcode.com/GitHub_Trending/la/langgraph
一个 Agent 正在执行需要跑 40 分钟的任务。第 30 分钟进程崩溃,重启后中间状态全丢,只能从头再来。LangGraph 要解决的就是这件事:它由 LangChain 团队开发,把智能体逻辑组织成一张状态化的图,每一步自动写入检查点,失败后从最后一个节点继续,而不是重跑。
LangGraph 谁在维护、谁在生产环境用?
- 维护方:LangChain Inc,即 LangChain 原班团队。README 明确说明它可以脱离 LangChain 单独使用。
- 生产用户:Klarna(客服场景)、Replit(AI 编码)、Elastic 等公司已在生产环境使用。
- 替代的旧做法:以前保存状态、失败重试、等人审批都得自己写,逻辑散落在各处、难测试。LangGraph 把这些收进图引擎,你只描述"节点和边"。
- 设计渊源:受 Google 的 Pregel 和 Apache Beam 启发,采用超级步骤式的并行调度。
LangGraph 最快安装方式:一条命令到第一次运行
pip install -U langgraph最简入口是 libs/prebuilt/ 里的create_react_agent:传入模型、工具列表和一个内存检查点器,就得到一个能循环调用工具的 Agent:
from langgraph.prebuilt import create_react_agent from langgraph.checkpoint.memory import MemorySaver agent = create_react_agent( "openai:gpt-4o", tools=[search], checkpointer=MemorySaver()) agent.invoke({"messages": [("user", "2024 年 G7 在哪举办?")]}, config={"configurable": {"thread_id": "t1"}})运行后你会看到答案和工具调用轨迹;状态留在内存检查点里,用同一个thread_id再调用可以继续对话。想要图形界面,libs/cli提供langgraph dev命令,本地启动后浏览器里能看到图被渲染成可交互 UI,线程状态实时显示在侧栏:
LangGraph 是怎么工作的:三个核心机制
1. 超级步骤执行(Pregel 模型)
每段逻辑写成一个节点函数,节点之间用边连接。运行时按"超级步骤"推进:每步并行执行所有就绪节点,节点读取当前状态、算出新状态,写回共享的"通道"。状态字段可以声明 reducer 函数决定合并方式,比如消息列表用追加。输入是状态字典,输出是更新后的状态字典,流向完全由边决定。
2. 检查点持久化(durable execution)
每个超级步骤结束后,完整状态被序列化落盘。MemorySaver存内存;生产换libs/checkpoint-sqlite或libs/checkpoint-postgres实现即可。崩溃后用thread_id加载最近检查点,从中断的节点继续,已完成的步骤不重跑。
3. 人在回路中断(human-in-the-loop)
节点里调用interrupt(),整个图挂起,状态保留在磁盘上,进程可以安全退出。人工审核后调用Command(resume="approve")继续,拒绝则走另一分支。转账、删数据这类敏感操作,官方推荐的就是这条路。
用它做了什么:两个真实示例 notebook
examples/ 目录已标注归档(新教程迁往官方文档站),但代码完整,适合直接读:
- react-agent-from-scratch.ipynb:从零手搓一个 ReAct 智能体。输入是几个工具和一个 prompt,处理过程是"思考→调工具→观察"的循环,产出一个开箱即用的工具调用 Agent。
- hierarchical_agent_teams.ipynb:一个经理智能体拆任务、派给多个下属智能体、最后汇总。多智能体协作被组织成一张可中断、可恢复的状态图。
边界与权衡:适合什么、不适合什么
- 适合:长时运行、多步骤、需要扛故障和人工干预的流程——客服、数据流水线、多智能体协作,以及跑几十分钟到几小时的任务。
- 不适合:单次 prompt 调用、简单的"查文档→填模板"流程。只用一次模型,上图引擎就是杀鸡用牛刀。
- 学习成本:状态 schema、reducer、通道、超级步骤,这些概念需要消化,曲线比高层 Agent 包更陡。
- 自由度与样板代码:它定位低层,重试、超时、中断都自己接线,灵活但代码量更多。常见模式建议直接用
libs/prebuilt省一半样板。
LangGraph 下一步去哪看
- examples/ — 可运行的示例 notebook(已归档,代码完整)
- libs/langgraph/ — 核心源码:状态图、通道、Pregel 引擎
- libs/checkpoint-sqlite/ — 本地持久化检查点器
- docs/ 目录 — 目前仅有 llms.txt 与重定向配置,正文文档已迁至官方站点,在站点内搜索 "LangGraph quickstart" 即可
【免费下载链接】langgraphBuild resilient agents.项目地址: https://gitcode.com/GitHub_Trending/la/langgraph
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考