← 最新论文
🤖 AI

PromptPex: Automatic Test Generation for Language Model Prompts

本文介绍了 PromptPex,一种基于大语言模型(LLM)的工具,它能够自动从提示词中提取规范,以生成并评估多样化的单元测试,从而比现有的基准方法更准确地识别回归问题和模型特有的漏洞。

原作者: Reshabh K Sharma, Jonathan De Halleux, Shraddha Barke, Dan Grossman, Benjamin Zorn

发布于 2026-02-09
📖 1 分钟阅读☕ 轻松阅读

原作者: Reshabh K Sharma, Jonathan De Halleux, Shraddha Barke, Dan Grossman, Benjamin Zorn

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

想象一下,你为一位机器人厨师写了一套非常具体的指令。你告诉机器人:“读一下这个句子,找到‘apple’这个词,并告诉我它是名词还是动词。但有个限制:只能输出‘noun’或‘verb’。不要添加任何多余的废话,不要说‘这是答案’,也不要进行任何解释。”

在软件世界中,这种指令被称为提示词(Prompt)。就像代码一样,提示词被用于构建应用程序。但与每次都在特定计算机上以相同方式运行的传统代码不同,提示词是在“大语言模型”(LLMs)上运行的——可以将它们想象成拥有不同个性的不同厨师。一个厨师(模型 A)可能会完美地执行你的指令。而另一个厨师(模型 B)可能会感到困惑,并说:“答案是:名词,因为苹果是一种水果。”

这种差异给开发者带来了头疼的问题。如果他们更换了厨师(切换模型)或者稍微调整了指令,机器人可能会开始输出错误的格式,从而导致整个应用程序崩溃。

走进 PromptPex:“提示词检测员”

这篇论文介绍了一个名为 PromptPex 的工具。你可以把 PromptPex 想象成一个超级智能、自动化的质量控制检测员,它能帮助你在雇佣新厨师之前,先测试你的指令。

以下是它的工作原理,我们使用一个简单的类比:

1. “规则手册”提取

首先,PromptPex 会阅读你杂乱的自然语言指令,并将其转化为一份严格的、要点式的规则手册(Rulebook)

  • 你的提示词: “仅返回标签。如果无法做到,请说‘Unknown’。”
  • PromptPex 的规则手册:
    1. 输出必须包含标签(不得有额外词汇)。
    2. 如果单词无法标记,输出必须是“Unknown”。

它通过要求一个非常先进的 AI 来审视你的提示词,并询问:“好的,这里的硬性规则是什么?”以此来实现这一过程。这有助于开发者了解其指令是否真正清晰,或者是否存在歧义(例如前面提到的“名词 vs. 解释”的混淆问题)。

2. “压力测试”生成器

一旦拥有了规则手册,PromptPex 就会变成一个调皮的测试工程师。它不仅仅是要求机器人厨师做一道正常的菜;它还会试图诱骗厨师去违反规则。

  • “正常”测试: 它要求一个标准的句子。
  • “反向”测试: 这是最聪明的部分。PromptPex 在脑海中创建了一个“反向规则”。如果规则是“仅给我标签”,那么反向规则就是“给我标签加上一段长篇解释”。然后,它会生成一个旨在观察厨师是否会意外遵循“错误规则”的测试用例。

它创建了数百个这类棘手的场景,确保测试输入仍然是有效的(例如真实的句子),但旨在暴露弱点。

3. “裁判”

最后,PromptPex 在不同的 AI 模型(不同的厨师)上运行这些测试。然后,它使用另一个 AI 作为“裁判”来查看结果。

  • 厨师遵守规则手册了吗?
  • 它是否添加了多余的废话?
  • 它是否在应该说“Unknown”时未能做到?

目标不是看厨师是否“聪明”;目标是看这个厨师是否服从了规则。如果厨师测试失败,PromptPex 就会标记它。

为什么这很重要?

论文在四种不同的 AI 模型上对 22 个不同的提示词进行了测试。他们将 PromptPex 与一个仅仅尝试在没有严格规则手册的情况下猜测优秀测试案例的标准 AI 进行了对比。

结果显示:

  • PromptPex 更擅长发现错误。 它生成的测试用例能够让 AI 模型更频繁地违反规则,其效果远好于标准工具。
  • 它揭示了模型的差异。 它清晰地展示了某些模型在遵循严格指令方面表现得更好。例如,某个模型可能擅长处理“词性标注”任务,而另一个模型可能在这方面经常失败。
  • 它帮助开发者修复提示词。 通过展示指令在何处存在歧义(例如:“模型认为可以添加解释,是因为你没有明确禁止它”),它能帮助开发者重写出更清晰的提示词。

核心结论

PromptPex 就像是一个逻辑拼写检查器。它不仅检查拼写错误,还检查你的指令是否足够清晰,以便被不同的、不可预测的 AI 大脑所遵循。它帮助开发者确保,当他们从一个 AI 模型切换到另一个 AI 模型时,他们的应用程序不会因为新模型对模糊指令的理解不同,而突然开始输出垃圾信息。

作者发现,通过将模糊的指令转化为严格的“规则手册”,并随后对这些规则进行压力测试,他们能够比通过猜测捕捉到更多的 Bug,并更好地理解他们的 AI 工具。

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

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

试用 Digest →