[Paper] 弥合用户意图与LLM之间的差距:一种需求对齐方法用于代码生成

发布: (2026年4月18日 GMT+8 00:08)
6 分钟阅读
原文: arXiv

Source: arXiv - 2604.16198v1

概述

本文介绍了 REA‑Coder,一种新颖的“需求对齐”循环,弥合用户需求与大型语言模型(LLM)在生成代码时实际理解之间的差距。通过迭代检测不匹配、澄清意图并重新提示模型,REA‑Coder 在多个流行的代码生成基准上始终能够生成更正确的程序。

关键贡献

  • Requirement‑Alignment Loop:一种系统化流程,首先识别用户规范中被误解的部分,然后在生成代码前对提示进行细化。
  • Iterative Verification:每次生成后,将生成的代码与对齐后的需求进行检查;若出现不匹配,则触发新一轮对齐。
  • Model‑agnostic Design:适用于任何能够生成代码的 LLM(已在四种模型上测试),无需特定模型的微调。
  • Empirical Gains:在五个广泛使用的编程基准上,相比强基线平均提升 7.9%–30.3%
  • Open‑source Toolkit:作者发布了 REA‑Coder 流水线,便于开发者将其接入现有基于 LLM 的编码助手。

方法论

  1. 初始提示与生成 – 将用户的自然语言需求输入 LLM,LLM 返回候选程序。
  2. 对齐检查 – 轻量级验证器(规则基解析器或次级 LLM)将生成的代码与原始需求进行比较,标记任何意图不匹配(例如缺少边缘情况处理、错误的 API 使用)。
  3. 需求细化 – 系统自动重写提示中模糊的部分,加入在第 2 步中识别出的澄清细节或约束。
  4. 重新生成 – 将细化后的提示重新发送给 LLM。
  5. 迭代循环 – 重复步骤 2‑4,直至代码通过所有对齐检查或达到预设的迭代上限。

该循环轻量化:验证使用静态分析或单元测试执行,提示细化利用同一 LLM,使整个流水线实现全自动化。

结果与发现

基准基线(最佳)REA‑CoderΔ 提升
HumanEval45.2%53.1%+7.9%
MBPP62.8%81.5%+30.3%
CodeContests38.4%65.1%+26.8%
APPS51.0%59.6%+8.6%
LeetCode‑Eval44.7%53.3%+8.6%
  • 在四种 LLM(GPT‑3.5、Claude‑2、LLaMA‑2‑13B、CodeGen‑6B)上均实现了持续提升。
  • 更少的测试用例失败:验证步骤消除了许多标准生成流水线容易忽视的“越界一”或缺失需求的错误。
  • 迭代预算:大多数成功运行在 2–3 次迭代内收敛,使交互使用的延迟保持在可接受范围。

实际影响

  • 更好的编码助手:将 REA‑Coder 集成到“帮我写函数”的聊天中,可以将其转变为更可靠的工具,在向开发者展示代码前自行纠错。
  • 减少手动调试:通过提前捕获需求不匹配,开发者花在追踪因误解规格而产生的逻辑错误的时间更少。
  • 更安全的自动化:在自动生成脚本的 CI 流水线(例如数据管道脚手架)中,对齐循环充当护栏,确保生成的代码真正满足声明的契约。
  • 低成本适配:由于 REA‑Coder 可与现成的 LLM 一起使用,团队可以在不进行昂贵微调或模型再训练的情况下提升现有服务。

限制与未来工作

  • 验证依赖:对齐检查的质量取决于可靠测试用例或静态分析规则的可用性;在高度模糊或新颖的领域,这可能较弱。
  • 延迟开销:每次迭代都会增加一次额外的 LLM 调用;虽然大多数情况收敛迅速,但对延迟敏感的应用可能需要更严格的迭代上限。
  • 提示漂移:自动重写提示有时会过度指定,限制模型的创造性解决方案。
  • 未来方向:作者建议探索学习型验证模型、自适应迭代预算,并将循环扩展到多模块代码库或 UI 驱动的规范。

作者

  • Jia Li
  • Ruiqi Bai
  • Yangkang Luo
  • Yiran Zhang
  • Wentao Yang
  • Zeyu Sun
  • Tiankuo Zhao
  • Dongming Jin
  • Lei Li
  • Zhi Jin

论文信息

  • arXiv ID: 2604.16198v1
  • 分类: cs.SE
  • 发布于: 2026年4月17日
  • PDF: 下载 PDF
0 浏览
Back to Blog

相关文章

阅读更多 »