☰
langgraph子图调用时为何不建议链式调用
2026/9/28 4:53:08 网站建设 项目流程

子图调用时,我们一般不推荐直接链式调用,例:

错误用法:

assistant_response = subgraph.invoke( {"messages": messages} )["messages"][-1].content

正确用法:

subgraph_response = subgraph.invoke( {"messages": messages} ) assistant_response = subgraph_response["messages"][-1].content

原因:

一:display可视化图的时候,不会渲染子图拓扑结构

  • 当我们使用推荐的方式分开写时,主图会嵌套子图的节点、边
  • 但当我们链式调用时,graph根本不知道子图内部是什么样的,只会认为子图是一个普通的方法调用

二:无法查看子图的 checkpoint 快照

  • LangGraph 的检查点是跟着可追踪的 run 对象走的
  • 虽然链式调用可以正常执行,但是当我们需要查看子图调用时内部的执行上下文时,我们根本看不到;就如上我们例子中的代码,子图调用后会被立刻取出content,其余东西全部被丢掉,没有留下任何快照供我们回溯查看
  • 代码功能上能跑,不会报错,但是调试、可视化、持久化记忆全部失效,这就是其中的坑

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询