Copilot在GitHub自家的AI代码审查基准中登顶,但独立基准却给出不同结论。

Copilot在GitHub自家的AI代码审查基准中登顶,但独立基准却给出不同结论。

💡 原文英文,约1400词,阅读约需5分钟。
📝

内容提要

GitHub联合微软推出开源基准ReviewBench,用219个公开PR评测AI代码审查工具。首期榜单中,GitHub Copilot以40.1%的F1得分居首,但测试由GitHub自行完成且各产品测试时间不一,结果存疑。Martian等竞品基准排名不同,凸显基准设计对结果影响很大。

🔎

延伸解读

基准测试的独立性争议

GitHub联合微软推出的ReviewBench由GitHub自行测试,且各产品测试时间不一,导致结果可能无法反映当前性能。Martian的基准则强调独立研究机构立场,其在线榜单显示Copilot仅排第四。这提醒读者,厂商自测的榜单需谨慎看待,独立第三方评估更具参考价值。

评测方法差异导致排名悬殊

ReviewBench使用219个公开PR,基于人工评论、后续修改等构建参考集,采用F1分数;Martian的在线基准则追踪开发者对评论的实际反应,使用F1,离线使用F2。不同数据集、指标和证据类型导致同一产品排名差异巨大,说明基准设计对结论影响显著。

实际应用中的局限性

ReviewBench承认其语料库上的表现不一定适用于企业自有代码,且产品可能已更新。GitHub虽用该基准改进Copilot,但离线结果与生产实验的关联仍需验证。读者应结合自身代码库和实际需求评估AI代码审查工具,而非仅依赖榜单排名。

❓

Q&A

GitHub ReviewBench是什么?它和微软有什么关系?

ReviewBench是GitHub与微软联合开发的一个开源基准,用于评估AI代码审查代理在拉取请求中发现有用问题的能力。

ReviewBench的首期榜单中,GitHub Copilot表现如何?

GitHub Copilot代码审查在首期榜单中以40.1%的grounded F1得分位居第一。

ReviewBench的测试方法有哪些局限性?

测试由GitHub团队自行完成,供应商未参与或验证;各产品测试时间不同(如Copilot在10月1日测试,Cubic和Greptile在6月测试),结果可能已过时;且性能不一定适用于企业自有代码。

Martian的Code Review Bench与GitHub ReviewBench有何不同?

Martian的基准结合离线测试和基于真实开源仓库开发者反馈的在线追踪,强调独立性,由不训练模型或销售编码工具的研究实验室维护;而GitHub的ReviewBench由供应商自己测试,且两者数据集和评分方法不同,结果不可直接比较。

在Martian的基准中,GitHub Copilot的排名如何?

在Martian的在线排行榜中,GitHub Copilot以60.9%的F1得分排名第四;在离线排行榜中,以58%的F2得分排名第五。

ReviewBench的数据集是如何构建的?

ReviewBench从187个公共仓库中选取了219个公开拉取请求,涵盖19种编程语言。GitHub在分析1.039亿个拉取请求后选择了该语料库,其语言和仓库大小分布与GitHub整体相似,并有意避免过小的单文件更改。

ReviewBench如何确定审查者应该发现的问题?

基准从人工审查评论、作者后续更改、静态分析工具和LLM审查者等多个来源构建参考集。Claude Sonnet 5对发现进行分类,另一个LLM匹配器判断候选发现是否与参考集中的同一底层问题对应。

GitHub如何利用ReviewBench改进Copilot代码审查?

GitHub使用ReviewBench来改进Copilot代码审查,其离线结果一直能预测后续生产实验的方向。

🏷️

标签

➡️

继续阅读