promptgarten 🌱
🌍 DE
概念●●○4 分钟 · +40 XP

Human-in-the-Loop(人工介入):agent 流程里,人应该在哪里把关

并不是 agent 的每一步都应该自动运行。Human-in-the-loop 决定的是:哪些地方需要人有意识地把关。

核心理念

Human-in-the-loop(简称 HITL,人工介入)的意思是:在 agent 流程的某些特定节点,系统会暂停下来,等你做出决定,而不是径直往下走。Agent 依然能行动,但不是无所不能。

哪些地方适合设检查点

  • 不可逆操作之前:删除、付款、给第三方发邮件、生产环境部署。
  • 遇到不确定的情况时:agent 碰到问题时应该停下来,而不是瞎猜。
  • 大计划制定之后、正式执行之前:先展示计划,等待确认。
  • 最后作为审阅:即便其余部分都自由发挥,上线前也要做最后一次检查。

全自动确认(Auto-Accept)的风险

有些工具几乎会自动确认每一个操作。这样确实省时间,但 agent 犯的任何错误也会毫无阻拦地一路执行下去。Anthropic 自己写的“构建 agent”指南明确建议:让 agent 在检查点或遇到阻塞时暂停,等待人工反馈——更高的自主性同时也意味着更高的成本,以及错误不断累积、越滚越大的风险。

经验法则

一个操作越难撤销,在它之前设置人工检查点的理由就越充分。常规的、容易核实的步骤,则可以自动运行。

示例

概念示例:一个 agent 要执行一个数据库迁移脚本。流程设计是:生成脚本 → 展示计划和 diff → 等待确认 → 只有在收到“是”之后才真正执行。如果没有这个检查点,agent 一旦认为迁移脚本写好了,就会自动执行迁移。

🛠️ 练习——自己动手试试

为你自己(或一个虚构)的 agent 设置,确定哪些操作需要人工检查点。

  1. 列出你的 agent 能执行的所有操作。
  2. 给每个操作打标记:可逆还是不可逆,一旦出错潜在损害有多大。
  3. 为每一个不可逆/有风险的操作设置一个检查点,这个检查点必须在执行之前生效,而不是之后。
  4. 检查这个检查点是不是靠技术手段强制执行的(比如权限规则),还是只写成了 prompt 里的一句请求——如果是后者,把它改过来。

自查清单

  • 你有没有为每个操作标注它是可逆还是不可逆的?
  • 每个检查点是不是都设在执行之前,而不是之后?
  • 每个检查点是不是都靠技术手段强制执行,而不只是 prompt 里的一句请求?

小测验

根据 human-in-the-loop 原则,在 agent 执行操作之前,人工检查点在什么时候最重要?

来源

相关主题

Agent 的权限模式(Permission Modes) ●●○自主 agent 的护栏(guardrails) ●●●在实践中保护 agent 安全 ●●○Agent loop:思考 → 行动 → 检查 → 重复 ●●○