Salesforce/Libra
收藏Hugging Face2026-05-05 更新2026-05-03 收录
下载链接:
https://hf-mirror.com/datasets/Salesforce/Libra
下载链接
链接失效反馈官方服务:
资源简介:
Libra数据集是一个用于代码定位训练和评估的数据集,核心思想是“优化环境而非代理”。数据集包含13个配置,分为两类:Prompter Configs(12个仓库)和SWE-bench Evaluation Config。Prompter Configs是合成的代码定位问答对,由Prompter代理生成,每个实例包含一个问题陈述、黄金文件路径、黄金函数、推理跟踪、源代码块等。SWE-bench Evaluation Config是来自SWE-bench Lite的真实错误报告,用于评估Locator代理。数据集的生成过程详细描述了Prompter代理如何生成每个问答对。
The Libra Dataset is a dataset for training and evaluating code localization. Its core insight is to "optimize the environment, not the agent." The dataset contains 13 configs organized into two categories: Prompter Configs (12 repos) and SWE-bench Evaluation Config. Prompter Configs are synthetic code-localization Q/A pairs generated by the Prompter agent, each including a problem statement, gold files, gold functions, reasoning trace, chunk content, etc. The SWE-bench Evaluation Config consists of real bug reports from SWE-bench Lite, augmented with gold file and function labels for evaluating the Locator agent. The README also details how the Prompter agent generates each Q/A pair.
提供机构:
Salesforce
搜集汇总
数据集介绍

构建方式
Libra数据集的构建根植于一个核心洞见——优化环境而非智能体。其构建过程依托Prompter智能体(基于Claude模型)生成合成代码定位问答对:首先从目标仓库中随机采样约100行代码片段,随后Prompter读取该片段并模拟开发者视角,构造出涵盖错误报告、功能询问、行为澄清等类型的逼真查询,同时记录下需编辑的精准文件路径与函数名称作为金标准标签。值得注意的是,Prompter在生成过程中直接访问源码,造成了与需通过层级目录导航的定位智能体之间的信息不对称,这种不对称性恰恰构成了关键训练信号——定位智能体的每次失败都揭示了目录的缺陷,进而驱动Healer智能体进行迭代修正。整个数据集覆盖astropy、django、matplotlib等12个主流开源仓库,总计逾90,736条训练样本与3,287条测试样本。
特点
Libra数据集展现出多项显著特点。其一,它构建了一套完整的自我演化目录系统,不同于传统方法对提示词或模型权重的精细调优,而是通过持续优化层级Markdown目录来引导定位智能体进行代码导航,每次定位失败都成为目录改进的契机。其二,数据集分为Prompter配置与SWE-bench评估集两大类别:Prompter配置包含来自12个仓库的合成数据,每个实例均包含实例标识符、问题陈述、金标准文件与函数、推理轨迹及源码块内容等丰富字段;SWE-bench评估集则采用SWE-bench Lite中的真实错误报告,并补充了金标准文件与函数标签,为定位智能体提供可靠的评估基准。
使用方法
使用者可通过HuggingFace的datasets库便捷地加载Libra数据集。具体而言,调用load_dataset('Salesforce/Libra', 'prompter_sympy')即可加载单个仓库的Prompter数据,其中'train'分片包含29,653条训练实例,'test'分片则含300条测试实例。若需使用评估集,则通过load_dataset('Salesforce/Libra', 'SWE-bench_Lite_Libra', split='test')加载包含199条真实错误报告及其金标准标签的评估数据。数据集采用CC-BY-NC-4.0许可协议发布,仅限研究用途,且明确禁止用于开发与Anthropic形成竞争关系的模型。
背景与挑战
背景概述
在软件工程的演进历程中,代码定位作为调试与维护的关键环节,长期依赖人工经验与直觉,其自动化水平亟待提升。Libra数据集由Salesforce研究团队于近期创建,旨在探索一种新颖的范式——通过优化环境而非模型本身,来提升代码定位的智能体性能。该数据集的核心研究问题在于:如何构建一个自演进的目录系统,使定位智能体能够在无需调整提示词或模型权重的情况下,通过不断优化的层级化Markdown目录,实现精准的代码导航。Libra的创新之处在于,每一次定位失败均成为目录优化的契机,由修复智能体驱动系统迭代。该数据集涵盖12个知名开源仓库(如Django、scikit-learn、SymPy等),生成超过9万条训练样本与3000余条测试样本,并结合SWE-bench Lite真实错误报告,为代码定位研究提供了丰富的基准。其对相关领域的影响力体现在,推动了智能体系统从“调整模型”向“改造环境”的范式转变,为自动化软件维护开辟了新路径。
当前挑战
Libra数据集应对的领域挑战主要源于代码定位固有的复杂性:在大规模软件仓库中,精确匹配错误报告与待修改的代码文件及函数,传统方法常因上下文缺失或语义鸿沟而失效。具体而言,构建过程中面临多重挑战:其一,生成高质量合成查询对,需在保持问题真实性的同时,确保定位标签的准确性,这要求代码块采样与问题构造的精细平衡;其二,创造信息不对称环境,即查询生成器直接访问源代码,而定位智能体仅能通过目录导航,模拟真实开发中信息不完整的情境,此设计确保每次定位失败均能揭示目录缺陷,但增加了数据生成的难度;其三,跨仓库泛化能力,12个差异显著的开源项目在代码风格、架构复杂度上各异,需保证数据集既具针对性又不失通用性;其四,自演进机制的可靠性,即修复智能体如何基于失败案例精准优化目录,避免引入错误指引,这一迭代过程在数据层面需严格的验证与校验。
常用场景
经典使用场景
Libra数据集专为代码定位任务而生,其核心设计理念在于通过层次化Markdown目录引导冻结的定位代理进行高效代码导航。该数据集涵盖12个主流开源仓库的合成代码定位问答对,以及基于SWE-bench Lite的真实缺陷报告评估集。研究者可借此评估和改进基于目录引导的代码检索系统,尤其适用于需要精准定位缺陷文件与函数的自动化调试场景。
解决学术问题
Libra数据集直面代码仓库中缺陷定位的经典挑战,即如何在不调整模型权重或提示词的情况下提升定位精度。通过构建可自我进化的目录系统,该数据集揭示了环境优化而非代理调优的学术思想,为信息检索与代码理解交叉领域提供了新的研究范式。其核心价值在于验证了迭代优化代码目录结构能够显著增强定位代理的鲁棒性与泛化能力。
衍生相关工作
Libra数据集的发布催生了多个方向的相关研究,包括基于图神经网络的代码结构表示学习、自监督的代码检索预训练模型,以及与大型语言模型结合的混合定位系统。其训练数据生成方式启发了利用信息不对称性构建合成训练样本的方法论,为后续的缺陷定位、代码问答和自动程序修复等任务提供了宝贵的数据资源和评估基准。
以上内容由遇见数据集搜集并总结生成



