新闻中心

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

2024-09-13
浏览次数:
返回列表
面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

aixiv专栏是本站发布学术、技术内容的栏目。过去数年,本站aixiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

本篇综述的作者包括来自复旦大学 CodeWisdom 团队的研究生刘俊伟、王恺欣、陈逸轩和彭鑫教授、娄一翎青年副研究员,以及南洋理工大学的陈震鹏研究员和伊利诺伊大学厄巴纳 - 香槟分校(UIUC)的张令明教授。

自从首个全自动 AI 软件工程师 Devin 问世以来,面向软件工程的 AI 智能体广受关注、层出不穷,例如最近的 Genie、Replit、Cursor 等,它们正在对传统软件开发的范式产生着深刻影响。基于大模型的 AI 智能体(LLM-based Agents,后简称 Agent)通过增强推理、记忆、规划以及使用拓展工具的能力,极大地提升了大模型解决复杂软件开发维护任务的能力,为进一步实现自动化、智能化的软件开发提供了新思路。AI 智能体正在成为软件工程领域的研究新热潮。

复旦大学 CodeWisdom 团队联合南洋理工大学、UIUC 共同对 106 篇相关文献进行梳理和解读,分别从软件工程和 Agent 两个视角全面展现了 Agent 在软件工程领域的最新进展。从软件工程视角,该综述梳理了 Agent 在软件开发全周期各个任务上的应用现状;从 Agent 视角,该综述展示了目前应用于软件工程领域的 Agent 的基础架构、多智能体设计模式以及人机协同模式。最后,该综述展望了 Agent 在软件工程领域的研究机会与发展方向。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

  • 论文地址:https://arxiv.org/pdf/2409.02977

  • Agent4SE 论文列表:https://github.com/FudanSELab/Agent4SE-Paper-List

一、Agent 覆盖软件开发维护全流程

如图 1 所示,目前 Agent 已基本覆盖了软件开发和维护的全流程,不仅可以解决某个特定的软件开发环节(例如静态检查和测试),而且在应对更复杂的端到端的软件开发和维护任务上也表现出了巨大潜力,包括:

  • 端到端软件开发(End-to-end Software Development):Agent 通过执行多种开发子任务,包括需求工程、设计、代码生成和质量保证(包括静态检查和测试等),完成从需求到最终程序的全流程开发。

  • 端到端软件维护(End-to-end Software Maintenance):Agent 支持多种维护活动,如故障定位、修复和特性维护,完成从问题报告到补丁生成的端到端维护。

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

                                       图 1: 软件开发与维护任务流程上的 Agent 分布

端到端软件开发

目前面向端到端软件开发的 Agent 主要模拟真实的软件开发团队,设计不同的软件开发角色,互相协作共同完成软件开发任务。

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

                                       表 1: 面向端到端软件开发任务的 Agent 文献列表

其中,有些 Agent 在工作流设计上主要遵循了现实软件开发中常见的软件过程模型,包括瀑布模型和敏捷开发(测试驱动开发和 Scrum)。

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

                                                 图 2: 面向端到端软件开发的 Agent 中采用的过程模型

端到端软件维护

目前,面向端到端软件维护任务的 Agent 遵循着 “缺陷定位 - 补丁生成 - 补丁验证” 的基本工作流程;在此基础上,不同 Agent 选择性地引入了预处理、故障重现、任务分解、补丁排名等步骤。

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

                                   表 2: 面向端到端软件维护任务的 Agent 文献列表

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

                                   图 3: 面向端到端软件维护任务的 Agent 中常用的工作流

易标AI 易标AI

告别低效手工,迎接AI标书新时代!3分钟智能生成,行业唯一具备查重功能,自动避雷废标项

易标AI 135 查看详情 易标AI

这类 Agent 往往以 SWE-bench 及其衍生的数据集作为评测基准。

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

                                     图 4: 端到端维护软件任务的数据集演化示意图

特定的软件开发 / 维护任务

除了端到端的软件开发和维护任务,目前 Agent 在面向单个特定的软件开发或维护环节也有着广泛应用,包括需求工程、代码生成、代码静态检查、测试、缺陷定位与修复等。该综述梳理了面向特定不同软件开发 / 维护任务的 Agent 的工作流。

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

                                           图 5: 面向特定软件开发 / 维护环节的 Agent 工作流

二、面向软件工程的 Agent 设计

根据 Agent 的基础结构划分(即 规划(Planning)、记忆(Memory)、感知(Perception)、行动(Action)),该综述进一步总结目前面向软件开发和维护的 Agent 在每部分的设计特点。

Agent 中的常用工具

为了进一步提升 Agent 在软件开发和维护任务上的能力,目前 Agent 的行动模块中集成和使用了大量的工具,主要包括搜索、文件操作、静态程序分析、动态分析、测试、版本管理工具等。

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

                                       图 6: 面向软件开发和维护的 Agent 中的常用工具分类

人机协作范式

目前在面向软件开发维护任务上,开发者和 Agent 的协作主要发生在规划、需求工程、开发和评估四个环节。主要的协同方式,是由人类提供反馈,引导、澄清或直接纠正 Agent 的输出。

面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述

                                        图 7:面向软件开发和维护任务的 Human-Agent 协作范式

三、未来的研究方向

该综述进一步探讨了面向软件开发和维护的 Agent 的未来研究方向。

  • 更全面的评测基准和更真实的评测数据。当前针对软工任务的 Agent 的评测主要集中在其端到端解决特定任务的能力上,缺少对决策过程和失败原因的深入分析,以及对鲁棒性等可信指标以及效率指标的关注。此外,当前用于评测 Agent 的数据集也存在一些问题,如逻辑过于简化,与现实场景相差较远等。因此,设计更多样化的评估指标和构建更高质量、更现实的数据集基准是准确评估 Agent 能力的重要方向。

  • 探索人机协同新范式。当前针对软工任务的 Agent 人机协同主要局限于需求工程、设计、测试评估等环节,同时缺少对高效友好的交互接口的系统研究。因此,未来研究可关注于拓展人机协同的应用场景,以及提供更加流畅的人机协作模式。

  • 多模态感知。目前针对软工任务的 Agent 主要依赖于文本或视觉感知。探索和整合多样化的感知模态,如语音命令或用户手势,会显著提高 Agent 编码助手的灵活性和可访问性。

  • 将 Agent 应用于更多软工任务。尽管现有的 Agent 已经被部署在各种软工任务中,但一些关键阶段(如设计、验证和功能维护)仍未被充分探索,为这些阶段开发 Agent 系统可能会面临各方面的新挑战。

  • 训练面向软件工程的基座大模型。目前 Agent 通常构建在以通用数据或者代码数据为主要训练数据的大模型之上,而软件开发的全周期往往涉及设计、架构、开发者讨论、程序动态执行、历史演化等代码以外的重要信息。有效利用这些信息可以构建面向软件工程领域的基座大模型,从而在此基础上构建更强大的面向软件开发与维护的 Agent。

  • 将软件工程领域知识融入 Agent 设计。正如最近 Agentless 研究所揭示,流程复杂且高度自主的 Agent 在某些软件维护任务上的效果不如基于传统缺陷定位和程序修复流程所设计的简单工作流。软件工程领域的经典方法论和思想对于设计 Agent 的工作流有着重要的借鉴和指导意义,可以进一步提高 Agent 解决方案的有效性、鲁棒性和效率。

以上就是面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述的详细内容,更多请关注其它相关文章!


# 产业  # ai智能体  # 宠物殡葬营销策略及推广计划  # 推广软件平台哪个好营销  # 教育网站如何优化  # 设计论文网站建设ppt  # 抖音推广营销服务花费  # 网站推广的100个方法  # 衢州seo靠谱公司  # 黄石网站建设的几个步骤  # 石碣网站建设价位  # 华纳  # 南极  # 神技  # 工作流  # 联合发布  # 最新进展  # 端到  # 复旦  # 南洋  # 软件工程  # type  # cursor  # devin  # git  # 赣州网站建设的流程 


相关栏目: 【 行业资讯67740 】 【 技术百科0 】 【 网络运营39195


相关推荐: ai文件里无法找到链接文件要怎么解决步骤  如何弄坏固态硬盘  如何由js快速切换typescript  华为的nfc功能是什么意思  更换固态硬盘如何检查  苹果16会升级哪些  typescript有哪些版本  如何用ftp连接命令行  如何打开命令框  学typescript要求什么  j*a数组怎么新增值  360手机壁纸怎么改  选哪个折叠屏手机好用  如何ping测试命令  如何用chown命令  python和typescript学哪个  如何查看固态硬盘速度  如何查询固态硬盘序列  命令行下如何导出数据库  手机的nfc是什么功能是什么意思  typescript数据怎么写  一帧是多少秒  买的5g手机但是没有5g网络怎么办  破太岁是什么意思  电焊机power和oc是什么意思  vue组件typescript怎么用  typescript是什么类型的语言  win7旗舰版wifi怎么打开  照相机上面power是什么意思  固态硬盘如何接主机  ready是什么意思  单身聊天app有哪些软件 2025最靠谱的单身交友软件推荐  一年多少周  新买的固态硬盘如何查  typescript如何生成uuid  NoSQL数据库有哪些特点  单片机计数程序怎么写  苹果16更新了哪些功能  闪光灯power闪烁是什么意思  路由器上面的power红灯是什么意思  360n7锁屏壁纸怎么固定  固态硬盘装完如何使用  html怎么使用typescript  网络光刻机是干什么用的  春运抢票用不用取票码  新网站如何填写域名解析  如何创建解压文件命令  电脑如何查看固态硬盘  1tb等于多少mb  faq是什么意思 

搜索