When Prompts Go Wrong: Evaluating Code Model Robustness to Ambiguous, Contradictory, and Incomplete Task Descriptions

📄 arXiv: 2507.20439v1 📥 PDF

作者: Maya Larbi, Amal Akli, Mike Papadakis, Rihab Bouyousfi, Maxime Cordy, Federica Sarro, Yves Le Traon

分类: cs.SE, cs.AI

发布日期: 2025-07-27


💡 一句话要点

评估代码生成模型对模糊、矛盾和不完整任务描述的鲁棒性

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码生成 大型语言模型 鲁棒性评估 任务描述缺陷 软件开发

📋 核心要点

  1. 现有代码生成模型在清晰的任务描述下表现出色,但在实际应用中,任务描述常存在模糊、不完整或矛盾之处,模型性能面临挑战。
  2. 该研究通过引入任务描述缺陷,构建更贴近实际场景的评测基准,评估现有代码生成模型在不清晰任务描述下的鲁棒性。
  3. 实验结果表明,即使微小的描述缺陷也会显著降低模型性能,矛盾描述导致更多逻辑错误,大型模型虽更具弹性,但仍受影响。

📝 摘要(中文)

大型语言模型(LLMs)在理想条件下,即任务描述清晰准确时,在代码生成任务中表现出令人印象深刻的性能。然而,在实践中,任务描述经常表现出模糊性、不完整性或内部矛盾。本文首次实证研究了最先进的代码生成模型在面对这种不清晰的任务描述时的鲁棒性。我们通过引导突变策略系统地引入现实的任务描述缺陷,扩展了HumanEval和MBPP基准,生成了一个反映非正式开发者指令混乱性的数据集。我们评估了不同大小和架构的多个LLM,分析了它们在各类任务描述中的功能正确性和失败模式。我们的研究结果表明,即使任务描述措辞上的微小缺陷也会导致性能显著下降,而矛盾的任务描述会导致大量的逻辑错误。此外,虽然较大的模型往往比小型模型更具弹性,但它们也无法避免不明确需求带来的挑战。我们进一步分析了语义错误模式,并识别了描述清晰度、模型行为和错误类型之间的相关性。我们的结果强调了开发不仅功能强大,而且对自然用户任务中固有的缺陷具有鲁棒性的LLM的迫切需求,突出了改进模型训练策略、设计更现实的评估基准以及确保在实际软件开发环境中可靠部署的重要考虑因素。

🔬 方法详解

问题定义:现有代码生成模型在理想化的清晰任务描述下表现良好,但在实际软件开发中,开发者提供的任务描述往往存在模糊性、不完整性甚至矛盾性。这导致模型生成的代码质量下降,甚至出现逻辑错误。现有评估基准(如HumanEval和MBPP)无法充分反映这种实际情况,因此需要一种更贴近实际的评估方法来衡量模型在不清晰任务描述下的鲁棒性。

核心思路:该研究的核心思路是通过系统性地引入任务描述缺陷,构建更真实的评估数据集,并在此基础上评估现有代码生成模型的性能。通过分析模型在不同类型缺陷下的表现,可以深入了解模型的弱点,并为改进模型训练策略提供指导。

技术框架:该研究的技术框架主要包括以下几个步骤:1) 选择现有的代码生成评估基准(HumanEval和MBPP);2) 设计引导突变策略,系统性地向任务描述中引入缺陷,例如模糊性、不完整性和矛盾性;3) 使用突变后的任务描述生成新的评估数据集;4) 在新的评估数据集上评估多个不同大小和架构的LLM;5) 分析模型的性能,包括功能正确性和失败模式;6) 分析语义错误模式,并识别描述清晰度、模型行为和错误类型之间的相关性。

关键创新:该研究的关键创新在于:1) 首次系统性地研究了代码生成模型在不清晰任务描述下的鲁棒性;2) 提出了一种通过引导突变策略生成更真实评估数据集的方法;3) 深入分析了模型在不同类型缺陷下的表现,并识别了描述清晰度、模型行为和错误类型之间的相关性。

关键设计:该研究的关键设计包括:1) 设计了多种引导突变策略,以模拟不同类型的任务描述缺陷;2) 选择了多个不同大小和架构的LLM进行评估,以比较不同模型的鲁棒性;3) 使用功能正确性作为主要评估指标,并辅以语义错误分析,以更全面地了解模型的性能。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,即使任务描述中存在微小缺陷,也会导致模型性能显著下降。例如,矛盾的任务描述会导致大量的逻辑错误。虽然较大的模型通常比小型模型更具弹性,但它们也无法完全避免不明确需求带来的挑战。研究还发现,描述清晰度与模型行为和错误类型之间存在相关性。

🎯 应用场景

该研究成果可应用于提升代码生成模型的实际应用能力,尤其是在处理用户提供的非正式、不清晰的任务描述时。通过改进模型训练策略,使其对模糊需求更具鲁棒性,可以提高软件开发的效率和质量。此外,该研究提出的评估方法可用于设计更贴近实际的评测基准,推动代码生成领域的进一步发展。

📄 摘要(原文)

Large Language Models (LLMs) have demonstrated impressive performance in code generation tasks under idealized conditions, where task descriptions are clear and precise. However, in practice, task descriptions frequently exhibit ambiguity, incompleteness, or internal contradictions. In this paper, we present the first empirical study examining the robustness of state-of-the-art code generation models when faced with such unclear task descriptions. We extend the HumanEval and MBPP benchmarks by systematically introducing realistic task descriptions flaws through guided mutation strategies, producing a dataset that mirrors the messiness of informal developer instructions. We evaluate multiple LLMs of varying sizes and architectures, analyzing their functional correctness and failure modes across task descriptions categories. Our findings reveal that even minor imperfections in task description phrasing can cause significant performance degradation, with contradictory task descriptions resulting in numerous logical errors. Moreover, while larger models tend to be more resilient than smaller variants, they are not immune to the challenges posed by unclear requirements. We further analyze semantic error patterns and identify correlations between description clarity, model behavior, and error types. Our results underscore the critical need for developing LLMs that are not only powerful but also robust to the imperfections inherent in natural user tasks, highlighting important considerations for improving model training strategies, designing more realistic evaluation benchmarks, and ensuring reliable deployment in practical software development environments.