LangGraph 入门教程核查:代码没过时,但三个默认值对机器人是定时炸弹
一篇 LangGraph 入门教程,模型名和 API 写法都踩在当前稳定版上——这在 2026 年的教程里并不常见。但它的三个默认值(内存存档、绑 OpenAI、人工审批可选)放到实体机器人场景里,每一个都要改。
- 这篇没过时,先说这个结论:gpt-5.4-mini 是 OpenAI 2026-03-17 发布的真实型号($0.75 / $4.50 每百万 token、400K 上下文);InMemorySaver / MessagesState / StateGraph 是 LangGraph 1.x 现代写法,没用已废弃的 MemorySaver 老名。
- 版本对得上:LangGraph 1.0.8 稳定于 2026-02,现已到 1.2.x。教程用的是新 API,不是 0.1 时代的残留代码。
- 第一个坑:InMemorySaver 进程重启即丢。 教程自己写了「只适合本地学习和测试」,但对长任务与多机部署是定时炸弹。
- 第二个坑:默认绑 OpenAI。 做客户交付时数据不出内网是硬需求,国产模型的 OpenAI 兼容端点改两行即可替换。
- 第三个坑:把「人工审批」当可选项。 对软件动作是优化项,对物理动作是安全底线——真实移动一台 K1 之前必须暂停等人确认。
- 改造清单:换 SQLiteSaver / PostgresSaver、换国产模型端点、高风险节点前强制 interrupt()、模型生成的参数执行前必须做范围校验。
这篇教程没过时——这在 2026 年并不常见
技术教程最大的隐性成本不是难,是过时。你照着敲完,报错,查了半天发现是 API 在半年前改了名。这类教程在中文社区里的比例不低。
所以我先核了两件事:模型名是不是真的,API 写法是不是当前的。结论是——两个都站得住。
| 教程断言 | 核实结果 | 判定 |
|---|---|---|
| 模型 gpt-5.4-mini | OpenAI 于 2026-03-17 发布 GPT-5.4 mini / nano,专为「子代理时代」设计。mini 定价 $0.75 / $4.50 每百万 token、400K 上下文、多模态,比 GPT-5 mini 快 2 倍。教程写作在其后,选型合理 | 真实 |
| InMemorySaver / MessagesState / StateGraph / add_conditional_edges | LangGraph 1.x 现代写法。1.0.8 稳定于 2026-02,现已到 1.2.x。教程没用已废弃的 MemorySaver(0.1 老名),用对了新名 | 当前 |
| 国产模型可接入 | 智谱 / 通义 / DeepSeek / Kimi 均提供 OpenAI 兼容接口,改 base_url 即可,无需额外 SDK | 可行 |
| 「从 Demo 到生产」清单(权限 / 校验 / 循环上限 / 人工审批 / 追踪) | 全是生产级 Agent 的真实要点,且与实体机器人安全强相关 | 真实 |
| 把 system prompt 写进 call_model 每次前插 | 功能正确但有冗余:每次调用都重建 system 消息,长对话里会重复累积 | 小毛病 |
InMemorySaver 进程重启即丢
教程明确写了 InMemorySaver「只适合本地学习和测试」——它很诚实,但没展开后果。
对机器人长任务、跨进程、多机部署的场景,内存存档是定时炸弹:进程一挂,整条任务链的上下文全没,只能从头来。一次演示编排跑四十分钟,跑到第三十五分钟崩了,从头再跑四十分钟——这个代价在交付现场是付不起的。
生产环境换 SQLiteSaver(单机,需持久卷)或 PostgresSaver(多机并发)。另外有一条容易被忽略:单个 checkpoint 超过约 50KB 就要把载荷外置,State 里只存引用。机器人的图像、视频绝不能直接塞进 State,否则序列化会拖垮整条链。
换掉 OpenAI,把人工审批从可选改成必选
第二个坑是模型绑定。做客户交付的机器人公司,数据不出内网是硬需求。好消息是替换成本极低——国内主流模型都提供 OpenAI 兼容端点,样板改两行:
model="glm-5.3-flash",
base_url="https://open.bigmodel.cn/api/paas/v4",
api_key=os.environ["ZHIPU_API_KEY"],
temperature=0,
)
第三个坑更要紧。教程把「发送邮件、删文件、改数据库、付款」列为高风险动作,建议用 interrupt() 暂停等人确认——但它是作为可选项讲的。
把工具当节点,用状态机串起来
改造方案不复杂:把大脑换成国产模型,把工具做成节点,用 Checkpointer 落盘,在高风险节点前插审批中断。
四条必须守住的线,和一个四周计划
| 阶段 | 时间 | 动作 | 产出 |
|---|---|---|---|
| Phase 0 试水 | 本周约 2h | 跑通教程 demo,把 gpt-5.4-mini 换成 glm-5.3-flash(智谱云 API) | 验证国产模型接入链路 |
| Phase 1 加工具 | 2 周内 | 接 1 个业务工具节点(K1 状态查询或知识库检索),InMemorySaver 换 SQLiteSaver | 会话跨重启不丢 |
| Phase 2 加安全闸 | 1 月内 | 接 ComfyUI 视频节点;给「真实移动 K1」加 interrupt();设最大步数 / 超时 / 费用上限 | 实体动作有保险 |
| Phase 3 课程化 | 持续 | 抽成产教赛训标准课件,配 K1 头部跟随与演示编排两个实案 | 可售内训产品 |
四条边界,一条都不能省。
最小权限。只给 Agent 完成任务所需的工具权限。K1 API 的「只读状态」和「下发指令」必须分开鉴权,默认只读。
参数校验。模型生成的工具参数——角度、速度、坐标——在执行前必须做范围校验,别盲信。这是防止「模型理解偏了」的最后一道物理防线。
大文件不进 State。图像视频走外置存储,State 只存路径引用。
Trace 是黑匣子。上线前接好日志,记录「模型收到什么 / 为什么选这个工具 / 工具返回什么 / 状态在哪变」。没有这四样,出事故时无法复盘——对机器人交付,这等于没有事故记录。
三条与原文不同的判断属作者观点,已在正文标注:① InMemorySaver 对机器人长任务不可接受;② 人工审批在物理动作场景是必选项而非可选项;③ 客户交付场景应优先使用国产模型兼容端点。原帖直链未在研究材料中留存,引用请以作者账号 @Smartpigai 与 LangGraph 官方文档为准。