遇见数据集

JetBrains/git_good_bench-lite

收藏
Hugging Face2025-11-18 更新2025-05-31 收录
官方服务:

资源简介:

GitGoodBench Lite是一个包含120个样本的子集,用于评估AI代理在解决git任务中的性能(见支持的场景)。数据集中的样本均匀地分布在Python、Java和Kotlin三种编程语言以及合并冲突解决和文件提交语法两种样本类型之间。每个样本类型和编程语言都有20个样本。数据集中的所有数据都是从100个独特的、具有宽松许可的开源GitHub仓库中收集的,这些仓库拥有至少1000个星标、至少5个分支、至少10个贡献者,且不是分叉或存档的仓库。数据集包含两种类型的样本:merge和file_commit_chain。merge场景包含一个或多个合并冲突,所有合并冲突都保证在Python、Java或Kotlin文件中。file_commit_chain场景由两个提交组成,最旧的提交和最新的提交,涵盖该文件在整个提交链中的修改。数据集的结构包括多个字段,其中一些是元数据,一些是场景的主要数据。

GitGoodBench Lite is a subset of 120 samples designed to evaluate the performance of AI agents in resolving git tasks (see Supported Scenarios). The dataset is evenly split across the programming languages Python, Java, and Kotlin, as well as the sample types merge conflict resolution and file-commit grammar. Each sample type and programming language has 20 samples. All data in this dataset are collected from 100 unique, open-source GitHub repositories with permissive licenses that have at least 1000 stars, at least 5 branches, at least 10 contributors, and are not forks or archived. The dataset contains two types of samples: merge and file_commit_chain. Merge scenarios contain one or more merge conflicts that occurred during a merge, guaranteed to be in a Python, Java, or Kotlin file. File_commit_chain scenarios consist of two commits, the oldest and newest, covering modifications to the file throughout the commit chain. The dataset structure includes multiple fields, some of which are metadata, and others are the primary data for the scenarios.

提供机构:
JetBrains
搜集汇总
数据集介绍
构建方式
在版本控制系统的智能体评估领域,GitGoodBench Lite作为一项轻量级基准测试应运而生。该数据集从100个拥有超过1000颗星、至少5个分支、10位贡献者且非派生或归档的开源GitHub仓库中精心采集,所有仓库均采用宽松许可证。数据集的构建聚焦于Python、Java和Kotlin三种编程语言,并均匀覆盖合并冲突解决与文件提交链两种样本类型,每种语言和类型各包含20个样本,总计120个样本。通过SEART工具筛选初始仓库列表后,每个样本均包含唯一的仓库标识、默认分支、编程语言及场景细节,确保了数据多样性与代表性。
特点
GitGoodBench Lite的核心特点在于其双场景设计与难度分层。合并冲突场景包含至少一个发生在Python、Java或Kotlin文件中的冲突,且仅限于双亲合并;文件提交链场景则涵盖至少三个连续提交,并引入纯度指标(0.68)作为难度启发式标准,纯度越低代表噪声越大、任务越复杂。数据集还提供了难度分布统计,合并场景中简单占51.67%、中等占21.67%、困难占26.67%,为不同能力的智能体提供了梯度测试。此外,每个样本附带元数据(如星标数、项目规模),既保留上下文又明确区分核心逻辑与辅助信息。
使用方法
该数据集的使用方法针对不同场景设计了差异化评估策略。对于合并冲突场景,采用精确匹配(Exact-Match)比较智能体生成的差异补丁与真实合并提交的差异,以衡量准确性。对于文件提交链场景,则借助大语言模型作为评判者(LLM-as-a-Judge),评估智能体在交互式变基或迭代生成提交中的表现。用户可通过解析JSON格式的场景字段获取父提交哈希、文件路径等关键信息,并基于编程语言和样本类型进行分组测试。数据集已公开在HuggingFace上,支持直接加载与集成到现有评估流水线中。
背景与挑战
背景概述
随着大语言模型在代码生成与理解领域展现出日益强大的能力,评估其在真实软件开发工作流中的表现成为前沿研究方向。现有基准如SWE-bench虽推动了编程智能体的进步,却忽视了版本控制系统这一开发者日常操作的核心环节。为填补这一空白,Tobias Lindenbauer、Egor Bogomolov与Yaroslav Zharov于2025年在维也纳举行的REALM研讨会上提出了GitGoodBench,并从中提炼出轻量级子集GitGoodBench Lite。该数据集精心筛选了来自100个高质量开源仓库的120个样本,均匀覆盖Python、Java与Kotlin三种语言,聚焦于合并冲突解决与文件提交链两大典型Git场景。GitGoodBench的提出为衡量AI智能体在版本控制操作上的综合能力提供了标准化评估框架,标志着软件工程智能体研究从单纯编程向全流程协作迈出了关键一步。
当前挑战
GitGoodBench Lite所面临的挑战首先体现在领域问题的复杂性上:版本控制任务要求AI智能体不仅理解代码语义,还需掌握分支结构、冲突上下文与提交历史等动态信息,这远超出传统代码生成或修复的难度范畴。具体而言,合并冲突场景需智能体在多个父提交间精准定位冲突根源并生成语法与逻辑均正确的合并结果;而文件提交链场景则考验其对连续提交的因果理解与重构能力,涉及交互式变基与增量提交生成等高级操作。在构建过程中,数据集的设计亦面临严峻考验:如何从海量仓库中提取纯净且难度可控的样本,如何确保不同语言与场景间的样本均衡,以及如何通过纯度指标等启发式方法量化任务难度,均需精细的设计与验证。此外,评估方式本身亦构成挑战——合并场景依赖精确匹配,而文件提交链场景则需借助LLM作为裁判,这要求评估标准具备高度的可靠性与一致性。
常用场景
经典使用场景
GitGoodBench Lite 作为面向人工智能代理的版本控制操作评估基准,其经典使用场景聚焦于两大核心任务:合并冲突解决与文件提交链重构。在合并冲突场景中,代理需基于给定的冲突文件列表及父提交哈希,通过精确匹配(EM)生成与真实合并提交一致的差异补丁。而在文件提交链场景中,代理则需利用新旧提交之间的连续修改记录,执行交互式变基以清理本地提交历史,或基于暂存区未提交的变更迭代生成语义连贯的提交信息。该数据集通过精心设计的120个样本(覆盖Python、Java、Kotlin三种语言)为评估代理在真实Git工作流中的表现提供了标准化测试平台。
解决学术问题
该数据集回应了当前软件工程智能代理研究中的一个关键缺口——现有基准(如SWE-bench)多聚焦于代码生成或修复,而忽视了版本控制系统(VCS)操作这一开发者日常核心工作流。GitGoodBench Lite系统性地提出了两个学术问题:其一,如何量化代理在复杂合并冲突场景中生成正确解决方案的能力;其二,如何评估代理对提交历史进行语义化重构的智能水平。通过引入纯度(purity)指标作为场景难度的启发式度量,以及LLM-as-a-Judge的评估范式,该基准为研究代理在增量式代码演进任务中的推理与规划能力提供了方法论基础,推动了从单一编程任务到全流程开发协作的智能体评估范式转型。
衍生相关工作
GitGoodBench Lite的诞生衍生了一系列前沿研究方向。其一,基于其场景定义,研究者可开发专用工具链,如利用大语言模型(LLM)对文件提交链进行语义化变基的算法,或将合并冲突解析与代码审查系统深度融合的框架。其二,该数据集促进了“代理学习”(Agent Learning)领域的发展,例如通过强化学习在合并冲突场景中优化代理的补丁生成策略。其三,它催生了针对多语言仓库(如同时包含Java和Kotlin的混合项目)的跨语言版本控制操作评估方法。此外,其提出的LLM-as-a-Judge评估范式已被后续工作借鉴,用于构建更细粒度的代码变更质量度量体系,例如结合静态分析工具验证合并结果的正确性,从而推动软件工程智能代理从基准测试向生产级应用的迁移。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务