CodeAssistBench (CAB)
收藏arXiv2025-07-17 更新2025-07-17 收录
下载链接:
https://anonymous.4open.science/r/CABCBA3/
下载链接
链接失效反馈官方服务:
资源简介:
CodeAssistBench (CAB) 是一个基于真实世界开发者场景的多轮编程辅助评估框架。该数据集由 3,286 个真实编程问题组成,涵盖了 231 个代码仓库,跨越了七种编程语言和多样化的问题领域。数据集的创建过程完全自动化,无需手动筛选,确保了数据集的多样性和高质量。CAB 的设计旨在解决现有编程问答基准的局限性,如单轮交互、需要大量手动筛选和无法代表真实项目环境等问题。该数据集用于评估大型语言模型在复杂、项目特定环境下的编程辅助能力。
CodeAssistBench (CAB) is a multi-turn programming assistance evaluation framework based on real-world developer scenarios. This dataset consists of 3,286 real programming problems, covering 231 code repositories, spanning seven programming languages and diverse problem domains. The dataset was created fully automatically without manual filtering, ensuring its diversity and high quality. CAB is designed to address the limitations of existing programming question-and-answer benchmarks, such as single-turn interaction, the need for extensive manual filtering, and failure to represent real-world project environments. This dataset is used to evaluate the programming assistance capabilities of large language models in complex, project-specific environments.
提供机构:
亚马逊网络服务
创建时间:
2025-07-15
搜集汇总
数据集介绍

构建方式
CodeAssistBench (CAB) 数据集的构建采用了高度自动化的流程,从GitHub问题中提取真实世界的编程对话场景。首先,通过GitHub API收集符合条件的仓库,筛选标准包括星标数、创建日期和许可证类型。随后,利用正则表达式和基于大型语言模型(LLM)的过滤方法,去除低质量或不相关的对话,确保保留具有明确解决状态和技术特性的问题。最后,为每个问题生成结构化的数据条目,包括构建环境、用户满意度条件和用户响应参考。整个流程无需人工干预,确保了数据集的可扩展性和一致性。
特点
CAB数据集的特点在于其多轮对话的真实性和项目环境的完整性。数据集包含3,286个真实世界的编程问题,覆盖7种编程语言和231个代码仓库,问题来源于GitHub上的实际开发场景。每个问题都附带完整的代码库访问权限和容器化的构建环境,使得评估可以在真实的项目上下文中进行。此外,数据集还包含了自动提取的用户满意度条件,为评估提供了客观标准。这些特点使得CAB能够更准确地反映开发者在实际工作中遇到的复杂问题和多轮交互需求。
使用方法
CAB数据集的使用方法主要围绕其多轮对话评估框架展开。研究人员可以通过模拟用户与维护代理(LLM)的交互来评估模型的编程辅助能力。评估过程中,用户代理会提出问题并根据模型的回答提供反馈,维护代理则需要在容器化的环境中访问完整代码库并生成解决方案。对话结束后,自动评判代理会根据提取的满意度条件对交互质量进行评估,包括技术正确性、满意度完整性和交互质量。此外,数据集支持通过配置参数(如仓库创建日期、星标数等)生成不同变体,以适应不同的研究需求。
背景与挑战
背景概述
CodeAssistBench (CAB) 是由亚马逊网络服务(AWS)的研究团队于2025年推出的一个专注于多轮对话式代码辅助的基准测试框架。该数据集由Myeongsoo Kim、Shweta Garg、Baishakhi Ray等研究人员共同开发,旨在解决现有基准测试在真实开发场景中的局限性。CAB的核心研究问题聚焦于评估大型语言模型(LLM)在复杂、多轮对话中为开发者提供代码辅助的能力,特别是在涉及实际代码库和项目环境的情境下。该数据集的影响力在于其首次将GitHub问题转化为结构化的编程辅助场景,并通过容器化环境实现自动化评估,为AI编程助手的研究提供了更贴近实际的测试平台。
当前挑战
CAB面临的挑战主要体现在两个方面:领域问题的复杂性和数据集构建的技术难度。在领域问题方面,CAB旨在解决多轮对话式代码辅助的评估难题,包括模型需要理解项目上下文、处理迭代式问题解决以及满足开发者多样化的需求(如调试、代码学习等)。与传统的单轮代码生成任务不同,这些场景要求模型具备持续对话和上下文维护能力。在构建过程中,挑战包括从GitHub问题中自动提取高质量的对话数据、确保代码库环境的可复现性(特别是处理不同编程语言和依赖项),以及设计能够准确反映开发者满意度的评估指标。此外,数据集的扩展性也是一个关键挑战,需要通过自动化流程持续纳入新的代码库和问题以保持基准的时效性。
常用场景
经典使用场景
CodeAssistBench (CAB) 数据集在评估基于大型语言模型(LLM)的多轮编程辅助能力方面具有经典的应用场景。该数据集通过模拟真实的开发者与维护者之间的对话,覆盖了从代码生成到调试、问题解答的完整开发周期。其独特之处在于能够自动从GitHub问题中提取多轮对话,并结合容器化的代码库环境进行验证,从而为研究者提供了一个高度真实的评估平台。
解决学术问题
CAB数据集解决了当前编程辅助评估中的几个关键学术问题。首先,它突破了传统单轮交互评估的局限,能够全面衡量模型在多轮对话中的表现。其次,数据集通过自动化的方式从真实GitHub问题中生成评估场景,避免了人工标注带来的偏差。最重要的是,它揭示了当前LLM在解决实际项目问题时的能力差距,为未来模型优化提供了明确方向。
衍生相关工作
CAB数据集已经衍生出多个相关研究工作。一些团队利用该数据集开发了更先进的对话评估指标,超越了传统的代码正确性检查。其他研究则基于CAB的容器化评估框架,扩展了更多类型的开发场景评估。此外,该数据集还启发了对LLM在特定编程语言中表现差异的深入研究,为领域专业化模型的发展提供了数据支持。
以上内容由遇见数据集搜集并总结生成



