chimera-give-the-denominator
不给出分母和构成的比率,每一位数字都是真的,却依然误导人——说出 n,并说清分子里有多少是本来就已知的噪声。
由读过该卡片的评审者赋予,而不是文件自我声明的。智能体在处理不可信内容的运行中提炼出的卡片,生来即被标记为受污染,在被检索之前会一直等待评审。
何时会想到它
- 报告失败率
- 总结里出现百分比
- 这个数字看着吓人
- 对比改动前后
- 写基准测试结果
价值通常在「避免」和「检查」里。「该做」是人人都会写的那一节。
上面的卡片正文是译文。英文原文才是 CLI 导入的内容、智能体运行时读取的内容,也是下方哈希所证明的内容。
触发
你正准备把一个比率、一个百分比或一个计数放进报告、提交信息、基准测试表格,或者一条发给会据此行动的人的消息里。"34% 的运行失败了。""错误增加到 3 倍。""覆盖率下降了。"
这条不适用于读者本来就能自行拆解的数字:一次测出来的延迟、一个版本号、一份他们看得见的 diff 里的文件数。这里的风险专指聚合量——一个由你挑的一个集合除以你挑的另一个集合算出来的量,而这两次挑选在句子里都看不见。
该做
- 永远把原始计数写在比率旁边:
34%(17/50 次运行)。如果你说不出分母,那你还不知道自己测的是什么。 - 说清是哪个分母。发起的运行和完成的运行是不同的集合,除以完成数会悄悄删掉崩溃的那些——而那恰好是让你去看这个数字的那一批。
- 发布之前,先按原因拆分分子。这 17 次失败里,有多少是已经开着的 issue、多少是已知的提供方超时抖动、多少是只在这台机器上失败的 fixture?把拆分结果报出来:
17 次失败——其中 14 次是已知的连接超时,3 次原因不明。 - 在一个没有改动的基线上跑同一次测量,然后相减。真正有意义的数字,是在
main上活不下来的那部分。 - 当 n 小到再多一个样本就能把头条数字挪动好几个百分点时,把这句话写进报告里,替代那个百分比。
避免
"失败率 34%"——这是真的,而它会诱使读者花一整天去查一个他们上周就已经报过的超时。写成 "17/50 失败;其中 14 次是 ollama 连接超时(issue 已开),3 次是新的",这一天就会花在那 3 次上。
避免幸存者分母。rate = failures / completed 是经典写法:那些还没产出一行就死掉的运行,在等式两边都不存在,于是系统越糟,这个指标反而越好看。
避免在分母小于大约二十时,给出不带 n 的百分比。50% → 67% 可能是一次真实的改进,也可能只是三次运行里翻转了一次,而这两者在纸面上无法区分。
Chimera 发布过一次形状完全相同的撤回,而这正是这张卡片存在的原因。bench/learning_lift/RESULTS.md 曾报告过一个显著的族内迁移差距 +6.7%,而第 7 次运行——同一项测量,在足够的统计功效下——没有守住它。数字是真的,算术是对的,而它依然最好被解释为一次小样本波动。让这次撤回成为可能的,是运行次数从一开始就和百分比一起发布出来了。如果那个页面上只写着 "+6.7%",就没有任何东西可供重新检视,这个发现也就会悄悄变成一个事实。
检查
把这句话交给一个看不到你数据的人,请他们还原出原始计数。如果做不到,这句话就是不完整的——这是个二元测试,花十秒钟。
第二项检查,用在这个数字要驱动某个决策的时候:在一个未经改动的基线上重跑这次测量。分子中在那里同样复现出来的那一部分,与你的改动无关,而任何建立在它之上的论断,说的都是这套框架(harness)。
风险
把这条用在所有地方,会把可读的行文变成一片括号沼泽,读者会开始跳过括号——这比原来的问题更糟,因为现在分母就在页面上,却没人读。把完整拆解留给那些真的会有人据以行动的数字。
更尖锐的风险在另一个方向:按原因拆分同样是把真问题说小的工具。把十四次失败标成"已知噪声",只有在这个标签是在你看到它往哪边有利之前就贴上的,才算诚实。如果你发现自己是在写总结的时候才把"已知"这个桶越撑越大,那这个数字就是结论,不是证据。
写出分母也救不了一个糟糕的分母。2/3(n=3)依然只是三次运行;分母让这个弱点变得可见,而不是修好它。
如何使用
卡片就是数据。克隆仓库并按路径导入——任何经由网络到达的内容都会被视为受污染并等待批准,这正是你想要的行为,也是这里没有一行命令安装器的原因。
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/chimera-give-the-denominator/SKILL.md完整性
文件发布版本的 SHA-256。导入方可以据此核对收到的内容与本页展示的一致。
a95d8e10515e848efd16e1566d93454164e85d57a7dcb8aa35e7a2e593790766