论文
通过高效的动态分析为自主调试代理提供支持
Empowering Autonomous Debugging Agents with Efficient Dynamic Analysis
摘要
用于自动程序修复的自主代理代表了软件工程中一个有前途的前沿领域,但其有效性往往因依赖事后、粗粒度的执行反馈而受到阻碍。虽然集成传统的交互式调试器似乎是一个自然的解决方案,但事实证明,它们的低级、逐行交互范例对于基于 LLM 的代理来说成本效率低下,导致预算耗尽和低效循环。为了缓解这一问题,我们引入了以代理为中心的调试接口 (ADI),这是一种新颖的以代理为中心的调试接口,专为经济高效的端到端自主交互而设计。具体来说,以代理为中心的调试接口实现了功能级交互范例,由我们的帧生命周期跟踪、封装函数状态执行跟踪的综合数据结构以及一组高级导航命令提供支持。我们对 SWE-bench 基准的广泛评估证明了 ADI 的有效性和效率。通过简单地为基本代理配备 ADI,它就成功解决了 SWE-bench Verified 集上 63.8% 的任务,甚至略胜于高度优化和高投资的 Claude-Tools 代理,Claude-Sonnet-3.7 的每个任务平均成本为 1.28 美元。此外,我们通过将 ADI 作为即插即用组件集成到现有的 SOTA 代理中来展示 ADI 的通用性,在已解决的任务上提供从 6.2% 到 18.5% 的一致增益。这些结果表明以代理为中心的调试接口可以为现有的自治代理提供通用且有效的增强。