SuperAPI AI 工具集

LangGraph Execution Control

编程与开发

查看项目

更新于 10-15 22:39

技能介绍

用途:该技能面向 LangGraph 工作流的执行控制,帮助在固定路径的工作流与模型驱动的智能体之间做选择,并实现并行执行、中断与流式输出。

主要能力:

  1. 工作流与智能体:工作流控制流固定、可预测性高,适合顺序任务;智能体由模型动态决策,适合开放式问题。示例给出 ReAct 模式:模型决定何时调用工具,循环直到结束。
  2. Send API:用于扇出到并行 worker(map-reduce),在编排节点中为每个任务返回 Send("worker", {...}),并用 reducer(Python 的 Annotated[list, operator.add]、TypeScript 的 ReducedValue)累积并行结果。
  3. 中断(人机协同):推荐在节点代码内使用 interrupt(),条件暂停后用 Command(resume=value) 恢复;interrupt_before / interrupt_after 为编译期断点,仅用于调试,不适合 HITL,恢复用 invoke(None, config)。
  4. 流式:values 输出每步完整状态,updates 输出状态增量,messages 输出 LLM token 与元数据,custom 输出用户自定义数据(需用 get_stream_writer() / getWriter() 写入)。

使用方式:定义 State(含 reducer)、构建 StateGraph、添加节点与条件边、compile 时传入 checkpointer;调用 graph.invoke 或 graph.stream,流模式可传列表如 stream_mode=["updates", "messages"]。

限制:中断必须配合 checkpointer,恢复必须提供 thread_id;Send API 的消息传递模型不可更改;custom 模式必须使用 stream writer,print 不会被流式输出;建议在条件函数中加入最大迭代次数检查以避免无限循环。