论文

ClarifyCodeBench:评估 LLM 澄清代码生成的模糊要求

ClarifyCodeBench: Evaluating LLMs on Clarifying Ambiguous Requirements for Code Generation

模型评测基准与评测资源

摘要

大语言模型 已成为编程助手。然而,代码生成的功效受到输入要求质量的限制,这些输入要求常常是不明确、不完整或不明确的。虽然 LLM 擅长一次性代码合成,但其主动阐明意图的能力仍未得到充分开发,而这正是稳健软件工程的一项关键特征。现有的基准在很大程度上忽略了这个交互瓶颈,假设完美指定的提示不反映需求启发的迭代性质。为了弥补这一差距,我们引入了 ClarifyCodeBench,这是一种新颖的交互式基准测试,用于评估 LLM 解决需求模糊性的能力。 ClarifyCodeBench 根据现实世界的编程任务构建,具有高质量的手动注释,包括 N 种独特的歧义类型、相关的澄清问题以及相应的 真值 答案。此外,我们形式化了两个严格的指标来评估交互质量:回合折扣关键问题率(惩罚低效的提问)和最佳回合遵循度(衡量启发过程的精度)。我们使用 ClarifyCodeBench 对六种最先进的 LLM 进行了系统评估。我们的实证结果产生了三个关键见解:1)能力解耦:强大的代码生成性能本质上并不转化为有效的需求澄清; 2)推理悖论:虽然增加计算思维可以提高代码的正确性,但它在识别歧义方面产生了边际收益; 3)多歧义上限:随着歧义密度的增加,LLM的澄清性能急剧下降,揭示了处理复杂的现实世界规范的重大瓶颈。我们的工作强调了未来 AI4SE 研究从静态合成过渡到交互式启发的必要性。