换了新模型性能反而下降?模型升级回归测试的五步流程

📅 2026/10/27 ✍️ 小文 📖 约 1 分钟

厂商每季度发新模型,但你升级后往往发现旧功能坏了、提示词失效了、成本还涨了。本文给出一次可复用的模型升级回归流程,包含测试集构建、金丝雀比例和回滚判据。

有件事几乎每个团队都经历过:新模型公开发布,跑分全面领先,你的团队兴冲冲切上去,两天后悄悄切回来。

原因往往不是新模型“差”,而是它和你的提示词、你的工具、你的输出格式之间建立的默契失效了。模型升级从来不是换个 endpoint,而是一次隐性的系统级变更。

为什么升级会“倒退”

先理解三个机制。

机制一:模型对指令的响应风格变了。 新模型往往更“聪明”也更“啰嗦”。旧模型可能简洁回答,新模型自动补了背景说明。如果你的解析器依赖固定格式,直接崩。

机制二:拒绝与安全的边界移动了。 安全策略更新后,一些旧版本会答的合规问题,新版本会拒答。这对医疗、法律、金融场景影响巨大。

机制三:工具调用风格变了。 有的新模型倾向并行调用多个工具,有的倾向先追问再调用。你的Agent编排逻辑如果假设了串行,就会出问题。

这三件事都不会出现在跑分榜单上。

五步回归流程

第一步:建立回归集(永久资产)

不要临时拼测试集。要维护一个持续增长的回归集,来源是三处:

  1. 线上日志抽样(每类任务各100条,覆盖典型与边界);
  2. 历史事故回放(每次线上问题,修完后把输入固化进回归集);
  3. 对抗样本(手工构造的刁钻输入,如超长、多语言、含表格、含代码)。

规模控制在 300~800 条。少于300没有统计意义,多于800跑一次成本太高、也没人会认真看结果。

每条样本要带:输入、期望输出(或判定标准)、所属任务类别、业务权重。

第二步:定义判定方式,分三类

  • 可自动判定(约60%):JSON合规、数值正确、包含指定引用、SQL可执行 → 写断言脚本;
  • 可用LLM裁判(约30%):摘要质量、语气、完整性 → 用强模型打分,并保留1%人工抽检校准;
  • 必须人工(约10%):安全边界、专业判断 → 人工过一遍。

不要幻想全自动。把不可自动判定的部分显式列出来交给人工,比用LLM裁判假装客观要诚实得多。

第三步:新旧双方的配对比较

关键点:不要只看新模型通过率,要看成对比较。同一批样本,新旧模型各跑一遍,看:

  • 新对旧错:这是真提升;
  • 新错旧对:这是必须逐条检查的,大概率是格式或风格问题,往往能通过改提示词修复;
  • 双侧都错:可能是测试集本身有问题。

「新错旧对」的样本数是你的决策核心指标。经验红线:超过样本数的 3% 就要先修再上。

第四步:金丝雀放量

不要一次切。按周放量,每一步都要看指标:

阶段流量观察指标停留时间
影子模式0%(只记录不返回)格式合规率、延迟、成本3天
1%1%上述 + 用户重问率、投诉率3天
10%10%+ 单位成功成本5天
50%50%全面5天
100%———

影子模式这一步别省。它不花钱对用户,却能提前暴露格式和延迟问题。

第五步:写好回滚判据(上线前就写)

在灰度开始之前,明确写出什么情况立即回滚。例如:

  • 格式合规率低于旧版 2 个百分点以上;
  • 单位成功成本高于旧版 15%;
  • P95 延迟高于旧版 30%;
  • 用户重问率高于旧版 1.5 倍。

写下具体数字的意义在于:灰度期间人会被“再看看”的心态绑架,数据难看时总想等两天。事先写好阈值,触线就切,不讨论。

成本那一栏:往往被算反了

一个反直觉的发现:新模型单价往往更高,但单位成功成本常常更低。

因为更强的模型重试更少、需要的前置引导更少、输出一次成型率更高。我们统计过多次升级,单次调用成本上升 20%~40%,而单位成功成本下降 10%~25%。

所以第五步的指标体系里,单位成功成本 比 单次调用成本 更能反映真实损益。它等于 总成本 / 判定为成功的请求数。

一句忠告

模型升级不是“顺便升一下”,它应该被当作一次发布:有测试集、有灰度、有回滚、有复盘。

把回归集作为资产沉淀下来,你会发现自己从“被动适配厂商节奏”逐步变成“主动挑选模型”——因为你有数据说哪种模型在哪类任务上真的更适合你。

📤 分享到