Multi-SWE-bench:字节豆包开源的多语言代码修复基准

Multi-SWE-bench简介

Multi-SWE-bench 是由字节跳动豆包大模型团队开发的一个多语言基准测试平台,旨在评估大型语言模型(LLMs)在解决实际软件问题上的能力。该基准测试涵盖了Java、TypeScript、JavaScript、Go、Rust、C和C++等七种广泛使用的编程语言,包含1632个高质量的问题实例,这些问题实例经过68位专家标注员的严格人工验证,确保了数据的准确性和可靠性。Multi-SWE-bench不仅为评估LLMs在多样化软件生态系统中的表现提供了可靠的基准,还通过其多语言覆盖和现实世界问题的复杂性,推动了软件工程自动化领域的研究进展。此外,开发团队还推出了Multi-SWE-RL开源社区,致力于构建大规模的强化学习(RL)训练数据集,为软件工程中的复杂任务提供支持,助力研究者和开发者共同推动技术进步。

Multi-SWE-bench:字节豆包开源的多语言代码修复基准

Multi-SWE-bench主要功能

  1. 多语言问题解决基准测试
    • 提供一个涵盖多种编程语言(Java、TypeScript、JavaScript、Go、Rust、C、C++)的基准测试平台,用于评估大型语言模型(LLMs)在解决实际软件问题上的能力。
    • 包含1632个经过人工验证的高质量问题实例,确保评估的准确性和可靠性。
  2. 问题实例的详细标注
    • 每个问题实例都经过严格的五阶段构建流程:仓库选择、拉取请求爬取、环境确定、PR过滤和手动验证。
    • 提供问题描述、修复补丁、单元测试等详细信息,并根据人工标注的难度分类(易、中、难)进行分层评估。
  3. 多方法评估支持
    • 支持多种代表性方法(如Agentless、SWE-agent、OpenHands)和多种前沿模型(如GPT-4o、OpenAI-o1等)的评估。
    • 提供详细的性能分析,包括问题解决率、问题定位准确性、资源消耗等指标。
  4. 开源社区支持
    • 推出Multi-SWE-RL开源社区,旨在构建大规模的强化学习(RL)训练数据集,推动软件工程中的RL研究。
    • 初始发布4723个经过验证的实例,提供完整的数据生产流程和详细教程,鼓励社区持续贡献和扩展数据集。
  5. 性能分析与洞察
    • 提供对不同语言、方法和模型的全面性能分析,揭示现有LLMs的局限性和改进方向。
    • 分析问题类型、问题描述特征、修复补丁特征等因素对性能的影响,为未来研究提供指导。

Multi-SWE-bench技术原理

  1. 多语言问题实例构建
    • 仓库选择:基于GitHub上的高质量仓库,考虑流行度(星数)、维护活跃度(至少6个月的活跃维护)和CI/CD支持。
    • 拉取请求爬取:收集与问题相关的拉取请求(PRs),并提取问题描述、修复补丁和测试补丁等元数据。
    • 环境确定:为每个PR构建Docker化的运行环境,确保可重现性。通过分析CI/CD配置和文档,提取必要的依赖项并生成Docker镜像。
    • PR过滤:通过分析测试结果,保留具有明确修复效果且无回归的PRs。运行完整的测试套件,确保修复补丁的有效性。
    • 手动验证:通过双人标注和交叉审核,确保数据质量。标注员根据预定义的标准对问题实例进行标注,确保与SWE-bench验证标准一致。
  2. 多方法评估框架
    • Agentless:通过多阶段固定工作流(如故障定位、代码修复和候选补丁选择)解决软件问题。
    • SWE-agent:基于多轮交互的代理方法,通过预定义的代理-计算机接口(ACI)解决软件问题。
    • OpenHands:一个开放平台,支持构建软件开发代理,通过多轮交互解决软件问题。
  3. 性能评估指标
    • 问题解决率(Resolved Rate):衡量成功解决问题的百分比。
    • 问题定位准确性(Success Location):衡量在文件级别准确定位问题的能力。
    • 资源消耗(Resource Consumption):衡量每个问题的平均token消耗和成本。
  4. 强化学习(RL)训练数据集构建
    • 社区驱动:通过开源社区的力量,构建大规模的RL训练数据集。
    • 容器化实例:每个实例都配备一个可重现的执行环境,确保RL代理在真实软件上下文中进行训练。
    • 持续贡献:提供详细的贡献指南和激励机制,鼓励社区成员持续贡献数据和模型。
  5. 性能影响因素分析
    • 问题类型:分析不同问题类型(如漏洞修复、新功能、功能优化)对解决率的影响。
    • 问题描述特征:研究问题描述的长度和复杂性对解决率的影响。
    • 修复补丁特征:分析修复补丁的长度和涉及的文件数量对解决率的影响。

Multi-SWE-bench应用场景

Multi-SWE-bench项目入口

© 版权声明
pANYIIS.jpg

相关文章

暂无评论

暂无评论...