Skip to content
预计 1 分钟右侧目录可快速定位

如何证明优化真的有效:Ablation 与 Repeated Trials ​

前置:如何定位质量退化:Planner、Context 与 Regression Evaluation
核心问题:一个新机制让成功率从 80% 到 82% 时,怎样证明提升来自机制本身而不是随机噪声?

去掉 reranker 后成功率从 82% 变成 80%,只跑一次不能说明 reranker 没价值;模型随机性、provider latency 和样本顺序都可能造成波动。要判断某个机制是否真的贡献质量,需要 Ablation 控制变量 + Repeated Trials 报告分布,而不是拿两次单点结果下结论。

Ablation ​

Ablation 的目标是回答“某个组件到底贡献了什么”。一次只移除或替换一个因素,并保持 dataset、model、prompt、tool schema、runtime version 等其他条件不变。

例如要验证 reranker:

text
baseline: hybrid retrieval + reranker + top-8
ablation: hybrid retrieval            + top-8

如果同时换模型、改 prompt、调 chunk size,就无法把变化归因给 reranker。

Benchmark Noise / Repeated Trials ​

LLM 输出、外部服务 latency、采样和队列竞争都会让同一配置产生波动。小幅提升必须看重复试验后的分布,而不是两个单点。

假设 5 次试验得到:

配置SuccessAvg Costp95 Latency
baseline82, 84, 81, 83, 82%$0.4218.1s
no reranker80, 81, 79, 82, 80%$0.3615.4s

这时可以讨论“约 2 个百分点质量换来多少成本/延迟”,而不是说某一次 82 vs 80 就证明了因果。对差异很小的实验,应进一步报告方差/置信区间,并扩大样本或重复次数。

如何验证 ​

选择一个你认为“明显有效”的组件,例如 reranker 或 compaction policy:

  1. 固定 dataset、model、prompt、tool schema 与 runtime version;
  2. 只移除这一项能力;
  3. 对 baseline 与 ablation 分别重复运行;
  4. 比较 success、cost、latency 的分布,而不是只看单次均值;
  5. 如果差异小于运行噪声,就不能把提升归因给该组件。

自测 ​

  1. 一次实验新策略胜出 1/1 次,为什么不能证明优化有效?Repeated trials 要控制哪些随机因素?
  2. 做 ablation 时每次只去掉一个机制,能帮助回答什么因果问题?

Sources ​

AI Engineering · Agent · Harness · Backend Systems