中文

试点 Copilot、Codex 与 StarCoder2:高温、冷提示还是黑魔法?

软件工程 2025-09-09 v3 计算与语言 编程语言

摘要

语言模型是解决日益复杂问题的有前景的方案。在软件工程中,它们最近在代码助手中引起了关注,这些助手根据自然语言任务描述(提示)生成程序。它们具有节省时间和精力的潜力,但目前仍缺乏深入理解,限制了其最佳使用。在本文中,我们研究了输入变化对语言模型两种配置的影响,重点关注任务描述、周围上下文、模型创造力和生成解决方案数量等参数。我们设计了特定的算子来修改这些输入,并将它们应用于三个基于 LLM 的代码助手(Copilot、Codex、StarCoder2)以及代表算法问题的两个基准测试(HumanEval、LeetCode)。我们的研究考察了这些变化是否显著影响程序质量,以及这些效果如何在不同模型间泛化。结果表明,改变输入参数可以大幅提高性能,在单次生成中实现了高达 79.27% 的成功率,而 Codex 和 Copilot 在默认设置下的成功率分别为 22.44% 和 31.1%。由于我们研究中复杂的相互作用——温度、提示和生成解决方案数量的最佳设置因问题而异,在实践中发挥这一潜力具有挑战性。使用 StarCoder2 复现我们的研究证实了这些发现,表明它们并非特定于某个模型。我们还发现了一些令人惊讶的行为(例如,完全移除提示可能有效),揭示了模型的脆弱性及改进空间。

关键词

引用

@article{arxiv.2210.14699,
  title  = {Piloting Copilot, Codex, and StarCoder2: Hot Temperature, Cold Prompts, or Black Magic?},
  author = {Jean-Baptiste Döderlein and Nguessan Hermann Kouadio and Mathieu Acher and Djamel Eddine Khelladi and Benoit Combemale},
  journal= {arXiv preprint arXiv:2210.14699},
  year   = {2025}
}

备注

53 pages, 3 Figures (not counted the subfigures), 16 Tables