Skip to content

第 14 章 Research Brief:Human-in-the-loop

读者问题

当 Agent 能够提出修改、调用 Tool 或生成结论时,“让人看一眼”并不是可实现的设计。读者需要能回答:什么动作应自动放行,什么动作需要人工确认;人工究竟在确认意图、范围、证据还是结果;批准如何关联到一次具体动作;以及批准过期、范围变化、拒绝或外部效果未知时,系统为何不能继续执行。

章节目标与非目标

本章将帮助读者把人类在环(Human-in-the-loop,HITL)设计成一个可审查的决策接口:输入是行动卡、证据与风险分类,输出是可关联的批准、拒绝、补证或升级决定。读者应能写出一个审批矩阵,并让每项人工参与都具有明确的触发条件、责任、过期条件和后续路径。

本章不设计真实审批后端、身份认证、权限系统、消息队列、法律合规流程、支付系统、生产发布或事后责任认定。第 11 章负责 Tool 请求与结果协议;第 12 章负责环境、Sandbox 与实际权限;第 17 章负责结果验证;第 18 章负责重试与恢复。人工批准不会自动授予权限、执行 Tool 或接受结果。

需要核验的事实与来源边界

待写入的限定陈述来源可以写什么必须避免什么
人工角色、责任与监督应当被清晰定义、评估和记录。CH14-REF-01、CH14-REF-02明确这是 NIST AI RMF 1.0 的自愿风险管理框架语境,且其在线资源列出了相关结果项。写成每个 Agent 都必须逐步人工审批,或声称 NIST 给出了具体字段/阈值。
高风险、敏感或不可逆动作,以及超过失败阈值,可作为考虑人工介入的触发器。CH14-REF-04明确为该 OpenAI 工程指南给出的两类触发示例。引入未核验的重试次数、风险分数或全行业规则。
某 SDK 可在敏感 Tool 调用处中断,得到批准或拒绝后再恢复,并使决定关联到调用。CH14-REF-03明确为 OpenAI Agents SDK Python 页面描述的该 SDK 流程。将其 Python 类型、序列化、MCP 支持或自动批准回调外推为通用审批协议。
EU AI Act 有针对其适用范围内高风险 AI 系统的人工监督条款。CH14-REF-05只作为法规语境存在“专门条款”的提醒。给出法律意见、系统分级判断、地域判断或合规时间表。

本书工程扩展

以下对象不是上述来源的产品格式、法规要求或 API:

  • 行动卡(Action Card): 待决定动作的意图、对象范围、效果类别、可逆性、证据、新鲜度与失败边界。
  • 审批矩阵(Approval Matrix): 依据影响、可逆性、证据强度、策略与不确定性选择自动放行、请求审批、补证、阻塞或升级的本书模型。
  • 审批记录(Approval Record): 把一个人的决定绑定到具体行动摘要、范围、时间、证据版本和后续条件的审查工件;不是身份、权限或不可抵赖审计系统。
  • 刷新条件(Refresh Condition): 当行动范围、证据、环境、风险等级或时间假设变化时,使旧决定不再可复用的规则。

计划结构

  1. 把“有人参与”拆成批准、复核、共同决策、接管和事后纠错。
  2. 用行动卡与审批矩阵把风险路由从 Prompt 文字中移到可检查工件。
  3. 解释批准的范围、时效、证据与拒绝理由,避免把“同意”写成永久权限。
  4. 描述暂停、补证、拒绝、超时、范围变化和外部效果未知时的保守路径。
  5. 通过“依赖漏洞修复建议与发布门”教学案例串联建议、人工决策、执行前检查和结果验证。

计划图示

图源为 diagrams/mermaid/chapter-14-human-approval-routing.mmd。它将回答:一张行动卡怎样根据影响、可逆性、证据和现有决定,路由到自动候选、补证、人工审查、拒绝/升级或“允许进入后续执行前检查”?

图必须明确:

  • “允许进入后续检查”不是 Tool 已执行,也不是结果已验收;
  • 效果未知先阻塞,不用旧批准或再试一次覆盖;
  • 拒绝和范围变化都回到可审查记录,不消失为聊天文本;
  • 人工审批只解决决策边界,不替代第 12 章权限与第 17 章验证。

计划示例

示例文件为 examples/agent/human-approval-routing.mjs。纯函数 assessHumanApprovalRoute 只读取注入的 actionpolicyapprovalobservation,返回教学状态:allowedrequires_approvalneeds_evidencerejectedblocked

计划测试覆盖:低影响可逆的自动候选、不可逆动作、缺少行动摘要、证据不足、效果未知、过期批准、批准范围不匹配和明确拒绝。示例不得读取文件、使用时钟、调用网络、访问真实身份/权限/审批系统、执行 Tool 或修改外部状态。

风险与待核验项

  • TODO(verify): 若未来引入某云、代码托管、工单或发布产品的审批功能,需在写作日读取该产品官方文档并把产品行为与本书模型分开。
  • TODO(verify): 若案例讨论漏洞严重性、CVSS、SLA、发布窗口或法律要求,必须引用适用标准/政策;本章当前不使用这些数值或规则。
  • 人工环节可能造成延迟、偏差、注意力耗竭或“橡皮图章”式审批。本章只能给出可审查接口,不能保证人类判断正确。
  • 将批准记录保存或传输到真实系统时,需要第 12 章及第 41 章的环境、权限、隐私和审计边界;本章不声称记录本身安全。

Research 完成检查

  • [x] 读者问题、范围、非范围与相邻章节责任已明确。
  • [x] 每项可归因陈述均有本章局部来源与禁止外推范围。
  • [x] 行动卡、审批矩阵、审批记录和刷新条件已标为本书工程扩展。
  • [x] 图示和示例均具有不执行真实外部操作的边界。
  • [x] 动态产品与法规资料均标明后续写作时重新核验的要求。

从同一套 Markdown 书稿生成。