阿里巴巴 LingmaAgent:通过全面仓库探索改进自动化问题解决
Alibaba LingmaAgent: Improving Automated Issue Resolution via Comprehensive Repository Exploration
AI总结:
本文提出阿里巴巴 LingmaAgent,通过知识图谱和蒙特卡洛树搜索全面探索仓库,提升自动化问题解决能力,在 SWE-bench Lite 上相对提升 18.5%,并已开源。
摘要:
本文介绍了阿里巴巴 LingmaAgent,一种新颖的自动化软件工程方法,旨在全面理解并利用整个软件仓库来解决实际问题。LingmaAgent 部署于阿里云开发的基于 IDE 的编码助手通义灵码中,解决了现有基于 LLM 的智能体主要关注局部代码信息的局限性。我们的方法引入了一种自顶向下的方法,将关键仓库信息压缩成知识图谱,以降低复杂性,并采用基于蒙特卡洛树搜索的策略,使智能体能够探索和理解整个仓库。我们引导智能体利用仓库级知识进行总结、分析和规划,使其能够动态获取信息并为真实的 GitHub 问题生成补丁。在大量实验中,LingmaAgent 表现出显著改进,在 SWE-bench Lite 基准上相比 SWE-agent 实现了 18.5% 的相对提升。在阿里云的生产部署和评估中,LingmaAgent 自动解决了开发工程师遇到的 16.9% 的内部问题,并在人工干预后解决了 43.3% 的问题。此外,我们开源了 LingmaAgent 的 Python 原型,供其他工业开发者参考,网址为 https://github.com/RepoUnderstander/RepoUnderstander。事实上,LingmaAgent 已被许多后续智能体作为开发参考。
英文摘要:
This paper presents Alibaba LingmaAgent, a novel Automated Software Engineering method designed to comprehensively understand and utilize whole software repositories for issue resolution. Deployed in TONGYI Lingma, an IDE-based coding assistant developed by Alibaba Cloud, LingmaAgent addresses the limitations of existing LLM-based agents that primarily focus on local code information. Our approach introduces a top-down method to condense critical repository information into a knowledge graph, reducing complexity, and employs a Monte Carlo tree search based strategy enabling agents to explore and understand entire repositories. We guide agents to summarize, analyze, and plan using repository-level knowledge, allowing them to dynamically acquire information and generate patches for real-world GitHub issues. In extensive experiments, LingmaAgent demonstrated significant improvements, achieving an 18.5\% relative improvement on the SWE-bench Lite benchmark compared to SWE-agent. In production deployment and evaluation at Alibaba Cloud, LingmaAgent automatically resolved 16.9\% of in-house issues faced by development engineers, and solved 43.3\% of problems after manual intervention. Additionally, we have open-sourced a Python prototype of LingmaAgent for reference by other industrial developers https://github.com/RepoUnderstander/RepoUnderstander. In fact, LingmaAgent has been used as a developed reference by many subsequently agents.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。