KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
10. 人工批准的必须是将要执行的那个动作 — keel 龙骨
值班人员看到 preview:“把 staging 连接池从 20 改到 40”,于是点击批准。执行前模型重新规划,把参数改成 80。如果系统只保存 approved=true,80 也可能借用旧批准被提交。
值班人员看到 preview:“把 staging 连接池从 20 改到 40”,于是点击批准。执行前模型重新规划,把参数改成 80。如果系统只保存 approved=true,80 也可能借用旧批准被提交。
审批必须绑定动作摘要
一条可验证审批至少包含:
approval_id
command_fingerprint
target and effect
human-readable preview hash/version
requester principal
approver principal
decision and reason
issued_at / expires_at
single-use or usage limit
policy version
执行点重新计算 fingerprint。参数、目标或动作类型发生变化时,旧审批立即失效。
有意义的人类控制
审批界面应让人看见:
- 将改变哪个租户、环境和资源;
- 当前值与目标值;
- 可逆性和补偿方法;
- 主要风险与外部收件人;
- 请求来源、证据和模型不确定性;
- 为什么此动作需要人工决定。
只显示“Agent 请求执行工具,是否允许?”会制造审批疲劳,不能支持真实判断。
两人原则与职责分离
高风险动作可要求请求者和审批者不是同一主体,或需要两个独立审批。Reviewer 检查报告质量,不自动拥有发布权限;Agent 的内容评价不能代替人的变更授权。
执行前还要复核
审批发生在时间点 A,执行发生在时间点 B。中间可能出现:
- 资源版本变化;
- 维护窗口结束;
- 用户权限被撤销;
- 风险策略更新;
- 凭据轮换或审批过期。
因此授权不是永久票据。Execution Gateway 在提交前再次调用安全执行点,验证审批绑定和当前上下文。
flowchart LR
P[Preview + fingerprint] --> A[人工审批]
A --> T[Approval Ticket]
T --> E[执行点复核]
E -->|同动作且仍有效| X[Adapter]
E -->|参数变更/过期/权限撤销| D[拒绝并重新审批]
更完整的策略、身份、提示注入和审计会在安全控制课程展开。
检查理解
approved=true缺少哪些证据?- 为什么审批完成后仍要复核资源版本?
- 内容 Reviewer 和变更 Approver 为什么不能混为一谈?