改 A 坏了 B,是最难发现的一类退化
评测集通常围绕"本次改动"设计 ✗ —— 于是**回归**(改 A 影响 B ✔)很难被发现 ✔:
分类准确率涨了 ✔,但摘要变啰嗦了 ✔;检索召回涨了 ✔,但答案引用率掉了 ✔。
**要专门做"横向回归"** ✔:改一处、跑全套 ✔。
一、三件事要同时看
```
① 目标指标(本次想改的)—— 是否变好
② 守卫指标(不想动的)—— 是否没变坏
③ 全局指标(整体)—— 是否有意外变化
```
**第 ② 项最容易被省** ✗ → 但它正是"改 A 坏 B"的探测手段 ✔。
**做法** ✔:给每个功能指定 2~3 个**守卫指标** ✔(例如"摘要功能的输出长度中位数" ✔),
每次改动都检查它们是否在范围内 ✔。
二、评测集的"横向覆盖"
**判断标准** ✔:这次改动**被哪些功能共用** ✔?
共用的越多 → 跑得越全 ✔。
三、三个实操建议
1. **冒烟集要覆盖所有功能**(每功能 3~5 条 ✔,1 分钟跑完 ✔);
2. **完整集按"改动影响面"选**(不是每次全跑 ✔ —— 见评测接进 CI ✔);
3. **记录"这次跑了哪些集、结果如何"** ✔(见发布说明 ✔)。
四、三个反模式
五、一条判据
> 上次改动后 ✔,除了目标指标 ✔,你还看了哪几个**守卫指标** ✔?
> 说不出,说明回归防护还只有"目标指标"一层 ✗。