中文

从 LLM 到编程智能体:为 LLM 提供编译器的影响

软件工程 2026-01-26 v2

摘要

大语言模型在自然语言、程序生成和软件开发方面展现出了卓越的能力。然而,LLM 生成的源代码并不总能满足质量要求,并且可能无法编译。因此,许多研究演变为能够在生成解决方案的源代码之前对问题进行推理的智能体。本文的目标是研究此类智能体在多大程度上受益于对软件开发工具(在我们的案例中为 gcc 编译器)的访问。我们在 RosettaCode 数据集上对 699 个 C 语言编程任务进行了计算实验。我们评估了与编译器的集成如何将语言模型的角色从被动生成器转变为能够基于编译器反馈迭代开发可运行程序的主动智能体。我们评估了 16 个语言模型,其规模从小型(1.35 亿)到中型(30 亿)再到大型(700 亿)不等。我们的结果表明,访问编译器将编译成功率提高了 5.3 到 79.4 个百分点,且不影响生成程序的语义。在智能体表现优于基线的任务中,语法错误下降了 75%,与未定义引用相关的错误下降了 87%。我们还观察到,在某些情况下,配备编译器的小型模型优于配备编译器的大型模型。我们得出结论,LLM 必须能够访问软件工程工具,以提升其性能并减少软件工程中对大型模型的需求,例如降低我们的能源足迹。

关键词

引用

@article{arxiv.2601.12146,
  title  = {From LLMs to Agents in Programming: The Impact of Providing an LLM with a Compiler},
  author = {Viktor Kjellberg and Miroslaw Staron and Farnaz Fotrousi},
  journal= {arXiv preprint arXiv:2601.12146},
  year   = {2026}
}