跳到主要内容
← 返回首页

我重新审了一遍“从零搭建 LangGraph Agent”:能入门,但离上线还很远

核验 LangGraph 入门 Agent 的核心机制,讨论持久化、线程隔离、工具权限、错误处理与上线前验证。

📝
当前状态:尚未实测。本文基于原帖、当前官方文档和包版本做静态分析;尚未安装依赖、运行示例或调用 OpenAI API。

我为什么关注这篇教程

这篇教程选了一个适合入门的切口:不用一开始就接搜索、数据库、邮件和浏览器,只用一个乘法函数把 Agent 最核心的循环讲清楚。对第一次接触 LangGraph 的人来说,先看懂模型为什么会请求工具、谁真正执行工具、结果怎样回到模型,比直接复制一个庞大的成品项目更有价值。
原文把普通聊天和 Agent 区分开:聊天往往是用户提问、模型回答;Agent 还要根据任务选择工具、执行、观察结果,再决定下一步。为描述这种包含分支和循环的过程,它引入 State、Node 和 Edge。State 保存消息和工具结果,Node 完成具体步骤,Edge 决定下一步。

核心结构是否成立

我对照了当前 LangGraph 官方 Quickstart,原帖的核心图结构是成立的。模型节点读取 MessagesState,绑定工具后的模型可以返回 tool_calls;条件路由看到工具调用就进入 ToolNode,工具执行完再回到模型;如果模型没有请求工具,Graph 结束。
这确实形成了一个最小的“模型决策 → 工具行动 → 结果观察 → 模型回答”闭环。模型节点每次临时注入 system 消息而不把它写入 Checkpointer 也没有问题,因为指令会在每次模型调用时重新加入。
目标
静态判断
边界
理解 State / Node / Edge
可行
概念与官方资料一致
跑通乘法工具循环
较可能可行
API 结构合理,但本次未运行
同进程记住上一轮
较可能可行
有 Checkpointer 机制依据,但本次未运行
重启后恢复会话
不可行
InMemorySaver 只存 RAM
直接用于生产
不成立
缺少隔离、安全、可靠性、评测和费用治理

我核验到的关键细节

依赖没有固定。截至 2026-08-30,PyPI 当前版本为 langgraph 1.2.11 与 langchain-openai 1.6.0,两者都要求 Python 3.10 或更高。原帖使用 pip install -U,适合即时学习,但不利于几个月后复现。更稳妥的实验应固定包版本并记录 Python 版本。
模型真实存在,但不是免费资源。gpt-5.4-mini 是当前有效模型并支持函数调用。官方当前价格为每百万输入 Token 0.75 美元、每百万输出 Token 4.50 美元,API 免费层不支持。小 Demo 的单次费用预计不高,但真实测试仍需可用账户、调用次数和费用上限。
temperature=0 有适用前提。OpenAI 当前说明 GPT-5.4 的 temperature 只在 reasoning effort 为 none 时支持。当前默认值是 none,因此示例有依据;如果后来把 reasoning effort 改成 low、medium 等,应移除 temperature 或按当时文档调整。
“记忆”应准确理解为线程级短期状态。InMemorySaver 保存当前进程内的 Checkpoint,重启即丢失。跨线程的长期用户信息属于 Store 的范围。固定写死的 thread_id="user-001" 只能用于演示,真实服务必须从认证上下文映射到唯一线程并防止越权访问。

从 Demo 到生产还缺什么

乘法工具适合讲控制流,因为它没有网络、权限和副作用。一旦换成邮件、数据库、文件或付款工具,模型生成的参数不能直接信任,工具要做业务校验和最小权限控制;有外部影响的动作要人工审批;重试还要配合幂等或补偿逻辑,避免重复发送、重复写入或重复扣款。
代码每次把完整消息历史交给模型。短 Demo 没问题,长线程会越来越慢、越来越贵,最终碰到上下文限制。官方建议按场景裁剪、删除或摘要旧消息。循环也不能只依赖框架默认上限,生产任务需要更小的业务步数、超时、预算上限和可解释的降级结果。
  • 持久 Checkpointer 与多用户线程隔离
  • 消息裁剪、摘要和数据保留策略
  • 超时、重试、工具错误分类与幂等
  • 工具参数、权限、提示注入和人工审批
  • 日志、轨迹、评测、速率限制和费用告警

我会怎样验证它

我不会只看最终有没有打印出 437,因为模型本身可能算对乘法。可靠测试要保存脱敏轨迹,确认第一轮出现 multiply(23, 19),工具返回 437,模型再组织回答;第二轮在同一线程出现 multiply(437, 2);换线程后不能知道“刚才的结果”;重启进程后也不能恢复内存状态。
还应加入普通问候,确认 Agent 不会无故调用乘法工具。之后再增加失败工具、较小的循环上限、消息裁剪和需要人工批准的伪高风险工具,逐步验证失败边界。
目前这些测试没有执行。安装依赖属于真实测试,调用 gpt-5.4-mini 还会使用外部付费 API。当前先完成步骤、成功标准、费用和清理方式,等待明确批准。

适合谁,以及我的判断

如果你刚接触 LangGraph、会一点 Python,又想理解低层 Graph API,而不是只调用封装好的 Agent,这篇教程值得跟。它的示例足够小,核心节点和边都能看见。
如果你准备做会访问客户数据、发送消息、修改文件或操作订单的生产 Agent,这篇教程只能当第一课。把乘法 Demo 跑通,并不代表真实工具已经安全。
我的最终判断是:这是一篇方向正确、结构清楚的入门教程。它真正的价值,是让初学者看见 Agent 不是神秘黑盒,而是一张可以明确控制的状态图。只要同时记住“学习闭环完整”和“生产系统完整”是两回事,它就值得作为第一份 LangGraph 练习。

参考来源