ARTICLE · 1230773
决策模型怎么做 AI 评估
AI 工程 · EVALS
决策模型做 AI 评估:阈值怎么调,分数怎么看
从默认 0.5 到业务可用:把模型分数变成有依据的行动
全文 3415 字 / 阅读约 8 分钟
CONTENTS · 本文目录
01阈值一动,谁被送去复核就变了
02调阈值,也要防止把答案背下来
038 分,什么时候才算八成概率
04价格比较,要放在效果达标之后
05把实验变成一套能复查的流程
AI 客服每天产生上千段对话。想知道它有没有漏订预约、忘记转人工,可以让另一个模型来做评委。但评委返回一个 0.73,接下来该怎么办?
把它当成失败,送去人工复核,还是解释成“有 73% 的概率出了问题”?这三种用法,对分数的要求并不相同。
Hamel Husain 与 Antaripa Saha 在 2026 年 10 月 20 日发表的文章里,用公寓租赁助手的生产记录比较了多种决策模型。它们面向分类判断,可以用于自动评估。文章提醒我们:默认阈值不一定适合任务,模型分数也需要验证,才能当作概率使用。
下面沿着这两个问题展开,并用一个假设的客服质检例子说明实际操作。示例数字用于演示,不是原文实验结果。
PART 01
阈值一动,谁被送去复核就变了
先约定:人工确认存在失败的记录记为 1,其余记为 0;模型分数越高,表示它判断“存在失败”的倾向越强。设定阈值后,分数达到阈值的记录就被标记出来。
模型负责给分,阈值负责决定是否行动。同一批分数,不需要重新调用模型,就能尝试不同阈值。scikit-learn 的阈值调优文档也把概率估计与最终分类决策分开处理。
假设有 1000 条客服记录,其中 100 条经人工确认存在失败。两个阈值得到以下结果:
精确率回答:发出的告警里,有多少确实出了问题?召回率回答:所有已知失败里,抓到了多少?前者的分母是告警数,后者的分母是实际失败数。
在这个例子里,降低阈值多找到了 35 条失败,也多制造了 35 条误报。人工复核量从 60 条增加到 130 条。团队是否愿意接受,要看漏掉一次失败的损失,以及复核一条记录的成本。
实际选择时,可以画出一串阈值对应的精确率与召回率,而不只检查两个点。固定模型和样本,降低阈值会让更多记录进入告警,召回率不会下降;精确率则取决于新加入的记录,不能认定它每一步都必然下降。先圈出达标区间,再讨论其中哪个位置更合适。
F1 是精确率与召回率的调和平均数,公式为 2 × 精确率 × 召回率 ÷(精确率+召回率)。它方便比较,却没有写入团队的人力预算。第二个阈值的 F1 更高,仍可能超过当天的复核能力。
先写业务底线,再找阈值
例如要求精确率、召回率都不低于 80%。示例中的两个阈值都没有同时达标;其他阈值是否可行,要继续检查。找不到时,应明确报告“当前模型和数据下无可行阈值”,再调整方案。
PART 02
调阈值,也要防止把答案背下来
看一眼全部标签,选出最漂亮的阈值,再用同一批数据报告成绩,会高估效果。哪怕模型没有重新训练,阈值也已经利用了这些样本的答案。
数据少时,可以用分层五折交叉验证:尽量保持每份数据里的正负例比例,用其中四份选择阈值,在剩下一份上测量表现,轮流进行。比较多个模型时,使用相同划分,避免样本难度影响结论。
这里的关键是每条记录被验证时,都不能参与对应阈值的选择。如果还训练了分类器,训练分类器、调阈值与最终报告成绩的边界也要分清。准备反复优化提示词的团队,还需要留一份独立测试集。
客服数据另有一个常见问题:同一用户的连续对话、同一故障的重复工单,可能长得很像。把它们随机拆开,会让验证集过于熟悉。可按用户或会话分组划分;要判断未来业务表现,还应增加按时间留出的检查。
原文也提供了一个有用的边界:最初有 100 条记录,性能统计排除两条内部 QA 样本后使用 98 条,其中 61 条有已知失败,37 条没有被标注出失败。原始对话未公开,不能把这个小样本的排名直接推广到自己的业务。
更细的一处是,原文在训练划分上找不到满足双 80% 门槛的阈值时,会回退到无约束的 F1 最优值,并保留相应验证结果。因此,图上的平均分不能解释成所有划分都达标。
做自己的实验时,可以把每次划分的阈值、精确率、召回率、是否存在可行解一起保存。这样团队能看见成绩波动,也能区分“平均尚可”和“稳定满足要求”。
小样本尤其需要看原始计数。例如某一验证份只有 12 条失败,多漏掉一条,召回率就下降约 8.3 个百分点。重复划分可以观察结果对样本拆分的敏感程度,却不会创造新的独立记录。要缩小对未来表现的不确定性,仍需补充真实的新样本。
PART 03
8 分,什么时候才算八成概率
如果只是把高风险记录排到前面,分数能否有效区分好坏很重要。如果要用它估算预期损失,或者决定自动处理多少记录,就还需要检查概率校准。
设想另一组独立样本:模型给 100 条记录的分数都在 0.8 附近,人工复核却只发现 50 条失败。这说明在这组样本上,模型给出的失败概率偏高。单条记录最终只有失败或未失败;概率的含义,要放在足够多的相似预测中检查。
常用做法是画可靠性图:把分数分组,横轴放组内平均预测概率,纵轴放实际失败比例。点越接近对角线,说明该区间预测与观察越接近。每组样本很少时,曲线会抖动,不能把几个点当成精确规律。
Platt scaling 是一种校准办法:利用带标签的数据,拟合一条逻辑函数,把原始分数映射成新的概率。也可以考虑更灵活的保序回归,但它在小数据上更容易过拟合。具体选择应由验证结果决定。
校准映射只能在训练部分拟合,然后应用到未参与拟合的验证记录。校准改变了分数的数值,如果还要用新概率做告警,应在训练部分重新选择阈值,再检验整个处理流程。
可以同时比较校准前后的 Brier score。在二分类的常用定义下,它是预测概率与真实标签之差的平方的平均值,越低越好。假设一条实际失败的记录被预测为 0.8,它贡献的误差就是(0.8-1)的平方,即 0.04。
Brier score 衡量的是整体概率预测误差,也受区分能力影响。因此,分数变低不能单独证明校准改善;还要结合可靠性图。一次映射也未必能改善新数据上的表现,部署前应保留校准前的基线。
阈值调整决定何时告警,概率校准检验数值能否按概率解释。做完其中一项,另一项仍需要单独验证。
校准也有能力边界:如果模型把大量正常记录与失败记录打成相同分数,仅靠分数映射无法把它们重新区分开。这时需要改进评估标准、输入信息或模型。概率外观看起来更合理,不能弥补原始判断缺少有效信号。
PART 04
价格比较,要放在效果达标之后
决策模型的吸引力包括成本。但便宜多少,必须连同任务、阈值和验证方式一起看。
原文报告,调过阈值后,Perplexity 的 F1 为 0.79,每 100 次评估的 API 成本为 0.82 美分,即 0.0082 美元;OpenAI Decisions 的 F1 为 0.87,对应 3.72 美分,即 0.0372 美元,约为前者的 4.5 倍。
这些是作者在该实验口径下的测量结果,不是通用报价,也没有包含人工复核、漏报损失等业务成本。结合前面的验证限制,它们适合展示如何权衡,不能充当采购结论。
回到假设的客服例子,可以给决策再加一层成本核算:如果复核每条记录需要两分钟,两个阈值分别对应 120 分钟和 260 分钟的人力。API 便宜几分钱,未必抵得过多出的复核时间。
进一步假设,每复核一条花费 1 个成本单位,每漏掉一条失败损失 20 个单位,只计算这两项:阈值 0.50 的成本为 60+50×20=1060,阈值 0.30 为 130+15×20=430。后者虽然复核更多,总成本反而更低。换一组损失假设,选择也可能改变;这些权重需要来自业务。
同样,少抓一次严重预约错误的代价,可能远高于多检查几条正常记录。团队可先限定必须达到的效果,再比较候选方案的调用费、人力和错误后果。延迟也应在自己的请求长度、并发与网络条件下测试。
如果某个方案同时更贵、漏报更多、误报也更多,就没有充分理由优先选它。真正需要讨论的是那些各有得失的候选项,以及团队愿意为哪一种改善付费。
PART 05
把实验变成一套能复查的流程
落地时,可以从“预约未完成却声称已完成”这类具体问题开始。先写清需要查看哪些工具结果、什么证据构成失败、哪些信息不足以判断,再请人工标注一批完整记录。
遇到分歧,应回看证据并修订标准。模型与标签不一致时,也要检查标签是否遗漏问题。评估器只能在给定标准和可见材料里判断,标签质量会直接影响你选出的阈值。
例如工具返回预约失败,助手随后却告诉用户“预约成功”,可以直接对应一条可核查的失败标准。用户没有继续回复,则未必足以说明助手做错了。把证据不足与已经证实的错误混在一起,会让人工标签和自动评估都变得含糊。
1留下可以重算的输入
保存记录标识、人工标签、模型版本、提示词版本和原始分数。去掉送给模型的人工答案与评审备注,避免泄漏标签。阈值实验复用已保存分数,减少重复调用。
2分开选择与验证
预先确定指标和业务底线,在训练部分拟合校准、选择阈值,在留出部分测量结果。保存无可行阈值的次数与各次验证表现,让失败也进入报告。
3用新记录检查是否仍然有效
先让系统输出复核建议,抽查告警与未告警记录。业务流程、提示词、模型或样本分布变化后,重新检查效果;不要只复核告警,否则容易持续漏看假阴性。
当团队能解释一条告警依据什么证据、为什么使用这个阈值,以及最近的新样本表现如何,这个评估器才更适合承担实际工作。能复查的记录,也会让下一轮改进更有方向。
抽查也要留下抽样比例:若告警记录检查一半、未告警记录只检查百分之一,不能直接把复核样本里的正负例比例当成总体比例。估算全量表现时,需要按相应抽样权重还原,或另外准备有代表性的随机审计样本。
原始研究与实验说明
01 · Hamel Husain、Antaripa Saha:How To Use Decision Models for Evals(2026-10-20)
https://hamelhusain.substack.com/p/how-to-use-decision-models-for-evals
02 · 作者博客版,含交互图表、评估标准与实验附注
https://hamel.dev/blog/posts/decision-model-evals/
03 · 作者公开的阈值选择审计数据
https://hamel.dev/blog/posts/decision-model-evals/charts/threshold-selection-audit.json
方法与指标官方文档
01 · scikit-learn:分类决策阈值调优
https://scikit-learn.org/stable/modules/classification_threshold.html
02 · scikit-learn:F1 指标定义
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html
03 · scikit-learn:概率校准与可靠性图
https://scikit-learn.org/stable/modules/calibration.html
04 · scikit-learn:Brier score 定义
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.brier_score_loss.html
05 · scikit-learn:分层与分组交叉验证
https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.StratifiedGroupKFold.html
●END●
如果这篇内容对你有帮助
欢迎 点赞 · 在看 · 分享 给更多朋友















































































