LLM智能体在仓库级代码编译中的应用:CompileAgent的工作与潜力
在软件开发流程中,代码编译是不可或缺的一环。面对日益增长的开源项目规模和复杂性,手动进行仓库级编译往往伴随着效率低下和错误频发的问题。如何有效应对环境配置、依赖管理及编译错误等挑战,是当前自动化软件分析领域的一个重要课题。今天,我们很高兴向大家介绍一项由奇安信星图实验室和中国科学技术大学共同参与的研究项目——CompileAgent,这项工作已成功中稿ACL 2025!它是一个基于大型语言模型(LLM)的智能体框架,旨在探索仓库级代码编译的自动化方案。 与简单的单文件编译不同,对整个代码仓库进行编译涉及复杂的构建配置和多文件间的相互依赖。开发者们在这一过程中常遇到诸多难题,例如查找准确的编译指令、处理依赖冲突、解决环境不匹配以及代码兼容性问题等。这些挑战使得自动化编译成为一个复杂且有待深入探索的领域。 受到LLM在自动化复杂任务方面应用前景的启发,我们提出了CompileAgent——首个专为仓库级代码编译任务设计的LLM智能体框架。它旨在通过模拟开发者的编译工作流,自主地搜索编译指令并解决编译过程中出现的错误。 CompileAgent的关键组成: CompileAgent集成了五种工具和一个流式代理策略,主要通过以下两个核心模块协同工作: CompileAgent遵循一种流式代理策略,该策略定义了工具的使用顺序,并通过提示词实现工具间的无缝衔接。 我们构建了CompileAgentBench,一个包含100个C/C++项目的仓库级编译基准,使用七个主流LLM驱动CompileAgent进行了评估。实验结果显示了CompileAgent的有效性: 成本效益: 平均每个项目的编译成本约为0.22美元。 CompileAgent的实践经验表明,LLM智能体在处理复杂的软件工程任务方面具有潜力。这项工作在多个领域提供了启发意义: CompileAgent的工作为LLM在真实世界软件工程领域的应用打开了新的视角。我们期待它能在未来的自动化开发实践中发挥更大的作用。 实际上,CompileAgent在我们先前发布的ReCopilot项目的数据构建过程中起到了重要作用。我们使用它自动化编译了上百个开源项目,构建了9,733个 artifact-level 二进制文件,节省了约7人天的枯燥劳动时间,模型推理开销仅约100元人民币。 「ReCopilot由奇安信技术研究院星图实验室研发, 是一个基于大模型的二进制程序分析辅助系统,利用人工智能增强逆向工程工作流程,为人类逆向工程师提供帮助以提升效率。公开Demo:https://tqgpt.qianxin.com/recopilot 」 想了解更多技术细节?欢迎阅读我们的学术论文或访问项目主页: 感谢您的阅读,期待CompileAgent能为您的研究带来启发!仓库级编译的挑战
CompileAgent:一个LLM驱动的仓库级自动化编译框架

实验效果

讨论与未来潜力
实践应用
更多参考

