Code Review Bench
收藏github2026-02-27 更新2026-02-28 收录
下载链接:
https://github.com/withmartian/code-review-benchmark
下载链接
链接失效反馈官方服务:
资源简介:
开源基准测试用于评估AI代码审查工具,包括数据集、评判标准和管道代码。离线基准测试包含来自5个主要开源项目的50个PRs,每个PR都带有经过人工验证的金色评论,即审查者应发现的真正问题。在线基准测试持续从GitHub中采样新鲜的真实世界PRs,其中代码审查机器人留下了评论,确保工具无法在训练过程中记住这些PRs。
An open-source benchmark for evaluating AI code review tools, encompassing datasets, evaluation criteria, and pipeline code. The offline benchmark includes 50 Pull Requests (PRs) from 5 major open-source projects, with each PR paired with manually verified golden comments, i.e., the genuine issues that reviewers should identify. The online benchmark continuously samples fresh real-world PRs from GitHub, where code review bots have left comments, to ensure that the tools cannot memorize these PRs during training.
创建时间:
2026-02-07
原始信息汇总
Code Review Bench 数据集概述
数据集简介
Code Review Bench 是一个用于评估 AI 代码审查工具的开源基准测试,包含数据集、评估判断器(Judge)和流水线代码。其旨在解决 AI 代码审查工具缺乏共享评估标准的问题,提供可复现的结果和公平的比较。
基准测试构成
该基准测试包含两个部分:离线基准测试和在线基准测试。
离线基准测试
- 性质:固定数据集,结果可复现。
- 数据集内容:包含来自 5 个主要开源项目的 50 个拉取请求(PR)。
- 数据标注:每个 PR 都附有人工验证的“黄金评论”,即审查者应发现的真实问题,并标注了严重性等级(低/中/高/关键)。
- 评估方法:使用 LLM 作为判断器,将工具的审查结果与黄金评论进行匹配,计算精确率和召回率。
- 已评估工具:包括 Augment, Claude Code, CodeRabbit, Codex, Cursor Bugbot, Gemini, GitHub Copilot, Graphite, Greptile, Propel, Qodo 等。
离线基准测试项目来源
| 仓库 | 语言 | 领域 |
|---|---|---|
| Sentry | Python | 错误追踪 |
| Grafana | Go | 可观测性 |
| Cal.com | TypeScript | 日程安排 |
| Discourse | Ruby | 论坛平台 |
| Keycloak | Java | 身份验证 |
在线基准测试
- 性质:持续更新,无训练数据泄露风险。
- 数据来源:持续从 GitHub 采样最新的真实世界 PR,这些 PR 中包含了代码审查机器人的评论。
- 分析流程:
- 提取机器人建议:LLM 读取代码差异和机器人评论,提取可操作的建议及其类别(错误、安全、性能、风格等)和严重性。
- 提取人类操作:LLM 读取审查后的提交,识别开发者在机器人评论后实际修复了哪些问题。
- 判断匹配:LLM 确定哪些机器人建议与实际修复相对应,从而计算每个 PR 的精确率(机器人的评论有多少是有用的?)和召回率(机器人发现了多少真实问题?)。
- 追踪的机器人:CodeRabbit, GitHub Copilot, Claude, Cursor, Augment, Codex, Gemini, Greptile, Graphite, Qodo, Propel 等。
LLM 判断器工作原理
两个基准测试均采用 LLM 作为判断器,但方法论不同:
| 方面 | 离线基准测试 | 在线基准测试 |
|---|---|---|
| 事实依据 | 人工整理的黄金评论 | 开发者审查后的修复 |
| 精确率 | 匹配黄金评论的工具评论数 / 工具评论总数 | 匹配到真实修复的机器人建议数 / 建议总数 |
| 召回率 | 工具发现的黄金评论数 / 黄金评论总数 | 机器人捕获的真实修复数 / 总修复数 |
| 判断器输入 | 黄金评论 + 工具候选评论 | 完整的 PR 时间线:代码差异、机器人评论、审查后提交 |
判断器提示的核心问题是“这些是否描述了相同的根本问题?”,只关注实质内容,允许措辞差异。 已使用的判断器模型包括 Claude Opus 4.5, Claude Sonnet 4.5 和 GPT-5.2。
仓库结构
主要目录结构如下:
offline/:离线基准测试(固定数据集)golden_comments/:每个仓库的人工整理问题(5个JSON文件)code_review_benchmark/:流水线(复刻、下载、提取、判断、导出)analysis/:交互式 HTML 仪表板tests/:测试套件results/:评估输出(按判断器模型)
online/:在线基准测试(持续)etl/:Python 流水线pipeline/:发现 → 丰富 → 组装 → 分析 → 标注llm/:提示词、模式、异步客户端db/:数据库层(SQLite + PostgreSQL)jobs/:后台工作程序dashboard/:Streamlit 仪表板
api_service/:Rust API + 嵌入式 HTML 仪表板
快速开始
离线基准测试
- 进入
offline目录,使用uv同步环境。 - 复制
.env.example为.env并添加 GitHub Token 和 LLM API 密钥。 - 按顺序运行流水线脚本:下载 PR 数据、提取评论、运行 LLM 判断器。
- 在
analysis/benchmark_dashboard.html中查看结果。
在线基准测试
- 进入
online/etl目录,使用uv同步环境。 - 复制
.env.example为.env并添加 GitHub Token、GCP 项目信息和 LLM API 密钥。 - 按顺序运行流水线命令:发现近期 PR、通过 GitHub API 丰富数据、运行 LLM 分析。
- 启动仪表板查看结果。
添加新工具(离线基准测试)
- 将 50 个基准测试 PR 复刻到已安装目标工具的 GitHub 组织中。
- 让工具审查每个 PR。
- 将工具名称添加到下载配置中并运行流水线。
- 结果将出现在仪表板中,与现有工具并列。
引用
若在研究或产品评估中使用此基准测试,请引用: bibtex @misc{code_review_benchmark, title = {Code Review Bench}, author = {Aleksandr Zverianskii, Jacob Clyne, Antía Garcia, Fazl Barez, Shriyash Upadhyay}, url = {https://github.com/withmartian/code-review-benchmark}, year = {2026}, license = {MIT} }
许可证
MIT 许可证。
搜集汇总
数据集介绍
构建方式
在人工智能代码审查工具日益普及的背景下,Code Review Bench 数据集通过精心设计的双基准框架构建而成。离线基准部分选取了来自 Sentry、Grafana、Cal.com、Discourse 和 Keycloak 五个知名开源项目的 50 个拉取请求,每个请求均附有经过人工验证的黄金评论,并标注了低、中、高、关键四个严重性等级。在线基准则通过 GitHub Archive 持续采集近期真实世界中的拉取请求,利用大语言模型分三步提取和分析机器人生成的建议与开发者实际修复行为,有效避免了训练数据泄露问题,确保了评估的时效性和可靠性。
特点
该数据集的核心特点在于其独特的双基准设计,兼顾了可复现性与动态更新需求。离线基准提供了固定且经过人工标注的数据集,便于在不同工具间进行公平、可复现的比较;在线基准则持续引入新鲜数据,从根本上杜绝了模型因记忆训练数据而导致的评估偏差。数据集采用大语言模型作为评判者,能够灵活匹配工具评论与黄金标准或实际修复,仅关注问题实质而非表述形式。此外,数据集支持按语言、项目领域、问题严重性等多维度进行筛选和分析,并提供了交互式仪表板,方便用户深入探究评估结果。
使用方法
使用该数据集进行评估,用户需遵循清晰的流程。对于离线基准,首先配置环境并获取基准拉取请求数据,接着运行管道依次下载各工具的审查结果、提取具体问题,最后调用大语言模型评判器进行匹配与评分,结果可通过交互式仪表板直观查看。在线基准的使用则涉及运行发现、丰富、分析和展示等一系列自动化管道任务,以持续监控工具在真实场景下的表现。若要将新工具纳入离线基准评估,用户需将基准拉取请求分叉至工具可访问的仓库,触发工具审查后,将其结果集成至现有管道中即可生成对比报告。整个评估框架设计旨在降低使用门槛,确保评估过程的标准化与高效性。
背景与挑战
背景概述
在人工智能代理日益参与代码生成的背景下,确保生成代码的质量成为软件工程领域的关键议题。Code Review Bench 数据集应运而生,由 Aleksandr Zverianskii 等研究人员于 2026 年创建,旨在为评估 AI 代码审查工具提供开源基准。该数据集聚焦于代码审查自动化这一核心研究问题,通过整合来自 Sentry、Grafana 等五个主流开源项目的真实拉取请求及其人工标注的黄金评论,构建了可复现的离线评估框架。其设计不仅促进了不同工具在统一标准下的性能比较,还通过在线基准持续追踪新兴代码审查机器人在实际场景中的表现,为提升自动化代码审查的可靠性与有效性奠定了重要基础。
当前挑战
该数据集致力于解决自动化代码审查领域的评估挑战,核心在于如何准确衡量 AI 工具在识别代码缺陷、安全漏洞及风格问题等方面的能力。具体挑战包括:在领域问题层面,需应对代码审查任务固有的语义复杂性,即不同表述可能指向同一实质问题,这要求评估机制能够超越表面文本匹配,深入理解问题本质;在构建过程中,离线数据集面临训练数据泄露风险,即评估工具可能已在训练阶段接触过基准中的拉取请求,从而影响评估结果的公正性。为此,数据集创新性地结合了静态离线评估与动态在线追踪,通过持续采集新鲜代码变更来规避数据泄露,并利用大语言模型作为评判者,以匹配开发者实际修复行为作为真实标准,从而在动态演进的开源生态中维持评估的鲁棒性与时效性。
常用场景
经典使用场景
在软件工程与人工智能交叉领域,随着AI代码生成工具的普及,如何系统评估这些工具在代码审查任务中的性能成为关键挑战。Code Review Bench数据集通过提供离线与在线双重基准,为研究者与开发者构建了标准化的评估框架。其经典使用场景在于,利用精心标注的50个开源项目Pull Request作为离线数据集,结合LLM作为评判者,精确计算不同AI代码审查工具在捕捉代码问题时的精确率与召回率,从而在可控环境中实现工具性能的横向比较与复现。
解决学术问题
该数据集有效解决了AI辅助代码审查领域缺乏统一、可复现评估标准的学术难题。传统上,各工具采用私有数据集进行评估,导致结果难以比较且存在方法学争议。Code Review Bench通过开源标注数据、评估流程及在线持续基准,不仅提供了透明、可验证的评估方法,还创新性地引入在线动态数据集以规避训练数据泄露问题,从而为学术界建立了可靠的研究基础,推动了代码审查自动化技术的科学进展与理论验证。
衍生相关工作
围绕该数据集,已衍生出一系列聚焦于AI代码审查评估方法的研究与实践。例如,基于其离线数据集,多项工作深入探讨了不同LLM评判者(如Claude Opus、GPT系列)在代码问题匹配任务中的评分一致性;同时,在线基准的架构启发了对动态评估流水线的优化,如结合BigQuery与GitHub API的大规模PR挖掘技术。此外,该基准还促进了如Augment、CodeRabbit等工具的性能迭代,并催生了针对多语言、跨领域代码审查的泛化性研究,丰富了软件工程自动化领域的知识体系。
以上内容由遇见数据集搜集并总结生成



