改 A 坏了 B:横向回归怎么发现

人工智能 · 2026-10-07

回归是最难发现的退化。本文给出要同时看的三类指标(目标/守卫/全局)、评测集的横向覆盖做法、三个实操建议与三个反模式。


改 A 坏了 B,是最难发现的一类退化

评测集通常围绕"本次改动"设计 ✗ —— 于是**回归**(改 A 影响 B ✔)很难被发现 ✔:

分类准确率涨了 ✔,但摘要变啰嗦了 ✔;检索召回涨了 ✔,但答案引用率掉了 ✔。

**要专门做"横向回归"** ✔:改一处、跑全套 ✔。

一、三件事要同时看

```

① 目标指标(本次想改的)—— 是否变好

② 守卫指标(不想动的)—— 是否没变坏

③ 全局指标(整体)—— 是否有意外变化

```

**第 ② 项最容易被省** ✗ → 但它正是"改 A 坏 B"的探测手段 ✔。

**做法** ✔:给每个功能指定 2~3 个**守卫指标** ✔(例如"摘要功能的输出长度中位数" ✔),

每次改动都检查它们是否在范围内 ✔。

二、评测集的"横向覆盖"

  • **一个评测集覆盖多个功能**(而不是每个功能一个孤立的集 ✔);
  • **跨功能样本**(同一批输入,看多个功能的输出 ✔);
  • **共享组件改动要跑全量**(改组装器/改解析器/换模型 ✔ —— 影响面最大 ✔)。
  • **判断标准** ✔:这次改动**被哪些功能共用** ✔?

    共用的越多 → 跑得越全 ✔。

    三、三个实操建议

    1. **冒烟集要覆盖所有功能**(每功能 3~5 条 ✔,1 分钟跑完 ✔);

    2. **完整集按"改动影响面"选**(不是每次全跑 ✔ —— 见评测接进 CI ✔);

    3. **记录"这次跑了哪些集、结果如何"** ✔(见发布说明 ✔)。

    四、三个反模式

  • **只测改动的那个功能** ✗(回归漏掉 ✔);
  • **守卫指标没有阈值** ✗("变差一点点没关系" → 累积退化 ✔);
  • **改动影响面靠猜** ✗(应该看依赖关系 ✔)。
  • 五、一条判据

    > 上次改动后 ✔,除了目标指标 ✔,你还看了哪几个**守卫指标** ✔?

    > 说不出,说明回归防护还只有"目标指标"一层 ✗。

    想要你的品牌在AI回答里被推荐?

    免费诊断 →