行业资讯

Our Projects
您的位置: 首页 > 行业资讯 > 谈球吧 - AI模型助力Linux内核优化,却未能写出合格代码

谈球吧 - AI模型助力Linux内核优化,却未能写出合格代码

发布时间:2026-09-12 浏览量:6334

最近,Arm公司的工程师Lorenzo Stoakes在Linux内核开发中经历了一次耐人寻味的体验。他打算借助人工智能(AI)来加快内核编译的速度,最初期望崇高,但当AI开始自己动手修复代码时,结果却让他感到失望。尽管AI在找出隐藏的性能瓶颈方面的表现非常出色,成功地捕捉到了复杂构建流程中的多个问题,并在构建、测试、调试和分析等环节提供了帮助,可一旦涉及到代码编写,Stoakes却毫不留情地评论道:“生成的代码惨不忍睹,令人失眠。”

这场原本希望通过AI来简化程序员工作量的尝试,最终不得不转变为另一种合作模式:AI负责识别问题,人类则得对AI生成的代码进行逐行审核与重写。尽管经历了一番波折,经过Stoakes的审查和改写,他最终提交了23个补丁,为Linux内核的构建速度带来显著优化。开启所有模块的构建过程时,速度最高提升了36%,而增量构建更是提高了约70%,在某些情况下,即便是基本构建过程的提速也高达了90%。

about image

对于Linux内核的开发者而言,编译内核本就是日常工作中的重要一环:即便一遍遍修改代码、编译、发现bug,再进行修正与重新测试,都是司空见惯的常态。然而,Linux内核的庞大体量使得编译时间成为一项令人沮丧的挑战。尽管现代处理器通常配备多个核心,理论上可以同时进行多项编译任务,但实际运行中,许多任务依然只能采用单线程方式执行。这意味着即使有众多CPU核心待命,某些任务仍会排队等待,造成其他核心空闲无用。 谈球吧

about image

因此,Stoakes的任务便是逐一识别这些“瓶颈”,并设法让更多的任务并行。这个过程中并非简单地修改一些函数,而是涉及Linux构建系统中多个关键组件的调整。他的最终成果是提交了一组包含23个补丁的优化方案,涵盖了Kbuild、kallsyms、modpost、objtool和mksysmap等环节。

about image

值得一提的是,这次优化并非Stoakes的个人独立作战,而是AI成为他不可或缺的助手。他在11月20至21日在北京万达文华酒店召开的“2026奇点智能技术大会”上透露了这一经历,介绍了AI编程工具的潜力与程序员应拥有的核心竞争力。

尽管Stoakes没有透露他使用的具体AI语言模型名称,但显而易见的是,AI在此类庞大工程中的效率是不可小觑的。AI可以迅速梳理并分析大量代码与构建信息,从而找出可能需要关注的改进点。根据Stoakes的描述,AI实际参与了构建流程分析、性能瓶颈寻找及后续改进建议的多个步骤,甚至在执行构建、调试及结果分析时也发挥了重要作用。 谈球吧

然而,让Stoakes感到棘手的是,当AI开始生成代码时,情况并不如他所期待的那般美好。他在补丁说明中用“hideous”一词形容AI生成的代码,诚然,质量的确不尽如人意。以至于他需要对大量代码进行重写,同时细致修改提交信息、补丁说明和注释说明。换句话说,这次代码优化的过程,更多是一种“AI提供初步选项,人类筛选与修正”的合作,更像是工程师在与AI生成的一堆初步答案博弈,最终留下能够投入开发流程的高质量补丁。

尽管过程并不顺畅,最终Stoakes还是在大量人工修改与验证后,拿出了23个补丁,这些补丁的核心目标是减少构建过程中的不必要串行等待,提高任务之间的并行进程,最终产生了显著的性能提升:全模块构建速度提升最高达36%,增量构建最高提升约70%,而对于某些不需要重编的构建场景,速度甚至提升至惊人的90%。这表明,尽管AI的代码写作能力尚不完善,然而其在识别和诊断问题方面的成效依然值得认可。

QQ

在线咨询真诚为您提供专业解答服务

热线

13594780313
7*24小时服务热线

微信

二维码 扫一扫微信交流