论文

失败前钉住决策:AI辅助代码生成中欠规定选择的可执行记录

Pinning Decisions Before Failure: Executable Records of Underspecified Choices in AI-Assisted Code Generation

摘要

自然语言需求会留下悬而未决的问题,被要求实现它的模型会静默地解决它们:三个模型的600个生成测试套件中42.7%不含区分相互竞争解读的测试。实现前写验收示例是通常补救,但两个解读都满足的示例什么也解决不了。我们在该实践中插入两步:按名称枚举需求的欠规定点;再对每点构造两个只在该点上不同的临时实现,仅当执行两者显示分歧时保留候选输入。结果记录为决策钉:命名的点、确认的输入、以及在两个展示结果之间人选择的值。同一记录随后约束生成并以执行判定合规。在40任务、配对参照实现、两模型的基准上:92.5%的决策点获得区分输入、85-90%获得识别意图决策的钉。作为703个独立生成实现的检查,钉与基准分类一致96-97%(三任务分歧,其中一处两个分类器都出错)。作为生成约束,钉在全部210次生成中的钉定输入上被遵守,且在38个格中于留出输入上不逊于散文规则(尽管也不更好——散文声明同样范围时)。散文规则下的每次合规失败都源于模型自行决定规则的范围;其中一个案例静默推翻了另一记录决策,经双模型留一归因于单一规则,被文本级和解漏掉而被重放记录输入捕获。该设置产生的此类冲突太少而无法评估回归步骤,我们说明了原因。