LWN:尝试AI帮助改进Linux patch review!

「文智助手」全场景办公AI助理AI+OPC全流程实践方案(大赛作品) 阅读详情

关注了就能看到更多这么棒的文章哦~

Testing AI-enhanced reviews for Linux patches

By Joe Brockmeier
September 6, 2024
Netdev
Gemini-1.5-flash translation
https://lwn.net/Articles/987319/

代码审查对于大多数开源项目来说需求量大,但供给不足。审查者的时间宝贵,因此任何能减轻工作量的工具都值得探索。这就是 Jesse Brandeburg 和 Kamel Ayari 决定测试 ChatGPT 等工具是否能够审查补丁,为贡献者提供有关常见问题的快速反馈的原因。在今年 7 月的 Netdev 0x18 大会上,Brandeburg 在 一篇演讲 中概述了使用机器学习来审查发送到 netdev 邮件列表的包含补丁的电子邮件的实验。大型语言模型 (LLMs) 不会很快取代人工审查者,但它们可能是帮助人类将注意力集中在更深入的审查,而不是简单的规则违规上的有用补充。

我无法亲自参加 Netdev 大会,但我有机会观看演讲视频并参考 幻灯片。需要注意的是,使用机器学习工具来帮助内核开发的想法并不完全是新的。LWN 报道 了 Sasha Levin 和 Julia Lawall 在 2018 年关于使用机器学习来区分修复错误的补丁和其他补丁的演讲,这样修复错误的补丁就可以进入稳定内核。我们也 报道 了 2019 年的后续演讲。

但是,使用 LLMs 来协助审查似乎是一种新的方法。在演讲的介绍中,Brandeburg 指出 Ayari 正在国外休假,无法共同演讲。Brandeburg 在演示中讨论的工作尚未公开发布,但他表示,计划很快上传一篇包含更多细节的论文。他还提到,演讲的重点是讨论可能性,而不是具体的技术实现。

为什么是 AI?

Brandeburg 说,对使用 LLMs 来帮助审查感兴趣并非因为它是一个流行词,而是因为它有潜力做一些用常规编程难以做到的事情。他还澄清说,他根本不想取代人们,而是想帮助他们,因为进行审查的人员不堪重负。“我们每月在 netdev 上看到 2,500 条消息,在 LKML 上看到 10,000 多条消息,”他说。高级审查者必须“在邮件列表中第 7000 次”回复贡献者以修复他们的格式。“这真的很枯燥”,而且浪费审查者的时间去纠正简单的事情。

当然,已经有工具可以帮助审查者,但它们的限制更多。Brandeburg 提到了 checkpatch,这是一个 Perl 脚本,用于检查 Linux 内核补丁中的错误。他说,它在它所做的事情方面相当好,但它“对于适应不同的代码和拥有任何上下文来说很糟糕”。它可能能够发现单行错误,但它“不擅长告诉你‘这个函数太长了’”。

实验

对于实验,Brandeburg 说,他和 Ayari 使用了 ChatGPT-4o LLM,并开始向它提供内容,以“将其变成一个专家在针对简单事物发表评论的审查者”。他说,他们使用内核文档以及他和其他人经验创造了一个“大型规则集”,来设定 ChatGPT 审查范围。“我们不希望 AI 只是(你懂的。。。)对每个人吹嘘。”

他说,让一个工具提供对简单事物的反馈,将使他能够使用自己的“经验、知识、上下文和历史,即我带入方程的人类部分”。但是,另一个好处是该工具可以保持一致。查看邮件列表,“即使在简单的事情上,人们也得到不一致的回应”。例如,补丁可能缺少正确的主题行或有糟糕的提交消息,但“有人还是提交了它”。

Brandeburg 说,他们试图建立一些实验来观察 AI 审查是否有效,并将其结果与人们在 netdev 列表上完成审查和帖子时真实回复进行比较。他展示了几张幻灯片,将 LLM 审查与“传统自动化”以及人工审查进行了比较,并逐步介绍了每种审查给出的反馈示例。他说,LLM 审查实际上提供了建议或帮助,但审查者往往不会。“他们说一些类似‘嘿,你能修复它吗?’或‘嘿,你能去阅读文档吗?’之类的话。”但 ChatGPT 以人类可读的语言给出好的反馈。此外,LLMs“非常擅长阅读段落并理解它们试图表达的意思”,而 checkpatch 之类的工具做不到。

LLMs 擅长的另一件事是判断提交消息是否以 祈使语气 编写。补丁提交指南 要求将更改描述为“好像你在命令代码库更改其行为”。他说,编写程序来解释文本并像 LLM 一样判断这一点非常困难。

Brandeburg 说,理论上,LLMs 可以做一些作为审查者对他来说“非常非常难”的事情:回顾补丁系列的先前修订,看看是否已解决先前的评论。对于每个系列,他需要“花费数小时”来查看他所做的所有评论。有时“一些小问题会溜过去,因为审查者累了,或者你中途更换了审查者”。LLM 在回顾先前关于补丁的讨论,以考虑最新补丁系列方面可能会好得多。

LLMs 可以做一些“传统”工具做不到的事情:它们可以编造东西,或者在行业术语中“幻觉”。Brandeburg 说,他们看到 LLM“偶尔”会犯错误,如果补丁“真的很小”,或者 LLM 没有足够的上下文。他提到一个例子,其中一个 #define 使用了一个负数,LLM 将其标记为错误。作为一名审查者,他也觉得没有意义,因此他 发布 到 netdev 邮件列表上,并“发现代码完全正确”。他说,这对他和 AI 来说都是很好的反馈,因为它有助于根据新信息改进其规则。

人类确实提供了对技术和具体问题的更好覆盖范围,这“正是我们希望他们做的事情”。人们非常擅长提供上下文和历史,而对于 LLM 来说“几乎是不可能的”。LLM 只是审查补丁的内容,这会遗漏很多上下文。人们的回复往往“杂乱无章”。演示文稿中的一张幻灯片(幻灯片 11)将“AI 与人类”的评论作为覆盖问题的百分比进行了比较。它显示出人类审查者和 AI 评论相同问题的“重叠”仅为 9.3%。

问题

一位观众问道,这是否意味着人类“基本上忽略了所有样式问题”。Brandeburg 说,“是的,这是我们发现的。”人类审查者“不想谈论那些愚蠢的事情”。事实上,他引用了一些 LKML 上的人告诉其他审查者“停止抱怨那些愚蠢的事情”的例子。他说,他理解为什么一个做了很多审查的人会这么说,但让“琐碎的问题”溜过去意味着代码库的长期质量会下降。

另一位观众问道,LLM 是否曾经说过“对我来说看起来不错”,或者只是对补丁没有回复。他们观察到,LLM 经常很难对问题说“我不知道”。Brandeburg 说,它的设置是,如果它有评论,它就会发表评论,如果没有评论,它就不会发表评论。他补充说,他当然还没有准备好让 AI 在补丁中添加“Acked-by”或“Signed-off-by”标签。

观众中另一个人说,这看起来像是很棒的工作,但想知道如果 AI 对补丁的回复不正确,获取人类反馈的计划是什么。Brandeburg 说,他设想将规则集发布到一个公共 Git 存储库中,并允许拉取请求来修改和完善这些规则。

一位与会者问 Brandeburg 和 Ayari 是否将 LLM 工具的输出与 checkpatch 进行了比较,并指出有些人可能不会对 checkpatch 会检测到的问题发表评论。Brandeburg 说,他不认为它会取代 checkpatch。“我认为这是一个额外的工具,它……添加了更多上下文,并能够做 checkpatch 做不到的事情”。他承认,比较结果可能有助于回答一个问题,即人类审查者是否只是忽略了他们知道 checkpatch 会捕获的东西。

由于会议时间不足,Brandeburg 最后回答了一个关于这个 LLM 是否会回复垃圾邮件的问题。他说,如果邮件成功发送到邮件列表,它可能会回复,但他开玩笑说,“希望垃圾邮件中没有代码内容”,并且不会被不注意的维护者提交。

他结束会议时邀请人们阅读幻灯片,其中包含一些常见问题的答案,比如“这会取代我们所有人作为开发人员吗?”他补充说,“我不这么认为,因为我们需要人类来聪明地做人类的事情,需要 AI 来做 AI 事情”。

Brandeburg 没有详细介绍根据实验及其发现实施更改的计划。但是,他演示文稿中的“潜在的未来工作”幻灯片列出了一些关于下一步可能发生的事情的想法。这包括一些想法,比如将 LLM 审查流程变成一个供审查者使用的 Python 库,一个 GitHub-actions 样式的系统,用于提供补丁和提交消息建议,以及完全自动化的回复,以及如果社区喜欢 LLM 驱动的审查,则将其纳入 机器人测试。

人类审查员在未来几十年仍将有很高的需求,但 LLM 驱动的工具可能很快就能使工作变得轻松愉快。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

d88012ae39f4dc57630a1e23a26fa162.jpeg

《AI实战嵌入式Agent +MCP+skill》课时2.5|定时器实战 本课讲解定时器时基单元原理,通过PSC、ARR、CNT三寄存器配合实现精确周期控制。以84MHz时钟为例,计算得PSC=8399、ARR=9999可实现1秒溢出周期。采用HAL_TIM_Base_Start_IT启动定时器更新中断,在HAL_TIM_PeriodElapsedCallback中处理周期任务,实现非阻塞、高精度的定时。相比HAL_Delay的阻塞式延时,定时器中断方案不占用主循环,支持并发操作,是嵌入式系统中实现周期任务的高效方式。 阅读详情

相关推荐

Android应用开发从零到一:基于Kotlin与Jetpack Compose的完整实践指南

移动应用开发的核心在于构建一个架构清晰、可维护且可扩展的应用基础。理解应用架构的原理,如关注点分离和数据驱动UI,是实现高质量应用的关键技术价值。在现代Android开发中,Kotlin语言凭借其空安全特性和协程,能有效提升代码的健壮性与开发效率。Jetpack Compose作为声明式UI框架,代表了UI开发的未来方向,与Kotlin协程深度集成,简化了复杂交互界面的构建。这些技术共同服务于个人任务管理、企业工具等多种应用场景。本文以构建一个完整的个人任务管理应用为例,系统阐述从环境搭建、UI构建、数据持

weixin_32667955的博客 313

LWN:LLM 用在 patch review 上!

然而,Bird 说,应该期望提交者运行这些工具。Sasha Levin 称其为 "一个非常值得讨论的话题",并表示,在 之前关于内核开发者使用 LLM 的讨论 中,对 LLM 提出的担忧盖过了任何寻找其潜在有用之处的尝试。Mason 的重点是 LLMs 如何通过在错误到达邮件列表之前将其捕获,并帮助贡献者提高提交内容的质量,从而减轻内核维护者的负担。为此,他整理了一组 提示词,这些提示词能够生成维护者所习惯的评审格式:“这些评审旨在看起来像 lkml 上的邮件,即使它们错得离谱,也确实达到了这个目的。

Linux News搬运工 403

Materials Studio实战技巧(八)——利用片段库高效构建有机金属配合物

本文详细介绍了在Materials Studio中利用Fragment Browser(片段浏览器)高效构建有机金属配合物的实战技巧。通过调用预置的Metal Templates和Ligands库,用户可以快速搭建如茂金属催化剂等复杂分子骨架,并利用对称性操作精确控制Meso与Rac构型。文章还涵盖了自定义片段库的创建与使用,能显著提升建模效率,适用于计算化学与材料模拟领域的研究者。

wine的专栏 936

6 款电商 AI 图片生成软件实测|国内 + 跨境卖家工具清单

电商 AI 作图工具已经从 "能不能用" 进入了 "好不好用" 的阶段。对于绝大多数卖家而言,现在的 AI 工具已经可以覆盖 60%-80% 的基础商品图需求,显著降低拍摄和设计成本。选择工具的核心逻辑不是 "哪款最强",而是 "哪款最适配你的品类、平台规模和团队能力"。垂直电商工具胜在工作流效率,通用生图工具强在创意上限,模板类工具赢在上手速度。建议根据自身业务阶段,搭配 1-2 款主力工具 + 1 款辅助工具,形成适合自己的视觉生产流程。

Mardi_Ladin的博客 356

在Window上安装和配置VTK9.x,并在QT项目中调试VTK是否可用

VTK+MSVC+Qt Creator + CMake配置

qq_42279379的博客 1000

VS2103+Intel2013+MSMPI运行Fortran并行程序

VS2103+Intel2013+MSMPI运行Fortran并行程序MSMPI安装新建Fortran90项目编写Fortran并行程序在cmd运行编译完成的执行文件 MSMPI安装 我这里采用的是Microsoft MPI v9.0.1,可以点此下载。下载完成后同时安装msmpisdk.msi、msmpisetup.exe两个文件,安装位置默认即可。 其中msmpisdk.msi的默认安装路径在C:\Program Files (x86)\Microsoft SDKs\MPI,该文件包含了mpi环境所需

weixin_43176703的博客 2937

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 197

AUTOSAR入门

一、AUTOSAR是什么 AUTOSAR组织自己的介绍是 AUTOSAR (AUTomotive Open System ARchitecture) is a worldwide development partnership of vehicle manufacturers, suppliers, service providers and companies from the automot...

天涯遍地是小草的博客 3万+

我用 GPUWorks 在 M1 Pro 上搭了个发票识别原型

公司里经常要看电子发票。我想先做个小原型:把 PDF 发给一个自己部署的图文模型,让它提取发票类型、日期、交易双方和金额,再把结果交给同事核对。这个原型不用先接财务系统,先看看从部署到调用要走多少步,模型返回的内容能不能帮上忙。

鸽芷咕的博客 2万+

【超详细】MIT 液态神经网络(LNNs)——深度学习新动向

输入可以是任何形式的时间序列数据,其中表示时间。例如传感器读数、金融市场数据、语音信号等。

allein_STR的博客 2611

深度学习笔记——前向传播与反向传播、神经网络(前馈神经网络与反馈神经网络)、常见算法概要汇总

本文简要介绍深度学习的前向传播与反向传播,以及前馈神经网络与反馈神经网络。

haopinglianlian的博客 3042

您您这可以把问小白的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。AI导出鸭

第三层是格式编译层。这个决策背后的判断很清晰:一个批量导出工具的价值,不在于“试三次”,而在于你真正用它处理了几十份技术文档、访谈记录或课程讲义之后,它是否值得留在你的工作流里。问小白的会话列表通过分页接口加载,AI导出鸭 在页面运行时建立旁路监听,捕获每一次分页请求返回的完整对话清单,包括会话 ID、标题、时间戳和隐藏的元数据字段。让AI导出回归优雅——这句话说的是:导出不该是体力活,而应该是一次完整的、可预期的文件交付。注意:这里的“批量”指的是左侧列表里的多个独立会话,不是一条会话内的多轮对话。

laoyunsi的博客 235

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

医疗 AI 有两种,别混着谈:一个改流程,一个改范式

InfoXMed 是面向医生、医学生和医学科研人员的 AI 医学工具平台,提供文献检索、全文翻译、AI 解读、指南查询和题库练习等功能,辅助临床学习、科研汇报与医学备考。原文是日本医学会杂志(JMA Journal)的一篇综述(Review Article):基本事实:这一点必须先说清:这篇论文提出的是一个研究纲领。它文中的"预测"指的是科学设想,不是可以拿来用的临床预测能力。文中甚至自己承认了一个硬缺口(见第三节)。本文只谈它的术语辨析与科学方法论,不转述任何可作为临床依据的预测或处置主张。这篇论文的全部

2601_96948740的博客 237

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

河道漂浮物目标检测数据集

目标检测,yolo,河道漂浮物目标检测数据集

DL_data_set的博客 191

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

AI Agent之核心框架

A: 显式 Thought 有三类价值:可解释性(便于人类审计)、可调试性(定位哪一步选错工具)、学习信号(可做监督微调或评估中间步骤质量)。ReAct 把推理与 可执行行动 绑定,每一步行动后都有 真实 Observation 反馈,从而用工具结果约束生成,降低闭卷幻觉。做完不等于结束——还要 评估做得好不好,把 教训 记下来,下次 带着教训重试,反思作为 记忆,影响后续尝试的策略。工作流程:Action → Evaluation → Reflection → Retry。A: 普通 CoT 只在。

剑雨巍巍的博客 190

AI 应用开发工程师技术实践:大模型接入、通用组件封装与性能优化

本文提出AI应用从PoC到生产的核心挑战:模型调用的持续可用、可控与可优化。通过构建统一LLM网关实现多供应商路由与故障转移,封装对话、工具调用与RAG组件以解耦业务逻辑,结合前缀缓存、批处理与流式背压治理等性能优化手段,形成“接通→接稳→接快”的工程路径,最终以工程化能力决定AI应用的生产可用性。

2301_79189962的博客 541

AI前沿日报 · 2026-11-04 | 祛魅时刻:Astra“纯读权重“神话的崩塌

①Astra"裸权重通吃"被spaCy创始人Honnibal精准祛魅——仅1/3实验真裸读,数学能力提升依赖Python+50次迭代;②Simon Willison用Qwen 3.8-27B端侧复现权重空间编程;③Nvidia开源Auto-Ontology自动知识图谱;④$800开源全域抓取机器人Stringman;⑤OpenAI悄然重开Codex训练开关引信任危机;⑥DeepMind发布Gemini 4 Argon机器人基础模型;⑦美国科技巨头隐性AI债务达3.2万亿美元,6个月增90%。

johnsong2009的博客 558

大模型 Embedding 与向量相似度详解

Embedding 解决的问题:计算机不懂文字,但懂数字│▼文本 → 向量(1024维浮点数数组)│▼相似度解决的问题:怎么判断两个向量(文本)有多接近│▼余弦相似度:看向量方向的夹角,越接近0°越相似│▼最终效果:语义搜索——理解意思,而非字面匹配一句话总结:Embedding 把文字变成数字,余弦相似度比较数字的方向,两者结合实现了"理解语义"的搜索。

T3165919332的博客 79

GPT-1 架构和计算细节

下面配合框图,对 GPT-1 的每个组件做公式展开 + 数值实例(配置:12 层 × 768,12 头,FFN 3072,词表 40478,共 117M 参数)。GPT-1 把翻译模型的编码器-解码器砍掉一半,只留解码器,然后以"预测下一个词"为目标在 BooksCorpus 上预训练。与 2017 原版的四个架构差异(框图中标 ★):h0=E[token]+Epos[position],E∈R40478×768, Epos∈R512×768h^0 = E[\text{token}] + E_{pos}[\

eloudy的专栏 252

终端 AI 审计与 “龙虾” 类智能体风险治理:从可见性到闭环溯源

生成式 AI 办公普及之后,数据泄露风险逐步下沉到终端。员工将合同、源代码、客户资料粘贴至公有大模型,以及龙虾(OpenClaw)这类本地开源 AI 智能体的滥用,成为企业安全新挑战。传统网络边界防护存在审计盲区,本文从风险链路拆解、核心能力模型、分级治理策略、落地踩坑点以及技术局限性多角度,分享终端侧 AI 安全治理的实践思路。

2401_86491085的博客 629

2.53 基于极稀疏指纹的室内定位注意力图元学习

该论文发表于IEEE Transactions on Mobile Computing(TMC)2026年6月,面向极稀疏指纹条件下的WiFi室内定位,针对指纹采集人力成本高、标记指纹稀缺时定位精度大幅下降的痛点,提出注意力图元学习模型AGML(Attentional Graph Meta‑Learning),结合图神经网络、元学习、两种指纹数据增强与分布对齐技术,在标记指纹极少的场景实现高精度室内定位,同时公开了多套真实+仿真定位数据集用于基准测试。场景:二维室内空间,障碍物造成信号遮挡,

weixin_42963026的博客 325

语音识别与语音合成的技术原理及应用

语音识别 #语音合成 #人工智能 #大模型。语音识别与语音合成的技术原理及应用。一、语音识别的核心原理。二、语音合成的核心原理。三、工程落地的主要难点。五、需要关注的现实问题。

weixin_62919816的博客 201

设计师工作室 GEO 实操:如何提升 AI 实体推荐概率

设计工作室 GEO 的本质,是把创意服务转化为 AI 可理解的结构化信息。核心动作可归纳为:区分事实与审美、建立实体图谱、预判用户提问、输出脱敏内容、搭建多信源、持续测试验证。梳理工作室的 6 个实体属性:品类、城市、流程、边界、团队、渠道。在官网或作品集平台发布至少 3 篇结构化项目复盘,只陈述事实。输出 1 篇「设计报价影响因素」科普内容,覆盖甲方高频提问。争取 1 次行业媒体或本地媒体专访,形成第三方信源。每周用「XX 城市 + 品类 + 设计工作室推荐」指令测试,记录出现频率。

goujunwe的博客 327

AI作图软件技术选型:从4个技术维度出发的实测对比

AI作图软件技术选型:从4个技术维度出发的实测对比

Vbaoke的博客 200

WorkBuddy 实战:一句话需求 → 七屏可交互原型,户外徒步 App 的 AI 设计全流程

WorkBuddy 实战:一句话需求 → 七屏可交互原型,户外徒步 App 的 AI 设计全流程,跟着博主一起来还原整个过程。

夜郎King的博客 4508
上一篇: LWN:新版本的modversions!
下一篇: LWN:GNU Tools Cauldron 上的内核开发者们!
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值