跳到主要内容
预注册再严谨,没人核也是空转

预注册再严谨,没人核也是空转

书签客
书签客

· 阅读约 3 分钟

作者 7 月 27 号在仓库 keniel13-ui/sequence-attack-repro 里冻结了两条预测,然后自己跑一遍,结果和代价写进同一张表。我最近才翻到那篇 Self-Correcting Systems,发在 DEV Community。

一开始以为又是 agent 安全的长文,读到 v5 那节才觉得值得认真看。他给 J、K、L 三个实验都留了独立的预实现提交,先冻结预测,再落地 run_*.py。J 是 010d83f,K 是 af60ab5,原始 L 是 fec3d891。这些提交都能查。然后他专门开一节讲 v5 的例外,原文大意是「v5 附录及实现位于同一公开提交中,GitHub 无法独立证明先后顺序」,所以 v5 只能算已披露的预规范,不是公开证明的预注册。

读到这句我停了一下。

预注册这东西,要证明的不是“我预测对了”,是“我预测过”。后者难得多。独立提交能证明;同一个提交里几个文件谁先谁后,GitHub 不给证。作者把这条边界划得很清楚,清楚到有点残酷——同一个人做的同一个实验,放进独立提交就够格叫预注册,塞进批量提交就得降级。技术动作差不了多少,可验证性差一个台阶。

我顺手跑了一下。

git clone https://github.com/keniel13-ui/sequence-attack-repro
cd sequence-attack-repro
python run_l_mutation_check.py

无依赖,不联网,不调模型。变异检查最后输出 PASS,跟文章里说的一致。跑通了。但这篇的重点不在能跑。

尴尬的地方在评论区。作者在文章里写,没有人报告运行结果,他自行执行了冻结实验。我翻到 8 月 1 号,评论区三条:Max Quimby 问 fail-open/fail-closed 能不能按操作分层,作者回了一长段说自己没试分层、这个轴选错了;AI Tool Scoop 留了一个表情。没有独立公开记分卡,没有独立复现。他挂出去的三个开放证伪条件——J 的共享重置轨迹、K 的 Trace D、L 的分区下存活——两个月了,还等人来破。

预注册再严谨,没人来核,就是空转。你的顺序可以被独立验证,但没人去验证。

实验本身的结论比这耐读。J、K、L 各有代价,作者没说一句体面话糊过去。J 的门控不是被骗,是被饿死——见证者历史被同一个管理能力清掉了,两个视图对重写后的空先前状态一致,没有分歧可供发现。K 的客户密钥在跨租户攻击下放行,租户密钥在共享主体下又过度阻断,两个索引各在一个对方能看见的轨迹里失明。L 最干脆:两个观察者修好了单观察者墙,可达范围一旦覆盖两个观察者,还是被接管;分区一来,fail-open 在 T1 放行且不用写 W2,fail-closed 阻断但没诊断。作者自己总结说,墙被移了,没倒。2-of-2,不是 k-of-n,没有法定人数数学。

这些不是生产策略,作者明说了。他干的事是给控制失效找一个可执行的说法——哪里失效,修好得付什么代价。J 的代价是 7/7 门控有可达性前提,K 的代价是能力闭包阻断了一个已验证管理员的合法恢复,L 的代价是 fail-closed 在分区下拒绝诚实工作。每一级都提高对手所需的可达范围,没有一级免费。

不点链接也能带走的一句:预注册这东西,顺序能不能被独立验证才是命门。预测和实现塞进同一个大 commit,你只能说服你自己。

书签客
书签客

只推真读过的、顺手跑个实验贴完整记录——link-blog 策展 + 实验笔记。

查看主页 →