论文

SetupX:LLM 代理能否从功能正确的代码存储库设置中过去的失败中吸取教训?

SetupX: Can LLM Agents Learn from Past Failures in Functionality-Correct Code Repository Setup?

上下文与知识记忆Agent记忆

摘要

功能正确的存储库设置旨在配置执行环境(例如,依赖项、构建脚本)以成功执行存储库的记录功能。由于各种特定于存储库的故障,包括依赖项不兼容、工具链缺失、安装不完整和验证策略不匹配,它带来了重大挑战。现有的 LLM 代理很难稳健地解决这些问题,特别是无法支持(1)跨存储库经验传输,(2)不可逆状态更改下的多步骤试验和修复,以及(3)对设置结果的稳健验证以区分设置引起的故障和存储库错误。为了解决这个问题,我们引入了SetupX,一个基于体验式学习的设置框架。首先,我们构建了一个自我进化的体验表示(XPU),这是一个双模态知识单元,编码设置信号、文本指导、可执行操作,以将经过验证的环境修复动态传输到看不见的存储库。其次,我们采用由 LIFO Docker 快照堆栈支持的体验增强推测执行,使代理能够主动尝试修复并安全回滚到已知的良好状态。第三,我们引入了检察官-法官验证协议,将证据收集与最终判决分开,从而超越表面的构建时间指标,实现更可靠的设置验证。精心设计的基准测试的评估结果显示,SetupX 实现了最高性能(例如 92% 的通过率),并且比最强基准高出 19% 以上。至关重要的是,SetupX 擅长复杂的多存储库设置,需要协调不同容器之间的多个互连服务。代码存储库位于 https://github.com/OpenDataBox/SetupX。