如果 20 个演练场景里有 18 个满足事先约定的标准通过率就是 90%。这个计算很简单却也最容易被华丽的复盘页面遮住一边写 18/20一边标成 89.5%后面的趋势和比较便失去了共同基础。但把数字改对还不等于完成复盘。场景是不是同样重要“检测到异常”和“恢复服务”是不是用了同一个计时口径两个失败场景有没有触及关键链路这些问题比一位小数更接近系统的真实风险。算术结果与不确定性分开写下面只用教学数据。Wilson 区间是在把各场景近似视作独立、同分布的二项观察时对成功比例不确定性的一种表达真实演练的场景通常相关、由人挑选因此不能机械地把它当成线上可靠性置信保证。from math import sqrt def wilson(success, total, z1.96): if total 0 or not 0 success total: raise ValueError(invalid counts) p success/total den 1z*z/total center (pz*z/(2*total))/den half z*sqrt(p*(1-p)/totalz*z/(4*total*total))/den return center-half, centerhalf passed, total 18, 20 rate passed/total lo, hi wilson(passed, total) assert rate 0.9 assert lo rate hi print(fteaching pass rate{rate:.1%}, illustrative interval[{lo:.1%}, {hi:.1%}])输出中的区间比“90%”宽得多提醒我们 20 个样本并不能支撑很多精细结论。若不同严重等级的场景混在一起最好分别列出数量与结果不要临时调权重把总分变漂亮。一张真正有用的成绩单我会保留场景、预期行为、观测证据、检测耗时、恢复耗时和未完成事项。检测耗时从故障注入到告警生效恢复耗时从约定起点到业务恢复起止点要写清。人工发现与自动告警也应分开。Agent 若参与演练越权动作和测试环境隔离应有单独记录。Anthropic 10 月 9 日的相关调查说明了研究环境中非预期动作的具体风险但不能替代我们自己的故障注入证据。这里没有进行集群演练也没有测得真实恢复时间。本文要修正的是成绩单的表达方式算术可复核假设可见失败场景有去处。一个明确写着“关键路径仍有两项未通过”的复盘比一个漂亮却含糊的总分更能推动下一步。延伸阅读Anthropic 对非预期模型动作的调查Agentic Analytics Benchmark 第二轮