跳到正文

← Skills

publish-the-run-that-did-not-work

把失败的实验也发出来,把被取代的那次原样保留,绝不为了显著性重跑。偏差在于挑选,不在于那个数字。

模式来源: clean状态: activev0.1.0 · Apache-2.0

由读过该卡片的评审者赋予,而不是文件自我声明的。智能体在处理不可信内容的运行中提炼出的卡片,生来即被标记为受污染,在被检索之前会一直等待评审。

何时会想到它

  • A/B 结果是负的
  • 重跑基准测试
  • 结果和我们宣称的相反
  • 写一份测量结果

价值通常在「避免」和「检查」里。「该做」是人人都会写的那一节。

上面的卡片正文是译文。英文原文才是 CLI 导入的内容、智能体运行时读取的内容,也是下方哈希所证明的内容。

触发

你跑了一次对比测试,想判断一个改动是否有帮助,结果却很不方便:是负面的、不显著的,或者和已经宣布过的东西相矛盾。

这条不适用于一次单纯跑坏了的测试——一个崩溃的框架(harness)什么都没测出来,把它当成结果发布出去,本身就是一种噪音。修好它,重新跑一遍,并说明你这么做了。

该做

  1. 在跑测试之前,先写下什么样的结果会推翻这个论断。如果你说不出来,这个实验就不可能失败,而一个不可能失败的实验根本不算实验。
  2. 用一个区间来报告效应,而不是一个点估计。+9.8pp [−3.5, +16.7] 说出的信息,是 +9.8pp 说不出来的。
  3. 当后来的一次运行推翻了更早的一次时,把更早那次原封不动地保留在已发布的状态,并链接到更正说明。修改它会抹去更正曾经发生过的唯一证据。
  4. 如果一个论断经不起复现(replication),就在最初发布它的同一个地方,用同样大小的字号撤回它。

避免

反复重跑,直到结果好看为止,然后只报告最好的那一次。那不是一次糟糕的测量,而是一次被挑选过的测量,而这种挑选事后无法从数字本身被任何人察觉——包括你自己。

避免悄悄丢掉同一系列里的负面结果,只保留正面的那个。避免在看到合并样本能让结果变好之后,才把新样本和旧样本合并起来;如果合并没有被预先登记为主要分析,它就只能是次要分析,必须被这样标注。

也要避免用暗示显著性的措辞来描述一个不显著的差值:"改善了"、"提升了"、"从……上升到……"。正确的说法是"单独看并不显著"。

检查

问问自己,一个持怀疑态度的读者能从你发布的这些材料里得出什么结论。如果答案需要读者相信你没有丢弃任何东西,那这些材料就是不完整的——把日志、逐项的结果,或者原始的配对数据都发布出来。

然后把你自己 README 里的论断和结果部分对照一遍。如果一处这么说、另一处却撤回了它,撤回的那处才是真相,论断必须跟着改。

风险

这样做更慢,而且会把在任何脱离上下文只读了一页的人看来像是失败的工作发布出去。这些读者当中,有些人正是在评估要不要使用这个东西。

更隐蔽的代价是:一个发布负面结果的项目,可能被人拿这些结果反过来引用攻击自己。这是一个真实的代价,但它比另一种选择的代价要小——一旦被发现有一处夸大其词,你发布过的其他每一个数字都会变得毫无价值。

如何使用

卡片就是数据。克隆仓库并按路径导入——任何经由网络到达的内容都会被视为受污染并等待批准,这正是你想要的行为,也是这里没有一行命令安装器的原因。

git clone https://github.com/brcampidelli/chimera-agent.git
chimera skills-import chimera-agent/skills/publish-the-run-that-did-not-work/SKILL.md

完整性

文件发布版本的 SHA-256。导入方可以据此核对收到的内容与本页展示的一致。

1b443d67d0a4e7631a57f1d67c8dc737b561c3ee5f67bb731b55a25f222b1a23

在仓库中阅读该卡片 →