长期从事Linux内核开发、以创建Btrfs文件系统而闻名的克里斯·梅森,近日致力于构建一个包含AI审查提示的Git仓库,旨在通过大语言模型辅助Linux内核补丁的代码审查。这项计划已持续数周,最新进展已于今日发布并征集反馈。
克里斯今日在Linux内核邮件列表中写道:
"对于正在使用这些提示词的用户,我希望获得关于今日推送改动的反馈——这些改动将审查流程拆分为独立任务。原有提示均保留完整,因此我们可以从耗时、tokens成本和实际效果三个维度直接对比两种方案。
采用任务分解机制后,我们能够将大型代码差异拆分为小块,并逐块进行审查。这种方式在多数情况下能显著减少tokens消耗,因为我们无需在每轮交互中为整个差异反复传递上下文。同时该机制还能更全面地捕获代码缺陷。
我使用Python脚本进行代码变更的拆分与批量处理,以提取修改后的函数、类型及调用关系图。这也有助于降低tokens使用量——我们只需指示AI批量加载处理结果,而非让其自行重复发现相同信息。当前脚本可能存在缺陷,后续必然需要持续优化。
节省的tokens有望抵消额外消耗。每个任务拥有独立的上下文窗口,因此当差异中不同文件需要加载相同函数时,针对单个文件的研究成果需重复执行。虽然AI供应商的令牌缓存机制能部分缓解此问题,但我特别期待关于这部分的反馈。
新框架包含以下任务类型:
- 代码块审查
- 历史邮件列表线索核查(若语义代码可用)
- 修复标签校验
- 深度分析Syzkaller修复方案(详见后续说明)
- 生成最终审查报告"
这位Meta工程师正倾注大量精力提升AI/大语言模型辅助代码审查的准确性与实用性,以期更好地服务于Linux内核上游生态。该方案已显现积极成效,按照当前发展节奏,未来有望在Linux内核代码审查中发挥重要作用。
对克里斯·梅森针对Linux内核及systemd代码审查的AI辅助提示感兴趣的开发者,可通过此GitHub仓库获取相关资源。