CodeCriticBench
收藏CodeCriticBench: 代码评价综合基准
概述
CodeCriticBench 是一个全面的基准测试,旨在系统地评估大型语言模型(LLM)在代码生成和代码问答任务中的评价能力。该基准不仅关注代码生成,还扩展到代码相关问题,提供多维度和细粒度的评价标准,以严格评估 LLM 的推理和代码理解能力。
关键特性
-
多任务覆盖
- 代码生成:包括来自常见平台(如 CodeForces、MBPP、LiveCodeBench)的算法问题,以及一个专门的调试子集,用于评估模型检测特定编程错误的能力。
- 代码问答(Code QA):基于真实世界的编程场景,结合 StackOverflow 响应和 Qwen2.5-72B 的多样化问题生成,以评估在真实情况下的性能。
-
细粒度评价机制 每个样本都附带一系列精心设计的评价清单,涵盖 10 个不同标准。除了基本评价外,先进的评估协议确保对模型输出质量进行多角度、分层的评估。
-
难度分层 使用 12 个最先进的 LLM,将每个样本按难度分为三个级别:简单(1,517 个样本)、中等(1,084 个样本)和困难(1,699 个样本)。确保在难度级别上平衡分布。
-
自动和手动标记
- 自动评估:代码生成任务与测试用例配对,在沙盒环境中自动验证代码正确性。
- 手动评估:代码问答任务涉及 20 名具有编程经验的志愿者独立评估答案,最终标签通过多数投票确定。
使用方法
要开始使用 CodeCriticBench,克隆仓库并按照以下步骤操作: bash git clone https://github.com/xxzcc/CodeCriticBench.git cd CodeCriticBench
运行评估脚本
使用提供的评估脚本来自动和手动评估模型输出。例如:
-
模型推理:在您的模型上运行推理: bash python src/infer_qwen.py --model_name Qwen2.5-Coder-32B-Instruct --model_path=./Qwen2.5-Coder-32B-Instruct --input_data_path=./data/CodeCriticBench.jsonl --output_data_path=./data/output/
-
评分评估:评估模型输出: bash python src/evaluate.py
贡献
我们欢迎对 CodeCriticBench 的贡献!无论是扩展数据集、改进评价指标还是优化代码,您的输入都非常有价值。
引用
如果您在研究中使用 CodeCriticBench,请引用以下内容: bibtex @misc{zhang2025codecriticbenchholisticcodecritique, title={CodeCriticBench: A Holistic Code Critique Benchmark for Large Language Models}, author={Alexander Zhang and Marcus Dong and Jiaheng Liu and Wei Zhang and Yejie Wang and Jian Yang and Ge Zhang and Tianyu Liu and Zhongyuan Peng and Yingshui Tan and Yuanxing Zhang and Zhexu Wang and Weixun Wang and Yancheng He and Ken Deng and Wangchunshu Zhou and Wenhao Huang and Zhaoxiang Zhang}, year={2025}, eprint={2502.16614}, archivePrefix={arXiv}, primaryClass={cs.CL}, url={https://arxiv.org/abs/2502.16614}, }
联系方式
如果您有任何问题或建议,请随时通过 问题页面 联系我们。




