Skip to content

审批策略模拟专题

版本:v1.1

最后更新:2026-07-06

适用对象:负责 AI 审批策略、风险分层、人工复核、灰度发布、上线门禁和安全治理的产品、平台、安全、算法与运营团队。


1. 为什么需要审批策略模拟

很多审批策略上线后才暴露问题:

  • 拦得太松,高风险请求漏了
  • 拦得太严,业务流程全卡住了
  • 人工审批量突然暴涨,运营团队扛不住
  • 低风险请求也被层层升级,用户体验变差
  • 新策略看起来更安全,但误拦率和处理时长一起上升
  • 策略变更后没有对照组,没人说得清到底好在哪里

这些问题如果在线上真实流量里才发现,代价通常很高。

审批策略模拟的目标是:

  • 在策略真实上线前,用历史样例、失败样例、边界样例或影子流量演练策略表现
  • 估算新策略对风险、效率、人工负担和业务体验的影响
  • 判断策略是否满足上线门槛
  • 把策略变更从“拍脑袋发布”变成“有证据发布”

NIST AI RMF 强调风险管理需要先测量再管理;OpenAI 的 eval 实践强调用可重复样本验证系统行为;Google SRE 的灰度和发布思路也适合审批策略:先小范围验证,再逐步放量,保留回滚路径。


2. 什么是审批策略模拟

审批策略模拟可以理解为:

  • 在不影响真实业务决策的前提下,用一批样例或影子流量运行新审批策略,并对比它与旧策略、人工标注或目标规则之间的差异

它不是只看规则能不能执行,而是要回答:

  • 新策略会多拦哪些请求
  • 新策略会多放哪些请求
  • 哪些风险被更好地拦住
  • 哪些正常业务被误伤
  • 人工审批量会增加还是减少
  • 审批链路会变长还是变短
  • 是否满足上线门槛

一个完整模拟通常包含:

text
历史样例 / 影子流量
 -> 新旧策略并行判定
 -> 指标对比
 -> 差异样例下钻
 -> 风险评审
 -> 灰度或回滚决策

3. 审批策略为什么特别需要模拟

审批策略天然存在 trade-off。

3.1 安全与效率的冲突

策略越严格:

  • 误放可能下降
  • 高风险召回可能上升
  • 人工审批量可能增加
  • 平均处理时长可能变长
  • 误拦可能增加

策略越宽松:

  • 处理效率可能提高
  • 人工负担可能下降
  • 误拦可能减少
  • 高风险误放可能增加

没有模拟,团队很容易只看到策略的单侧收益,看不到代价。

3.2 单条规则正确不代表整体策略正确

一条规则单独看可能合理,但多条规则组合后可能产生意外效果。

例如:

  • 风险规则 A 把低置信度请求升级
  • 风险规则 B 把外部发送动作升级
  • 风险规则 C 把敏感词命中请求升级

三条规则单独都合理,但合在一起可能导致 70% 请求进入人工队列。

审批策略模拟要看整体系统行为,而不是只验证单条规则。

3.3 线上试错成本高

审批策略一旦影响真实业务,错误会直接带来:

  • 安全事件
  • 用户投诉
  • 工单积压
  • 审核人过载
  • 业务延迟
  • 合规审计风险

因此审批策略应该先离线模拟,再影子运行,最后灰度发布。


4. 哪些策略适合优先模拟

并不是所有策略都需要复杂模拟。优先模拟高风险、高频、影响面大的策略。

4.1 高风险操作

例如:

  • 删除数据
  • 修改权限
  • 导出敏感数据
  • 对外发送邮件或通知
  • 执行付款、退款、转账
  • 自动关闭工单
  • 自动发布内容

这些场景误放成本高,必须优先模拟。

4.2 高频低风险操作

例如:

  • 普通内容发布
  • 客服回复建议
  • 标签分类
  • 普通知识库问答

这些场景单次风险低,但流量大。如果策略过严,会造成大量人工负担。

4.3 历史失败高发场景

例如:

  • 历史误放样例
  • 历史误拦样例
  • 审核分歧样例
  • 用户申诉成功样例
  • 事故复盘样例

这些样例最能暴露策略边界。

4.4 新增能力上线

例如:

  • 新模型
  • 新工具
  • 新 Prompt
  • 新风险标签
  • 新业务场景
  • 新自动审批规则

新增能力可能改变风险分布,不能直接套旧策略。


5. 模拟样本集怎么构建

审批策略模拟的质量取决于样本集。

5.1 样本来源

推荐来源:

  • 历史审批请求
  • 人工审核记录
  • 误放复盘样例
  • 误拦申诉样例
  • 安全事件样例
  • 红队测试样例
  • 专家构造边界样例
  • 影子流量

不要只拿“正常样例”模拟。正常样例会让策略看起来很好,但无法证明策略能处理风险边界。

5.2 样本分层

建议至少分成:

样本类型作用
正常通过样例验证策略不会误伤常规业务
正常拦截样例验证策略能拦住明确风险
高风险边界样例验证规则阈值和升级逻辑
历史误放样例验证新策略是否修复风险漏洞
历史误拦样例验证新策略是否减少业务误伤
攻击样例验证提示注入、越权、敏感信息风险
低质量输入样例验证信息不足时是否稳妥处理

5.3 每条样例记录什么

建议结构:

json
{
  "case_id": "approval-sim-001",
  "scenario": "external_email_send",
  "input": {
    "user_request": "把这份客户名单发到外部邮箱",
    "tool": "send_email",
    "risk_signals": ["external_recipient", "customer_data"]
  },
  "ground_truth": "escalate",
  "old_policy_decision": "approve",
  "risk_level": "high",
  "tags": ["historical_false_allow", "pii", "external_action"],
  "expected_reason": "涉及客户数据外发,需要人工审批"
}

关键字段:

  • 场景
  • 输入
  • 风险信号
  • 人工标注结果
  • 历史策略结果
  • 标签
  • 期望原因

6. 模拟要输出哪些结果

一次审批策略模拟至少要输出 5 类结果。

6.1 决策变化

看新旧策略的决策差异。

类型含义
approve -> approve无变化
approve -> escalate新策略更严格
approve -> reject新策略明显收紧
escalate -> approve新策略更宽松
reject -> escalate新策略放松但仍保守
reject -> approve高风险变化,需要重点审查

决策变化率过高说明策略影响面大,需要谨慎灰度。

6.2 质量指标

包括:

  • 误放率
  • 误拦率
  • 高风险召回率
  • 放行准确率
  • 拦截准确率
  • 人工复核一致率

质量指标决定策略是否安全。

6.3 效率指标

包括:

  • 人工审批占比
  • 升级审批占比
  • 平均审批链长度
  • 预计处理时长
  • 队列积压变化

效率指标决定策略是否可运营。

6.4 风险指标

包括:

  • 新增高风险放行数
  • 新增高风险拦截数
  • 越权请求放行数
  • 敏感数据外发放行数
  • 高风险工具未确认数

风险指标应该有一票否决项。

6.5 差异样例

必须保留:

  • 新策略新增拦截样例
  • 新策略新增放行样例
  • 新旧策略冲突样例
  • 高风险差异样例
  • 人工标注与策略不一致样例

没有差异样例,模拟报告就无法解释指标变化。


7. 审批策略模拟的三层视角

7.1 规则层

关注每条规则:

  • 命中多少样例
  • 命中哪些场景
  • 误命中多少
  • 漏命中多少
  • 是否与其他规则冲突

适合回答:

  • 哪条规则贡献了最多拦截
  • 哪条规则误伤最多
  • 哪条规则几乎没有效果

7.2 流程层

关注审批链:

  • 是否进入人工审批
  • 是否进入二级审批
  • 是否需要安全团队审批
  • 是否需要业务 owner 审批
  • 审批链长度是否变化
  • 是否出现循环或重复审批

适合回答:

  • 新策略是否让流程变长
  • 哪个节点会成为瓶颈
  • 是否需要拆分队列或优化 UI

7.3 业务层

关注业务结果:

  • 高风险是否减少
  • 正常业务是否被误伤
  • 用户等待是否增加
  • 人工成本是否上升
  • 是否影响 SLA

适合回答:

  • 新策略是否值得上线
  • 上线后是否需要增加审核人力
  • 是否需要灰度限制场景

8. 新旧策略对比方法

8.1 固定样本对比

使用同一批样本跑旧策略和新策略。

text
同一批样本
 -> old_policy
 -> new_policy
 -> compare decisions

优点:

  • 可复现
  • 便于归因
  • 适合上线前门禁

缺点:

  • 依赖样本代表性
  • 不能完全覆盖线上新分布

8.2 影子流量对比

在线上真实请求中,旧策略继续生效,新策略只记录模拟结果,不影响真实决策。

text
线上请求
 -> 旧策略真实决策
 -> 新策略影子判定
 -> 记录差异

优点:

  • 更接近真实流量
  • 能发现样本集没有覆盖的新场景

缺点:

  • 需要更完善的日志和数据治理
  • 不能直接知道 ground truth,需要人工抽样复核

8.3 人工标注对比

用专家标注作为目标答案。

text
样本
 -> 新策略决策
 -> 与人工标注比较

优点:

  • 可以计算误放和误拦

缺点:

  • 标注成本高
  • 审核标准需要一致

9. 上线门槛怎么设

审批策略模拟结果要能影响发布决策。

9.1 示例门槛

指标门槛示例
高风险误放必须为 0
高风险召回率>= 99%
误拦率增幅不超过 10%
人工审批占比增幅不超过 20%
P95 审批时长不超过 5 分钟
审计证据完整率>= 99.5%

9.2 一票否决项

建议设置一票否决:

  • 高风险样例被放行
  • 禁止类操作被放行
  • 敏感数据外发未升级
  • 高风险工具调用未确认
  • 审计证据缺失
  • 关键场景无样本覆盖

9.3 灰度条件

如果策略没有达到全量门槛,但整体方向正确,可以进入限制灰度:

  • 只对低风险场景灰度
  • 只对内部用户灰度
  • 只对小流量灰度
  • 高风险请求继续走旧策略
  • 所有差异样例进入人工复核

10. 影子运行与灰度发布

10.1 影子运行阶段

目标:

  • 不影响真实决策
  • 收集新旧策略差异
  • 验证线上分布

需要记录:

  • old_decision
  • shadow_decision
  • decision_diff
  • trigger_rules
  • risk_level
  • latency
  • reviewer_feedback

10.2 小流量灰度

目标:

  • 让新策略真实影响一小部分流量
  • 观察风险和效率指标

建议:

  • 从低风险场景开始
  • 设置自动回滚条件
  • 每日复盘差异样例
  • 高风险请求保留人工兜底

10.3 全量发布

全量前确认:

  • 模拟门槛通过
  • 灰度指标稳定
  • 人工队列承载能力足够
  • 告警已配置
  • 回滚策略可用
  • 审计证据完整

11. 模拟报告模板

markdown
# 审批策略模拟报告

## 1. 基本信息
- 策略名称:
- 旧策略版本:
- 新策略版本:
- 样本集版本:
- 样本数量:
- 模拟时间:

## 2. 总体结论
- 是否建议上线:
- 建议发布范围:
- 主要收益:
- 主要风险:

## 3. 指标对比
| 指标 | 旧策略 | 新策略 | 变化 | 是否通过门槛 |
|---|---|---|---|---|
| 通过率 | | | | |
| 误放率 | | | | |
| 误拦率 | | | | |
| 高风险召回率 | | | | |
| 人工审批占比 | | | | |
| P95 处理时长 | | | | |

## 4. 决策变化
| 变化类型 | 数量 | 占比 | 说明 |
|---|---|---|---|
| approve -> escalate | | | |
| escalate -> approve | | | |
| reject -> approve | | | |

## 5. 典型样例
- 新增拦截样例:
- 新增放行样例:
- 高风险差异样例:
- 误拦样例:

## 6. 发布建议
- 是否需要灰度:
- 灰度范围:
- 回滚条件:
- 需要补充的样例:

12. 模拟结果如何进入治理闭环

审批策略模拟不应该是一次性报告,而要进入治理闭环。

12.1 进入发布门禁

策略变更前必须跑模拟。

门禁示例:

  • 高风险样例全部通过
  • 误拦增幅不超过阈值
  • 人工审批增幅不超过阈值
  • 差异样例完成复核

12.2 进入评测集治理

模拟中发现的边界样例要进入长期回归集。

包括:

  • 新增误放风险
  • 新增误拦风险
  • 规则冲突样例
  • 审核分歧样例
  • 新业务场景样例

12.3 进入策略文档

每次策略变更都要记录:

  • 为什么改
  • 改了什么
  • 模拟结果如何
  • 灰度结果如何
  • 是否保留回滚方案

这能避免后续团队只看到规则,不知道规则背后的历史原因。


13. 常见失败类型与修复

失败类型表现修复方向
样本偏正常模拟结果很好,上线后风险漏出补历史失败、攻击、边界样例
只看通过率看不出误放和误拦建立混淆矩阵和 ground truth
规则冲突同一请求被多条规则给出不同结论定义优先级和冲突处理
人工量暴涨新策略大量升级人工做风险分层和低风险豁免
差异无法解释指标变了但不知道为什么保留触发规则和差异样例
没有门禁模拟只做展示,不影响发布设置上线阈值和一票否决项
影子运行无复核只有差异,没有质量判断对差异样例抽样人工标注

14. 一个完整案例:外部发送审批策略

14.1 背景

某系统支持 AI Agent 自动生成并发送邮件。旧策略只在邮件包含敏感词时升级人工,但事故复盘发现:

  • 客户名单外发到外部邮箱时没有命中敏感词
  • 系统自动放行
  • 造成数据泄露风险

14.2 新策略

新增规则:

text
如果满足以下任一条件,必须升级人工审批:
1. 收件人为外部邮箱,且附件包含客户、订单、合同、账号等数据
2. 发送对象超过 20 人
3. 邮件内容包含未公开财务、客户或安全信息
4. 用户要求跳过审批或隐藏发送记录

14.3 模拟样本

样本包括:

  • 历史正常外发邮件
  • 历史内部邮件
  • 客户数据外发样例
  • 批量群发样例
  • 提示注入样例
  • 历史误放样例

14.4 模拟结果

指标旧策略新策略
高风险召回率72%98%
人工审批占比12%24%
误拦率3%6%
高风险误放7 条1 条

14.5 结论

新策略显著降低误放,但仍有 1 条高风险误放,不满足全量上线门槛。

建议:

  • 不全量上线
  • 补充外部域名和附件类型规则
  • 对外部发送场景小流量灰度
  • 所有高风险差异样例进入人工复核

15. 落地检查清单

15.1 样本准备

  • 是否有历史审批样例
  • 是否有误放样例
  • 是否有误拦样例
  • 是否有高风险边界样例
  • 是否有攻击样例
  • 是否有人工标注 ground truth

15.2 模拟执行

  • 是否能同时跑新旧策略
  • 是否记录每条规则命中情况
  • 是否记录审批链变化
  • 是否记录人工审批量变化
  • 是否能导出差异样例

15.3 指标评估

  • 是否计算误放率
  • 是否计算误拦率
  • 是否计算高风险召回率
  • 是否计算人工审批占比
  • 是否计算处理时长和积压影响

15.4 发布决策

  • 是否设置上线门槛
  • 是否设置一票否决项
  • 是否有影子运行阶段
  • 是否有灰度计划
  • 是否有自动回滚条件
  • 是否把失败样例回流评测集

16. 推荐搭配阅读


17. 推荐资料

以下资料在 2026-07-06 检查时可访问。

官方文档


18. 一句话总结

审批策略模拟的核心不是证明新规则“能跑”,而是在真实上线前用历史样例、失败样例和影子流量验证它对误放、误拦、人工负担、审批时长和风险暴露的整体影响,并把结果变成发布门禁和治理闭环。