上一篇讲了 checkpoint——每一步存档。这一篇讲建立在这个基础上最重要的应用:Human-in-the-Loop(HITL,人机协同)

让 Agent 全自动跑固然高效,但很多生产场景必须有人介入:转账前要人确认,发邮件前要人审内容,模型拿不准时要人补信息。这一篇讲 LangGraph 怎么实现「跑到一半暂停,等人介入后再继续」。

为什么 Agent 不能全自动

Agent 能自动决策、自动调工具,但有些事不该让它自己拍板:

  • 不可逆操作:转账、删除、下单——做错了挽不回,必须人确认
  • 高风险输出:发给客户的内容、对外公告——错了损害品牌,要人审
  • 信息不足:Agent 拿不准时,与其瞎猜,不如问人

需要人介入的三类场景

这些场景下,让 Agent「全自动」是危险的。正确做法是:Agent 能自动的自动做,到该人管的地方就停下,等人处理完再继续。这就是 HITL。

Interrupt:暂停的机制

LangGraph 实现 HITL 的核心是 interrupt(中断)。在某个节点里调用 interrupt,图会暂停在那里

  1. 节点执行到 interrupt
  2. 当前 state 被 checkpoint 存下来
  3. 图暂停,把「到这里的状态」交给外部(比如返回给前端)
  4. 人审核、修改、补充
  5. 人处理完,从 checkpoint 恢复,注入人的输入,继续往下跑

Interrupt 的暂停-恢复机制

注意第 2 步——暂停时存档,是能恢复的前提。这正是上一篇 checkpoint 的用武之地。没有 checkpoint,暂停了 state 就丢了,没法续。所以上一篇我说「HITL 不是新功能,是 checkpoint 的自然延伸」——它的机制完全建立在 checkpoint 之上。

HITL 的三种典型用法

HITL 在生产里通常这么用:

1. 审批(Approve)。Agent 要执行敏感操作(转账、发邮件),执行前 interrupt,把「要做什么」展示给人,人点「批准」或「拒绝」才继续或停止。这是最常见的 HITL。

2. 审核/修改(Review/Edit)。Agent 生成了一段内容(回复、报告),interrupt 给人看,人可以直接改这段内容,改完用改后的版本继续。人不是简单 yes/no,而是参与修正。

3. 补充输入(Augment)。Agent 发现信息不够、或者遇到自己处理不了的,interrupt 去问人,拿到人的补充信息后继续。这把人当成「兜底的专家」。

HITL 三种用法

一个关键点:暂停对 Agent 是「透明」的

值得强调的是:从 Agent 的角度看,它不知道自己被暂停过

Agent 顺畅地跑节点 A → interrupt 暂停 → 人介入 → 恢复 → 继续跑节点 B。在 Agent 的逻辑里,就是「A 之后跑 B」,interrupt 这段暂停-恢复的复杂过程,被框架处理掉了,业务代码不用关心。

这是 checkpoint + interrupt 设计的精妙之处:把「人机协同」这件复杂的事,做成对 Agent 透明的横切机制。你要不要 HITL,只看有没有插 interrupt,Agent 的核心逻辑一个字都不用改。

暂停对 Agent 透明

生产部署的考量

HITL 在生产部署时有个现实问题:暂停期间,请求怎么挂着?

Agent 暂停等人,可能等几秒(人快速点批准),也可能等几小时(人下班了)。HTTP 请求显然不能一直挂着。所以生产里 HITL 通常是异步的:

  • Agent interrupt 后立即返回(带状态标识「等你审批」)
  • 前端展示给人
  • 人处理后,发一个「恢复」请求
  • Agent 从 checkpoint 续跑

这要求 checkpointer 是持久化的(第 14 篇强调过)——暂停几小时,内存 checkpointer 早没了。这也是为什么生产 HITL 必须配持久化 checkpointer。

收束:HITL 让 Agent 敢上生产

这一篇讲了 Human-in-the-Loop:

  • 很多场景(不可逆操作、高风险输出、信息不足)必须有人介入
  • interrupt 机制让图能在某点暂停、存档、等人、恢复
  • 它建立在 checkpoint 之上,没有存档就没有 HITL
  • 三种用法:审批、审核修改、补充输入
  • 暂停对 Agent 是透明的,业务代码不用改
  • 生产要配持久化 checkpointer,异步处理暂停

下一篇讲 LangGraph 的另一个进阶应用——多 Agent 协作:怎么让多个 Agent 分工配合完成一个复杂任务。


关于十三Tech

我是十三,All in AI Agent 方向的架构师,专注 AI 工程实践。我相信 AI 是程序员的最佳搭档。

如果你想跟完这套「图解 LangChain」,欢迎关注公众号 「十三Tech」。全系列 42 篇,会按认识基础、LangGraph 状态机、Agent 与 middleware、RAG 检索、Tools/MCP/记忆、生产化收束这条线更新。

十三Tech公众号二维码