中文

ClarifyGPT:通过意图澄清增强基于 LLM 的代码生成

软件工程 2023-10-18 v1

摘要

我们引入一种名为 ClarifyGPT 的新框架,旨在通过赋予大语言模型(LLM)识别模糊需求并提出针对性澄清问题的能力来增强代码生成。具体而言,ClarifyGPT 首先通过代码一致性检查来检测给定需求是否模糊。若模糊,ClarifyGPT 提示 LLM 生成针对性澄清问题。收到问题答复后,ClarifyGPT 精炼模糊需求并将其输入同一 LLM 以生成最终代码解。为评估 ClarifyGPT,我们首先开展涉及十名参与者的人评,让其在两个公开基准 MBPP-sanitized 与 MBPP-ET 上使用 ClarifyGPT 生成代码。结果显示,在 MBPP-sanitized 上,ClarifyGPT 将 GPT-4 的性能(Pass@1)从 70.96% 提升至 80.80%。此外,为在不同 LLM 与基准上大规模自动评估 ClarifyGPT 而无需用户参与,我们引入一种高保真仿真方法以模拟用户答复。自动评估结果同样表明,相较基线,ClarifyGPT 能显著提升代码生成性能。特别地,ClarifyGPT 将 GPT-4 与 ChatGPT 在四个基准上的平均性能分别从 68.02% 提升至 75.75%、从 58.55% 提升至 67.22%。我们相信 ClarifyGPT 能有效促进 LLM 在真实开发环境中的实际应用。

关键词

引用

@article{arxiv.2310.10996,
  title  = {ClarifyGPT: Empowering LLM-based Code Generation with Intention Clarification},
  author = {Fangwen Mu and Lin Shi and Song Wang and Zhuohao Yu and Binquan Zhang and Chenxue Wang and Shichao Liu and Qing Wang},
  journal= {arXiv preprint arXiv:2310.10996},
  year   = {2023}
}