摘要
arXiv:2502.13681v1 Announce Type: cross
摘要:环境配置是软件开发中的一个关键但耗时的步骤,特别是在处理不熟悉的代码仓库时更为复杂。虽然大规模语言模型(LLMs)展示了完成软件工程任务的潜力,但当前的环境配置方法往往依赖于手动努力或脆弱的脚本,导致效率低下和不可靠的结果。我们介绍了Repo2Run,这是第一个基于LLM的代理,旨在完全自动化环境配置,并为任意Python仓库生成可执行的Dockerfile。我们解决的两个主要挑战是:(1) 让LLM代理能够在隔离的Docker容器中配置环境,以及(2) 确保配置过程的成功记录,并且准确地转移到Dockerfile中,避免错误。为了实现这一目标,我们提出了原子配置合成,其特点是一个双重环境架构(内部和外部环境),具有回滚机制以防止因失败命令而导致的环境“污染”,保证原子执行(全部执行或完全不执行),以及一个Dockerfile生成器,将成功的配置步骤转换为可运行的Dockerfile。在我们提出的包含420个带有单元测试的近期Python仓库基准测试中,Repo2Run实现了86.0%的成功率,优于最佳基线63.9%。