很多 AI 工作流把 human-in-the-loop 理解成最后让人确认一下。

这太晚了。

如果 AI 已经修改了关键代码、触发了外部操作、污染了项目状态、打开了 PR,最后再让人点一个 approve,只能拦住一部分问题。真正危险的副作用可能已经发生。

人应该站在风险边界,而不是只站在流程末尾。

什么是风险边界

风险边界不是抽象概念。它通常很具体。

在软件项目里,风险边界可能是:

  • 资金、支付、交易、提现;
  • 权限、安全、隐私、合规;
  • 数据库 schema 或持久化格式;
  • 生产数据或生产配置;
  • release、deployment、migration;
  • 不可逆外部操作;
  • 无法验证的产品承诺。

在专业工具里,风险边界还可能是:

  • 把不确定的视觉识别结果写成真相;
  • 把一次 source-specific 修复变成通用规则;
  • 对用户项目执行不可逆改动;
  • 把未验证 demo 包装成可复现能力。

这些地方都不应该靠 AI 自觉。

human gate 应该前置

好的 human gate 应该放在动作发生前。

例如:

  • 执行前发现任务风险过高,停在 analysis;
  • 修改前发现会改变核心业务语义,要求人工确认;
  • tool call 前发现会触碰生产或外部系统,要求人工批准;
  • evidence gate 失败,禁止进入 PR ready;
  • PR 合并后,release 仍需单独批准;
  • deployment 后,done 仍需 production verification。

这比“最后看一眼”更有效。

release boundary 必须拆开

AI 很容易把“代码改完”和“事情完成”混在一起。

真实项目不能这样。

这些状态应该分开:

  • local patch;
  • tests passed;
  • PR opened;
  • PR reviewed;
  • PR merged;
  • release ready;
  • deployed;
  • production verified;
  • done。

每一步的责任不同。AI worker 可以推进到 PR。release 可能需要另一个 workflow。production verification 可能需要人或监控系统确认。

如果这些状态混成一个 done,项目会失去对风险的控制。

人不是瓶颈,而是路由器

很多人担心 human gate 会降低自动化效率。

确实,如果所有事情都要人审批,流水线会变慢。但正确做法不是取消人,而是把人放在少数关键边界上。

低风险任务自动跑。中风险任务在证据不足时找人。高风险任务默认只分析。发布和生产验证明确拆开。

这样人不再是每一步的手动按钮,而是风险路由器。

结论

human-in-the-loop 的重点不是“有人看过”,而是“人在正确的位置介入”。

项目专用 AI 交付流水线必须把人工门禁和发布边界写进流程,而不是交给模型临场判断。

AI 可以提高速度。人负责风险归属。流水线负责让两者不要互相替代。