2026-08-28·by Sijie Wang#cybernetics#engineering#testing

regression-ci

回归 CI——只卡回归,不设绝对门槛

主流对 prompt 程序的发布纪律,可以归结为一条流水线:任何触及 prompt、工具定义或 agent 配置的 PR,都会在 CI 中触发一次完整的 golden-set 运行(预算约 30 分钟);结果与当前基线做差异对比;出现显著下降就阻断合并。这个设计靠两条原则撑住:

  1. 先有基线,才有门槛。 对 LLM 输出而言,绝对质量阈值毫无意义(分数会随裁判模型版本、案例组合、措辞而漂移)——所以永远不要先定一个"及格分"。而是让当前生产系统先在这个集合上打分,然后只卡方向:这次改动有没有把原本能通过的东西变差?Promptfoo 的核心产物正是这个东西:一张"案例 × prompt 版本"矩阵,把翻转的格子高亮出来。
  2. 沉默的漂移才是真正的敌人。 Prompt 之间的相互作用是非局部的——为了改善某个行为而调的一句措辞,可能悄悄拖垮另一个行为;供应商不声不响地更新底层模型,也会让全局一起偏移。没有 CI 评测,这类回归要等到几周后用户抱怨才会浮出水面。"三十分钟的 CI 评测跑一次,和祈祷之间的差别,就是这个。"

机制上:nondeterminism-statistics 在这里适用(多次运行取 n、判定翻转前先过显著性阈值);失败的运行会直接链接到那些翻转案例的 trace;基线只有在一次改动被接受之后才会前移。

与 um 的关系:这是 um 目前最大的缺口。 um 会把每一份 ARTIFACT 审得很彻底,却完全不审 MACHINE CHANGES——一次 skill 编辑不会重跑任何东西,于是一条被磨锐的规则完全可能悄悄破坏掉原本能通过的东西(有一次小规模地发生过:RF6 第一次磨锐时把 imagery 层整个删掉了——是 owner 发现的,不是任何 harness 发现的)。修法在父笔记和 HANDOFF 里已经写明了:已提交的 ledger 本身就是不断累积的 golden set;一次 machine change 会触发对一个抽样切片的重新审计;出现回归就阻断。um 在这一点上比主流多出一样东西:内容寻址意味着每个 golden case 都绑定在精确的字节上——不存在"当初测的到底是什么"这种预期过期的模糊性。

Up:testing-software-3-0

来源:evals 主流实践(Promptfoo 差异矩阵、CI-eval 惯例,2026-07 现状核查)

about this entry

One of sijie's wiki entries. The AI on this site is grounded in the same corpus and answers in sijie's voice, with citations back to entries like this one — answering costs sijie money, so it waits behind a code: enter an access code →