
一、LangGraph是什么顾名思义就是一种适用于AI大模型运行的图结构。你可以在图里声明节点官方说是超级节点 Super Step节点也分为多种类型比如Agent Node调用大模型按照提示词执行还有Tool Node负责调用我们已经定义好的tools的当然还有路由节点这种节点可以按照条件动态调整要跳到哪些节点节点之间是靠Edge边来连接你不显式声明这些边节点也不知道下一步该往哪里走。对应上述提到的路由节点需要用条件边来连接我们还可以并行走N个节点利用Sender就行最后走到同一个节点进行信息汇总和LangChain不同的是LangChain就是一条路走到黑还不能回退。但在LangGraph是ok的你可以让他再从Agent Node 2回到原先的Agent Node 1但别忘了让他最后能正常结束整个图流程别陷入死循环了。另外如果你希望能回溯节点A换句话说你希望能重新从节点A再出发也是可以的。这就来到了接下来我们要聊的时间旅行。二、 时间旅行你想要回溯或重放那必须有个重要前提你必须得保存节点的执行记录你需要给graph配置一个存储器具体是什么样的存储器看你的具体情况。如果你只是想保存到内存里用ImMemorySaver就行但你要想持久化保存就根据你实际使用的数据库来挑选对应的Saver假设我们选择的是数据库Saver那么他会往你的数据库里创建几张表你能看到表名都会有个checkpointer类似的写法。checkpointer就是检查点的意思。每次在图结构里跑完一个节点就会生成检查点记录里面会包含threadid、checkpointerid、父节点信息、下一个节点、元数据、state等threadid 就是某个会话或者说是一次图运行的流程checkpointerid就是对应节点当我们手动给graph传入threadid和checkpointerid就会从那个节点之后开始执行另外在记录各个state的时候也会记录他们各自的版本检测到state变更的相应的节点才会触发执行先记到这里后续有内容补充的我再更新。有问题的话欢迎指出。