首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >LangGraph >LangGraph 如何实现人机协同(Human-in-the-Loop)?

LangGraph 如何实现人机协同(Human-in-the-Loop)?

词条归属:LangGraph

1. interrupt_before 中断机制

LangGraph 提供了原生的中断能力,通过 interrupt_before 参数可以在指定节点执行前暂停图的处理。配合 checkpointer 使用时,图会在中断点保存完整的状态快照,然后返回一个包含中断载荷(payload)的结果给调用方。这个载荷可以是任何可序列化的数据,如待审批的文档草稿、拟执行的交易详情等,供人类审查者查看。

2. interrupt() 函数的细粒度控制

除了编译期配置的中断,LangGraph 还支持在节点函数内部通过 interrupt(payload) 函数进行细粒度的运行时中断。interrupt() 会冻结执行、保存状态、返回 payload 给调用方,然后等待 resume。调用方通过 Command(resume=value) 传入人类的决策结果,图从断点恢复执行,interrupt() 的返回值即为人类输入的内容。这种模式适用于需要在特定逻辑判断点临时插入人工审核的场景。

3. 持久化暂停与长时间等待

由于中断机制建立在 checkpointer 之上,暂停可以持续任意时长——从几毫秒到数天。Agent 的状态在整个等待期间被持久化存储,不会占用运行时的连接资源。恢复时只需使用相同的 thread_id 调用 invoke(),LangGraph 会从检查点加载完整状态,包括所有中间变量和消息历史,人类决策被折叠进状态后继续执行后续节点。

4. 生产环境中的应用模式

在人机协同模式下,高风险操作(如金融转账、邮件发送、数据删除)前必须经过人工审批。典型实现是将 interrupt_before 配置在执行这些操作的节点之前,Agent 完成准备工作后暂停,通过 UI、Slack 或邮件通知人类审查者,审查者 approve 或 reject 后 Agent Resume 执行。对于合规要求严格的场景,还可以结合 tiered autonomy 模式:根据置信度自动分流——高置信度自动通过、中等置信度通知但不阻塞、低置信度暂停等待审批。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券