模块四 · 系统重写 / F26 工程级 · 所有系统重写框架 →

概率回归测试法 Probabilistic Regression Testing PRT

传统回归测试的三根支柱,在智能体场景全部倒塌——质量保障需要一套全新的哲学。
"上次通过了,这次应该还能通过。"这个假设,在传统软件里大体成立。在智能体系统里,它可以造成灾难。

DEF ·统计分布、质量漂移和 Eval 集群退化,替代传统精确断言、二元判断、固定基线——并引入 Error Budget(错误预算)机制管理质量退化。

核心问题
智能体系统的回归测试应该怎么做?传统的"通过/失败"判断为什么失效?
体系定位
第七层 · 负责回答「质量退化如何被持续追踪与阻止」,与 ADLC 的部署监控阶段配套。
使用时机
模型更新后的发布决策 · 提示词迭代的安全验证 · Agent 系统持续运行的质量监控 · 事故复盘的退化路径追溯
F26 · 传统三支柱 vs 新三原则
custom
支柱 → 原则

精确匹配 → 分布描述

不再问"输出是否=期望",而是问"分布是否落在历史正常范围"。多维度各自有分布。

支柱 → 原则

二元判断 → 统计显著性

不再"通过/失败",而是"统计上是否发生显著退化"。阈值按风险级别设定。

支柱 → 原则

固定基线 → 动态基线

基线随系统演化主动更新。模型更新后再校准——区分进步与退化。

新增机制

Error Budget · 错误预算

为每维度设质量预算 → 耗尽则强制暂停其他迭代 → 专注质量修复。

三个新原则替换三根失效支柱Error Budget 把质量保障从被动变主动

01没有修改相关代码,但表现悄悄变差了

在许多团队维护智能体系统的过程中,会遇到一种特定的令人沮丧的体验:你没有修改任何和这个功能相关的代码,但它的表现在某次部署之后悄悄变差了。

更令人困惑的是:当你回滚到上一个版本,问题有时候还在,有时候消失了,有时候变成了另一个形态的问题。你用同一套测试用例跑,结果在"通过"和"失败"之间游移,没有规律可循。

调查下去,往往会发现:底层的模型进行了一次悄无声息的更新,或者检索库里的数据发生了变化,或者某个外部 API 返回了一个细微不同的格式。任何一个变化,都可能让你的智能体系统的表现分布发生漂移——这种漂移不是显而易见的崩溃,而是一种渐进的、难以察觉的质量退化。

传统的回归测试没有设计来发现这种漂移,因为它的整个逻辑是建立在"系统行为确定性"这个假设上的。

02传统回归测试的三根支柱失效

理论来源:软件回归测试理论(Roger Pressman,《软件工程》);统计过程控制理论(Statistical Process Control,沃尔特·休哈特,1920 年代)。
本框架创新:将统计过程控制的"分布追踪"逻辑引入智能体质量保障,用概率分布的统计特性替代二元通过/失败判断;提出"Error Budget"概念在智能体质量管理中的应用;建立"基线漂移"的主动检测和人工校准机制。

传统软件回归测试有三个核心特征,这三个特征在确定性系统里是合理的工程选择,但在智能体场景里都失去了有效性。

第一根:精确匹配断言(Exact Match Assertion)

传统测试验证的是:给定输入 A,输出是否精确等于期望输出 B。这个验证方式在确定性系统里完全合理——相同输入总是产生相同输出。但智能体的输出是自然语言,一个"正确"的输出可以有无数种合理的表达方式。用精确匹配来验证自然语言输出,会产生大量假阴性(正确的输出被判定为不通过)和假阳性(格式上匹配了但内容错误的输出被判定为通过)。

第二根:二元通过/失败判断(Binary Pass/Fail)

传统测试的结果是二元的——这个用例通过了还是失败了。智能体的质量是连续分布的,不是二元的。同一个输出,可能在某些评估维度上是优秀的,在另一些维度上是需要改进的。用二元判断来处理这种多维度的连续质量,是用错误粒度的工具做精细工作。

第三根:固定基线(Fixed Baseline)

传统回归测试维护一套固定的"正确输出"基线。智能体系统的"基线"不是固定的。底层模型更新可能改变系统的整体能力水平,提示词优化可能改变输出风格,数据更新可能改变知识覆盖范围。当基线本身在变化时,"当前输出与基线不一致"可能意味着系统变好了,也可能意味着变差了。

03概率回归测试的新范式

概率回归测试法放弃了传统回归测试的三根支柱,用三个新的原则来替代。

以分布描述替代精确匹配

不再问"这次输出是否和期望输出精确一致",而是问"这次输出的评分,是否落在了历史评分分布的正常范围内"。评分可以是多维度的,每个维度有自己的分布。当某个维度的评分持续落在分布的低端,或者分布的形态发生了显著变化,就触发关注和分析。

以统计显著性替代二元判断

不再是"通过/失败",而是"在统计上,这批新的测试结果相比历史基线,是否发生了显著的退化"。这需要对每次测试运行的结果,做统计显著性检验,判断差异是随机波动还是系统性退化。统计显著性的阈值,可以根据场景的风险级别灵活设定。

以动态基线替代固定基线

基线不是一个固定的"正确答案",而是一个随时间演化的"质量参考分布"。当系统进行了明确的能力提升,基线需要被主动更新;当系统底层模型更新之后,需要做一次"基线再校准"——重新运行完整的评测集,确定新的基线分布。

04Error Budget——把质量保障从被动变主动

概率回归测试的一个重要配套机制,是从站点可靠性工程(SRE)借来的"错误预算(Error Budget)"概念。

在 SRE 实践里,错误预算是这样定义的:如果我们承诺 99.9% 的可用性,那么我们有 0.1% 的"错误容量"——在这个容量内的失败是可以接受的,超过这个容量,我们需要停止新功能发布,专注于稳定性改进。

在智能体质量管理里,类似的逻辑可以被应用:为每个关键的质量维度设定一个"质量预算"——允许的退化幅度。当某个维度的评分退化超过了预算范围,触发强制的质量改进流程,暂停其他迭代工作,直到质量恢复到预算范围内。

这个机制让质量保障从一个被动的"测试→发现问题→修复"循环,变成了一个主动的"追踪趋势→预警退化→预防性介入"系统。质量退化在积累到不可接受的程度之前,就已经被发现和处理。

05从"证明质量达标"到"持续追踪质量状态"

概率回归测试法揭示的,是智能体系统质量保障的一个根本性认知转换:从"证明质量达标"到"持续追踪质量状态"。

传统软件测试的逻辑是:系统通过了测试,质量达标,可以发布。这是一种"门禁"逻辑,质量保障是一个有终点的活动。

智能体系统的质量保障是一个没有终点的持续活动。系统今天的质量状态,不能保证明天的状态——底层模型可能更新,使用场景可能扩展,对抗性攻击可能演化。"质量达标"不是一个可以被达到并维持的状态,而是一个需要持续监控和维护的动态过程

这个认知转换,要求团队在质量保障上的持续投入,而不是一次性的发布前测试。在资源规划上,需要专门为持续评测体系分配人力和计算资源,把它视为和功能开发同等重要的工作