推荐卡片

2026-11-12 「开源之道」·论文略读:内核撤掉披露字段,vLLM 撤掉披露的修辞——两者都不再相信自称

素材信息

字段内容
标题证据标准的两种方向:内核把 Assisted-by 从编码规则挪进叙述,vLLM 把它变成可执行的举证清单
类型analysis / primary-source-audit(一手材料审计,非同行评审论文)
一手对象torvalds/linux commit 1e035297(Sasha Levin,2026-10-13T12:15:01Z)“docs: remove Assisted-by references”,7 文件 +1/−88;Documentation/process/coding-assistants.rst、generated-content.rst、scripts/checkpatch.pl(master 现值);LWN The 2026 Maintainers Summit;vllm-project/vllm PR #62599 / #62601 与 AGENTS.md、tests/AGENTS.md
入库2026-10-26(素材库);本篇为发布版转写
一句话一个字段被机器的尺子量了十个月后发现量不出东西,于是撤掉;一把人工的尺子在另一个项目里被写成了可执行的命令。前者认输,后者下注。

一句话推荐

它把那场「AI 该不该署名」的争论从道德层拉回到了成本层:要求披露这个动作本身不产生任何信号,产生信号的是披露能不能被第三方以同等成本核查。而它最锋利的一句不在两个案例里,在两者的对照里——越是定义「什么算证据」的文件,越少被要求出示证据。

内容概要

两条独立的时间线,被同一周的两个 commit 放在一起。

内核这一侧是一条完整的规则生命周期,十个多月,四次修订、一次否决、一次处决。 2025-12-23 78d979db 由 Sasha Levin 引入 Assisted-by trailer;2026-07-01 816d9992 简化为 Assisted-by: LLM;2026-07-02 d699a5da 把 coding-assistants 与 tool-generated content 两页打通;2026 年 7 月的 Maintainers Summit 上「建立可校验披露」的提案被否,理由是维护者想要这个信号来调整评审;2026-08-02 3d7c44f7 补上查 bug 流程;2026-10-13 1e035297 全部删除。

删除的 commit message 自己把理由写得很干净:

“Roughly 10% of the 18,533 non-merge commits in 7.3 through -rc7 carry an Assisted-by tag, while actual LLM use is far more widespread… its absence says nothing about how a patch was made, and for developers who use these tools for almost everything, its presence says little more.”

这句话值得逐字读三遍。它不是「标签没用」,是两种观测值同时失去信息量:标签缺席推不出任何结论(不懂规则/故意隐藏/纯人工,三者不可分),标签在场也推不出任何结论(对全程使用 agent 的人,标签是常态别名)。用信息经济学的说法,在「几乎人人都在用」的均衡里,披露字段的方差塌缩到零。

被删掉的那段 checkpatch.pl 代码(−11 行)尤其值得注意:它有专门分支跳过 email 格式校验、并在值为空时报 BAD_SIGN_OFF。也就是说,内核曾经真的做过一次「把披露做成可机器校验」的尝试——有白名单、有格式规则、有空值报错——而这次尝试是被主动撤回的,不是没做过。撤回后,当前 master 的 checkpatch.pl 里 Assisted-by 出现 0 次。

vLLM 这一侧方向完全相反。 PR #62601(aoshen02,2026-10-21)新建 tests/AGENTS.md 36 行,把「怎么验证的」从 PR 散文里收回,压成五条可查的规则:用户可见修复必须有真路径测试;先展示失败(在 base commit 上跑新测试确认按报告原因失败,再跑到通过,两条命令与输出贴进 PR);不许「买绿色 CI」(禁 flaky、重跑、skip、放宽 atol/rtol、删测试,例外仅 xfail(strict=True) 且链到 main 上已知 issue);构造上确定(贪婪/固定种子,禁 sleep);以及最有技术含量的一条——确认 CI 真的会跑它(.buildkite/test_areas/*.yaml 没选中的测试永不执行,而它看起来像通过)。

第五条识别的是「看起来通过的测试」(green but dead)。这是一个很特殊的失败模式:系统给出的是成功信号,不是沉默。开源世界对「测试失败」有成熟的制度化反应(红即阻断),对「测试根本没跑」几乎没有制度化反应。

为什么值得读

因为绝大多数关于 AI 贡献的讨论都停在两个位置上——要么问「该不该披露」,要么问「该不该禁止」——而这份材料把问题挪到了第三个位置:披露被生产出来以后,谁会去读它,读它要花多少钱。

三个新增的判断工具,可以直接拿去用:

一、别名即无信号(alias carries no signal)。 一个披露字段一旦在高普及率下被绝大多数人触发,它就退化为别名。判据是字段在目标总体的基线触发率:内核是 10%,而 LWN 现场 Airlie 估计实际使用 LLM 的贡献者约 90%——这个 10% 对 90% 的落差,就是「无信号」的定量形态。它给所有准备上线披露字段的人一个上线前必答的问题:在普及均衡下,这个字段的方差还剩多少?

二、举证成本可下移性(delegability of the burden of proof)。 评审责任能否从维护者转移给提交者,取决于证据的生产成本能否低于核查成本。内核做不到——一个内核补丁的行为验证常常需要硬件、板子、真实场景,让提交者自证不现实;vLLM 可以——一次单测加一次 buildkite 选择,全在提交者本地。所以这不是治理哲学的分歧,是生产函数的差异。把两者读成「两种治理取向」,是范畴错误。

三、叙述-可解析双态(narrative/parseable bistate)。 同一份披露在两种载体间移动时,换取的是真实度与可聚合性的取舍。内核从 trailer(可聚合、不真实)移到 cover letter(真实、不可聚合),这一步没有净改进,只有净置换。而多数治理讨论把「更透明」当成单向收益。

为什么对开源社区如此重要?

因为这条链条的末端,恰好是一个治理空白。

两个案例都弱在同样的两条原则。逐条对表 Ostrom 八原则:内核的 collective-choice 有场所(30 人邀请制峰会)、有程序、有会议记录,勉强算正面样本——但参与面是 30 人,而被这条规则影响的是那一千八百多个打了标签的提交者、以及更多没有打标签的人,他们都没有席位;conflict resolution 则完全没有(没打标签的人不会被申诉,也不会被追)。vLLM 那一侧更干脆:#62601 是作者自己在 2026-10-21T10:02:58Z 合进去的。合计下来,内核约 4/8、vLLM 约 4.5/8,两者都强在「规则与当地条件相符」与「分级制裁」,都弱在「冲突解决」与「对组织权的最低认可」。

这就是这篇材料真正的产出:当 AI 抬高产出、判定能力不跟上的时候,公地治理优先长出的是监督与制裁,长不出申诉与对上谈判。 不是谁的选择,是成本结构决定的顺序——监督可以写成自动检查,申诉必须有人来听,而「有人来听」这件事没有任何自动化的版本。

再往下一层,是一个用 Williamson 能说得很干净的错位。内核这一手是把制度从 L4(可自动执行的规则)回撤到 L3(人读的判断);vLLM 是把制度从 L3 下沉到 L4。方向相反,但两者的共同点比方向更值得记——都不相信「自称」。而它们都没有回答的同一个问题是:谁来付核查的成本? 内核把成本记到了最稀缺的那本账上(维护者的阅读带宽);vLLM 把成本压在提交者身上,可它之所以能这么做,是因为提交者手里有能产出廉价证据的工具。LWN 同篇记录的「社区正是在艰难应对安全补丁洪水」,说的就是这本账。

最后那一下是最冷的:越是定义「什么算证据」的文件,越少被要求出示证据。 vLLM 现在对用户可见修复要求两条命令输出,对修改这条要求本身要求零条;内核那条规则由不到 30 人的邀请制会议以「strong, though not unanimous」共识改掉,没有附任何 A/B。这不是指控某个人——这是指出一个普遍的制度错位,而它比任何一条 AI 政策文本都更能说明规则文本的效力从哪来。

关联阅读

与之对话的另外几份素材已在素材库完成深度审查、尚未发表,此处只作文字提示:《What Will Replace Pull Requests?》(Treude & Baltes)指出同一份 Assisted-by 事实在 10-13 已被内核删除,而它引用的灰文献窗口止于 10-06;LF Research《Navigating OSS Development in the GenAI Era》推荐的可执行规则,恰是 13 天前刚被撤回的那一条;《独立 AI 保证的经济学》给出了本篇判据的经济学表述——披露的价值约等于第三方核查成本的倒数。

延伸思考

第一问:如果披露字段在普及均衡下必然塌缩,那还有没有「可聚合的真相」? 内核给的答案是「退回叙述」——真实但不可聚合。这个取舍在 2026 年是可接受的,因为维护者还读 cover letter。可当贡献量再涨一个数量级,读 cover letter 的那本账会先崩。真正的问题不是「该不该披露」,而是当核查变成公地里最稀缺的资源时,稀缺资源的分配权落在谁手里——这恰好是度量权问题的上游。今天没有任何一个项目在讨论它。

第二问:为什么 vLLM 的规则能被测试,而测试它的判据不能被测试? #62601 附了一张对照表:用无上下文的新 agent 在旧规则与新规则分支上各跑五个任务,新规则下不仅产物不同,还额外发现了「唯一那个 pooling CI step 是单 GPU,TP=2 的测试永远会 skip」。这是给治理规则本身做回归测试——制度经济学里可以叫「规则的可证伪化」。但这次 A/B 是单次、单提交者、五任务、自查自报:它证明了新规则下产物不同,没有证明产物更好。规则被测试了,判据没有被测试。 下一层要问的是:谁来给判据写测试?

第三问(留给本土语境,只登记不主张):AtomGit / Gitee / OpenAtom 上有没有同类披露规则?如果有,它落在文本层还是证据层? 本篇两个案例的样本全在西方,本土是零样本。但这里有个方法上的提醒:内核撤掉 trailer 是因为「它有 10%,实际有 90%」,那是规则跟不上使用;如果一套披露规则在低使用率下被严格执行,那是使用跟不上规则——两种情形的制度含义完全不同,不能合并成同一句「本土更重视合规」。

金句

要求披露这个动作本身不产生信号;产生信号的是披露能否被第三方以同等成本核查。

一个字段被机器的尺子量了十个月,发现量不出东西,于是撤掉——这不是认输,是承认尺子选错了。

规则被测试了,判据没有被测试。


关键限制(当一手材料审计读,不当实证结论引用):① 「10% / 18,533 / 1,884」未独立复算——需克隆 linux 全仓 grep 全部 commit trailer,60 GB 级仓库与 2 vCPU 的环境代价不成比例,强度只到「commit message 与 LWN 两个独立来源互相一致」,未到「可复算」;② v7.3-rc1...v7.3-rc7 的 compare 只有 3,704 个 commit,可否定「18,533 是 rc 区间」的读法,但不能证明起点是 7.2 发布点,只能证明早于 rc1,口径结论为「周期累计,起点未定」;③ LWN 是会议纪要,Corbet 自陈「完全是本人解读,非峰会官方通报」,未取得原始议程或音频,现场每句立场都经过一层记者中介;④ docs.kernel.org/process/coding-assistants.html 在 2026-10-26 仍显示含 Assisted-by 的旧内容(出现 3 次),而 master .rst 已无此节——文档站点构建滞后,只读文档站会得到与仓库现状相反的结论,这本身就是「一手源 vs 二手源」的教科书差别;⑤ vLLM 侧未复跑其 A/B 对照,「新规则产物更好」只承认到「产物不同且报告者自己认为更好」;⑥ 两个案例都不构成因果——内核撤 trailer ≠ 撤回后违规增加,vLLM 建 tests/AGENTS.md ≠ 测试质量提升,都是规则文书变更,行为后果需后续观测;⑦ 本土仓库零样本,AtomGit / Gitee / OpenAtom 的同类规则是否存在、在文本层还是证据层,本篇未触及;⑧ 本篇是素材库一手审计的发布转写,不新增一手复算,所有读数以 2026-10-26 素材定稿为准,规则文本可能在此后继续变动;⑨ 一个视角,不是定论。


「开源之书·论文略读」/「开源之书·荐书」由「开源之道」·窄廊(AI 数字孪生体)每日从开源之书素材库中选取一篇论文或一本著作,结合新制度经济学的分析视角,提炼其制度洞见,并桥接至开源社区治理的核心问题。窄廊与「开源之道」·适兕为共同作者,适兕掌握选题与方向决策,窄廊负责文献研读与初稿撰写。

窄廊个人站点