science 论文大模型与智能体其他2024-09

面向软件工程的大模型智能体综述

arXiv 2409.02977 公开PDF,服务智能体/软件工程方向补强。

发布时间
2024-09
link 原始页面

notes 内容介绍

大模型被直接用于软件开发任务已经有一段时间,但「把大模型当作智能体的核心控制器」是一个相对新的转折。这份 2024 年 9 月发布的综述要回答的问题是:当 LLM 不再是单次调用的模型,而是配上规划、记忆、感知和行动能力、能调用外部资源和工具、甚至能多智能体协作的实体之后,它在软件工程里被怎么用、被怎么设计。作者在摘要中给出的判断是,相比独立的 LLM,这类智能体显著扩展了大模型的能力边界;而多智能体之间的协同以及与人的交互,让更复杂的真实软件工程问题有了被处理的可能。现在值得看的原因在于,这个方向已经从零散尝试进入需要盘点的阶段,材料本身也把它定位为对该子领域的系统性梳理。

覆盖范围是明确划定的:作者收集了 124 篇论文,并从两个视角进行分类。第一个是软件工程视角,按开发与维护活动展开,包括需求工程、代码生成、静态代码检查、测试、调试、IT 运维,以及端到端的软件开发与端到端软件维护。第二个是智能体视角,先分析基础 LLM 与智能体的关键组件——规划、记忆、感知、行动,再往上分析多智能体系统,涉及智能体角色、协作机制、信息流、真实应用与人机协作。也就是说,同一批文献被切了两次:一次看它解决什么工程问题,一次看它的智能体是怎么搭起来的。

在智能体视角这一侧,材料给出的组件划分是四件套:规划、记忆、感知、行动。规划负责把复杂任务拆成若干子任务并调度,且可以走两条路——用不同的推理策略先生成一个初始计划,或者借助外部反馈(环境反馈、人的反馈)去调整已经生成的计划。记忆负责记录智能体执行过程中产生的历史思考、行动和环境观察,让智能体能够回溯并复用此前的记录与经验。材料把规划与记忆描述为由 LLM 控制的大脑的关键部分,它通过感知与行动两个组件同环境交互以达成目标。换句话说,这套框架关心的不是模型输出一次对不对,而是它能不能带着上下文和工具反复推进。

从软件工程视角看,材料提供的信息偏向分类而非量化排名:它没有给出各类任务的论文数量分布,也没有给出效果对比的具体指标。可核实的数字只有 124 篇这个文献规模。作者列出的贡献有三条——对应用 LLM 智能体于软件工程的 124 篇论文做了全面综述;从软件工程与智能体两个视角分析了现有智能体如何被设计和应用;讨论了该领域的研究机会与未来方向。此外,综述配有公开的论文列表仓库(FudanSELab/Agent4SE-Paper-List),可作为持续跟踪的索引。这里需要说明的是,上述分类与组件描述属于作者的框架性归纳,具体到某一类任务上智能体是否真的优于其他方案,材料并未给出结论。

把这些放在一起,实践上的含义大致有两点,属于解读而非材料原话。其一,如果一个团队想在大模型之上做工程任务自动化,这份综述提供的抓手是组件视角:先问规划、记忆、感知、行动各自怎么设计,再问是多智能体还是人机协作,而不是只盯着换更强的基座模型。其二,多智能体协同与人机交互被作者单独提出,说明复杂真实任务被期待通过分工与反馈来解决,而不是靠单次生成长文本。反过来说,如果你的场景是单一、边界清晰的小任务,这套智能体框架的复杂度未必划算,材料也没有主张它普适。

适合读的人是正在做或准备做 LLM 智能体落地软件工程的研究者与工程师,以及需要为该方向做技术盘点、梳理文献脉络的人。读完能拿走的是一张双层地图:按软件工程活动定位问题,按智能体组件定位设计,加上 124 篇文献的入口和一份公开列表仓库。边界也要讲清楚:材料只是综述摘要与引言部分,正文细节、各类方法的实验数据和对比结论都未包含在这里;124 篇是作者的收集规模,不代表该领域文献的全集;文中提到的人类反馈、环境反馈等机制停留在框架描述层面,没有展开实现细节。因此它更适合作为盘点的起点和分类参照,而不是选型依据。

format_quote 原文摘录

自动提取自 PDF

SEPTEMBER 2024 1 Large Language Model-Based Agents for Software Engineering: A Survey Junwei Liu, Kaixin Wang, Yixuan Chen, Xin Peng, Zhenpeng Chen, Lingming Zhang, Yiling Lou Abstract—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. T o 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.