MultiCodeIF
收藏arXiv2025-07-01 更新2025-07-04 收录
下载链接:
https://github.com/SYSUSELab/MultiCodeIF
下载链接
链接失效反馈官方服务:
资源简介:
MultiCodeIF是一个全面的数据集,用于评估代码生成中LLM的指令跟随能力。该数据集包含2021个代码任务,来自14种编程语言,并支持多轮评估。数据集基于一个结构化的分类法,包括9个类别和27种约束类型,使对功能和非功能指令遵守的粒度评估成为可能。数据集是通过一个自动化的管道ConstraGen合成的,它使用真实世界的种子代码和提取的编程概念来定义一个基于层次分类法的结构化约束系统,并利用先进的LLM来合成约束一致的任务。
MultiCodeIF is a comprehensive dataset for evaluating the instruction-following capability of LLMs in code generation. This dataset contains 2021 coding tasks spanning 14 programming languages, and supports multi-round evaluations. Built upon a structured taxonomy that encompasses 9 categories and 27 constraint types, the dataset enables fine-grained evaluation of compliance with both functional and non-functional instructions. The dataset is synthesized via an automated pipeline named ConstraGen, which uses real-world seed code and extracted programming concepts to define a structured constraint system based on a hierarchical taxonomy, and leverages state-of-the-art LLMs to generate constraint-aligned tasks.
提供机构:
中山大学, 新加坡南洋理工大学, 复旦大学
创建时间:
2025-07-01
原始信息汇总
MultiCodeIF 数据集概述
数据集简介
MultiCodeIF 是一个用于评估代码生成中指令跟随能力的大规模自动构建基准测试集,专注于多类型、多层级和多轮次的代码指令跟随评估。
核心特性
- 层次化约束分类法:9个类别 × 27种约束类型,覆盖功能性和非功能性方面
- 任务规模:包含2,021个任务,覆盖14种编程语言
- 评估维度:支持多类型、多层级和多轮次评估场景
数据集结构
指令集
- 单层级指令:位于
dataset/instructions/single_level/,包含单一约束层级的原子任务 - 多层级指令:位于
dataset/instructions/multi_level/,包含需要分层推理的复合约束任务
评估结果
- 单层级任务结果:
results/single_level/ - 多层级任务结果:
results/multi_level/ - 自我修复任务结果:
results/self_repair/
编程语言支持
支持14种编程语言,具体语言类型未在README中明确列出
评估功能
- 多类型任务评估:包括算法实现、数据结构操作和边界情况处理等
- 多层级推理评估:评估模型处理具有依赖关系的分层指令能力
- 多轮交互评估:评估模型基于迭代反馈的自我修复能力
工具脚本
数据构建
- 单层级指令构建:
src/scripts/run_single_level_construct.sh - 多层级指令构建:
src/scripts/run_multi_level_construct.sh
评估脚本
- 单层级评估:
src/scripts/run_evaluation.sh - 多层级评估:
src/scripts/run_multi_level_eval.sh - 自我修复评估:
src/scripts/run_self_repair.sh
环境要求
- Python 3.9+
- 需要配置Python、Rust和Java的特定版本工具链
搜集汇总
数据集介绍

构建方式
MultiCodeIF数据集的构建采用了自动化流程ConstraGen,通过结合真实世界的种子代码和LLM(如GPT-4-Turbo)的语义分析能力,提取核心编程概念并生成约束对齐的任务。构建过程包括种子代码收集与分析、基于约束类型的指令生成、冗余过滤以及人工验证。多级指令扩展进一步通过逐步添加约束来增加任务复杂性,确保数据集覆盖多样化的编程场景和语言。
使用方法
MultiCodeIF数据集的使用主要围绕代码生成模型的指令遵循能力评估展开。研究人员可通过单级任务评估模型对特定约束的遵循能力,或通过多级任务测试模型在复合约束下的表现。数据集支持自动化评估流程,结合规则检查和LLM判断来验证约束满足情况。多轮反馈机制允许模型通过迭代修正提升性能,为模型优化提供明确方向。
背景与挑战
背景概述
MultiCodeIF是由中山大学、南洋理工大学和复旦大学的研究团队于2025年提出的一个层次化、可演化的代码指令遵循基准测试集。该数据集针对大型语言模型在代码生成任务中遵循复杂、多层次约束的能力进行评估,填补了现有基准测试主要关注功能正确性而忽略细粒度约束遵循的空白。数据集基于精心设计的约束分类体系,涵盖9个大类和27个子类约束,包含2,021个任务,涉及14种编程语言。MultiCodeIF通过自动化工具ConstraGen构建,支持多轮反馈驱动的任务变体生成,为评估代码生成模型在真实场景下的指令遵循能力提供了系统化框架。
当前挑战
MultiCodeIF致力于解决代码生成领域模型难以同时满足多层次、多样化约束的核心挑战。具体挑战包括:1) 领域问题方面,现有基准测试难以评估模型对隐含约束和抽象约束的遵循能力,如代码质量、算法复杂度等非功能性需求;2) 构建过程中面临多语言约束统一表示、约束组合的语义一致性保持、自动化验证脚本开发等挑战。此外,数据集需要平衡任务多样性约束验证可靠性,确保生成的代码任务既具有现实意义又能通过自动化方式准确评估。多轮反馈机制的设计也需考虑反馈信息的结构化表示与模型理解能力之间的适配性问题。
常用场景
经典使用场景
MultiCodeIF数据集主要用于评估大型语言模型(LLM)在代码生成任务中遵循复杂指令的能力。其经典使用场景包括对模型在多层次、多类型约束条件下的代码生成表现进行细粒度评估。通过该数据集,研究者可以系统性地测试模型在算法复杂度、接口规范、代码风格等9大类27种约束条件下的表现,从而揭示模型在真实软件开发场景中的适应性和局限性。
解决学术问题
MultiCodeIF解决了当前代码生成评估中过于关注功能正确性而忽视细粒度指令遵循的学术问题。该数据集通过构建层次化的约束分类体系,填补了现有基准在非功能性约束(如代码质量、命名规范)和组合性约束评估上的空白。其意义在于首次系统化地量化了LLM在复杂编程指令下的表现差异,为模型优化提供了明确方向,推动了可控代码生成研究的发展。
实际应用
在实际应用中,MultiCodeIF可广泛应用于智能编程助手的能力校准、代码审查系统的基准测试以及教育场景下的编程作业自动评估。例如,企业可通过该数据集验证AI编程工具是否准确遵循公司内部的代码规范;在线编程平台则能利用其多轮反馈机制,构建更具指导性的代码错误修正系统。
数据集最近研究
最新研究方向
MultiCodeIF数据集作为代码生成领域的前沿基准,近期研究聚焦于多层次约束下的指令跟随能力评估与反馈驱动的迭代优化。该数据集通过构建包含9大类27种细粒度约束的层次化分类体系,揭示了大型语言模型在满足显式语法约束(如环境配置、API调用)与隐式抽象约束(如代码质量、算法复杂度)间的显著性能差异。研究热点包括模型在多重约束组合下的表现退化分析(多层级任务中硬满足率从54.5%降至18.8%),以及通过结构化反馈实现的自我修复机制(4轮迭代后约束满足率提升20.4%)。这些发现为构建更可靠的代码生成系统提供了量化依据,推动了面向真实开发场景的评估范式革新。
相关研究论文
- 1A Hierarchical and Evolvable Benchmark for Fine-Grained Code Instruction Following with Multi-Turn Feedback中山大学, 新加坡南洋理工大学, 复旦大学 · 2025年
以上内容由遇见数据集搜集并总结生成



