Large Language Model-Based Agents for Software Engineering: A Survey
作者: Junwei Liu, Kaixin Wang, Yixuan Chen, Xin Peng, Zhenpeng Chen, Lingming Zhang, Yiling Lou
分类: cs.SE, cs.AI
发布日期: 2024-09-04 (更新: 2025-12-03)
备注: Accepted by TOSEM
🔗 代码/项目: GITHUB
💡 一句话要点
综述:基于大型语言模型的软件工程智能体
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 软件工程 智能体 自动化 人机交互
📋 核心要点
- 现有软件工程方法在处理复杂问题时存在局限性,难以充分利用外部资源和工具。
- 论文核心在于利用LLM构建智能体,赋予其感知和利用外部资源的能力,从而提升软件工程效率。
- 通过对124篇相关论文的系统性分析,总结了该领域的研究现状、挑战和未来发展方向。
📝 摘要(中文)
大型语言模型(LLM)的最新进展催生了一种新的AI智能体范式,即基于LLM的智能体。与独立的LLM相比,基于LLM的智能体通过增强LLM感知和利用外部资源和工具的能力,极大地扩展了LLM的多功能性和专业性。目前,基于LLM的智能体已被应用于软件工程(SE)领域,并显示出显著的有效性。多个智能体之间的协同以及人机交互为解决复杂的现实世界SE问题带来了进一步的希望。本文对基于LLM的SE智能体进行了全面而系统的综述。我们收集了124篇论文,并从SE和智能体两个角度对其进行分类。此外,我们还讨论了这个关键领域中存在的开放性挑战和未来发展方向。本综述的仓库地址为https://github.com/FudanSELab/Agent4SE-Paper-List。
🔬 方法详解
问题定义:当前软件工程领域面临着日益复杂的任务,传统的软件开发方法在自动化、智能化方面存在瓶颈。现有的方法难以有效地利用外部知识库、工具和API,导致开发效率低下,质量难以保证。此外,如何实现人机协同,充分发挥人类专家的经验和LLM智能体的优势,也是一个亟待解决的问题。
核心思路:该综述的核心思路是系统性地梳理和分析基于LLM的智能体在软件工程领域的应用。通过将LLM与外部资源和工具相结合,构建具有感知、规划和执行能力的智能体,从而实现软件工程任务的自动化和智能化。这种方法旨在弥合LLM与实际软件开发环境之间的差距,提升软件开发的效率和质量。
技术框架:该综述的技术框架主要包括两个视角:软件工程视角和智能体视角。从软件工程视角出发,将LLM智能体的应用划分为需求分析、代码生成、测试、缺陷修复等不同的任务。从智能体视角出发,则关注智能体的架构、规划能力、工具使用能力以及人机交互等方面。通过对这两个视角的综合分析,可以全面了解LLM智能体在软件工程领域的应用现状和发展趋势。
关键创新:该综述的关键创新在于其系统性和全面性。它不仅收集了大量的相关论文,而且从多个角度对这些论文进行了分类和分析。此外,该综述还深入探讨了该领域存在的开放性挑战和未来发展方向,为研究人员提供了有价值的参考。
关键设计:该综述的关键设计在于其分类体系。通过从软件工程和智能体两个视角对论文进行分类,可以更清晰地了解LLM智能体在不同软件工程任务中的应用情况,以及不同智能体架构和技术路线的优缺点。此外,该综述还关注了人机交互的设计,强调了人类专家在LLM智能体辅助下的作用。
🖼️ 关键图片
📊 实验亮点
该综述收集了124篇相关论文,并对其进行了系统性的分类和分析,全面展示了基于LLM的智能体在软件工程领域的应用现状。该综述还指出了该领域存在的开放性挑战和未来发展方向,为研究人员提供了重要的参考。
🎯 应用场景
该研究成果可应用于软件开发的各个阶段,包括需求分析、代码生成、测试和维护等。通过利用LLM智能体,可以显著提高软件开发的效率和质量,降低开发成本。未来,随着LLM技术的不断发展,基于LLM的软件工程智能体将在软件开发领域发挥越来越重要的作用。
📄 摘要(原文)
The recent advance in Large Language Models (LLMs) has shaped a new paradigm of AI agents, i.e., LLM-based agents. Compared to standalone LLMs, LLM-based agents substantially extend the versatility and expertise of LLMs by enhancing LLMs with the capabilities of perceiving and utilizing external resources and tools. To date, LLM-based agents have been applied and shown remarkable effectiveness in Software Engineering (SE). The synergy between multiple agents and human interaction brings further promise in tackling complex real-world SE problems. In this work, we present a comprehensive and systematic survey on LLM-based agents for SE. We collect 124 papers and categorize them from two perspectives, i.e., the SE and agent perspectives. In addition, we discuss open challenges and future directions in this critical domain. The repository of this survey is at https://github.com/FudanSELab/Agent4SE-Paper-List.