简报·YT
← 返回视频简报
为什么叫QQ 已完成

Linux之父也有AI写内核,GCC设置15行红线

2026-10-17 12:18 · 时长 9分41秒 · 👁 20 · 👍 0 · 模型 gpt-6.1-sol · 原视频 ↗
#人工智能 #内核开发 #开源治理

Linux之父也有AI写内核,GCC设置15行红线

视频通过 Linus Torvalds 使用 AI 编写 Linux 内核补丁与 GCC 限制 AI 生成代码的对比,指出核心问题是:代码进入项目后,版权能否得到保障,以及是否有人理解代码、签字并承担维护责任。

▸ 原始转写文字稿(3247 字符)
大家好,我是为什么叫QQ2026年10月10日Linux支付Linus Torvald往自己的内核仓库推了一个分支分支名叫North File MapRead With Home后缀里那个LLM没带任何演示补丁信里他直接写明代码测试程序问题清单的审查这封信的初稿全由Cloud Code在他的指挥下完成性能测试在他自己机器上跑这是Linus第一次把LLM写的内核代码交出来正式求评审而同样在这几天LWN看出一篇长文讲GCC这个编译器项目立了没多久的规矩含LLM生成内容的代码一律拒收一边亲自下场用AI写内核一边明文把AI代码挡在门外两个最老牌的开源项目在同一个十月摆出了相反的姿势很多人第一反应是站队Linux都用了说明AI编程稳了GCC都静了说明AI代码不能信两种解读网上都有一堆负荷先别急着下结论你可能会问到底谁对谁错但把两件事的细节摊开看你会发现分歧根本不在要不要用AI两个项目其实都在回答同一个问题只是交的卷不一样真正的问题藏在一个更实际的地方一段代码进了GPU项目之后谁能在法庭上为他签字谁能在出问题时把他讲清楚要理解这个得先把时间线捋清楚2024年10月Linux还在说AI九成是营销一成是现实2026年7月他在内核邮件列表放话Linux不是反AI的项目谁接收不了可以fork一份自己玩或者干脆离开同月29日GCC指导委员会正式通过AI贡献政策10月10日Linux的补丁提交第二天Fronix的编辑在等内核新版发布时刷仓库发现了那个带LLM后缀的分支随后修改成10个补丁的版本发到邮件列表正式求评审10月中旬LWN的GCC深度报道上线三个月里这位56岁的程序员走完了从忽略AI到用AI改内核的全过程说技术这个补丁解决的问题很具体你的程序每次读取一个文件内核都要在夜缓存里找到对应的folio可以粗略理解成一夜缓存数据找到之后内核给它的引用技术加一读完再减一单线程无所谓但八个线程同时读同一个文件八个CPU核就会反复原子修改同一个技术器这个技术器住在同一条缓存行里缓存行在核心之间来回坦射大量时间花在互相等待上Linux的数据他的笔记本上八线程做16字节小读取这一条缓存行占了跨核缓存征用的99.92%这个问题2024年就被Oracle的Matthew Wilcox从一个客户负载里挖出来两年没人修好以前的尝试是先不拿引用直接考数据考完再校验但校验看不到的静态太多夜被释放被复用被塞回原来的位置Linux换了个方向不去检测这些静态直接让它们不可能发生一个folio从夜缓存移除时打上PGRCUFree标记内存先不缓等RCU宽线期结束再真正释放宽线期结束说明所有正在读的线程都已离开临界区这样读路径完全不碰引用技术数据直接从页里烤进用户缓冲区配套还有一个安全阀单个CPU上排队等释放的页超过1024个就强制加速宽线期防止内存堆积数字摆在补丁信里笔记本上八线程吞吐量从每秒约1000万次读到3000万次以上单次读取的内核周期从约2950降到725后来交到邮件列表的第三版在64线程的Threadripper上从1330万次涨到3.04亿次约23倍LWN的转数保守一些说Read密集的基准测试快了约一个数量级注意两个前提这些是合成基准真实负载收益会小得多而且补丁有代价读一个还没映射的用户页会多一次失败的异常单线程小读反而慢了五成以上Lenus自己在信里列了十条已知问题如果你的项目里有人教AI写的补丁你会收吗打在公屏上这套代码大半出自Cloud Code评审他的是人内核开发者Kiro Shatzmall在FileMap Read Recubatch里揪出一个静态Folio被替换文件大小恰好被扩展时读者可能考出从来没被写入过的数据Lenus认可后建议把文件大小的读取提前Kiro改进了补丁后续的活也交给了他Matthew Wilcox则质疑PGRCUFree标记的设计提出用页类型替代Lenus出条反驳整个评审流程和任何人写的补丁一模一样没人因为作者是AI就放低标准也没人因此拒绝看代码社区的总结很形象AI写代码人来背锅这次背锅的人叫Lenus Torvalds很多人关心Lenus到底怎么用这个工具补丁信写得清楚在他的指挥下完成测量在他的机器上跑方向和验收标准是他定的机器是执行者同一个周末还有第二个例子有人报告了Asos Array库的一个bug代码太绕Lenus理不清就让LLM帮他梳理逻辑结果LLM不止确认了原来的bug还额外找出三个潜伏了十几年的漏洞最早能追到2013年的提交他管这个叫践行自己一贯的主张看到这里你可能想这才是重点对维护者来说LLM最值钱的能力是读那些没人愿意读的老代码再看GCC7月29日指导委员会宣布采纳AI贡献政策核心一条拒绝任何有法律意义的包含或源自LLM生成内容的贡献有法律意义不是拍脑袋New维护者指南里早有定义大约15行代码或文本过了这条线就涉及版权归属人工膝膏也没用把LLM的输出改一改再教只要原字模型照样拒收但政策同时写明用LLM读代码做研究找bug报告问题审查补丁全部允许测试用力可由维护者酌情放行小改动明确标注也能进AI协助必须加assisted by标签而sand off by这个法律签名只能由人来签LWN的报道里有个细节GCC的老牌开发者Jeff Law自己做过实测用LLM辅助审查补丁只有约两成的输出真正有用另一位资深开发者Richard Biner则批评这个政策回避了真正重要的问题把维护者负担和长期可维护性都推给了法律借口GCC内部对这个政策并非一片叫好政策文件自己也留了活口规则会随法律和时间变化定期复审下一次审查排在2027年初这条禁令更像一个临时护栏算不上永久立场看到这里你可能想这两件事到底毛不矛盾我的看法是矛盾只存在于标题里Linus的补丁每个都带assisted by标注签名是他自己出了问题他负责GCC的政策要求的也是同一件事必须有一个能解释代码能为他签字的人两个项目都接受AI作为工具都把读懂AI写的代码当成硬门槛分差点只有一个GCC背后站着GPL的版权链条机器生成物的版权地位悬而未决他们赌不起Linus赌的是另一种东西评审流程本身你觉得GCC是真谨慎还是找借口公平件版权担忧听起来迂腐HN上也有人嘲讽这是借口但设想一个场景多年以后一个GPL项目的大量代码由AI生成有人fork了他换成私有许可项目方去起诉法官问这些代码的版权归谁如果答案是机器生成物不受版权保护GPL这把保护伞就漏了美国版权局目前的立场确实是版权需要人类作者支持GCC的人反驳也很直接AI公司自己都在训练数据上吃过天价罚单项目方凭什么相信他们说的没问题GCC管的不只是一个仓库是半个自由软件世界的地基这15行这条线滑的保守可对一个输不起的项目来说保守就是理性对普通程序员通过这事可得出一个可复用的判断方法评估一段AI参与的代码能不能进项目看两个维度奇异产物会不会留在代码库里AI帮你找bug读代码写测试什么都不留下风险趋近于零AI写的实现尽了主干版权和维护责任就留下了其二 有没有人能解释并签字提交者达不出这段代码为什么这么写补丁再好也是负债Linders和GCC的分歧只在第一个维度上花现的位置第二个维度上他们完全一致这个框架不止适用于开源项目公司内部的代码库同样两个问题照样成立往后看几个信号值得跟踪GCC的政策2027年初复审届时法院的判例会更多线可能挪动LLVM走的是P路加负责的路OpenJDK和QGIS比GCC更狠直接零容忍Codeberg社区投票358比144把主要用AI生成的项目挡在门外光谱两端的实验都在跑而Linders的补丁还没合并Kiro接手之后要过内存管理维护者那一关他最终进不进主线会成为一个参照案例顶级项目如何评审AI深度参与的代码一句话收个尾工具可以没有立场提交记录必须有名字你所在的团队线画在哪里完全禁止标注放行还是只看评审结果评论区聊聊你们的实际做法觉得今天的内容有用点个三连我是为什么叫QQ我们下期见