论文

CONTRA:发现并限定行为改变问题,以便在 LLM 代码生成中进行选择性澄清

CONTRA: Discovering and Qualifying Behavior-Changing Questions for Selective Clarification in LLM Code Generation

智能体系统Agent Harness

摘要

编码Agent可以生成看起来正确但实现了用户从未想要的行为的代码。当Agent通过自己的假设默默地解决未指定的需求时,可能会出现这种不匹配。随着后续开发建立在这些假设的基础上,纠正由此产生的行为的成本可能会变得越来越高。及早澄清有助于防止此类不匹配,但不必要的问题可能会打断开发人员并减慢开发速度。现有的方法很难识别关键的澄清问题,同时避免不必要的问题。因此,我们提出了 CONTRA,一种无需训练的方法,它将广泛的问题发现与基于语义和执行的问题限定相结合。 CONTRA 首先生成候选问题,并过滤掉那些与所需行为无关或已由需求解决的问题。对于剩下的每个问题,它都会生成以两个看似合理的答案为条件的程序,并检查共享输入的稳定行为差异。然后,它使用交互历史记录在合格的问题中进行选择或停止询问。 ClarifyCodeBench 上的实验表明,CONTRA 在所有四种编码Agent中均实现了最高的 F1,超出最佳基线宏观平均 F1 13.88 个百分点。通过相同的 LLM 和评估协议,CONTRA 还比编码工具 Claude Code 和 OpenHands 实现了更高的澄清召回率和 F1。为了支持实际使用,我们还将 CONTRA 实现为 Claude Code 插件,将选择性澄清集成到日常开发中。