跳转至

人机协同

要在智能代理或工作流中审查、编辑和批准工具调用,使用 LangGraph 的人机协同功能在工作流的任何点启用人类干预。这在大型语言模型 (LLM) 驱动的应用程序中特别有用,其中模型输出可能需要验证、纠正或额外的上下文。

image

Tip

有关如何使用人机协同的信息,请参阅启用人类干预使用 Server API 的人机协同

关键功能

  • 持久执行状态:中断使用 LangGraph 的持久化层,该层保存图状态,无限期暂停图执行直到你恢复。这是可能的,因为 LangGraph 在每个步骤后检查点图状态,这允许系统持久化执行上下文并稍后恢复工作流,从它停止的地方继续。这支持异步人工审查或输入,没有时间限制。

    有两种方式暂停图:

    • 动态中断:根据图的当前状态,使用 interrupt 从特定节点内部暂停图。
    • 静态中断:使用 interrupt_beforeinterrupt_after 在预定义的点暂停图,在节点执行之前或之后。

    image
    一个由 3 个顺序步骤组成的示例图,在 step_3 之前有一个断点。

  • 灵活的集成点:人机协同逻辑可以在工作流的任何点引入。这允许有针对性的人类参与,例如批准 API 调用、纠正输出或指导对话。

模式

你可以使用 interruptCommand 实现四种典型的设计模式:

  • 批准或拒绝:在关键步骤(如 API 调用)之前暂停图,以审查和批准操作。如果操作被拒绝,你可以阻止图执行该步骤,并可能采取替代操作。此模式通常涉及根据人类输入路由图。
  • 编辑图状态:暂停图以审查和编辑图状态。这对于纠正错误或使用其他信息更新状态很有用。此模式通常涉及使用人类输入更新状态。
  • 审查工具调用:暂停图以在工具执行之前审查和编辑 LLM 请求的工具调用。
  • 验证人类输入:暂停图以在继续下一步之前验证人类输入。