第 4 章 · 性能测试与效果评估
考点梳理
4.1 测试集建设(评测的地基)
三条建设原则:
| 原则 | 说明 |
|---|---|
| 来自真实场景 | 样本取自真实业务数据(脱敏后),不是自己编的理想问题 |
| 分层覆盖 | 常规 60% + 边界 25% + 对抗 15%(示例口径),长尾不能缺 |
| 有标准答案 | 每条样本要有期望结果(标签/要点/应拒答),否则无法判分 |
测试集规模(一般口径):先建 20~50 条可用的,再逐步扩到上百条——小而准的测试集,胜过一大堆随手抄的样本。
铁律:测试集一旦定版,就不要为了“让结果好看”去改它——改测试集等于改考卷;确需更新,要留版本并说明原因。
4.2 指标计算与选择
| 指标 | 公式 | 何时用 |
|---|---|---|
| 准确率 | (TP + TN) ÷ 总数 | 类别均衡时的总览 |
| 精确率 | TP ÷ (TP + FP) | 怕误报 |
| 召回率 | TP ÷ (TP + FN) | 怕漏报 |
| F1 值 | 2 × P × R ÷ (P + R) | 精确率与召回率都要 |
| 一致率 | 相同标注 ÷ 重复标注总数 | 标注与生成结果的稳定性 |
| 拒答率 / 兜底率 | 拒答条数 ÷ 总条数 | 交互产品是否“过度拒答” |
| 回归通过率 | 通过条数 ÷ 测试集条数 | 变更前后守门 |
怎么选指标:先问业务“最怕什么”——最怕漏就选召回率为主,最怕错就选精确率为主,两者都怕就用 F1;生成类任务还要看要点覆盖、事实一致性(有无幻觉)、格式合规、拒答是否恰当。
4.3 回归测试(变更守门)
触发条件(任一即触发):
① 改参数 / 改阈值
② 改提示词 / 改规则
③ 换模型 / 换版本
④ 更新知识库(增删改内容)
⑤ 上游数据分布变化(如新增业务线)
回归流程:
跑测试集 → 逐条比对期望结果 → 算指标 → 与基线对比
↓ 掉点超阈值
回滚 / 修正后重跑(不允许“带病上线”)
↓ 通过
灰度发布 → 观察线上指标
记忆锚:“改了就跑,掉了就回,过了才上。”
4.4 上线后的效果跟踪
| 跟踪维度 | 看什么 | 发现什么问题 |
|---|---|---|
| 质量信号 | 抽检错误率、用户差评率、拒答率 | 效果是否在退化 |
| 变更时间线 | 把参数/提示词/知识库/模型变更标在时间轴上 | 定位“是哪次改动改坏的” |
| 数据分布漂移 | 新输入的长度、类别、场景分布 | 测试集是否已过时 |
| 典型失败样本池 | 持续收集线上错例 | 下一轮测试集与优化的素材 |
| 性能与成本 | 响应时间、调用量、成本 | 效果之外的可用性 |
关键认知:上线不是终点——“效果退化”通常不是模型变差,而是业务数据变了或有人改了配置。
4.5 评测报告(必须能交付的产物)
① 评测目的与范围(评什么、不评什么)
② 测试集说明(来源、条数、分层比例、版本号)
③ 评测方法与指标定义(怎么算的)
④ 结果(总体 + 分层 + 分场景,附典型样本)
⑤ 失败案例分析(TOP 类失败模式 + 每条的代表样本)
⑥ 结论与建议(是否可上线 / 优先修什么)
⑦ 局限与遗留问题
失败案例分析的四步:
| 步骤 | 做什么 |
|---|---|
| 归类 | 把失败样本按模式归类(如“多轮指代”“否定句”“专名识别”) |
| 计数 | 每类占失败总数的比例(先修占比最高的) |
| 定性 | 判断原因:数据问题 / 规则问题 / 参数问题 / 能力边界 |
| 给建议 | 可执行的下一步(补数据、补规则、调阈值、转人工) |
面试金句:“我评测从不只报一个总分——我会报分层结果和 TOP 三类失败模式,并说明先修哪一类。”
🧠 记忆工具箱
口诀速记
- 测试集三原则:“来自真实、分层覆盖、有标准答案”;
- 分层比例:“常规六、边界二五、对抗一五”;
- 指标选择:“怕漏保召回,怕错保精确,都怕用 F1”;
- 回归口诀:“改了就跑,掉了就回,过了才上”;
- 报告七项:“目的、测试集、方法、结果、失败案例、结论、局限”;
- 上线跟踪:“质量看抽检,定位看时间线,素材靠错例池”。
场景锚点
把评测想象成 “给 AI 做体检”:
- 测试集 = 体检套餐(只量身高不查血,等于没体检——只测常规样本等于假安全感);
- 常规样本 = 常规体检项(血压、心率);
- 边界样本 = 疑难指标(最容易查出暗病);
- 对抗样本 = 应激测试 / 运动负荷试验(看它在压力下会不会崩);
- 精确率 = “报告说有病的人里,真有多少有病”(怕吓唬健康人);
- 召回率 = “真有病的人里,查出来多少”(怕漏诊);
- 阈值 = 体检判定标准(标准放宽 → 漏诊多;标准严 → 健康人也被拉去复查);
- 回归测试 = 每次吃药/换药后复查(换了药不复查,等于闭眼治病);
- 评测报告 = 体检报告(要有数据、要有异常项分析、要有医生建议)。
⚠️ 易错提醒
- 错误认知:测试集随便凑一批数据就行 → 纠正:必须来自真实场景 + 分层覆盖 + 有标准答案——随手编的理想问题测不出真实缺陷。
- 错误认知:结果不好看就改测试集 → 纠正:改测试集等于改考卷——自欺欺人,还会掩盖真实问题;要改必须留版本并说明理由。
- 错误认知:只看一个总分就够了 → 纠正:必须看分层结果与分类别指标——总分高可能掩盖某一类全错。
- 错误认知:改动很小,不用跑回归 → 纠正:“改一个词”也可能让指标整体掉点——回归是流程,不是可选项。
- 错误认知:上线后效果好就不用管了 → 纠正:业务数据会漂移、配置会被人改动——必须持续跟踪质量信号与变更时间线。
- 错误认知:评测报告只报指标就行 → 纠正:必须写失败案例、结论与局限——没有分析的评测报告,读了也不知道下一步做什么。