Review Bench:AI代码审查的开放基准
真正值得关注的不是GitHub这一条动作本身,而是它可能把「开源」的竞争焦点推向更大范围的连锁反应。
原文链接:https://github.blog/ai-and-ml/github-copilot/reviewbench-an-open-benchmark-for-ai-code-review/
代理代码审查正在成为开发过程中的一个重要组成部分。它可以帮助您检查拉取请求、发现问题并在代码发布之前决定哪些内容值得关注。但现有人工智能审稿人的质量可能很难衡量,你需要先了解审稿人的优势,然后才能知道它是否会对你有帮助。一些审阅者提出了更多问题,一些审阅者产生了更少的噪音,一些审阅者更善于发现关键问题,而另一些审阅者也提出了较小的改进。您可能需要代码审查才能在工作流程中执行不同的操作。这使得了解评审者实际上如何进行比较变得很重要:不同的系统捕捉到了什么,错过了什么,以及他们做出的权衡。一个好的代码审查基准应该反映真实拉取请求的多样性,捕获广泛的审查结果,并支持按严重性、类别和精确召回偏好进行有意义的细分。对于构建代码审查代理的团队来说,基准测试还应该提供离线信号,可靠地跟踪更改是否可能改善生产体验。现有的基准测试经常在标签质量、覆盖范围以及它们代表现实世界代码审查的程度之间进行权衡,从而为将这些部分整合在一起的严格且可重复的评估方法留下了空白。我们构建了 ReviewBench,一个新的代码审查离线基准,来解决这一差距,并且您今天就可以使用它。它遵循拉取请求的语言、存储库大小和大小分布,以 GitHub 上超过 1 亿个真实拉取请求为模型。它使用多源黄金集和一致的评估标准,并经过高级工程师的独立验证。同样重要的是,在 ReviewBench 的帮助下,我们对 Copilot 代码审查 (CCR) 的离线评估在预测生产实验的方向方面变得更加有效,使我们更有信心测量到的改进反映了对用户有意义的收益。在这篇文章中,我们将介绍 ReviewBench 的构建方式、它如何建立可靠的地面事实和评分,以及如何加入您自己的代码审查系统并提交结果。基准:一种标准化评估,使用相同的评分方法对一组常见的拉取请求进行代码审查。发现:代码审查期间出现了一个特定问题。