拒绝审计:为什么单一拒绝率掩盖了一半的失败分布
打开任何生产环境 LLM 功能的安全仪表盘,你都会看到拒绝率(refusal rate)被绘制成一条单线,并带有颜色标记:下降是坏事,上升是好事。这背后的隐含逻辑是:拒绝是系统对不该做的事情说“不”,因此拒绝率越高,产品就越安全。这种说法只反映了事实的一半,而缺失的另一半,正是已部署助手中大多数无形质量损伤的根源。
拒绝率是一个双面分布。右尾是安全团队痴迷的部分:模型同意编写恶意软件、伪造药物剂量或生成政策明确禁止的内容。左尾则是相反的失败——错误拒绝(false refusals),即模型因为某些表面特征与禁止类别模式匹配,从而拒绝了良性请求。客户询问如何对费用提出异议,却收到“我无法提供财务建议”的样板回复。护士询问药物相互作用,却被引导至“请咨询医疗保健专业人员”。开发者询问如何解析邮件头,却因为提示词中包含 “exploit” 一词而被拒绝。
这些失败不会导致系统崩溃。没有任何警报触发。用户咕哝一句,关掉标签页,而仪表盘上的指标向上跳动,安全团队将其解读 为进步。与此同时,产品正在朝着一个无人衡量的方向变得对用户不友好。
本文将探讨如何审计左尾——如何埋点、如何采样、由谁负责校准,以及为什么大多数团队在发现高价值用户流失之前,都会低估这种失败模式。
指标是单调的,但失败不是
当团队绘制拒绝率随时间变化的图表并将其趋势线视为安全信号时,他们默认了一个假设,即底层分布是单向的:每一次拒绝都是正确避开了一次伤害。只要你的系统包含任何模式匹配层——无论是审核分类器、带有类别列表的系统提示词、经过微调的拒绝头,还是否决输出的下游过滤器——这个假设就会破灭。
催生了过度拒绝研究方向的 OR-Bench 论文对 32 个主流 LLM 进行了测量,发现安全得分与过度拒绝率之间的 Spearman 秩相关系数高达 0.89。换句话说,对有害提示词拒绝得最彻底的模型,对良性提示词的拒绝也最多,且两者结合得如此紧密,以至于改善其中一个几乎总是会削弱另一个。该基准测试本身包含 80,000 个在表面特征上看起来有害、但在检查后显然是良性的提示词,大多数生产级模型在其中相当大比例的提示词上都失败了。
这里的结论并不是“模型过于谨慎”。而是绘制单一拒绝率的仪表盘无法区分“经过良好校准的拒绝”与“过度触发”。它们产生的数据点完全相同。你无法从聚合的拒绝量中判断出系统是变得更安全了、更有用了,还是在两个维度上都变糟了。
