← 最新论文
💻 computer science

When Prompt Under-Specification Improves Code Correctness: An Exploratory Study of Prompt Wording and Structure Effects on LLM-Based Code Generation

这项探索性研究揭示,尽管提示词欠规范通常在结构简化的基准测试中降低代码生成质量,但在 LiveCodeBench 等更丰富的任务中,它却能通过干扰误导性线索而意外提升正确性,这表明提示词的鲁棒性高度依赖于任务结构,而非模型的固有属性。

原作者: Amal AKLI, Mike PAPADAKIS, Maxime CORDY, Yves Le TRAON

发布于 2026-04-28
📖 1 分钟阅读☕ 轻松阅读

原作者: Amal AKLI, Mike PAPADAKIS, Maxime CORDY, Yves Le TRAON

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你正在聘请一位才华横溢但略显字面思维的助手来为你编写计算机程序。你给它们一套指令(即“提示词”)。长期以来,专家们认为,你的指令越精确、越详细、越严格,助手的表现就越好。如果你遗漏了某个细节,助手就会感到困惑并失败。

本文挑战了这一旧有观念。研究人员发现,有时,给你的助手提供更少的细节,反而能帮助他们写出更好的代码。

以下是他们如何发现这一点的,通过简单的类比来解释:

1. 两种类型的“考试”

研究人员在两种不同类型的 AI 模型“考试”(基准测试)上测试了这一想法:

  • “闪卡”考试(HumanEval): 这就像简短的单句闪卡。指令非常简短,没有任何额外背景。就像问:“写一个函数来排序这个列表。”
  • “教科书”考试(LiveCodeBench): 这就像完整的教科书章节。它们包含长篇故事、规则列表、输入输出示例以及具体约束。就像说:“这里有一个关于排序姓名列表的故事。规则如下:名字不能超过 10 个字母,这里是输入示例……"

2. 实验:“破坏”指令

研究人员对这些指令进行了三种方式的有意“变异”,以观察会发生什么:

  • 模糊性(LV): 他们将具体词汇替换为模糊词汇(例如,将“排序”改为“排列”)。
  • 未充分指定(US): 他们删除了特定规则或约束(例如,移除关于数字大小的规则)。
  • 格式混乱(SF): 他们添加了拼写错误或改变了间距。

3. 令人惊讶的结果

结果因 AI 参加的“考试”类型而异:

  • 在“闪卡”考试中: 当研究人员移除细节或使词汇模糊时,AI 的表现崩溃了。就像学生在短测验中因老师移除提示而惊慌失措一样,AI 感到困惑并写出了错误的代码。
  • 在“教科书”考试中: 当他们做同样的事情时,AI 的表现保持不变,或者令人惊讶地变得更好

“净零”错觉:
起初,研究人员认为“教科书”考试中的 AI 根本不在乎这些变化。但仔细观察后,他们发现了一场拔河比赛。

  • 某些变化导致 AI 失败(退化)。
  • 但几乎同等数量的变化使 AI 在之前失败的地方取得了成功(改进)。
  • 这两种力量相互抵消,使得看起来好像什么都没发生。

4. 为什么“少”有时意味着“多”?

论文发现了一个有趣的原因,解释为什么移除规则有时能修复代码。这关乎坏习惯和“线索”

想象 AI 就像一个背熟了特定教科书答案的学生。

  • 陷阱: 有时,提示词中的特定单词或特定数字就像一个“触发器”。它提醒 AI 想起一个看起来正确但实际上不适合该特定问题的记忆化解决方案。
    • 论文中的例子: 一个问题提到了“货币”。这个词触发了 AI 思考金融汇率,导致它使用了一个向后思考的算法。
  • 修复: 当研究人员移除“货币”这个词并用“资源”这样的模糊词替换时,AI 不再触发其“金融记忆”。相反,它被迫从头开始思考问题结构。这导致了正确的解决方案。

换句话说,提示词中的额外细节有时会无意中给 AI 一个“提示”,将其引向错误的道路。移除该提示迫使 AI 正确地完成任务。

5. 主要结论

论文得出结论,鲁棒性不在于 AI 的大小(无论它是小型还是巨型模型);而在于指令是如何构建的

  • 如果你给 AI 一个简短的单句提示,它非常脆弱。如果你搞错了措辞,它就会失败。
  • 如果你给 AI 一个丰富、多层次的提示(包含示例、约束和格式),它的鲁棒性就强得多。如果指令的某一部分令人困惑,它有“备用信号”可以依赖。
  • 关键的是: 有时,过于具体就是一个陷阱。特定的单词或数字可能会无意中“启动”AI 使用一个记忆化但错误的捷径。移除这些具体线索有时能迫使 AI 正确地解决问题。

简而言之: 不要假设完美、详细的提示词总是最好的。有时,稍微模糊一点的提示词会迫使 AI 独立思考,从而避免其自身记忆化习惯的陷阱。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →