Agent4SE-Paper-List
复旦大学发布的大模型智能体软件工程综述,涵盖124篇论文,系统梳理LLM Agents在需求、编码、测试、调试等SE全生命周期的应用图谱
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
复旦大学发布的大模型智能体软件工程综述,涵盖124篇论文,系统梳理LLM Agents在需求、编码、测试、调试等SE全生命周期的应用图谱
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2024年,一位来自上海的资深开发者在 Reddit 上分享了他的经历:他所在团队的代码审查工作,在引入大模型智能体工具后,效率提升了近三倍。这位开发者在帖子末尾写道:"我用了五年时间积累的代码审查经验,AI 只用了几周就学会了。更可怕的是,它从不疲惫,从不情绪化。"这条帖子在 48 小时内获得了超过 3000 个赞,评论区分化成两派:一派认为 AI 将彻底取代软件工程师;另一派则认为 AI 只是工具,关键仍在于人。
这两种截然不同的声音,实际上都指向了同一个事实——大模型智能体(LLM-based Agents)正在深刻重塑软件工程的每一个环节。而复旦大学 SELab 实验室发布的这篇 Survey 论文及其配套资源库,正是目前该领域最系统、最全面的知识地图。
传统的软件工程研究长期聚焦于静态分析、自动化测试等单一任务。然而,随着 GPT-4、Claude、Llama 等大语言模型的能力跃升,研究者们开始思考一个更具野心的命题:能否让大模型不仅能写代码,还能像真正的软件工程师一样,感知环境、使用工具、协作分工、持续迭代?
复旦大学 SELab 团队正是这一命题的系统性解答者。该团队由软件工程领域知名学者 Lingming Zhang(张黎明)领衔,汇聚了 Junwei Liu、Kaixin Wang、Yixuan Chen、Xin Peng、Zhenpeng Chen、Yiling Lou 等多位研究者。论文于 2024 年 9 月在 arXiv 发布(arXiv:2409.02977),至今已被多个顶级会议引用。该资源库自 2024 年 8 月上线以来,已获得超过 540 颗 GitHub Stars,持续更新至今。
论文的核心贡献在于:团队从软件工程视角和智能体视角两个维度,对超过 120 篇相关工作进行了系统性梳理,构建了一个理解 LLM-based Agents 在软件工程中应用的完整框架。
图1:LLM-based Agents 的基本结构——感知、规划、行动三环协同
论文将 LLM Agents 在软件工程中的应用划分为六个主要阶段,每个阶段都有代表性的研究与实践:
1. 需求工程(Requirements Engineering)
传统需求工程依赖人工与用户的反复沟通,效率低下且容易引入误解。LLM Agents 通过自然语言理解能力,可以从用户的模糊描述中提取结构化需求,甚至通过多轮对话主动澄清歧义。一些研究已经展示了 LLM Agents 如何自动生成 UML 图表、需求文档草稿,大幅缩短需求分析周期。
2. 代码生成(Code Generation)
这是 LLM Agents 渗透最深的领域。从早期的单点补全(如 GitHub Copilot),演进到如今的端到端代码生成系统(如 AutoSafeCoder、CodePilot)。关键区别在于:传统补全工具只能响应当前光标位置,而 Agent 架构的系统能够理解整个代码仓库的上下文,实现跨文件的语义一致生成。
3. 静态代码检查(Static Analysis)
静态分析工具(如 Infer、SonarQube)传统上依赖规则引擎,需要专家人工编写规则。LLM Agents 的引入让系统能够理解代码的语义和意图,自动发现规则引擎无法覆盖的复杂逻辑缺陷。例如,AutoSafeCoder 项目结合静态分析与模糊测试,对 LLM 生成的代码进行安全审计,有效降低了 AI 代码的安全风险。
4. 软件测试(Testing)
测试用例生成一直是软件工程中成本最高的环节之一。LLM Agents 能够理解被测代码的功能意图,自动生成具有语义多样性的测试用例。更进一步,多智能体协作框架(如 XUAT-Copilot)甚至可以模拟用户验收测试的全流程,实现从测试生成到执行报告的端到端自动化。
5. 调试与修复(Debugging)
LLM Agents 在调试领域的突破在于其对复杂调用栈的理解能力。通过结合代码知识图谱和执行轨迹分析,Agent 能够定位跨模块的隐性 Bug,并生成上下文感知的修复建议,相比传统 LLM 的单轮输出具有显著优势。
6. 软件开发与维护(Development & Maintenance)
这是最激动人心的前沿:让多个 LLM Agent 组成协作团队,共同完成一个完整的软件开发任务。例如 Self-Organized Agents 框架展示了如何让多个 Agent 自主分工、自我协调,实现超大规模代码的生成与优化。
图2:LLM Agents 在软件工程全生命周期各阶段的应用任务全景图
论文的另一条主线是从智能体架构角度分析现有工作:
单智能体系统:以 ReAct、Reflexion 为代表,通过"思考-行动-观察"循环让单个 LLM 持续迭代完成复杂任务。这类系统架构简单,但受限于单一模型的上下文窗口和推理能力。
多智能体协作系统:以 AutoGen、CAMEL 为代表,多个专业化的 Agent 角色(代码生成者、审查者、测试者)通过结构化通信协议协作完成端到端任务。多智能体架构突破了单模型的瓶颈,能够处理更复杂的系统工程问题。
人类-智能体交互:在实际软件工程场景中,人类工程师的角色不可或缺。论文详细讨论了如何设计有效的人机协作模式,包括人类如何提供反馈、如何干预 Agent 决策、如何在自动化与人工审核之间取得平衡。
图3:多智能体协作系统的典型工作模式——角色分工、消息传递、集体决策
这个 GitHub 资源库的价值远不止于存放论文 PDF。作者将 102.6KB 的 README 打造成了动态更新的知识图谱,内容涵盖:
README 中引用的图表(如 Agent 基本结构图、软件工程任务分类图、多智能体协作模式图)均存放在 assets/ 目录下,可以直接引用。
图4:人类与 LLM Agent 在软件工程中的人机协作模式
这是目前唯一一份从软件工程全生命周期视角系统梳理 LLM Agents 工作的 Survey。与其他泛化的 LLM Agent Survey 不同,本文的分析紧密围绕软件工程的专业场景,对需求工程、代码生成、测试、调试等每个环节都进行了深入讨论。此外,论文对多智能体协作系统的系统梳理,对于正在研究 Agent 协作协议、任务分解策略的研究者具有直接参考价值。
对于正在考虑将 LLM Agent 引入开发流程的工程团队而言,这份 Survey 提供了一个全景式的技术地图。它帮助工程师理解当前工具的能力边界,识别哪些任务已经成熟可用(如代码补全、测试生成),哪些仍处于实验阶段(如自主调试、端到端开发)。资源库中整理的工具与框架索引也可以直接作为选型参考。
LLM + 软件工程是一个正在爆发的赛道。从 Codeium 到 Cursor,从 GitHub Copilot 到 Devin,这个领域的竞争正在加速。这份 Survey 帮助创业者理解当前技术前沿的全貌,识别尚未被充分解决的核心问题,从而找到差异化的切入点。
论文诚实地讨论了当前领域的核心挑战:
该项目为纯论文列表资源库,无需安装任何软件:
大模型智能体正在软件工程领域掀起一场静默的革命。这场革命不同于以往任何一次工具升级——它不仅仅是让人类工程师"更高效",而是开始重塑软件开发的本质:人机协作的边界在哪里?代码的所有权属于谁?当 AI 能够自主完成整个开发流程时,工程师的核心价值将转向何方?
复旦大学 SELab 的这份 Survey,不是终点,而是起点。它为整个行业提供了一个共同的知识基线,让研究者、工程师、创业者能够在同一个框架下对话、争论、推进这个领域的边界。无论你是 AI 爱好者还是专业开发者,这都值得花时间深入了解。