2026年4月19日

回归测试与 A/B 评测

LLM 系统中任何环节的变更都可能导致能力退化:

知识库大模型评测

回归测试与 A/B 评测

一、回归测试

1.1 为什么需要回归测试

LLM 系统中任何环节的变更都可能导致能力退化:

  • 模型权重更新(微调、偏好优化)
  • Prompt 模板修改
  • RAG 管线变更(检索策略、分块方式、嵌入模型)
  • 模型版本升级(API provider 更新)
  • 推理引擎配置变更

1.2 回归测试方法

黄金数据集(Golden Dataset)

  • 精心策划的输入-期望输出对
  • 覆盖关键业务场景和边界情况
  • 每次模型变更后运行,对比结果
  • 维护成本高但是最可靠的回归检测

自动化评测管线

  • Promptfoo:开源 LLM 回归测试 CLI
  • Braintrust:评测和实验平台
  • LangSmith / LangFuse:追踪和评测
  • DeepEval:多维度评估框架

LLM-as-a-Judge 回归

  • 用强模型评估新模型在回归测试集上的表现
  • 成对比较:旧模型 vs 新模型
  • 单点评分:新模型输出是否达到质量阈值

1.3 回归测试最佳实践

  1. 分级测试

    • P0(关键路径):每次变更必跑,阻塞发布
    • P1(重要功能):每日跑
    • P2(边界情况):每周跑
  2. 覆盖率

    • 功能覆盖:所有主要功能都有测试用例
    • 场景覆盖:典型用户场景 + 边界场景
    • 回归用例:从线上问题转化而来的"永不退化"测试
  3. 评估门禁(Eval Gate)

    • 设定质量阈值,低于阈值自动阻止部署
    • 结合自动化指标和 LLM-as-a-Judge 评分

二、A/B 评测

2.1 A/B 测试设计

流量分配

  • Canary 部署:5-10% 流量到新版本
  • Shadow Mode:新版本并行运行但不服务用户(暗线对比)
  • A/B 分流:50/50 或按比例分流

分流策略

  • 随机分流(用户级或请求级)
  • 分层分流(确保用户特征均衡)
  • 时间片分流(交替时段)

2.2 关键追踪指标

类别 指标
任务质量 任务成功率、答案准确率
用户体验 TTFT、延迟、会话长度
安全性 有害输出率、安全事件
用户反馈 正/负反馈率、编辑率
成本 每请求成本、GPU 利用率

2.3 统计显著性

  • 样本量计算:基于预期效果量和基线率
  • 置信区间:通常要求 95% 置信度
  • 测试时长:确保足够样本和周期完整性
  • 多重比较校正:同时测试多个指标时需校正

2.4 A/B 测试陷阱

  1. Novelty Effect:用户对新版本有短暂偏好
  2. Simpson's Paradox:总体和分组结论可能相反
  3. 不完整数据:部分用户流失导致偏差
  4. 外部因素:时间段、事件等干扰因素

三、生产部署流程

3.1 标准发布流程

离线评测通过
  -> Shadow Mode(暗线运行,收集对比数据)
  -> Canary(5% 流量,监控关键指标)
  -> 扩大流量(25% -> 50% -> 100%)
  -> 全量发布

3.2 回滚策略

  • 即时回滚:检测到关键指标退化时立即回滚
  • 版本固定(Version Pinning):避免 API provider 静默更新
  • 蓝绿部署:维护两个环境,快速切换

3.3 持续评测

  • 不只是发布时评测,而是持续监控
  • 实时监控输出质量漂移
  • 定期运行回归测试套件
  • 收集用户反馈形成新的测试用例

四、工具推荐

工具 用途
Promptfoo 回归测试 CLI
LangSmith 追踪 + 评测 + A/B
Braintrust 评测和实验平台
Evidently AI 数据和模型漂移监控
Arize 生产监控和异常检测
Grafana + Prometheus 基础设施指标监控

五、前沿趋势(2024-2025)

  1. 自动化回归修复:检测到回归后自动调整超参数
  2. 持续评测(Continuous Eval):将评测嵌入 CI/CD 管线
  3. 回归悬赏:从真实用户问题中提取永不退化的测试用例
  4. 多模型 A/B:同时对比多个候选模型