一百万条断言无法裁决的事
Bun 的 Rust 重写在一个值得研究的规模上跑了 AI 对抗式审查 —— 一个模型家族、分开的 context window,以及 1,386,826 条测试断言作为最终裁判。StrayMark 的审计看起来不一样,是因为目标不一样,而这个差别不是风格问题。当一套能通过的测试套件可以当裁判时,你用 context 隔离审查者;当裁判是一次人类判断时,你按模型家族多样化 —— 而 25 个审计周期的真实数据恰恰说明了为什么,包括一个悄悄变瞎了的家族。
Bun 的 Rust 重写在一个值得研究的规模上跑了 AI 对抗式审查 —— 一个模型家族、分开的 context window,以及 1,386,826 条测试断言作为最终裁判。StrayMark 的审计看起来不一样,是因为目标不一样,而这个差别不是风格问题。当一套能通过的测试套件可以当裁判时,你用 context 隔离审查者;当裁判是一次人类判断时,你按模型家族多样化 —— 而 25 个审计周期的真实数据恰恰说明了为什么,包括一个悄悄变瞎了的家族。
StrayMark 的审计只有在独立的模型家族各自趋同到一个 finding 时才值钱 —— 一致就是那个信号。一连串 release 把这条保证加固,以对抗三种伪造它的方式。最新的一种最锋利:一个 router CLI 注入了它自己的产品名,于是一个审计器在报告上署名 "qwen-code",哪怕 operator 早已切换了后端模型。趋同的数学被喂了一个关于谁做了这件工作的谎言。
一个四模型审计周期审查了一个添加了新公开方法的 Charter —— 那是唯一让这个 feature 能工作的方法。四个审计者中有三个报告没有严重或高等级发现。这个 feature 在生产代码中有零个调用者、3,376 个通过的测试,而且端到端并不工作。这个缺陷用一次 grep 就能机械地检出;有一个审计者跑了正是那次 grep,却把结果读反了。事后复盘产出了对审计 prompt 的一条新规则 —— 以及一个更令人不安的发现,关于实现者自己那套根本不可能变红的验证。