自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

面向軟件工程的AI智能體最新進(jìn)展,復(fù)旦、南洋理工、UIUC聯(lián)合發(fā)布全面綜述

人工智能 新聞
該綜述進(jìn)一步探討了面向軟件開發(fā)和維護(hù)的 Agent 的未來(lái)研究方向。

本篇綜述的作者包括來(lái)自復(fù)旦大學(xué) CodeWisdom 團(tuán)隊(duì)的研究生劉俊偉、王愷欣、陳逸軒和彭鑫教授、婁一翎青年副研究員,以及南洋理工大學(xué)的陳震鵬研究員和伊利諾伊大學(xué)厄巴納 - 香檳分校(UIUC)的張令明教授。

自從首個(gè)全自動(dòng) AI 軟件工程師 Devin 問(wèn)世以來(lái),面向軟件工程的 AI 智能體廣受關(guān)注、層出不窮,例如最近的 Genie、Replit、Cursor 等,它們正在對(duì)傳統(tǒng)軟件開發(fā)的范式產(chǎn)生著深刻影響。基于大模型的 AI 智能體(LLM-based Agents,后簡(jiǎn)稱 Agent)通過(guò)增強(qiáng)推理、記憶、規(guī)劃以及使用拓展工具的能力,極大地提升了大模型解決復(fù)雜軟件開發(fā)維護(hù)任務(wù)的能力,為進(jìn)一步實(shí)現(xiàn)自動(dòng)化、智能化的軟件開發(fā)提供了新思路。AI 智能體正在成為軟件工程領(lǐng)域的研究新熱潮。

復(fù)旦大學(xué) CodeWisdom 團(tuán)隊(duì)聯(lián)合南洋理工大學(xué)、UIUC 共同對(duì) 106 篇相關(guān)文獻(xiàn)進(jìn)行梳理和解讀,分別從軟件工程和 Agent 兩個(gè)視角全面展現(xiàn)了 Agent 在軟件工程領(lǐng)域的最新進(jìn)展。從軟件工程視角,該綜述梳理了 Agent 在軟件開發(fā)全周期各個(gè)任務(wù)上的應(yīng)用現(xiàn)狀;從 Agent 視角,該綜述展示了目前應(yīng)用于軟件工程領(lǐng)域的 Agent 的基礎(chǔ)架構(gòu)、多智能體設(shè)計(jì)模式以及人機(jī)協(xié)同模式。最后,該綜述展望了 Agent 在軟件工程領(lǐng)域的研究機(jī)會(huì)與發(fā)展方向。

圖片

圖片


  • 論文地址:https://arxiv.org/pdf/2409.02977
  • Agent4SE 論文列表:https://github.com/FudanSELab/Agent4SE-Paper-List

一、Agent 覆蓋軟件開發(fā)維護(hù)全流程

如圖 1 所示,目前 Agent 已基本覆蓋了軟件開發(fā)和維護(hù)的全流程,不僅可以解決某個(gè)特定的軟件開發(fā)環(huán)節(jié)(例如靜態(tài)檢查和測(cè)試),而且在應(yīng)對(duì)更復(fù)雜的端到端的軟件開發(fā)和維護(hù)任務(wù)上也表現(xiàn)出了巨大潛力,包括:

  • 端到端軟件開發(fā)(End-to-end Software Development):Agent 通過(guò)執(zhí)行多種開發(fā)子任務(wù),包括需求工程、設(shè)計(jì)、代碼生成和質(zhì)量保證(包括靜態(tài)檢查和測(cè)試等),完成從需求到最終程序的全流程開發(fā)。
  • 端到端軟件維護(hù)(End-to-end Software Maintenance):Agent 支持多種維護(hù)活動(dòng),如故障定位、修復(fù)和特性維護(hù),完成從問(wèn)題報(bào)告到補(bǔ)丁生成的端到端維護(hù)。

圖 1: 軟件開發(fā)與維護(hù)任務(wù)流程上的 Agent 分布

端到端軟件開發(fā)

目前面向端到端軟件開發(fā)的 Agent 主要模擬真實(shí)的軟件開發(fā)團(tuán)隊(duì),設(shè)計(jì)不同的軟件開發(fā)角色,互相協(xié)作共同完成軟件開發(fā)任務(wù)。

表 1: 面向端到端軟件開發(fā)任務(wù)的 Agent 文獻(xiàn)列表

其中,有些 Agent 在工作流設(shè)計(jì)上主要遵循了現(xiàn)實(shí)軟件開發(fā)中常見的軟件過(guò)程模型,包括瀑布模型和敏捷開發(fā)(測(cè)試驅(qū)動(dòng)開發(fā)和 Scrum)。

圖 2: 面向端到端軟件開發(fā)的 Agent 中采用的過(guò)程模型

端到端軟件維護(hù)

目前,面向端到端軟件維護(hù)任務(wù)的 Agent 遵循著 “缺陷定位 - 補(bǔ)丁生成 - 補(bǔ)丁驗(yàn)證” 的基本工作流程;在此基礎(chǔ)上,不同 Agent 選擇性地引入了預(yù)處理、故障重現(xiàn)、任務(wù)分解、補(bǔ)丁排名等步驟。

表 2: 面向端到端軟件維護(hù)任務(wù)的 Agent 文獻(xiàn)列表

圖片

圖 3: 面向端到端軟件維護(hù)任務(wù)的 Agent 中常用的工作流

這類 Agent 往往以 SWE-bench 及其衍生的數(shù)據(jù)集作為評(píng)測(cè)基準(zhǔn)。

圖片

圖 4: 端到端維護(hù)軟件任務(wù)的數(shù)據(jù)集演化示意圖

特定的軟件開發(fā) / 維護(hù)任務(wù)

除了端到端的軟件開發(fā)和維護(hù)任務(wù),目前 Agent 在面向單個(gè)特定的軟件開發(fā)或維護(hù)環(huán)節(jié)也有著廣泛應(yīng)用,包括需求工程、代碼生成、代碼靜態(tài)檢查、測(cè)試、缺陷定位與修復(fù)等。該綜述梳理了面向特定不同軟件開發(fā) / 維護(hù)任務(wù)的 Agent 的工作流。

圖 5: 面向特定軟件開發(fā) / 維護(hù)環(huán)節(jié)的 Agent 工作流

二、面向軟件工程的 Agent 設(shè)計(jì)

根據(jù) Agent 的基礎(chǔ)結(jié)構(gòu)劃分(即 規(guī)劃(Planning)、記憶(Memory)、感知(Perception)、行動(dòng)(Action)),該綜述進(jìn)一步總結(jié)目前面向軟件開發(fā)和維護(hù)的 Agent 在每部分的設(shè)計(jì)特點(diǎn)。

Agent 中的常用工具

為了進(jìn)一步提升 Agent 在軟件開發(fā)和維護(hù)任務(wù)上的能力,目前 Agent 的行動(dòng)模塊中集成和使用了大量的工具,主要包括搜索、文件操作、靜態(tài)程序分析、動(dòng)態(tài)分析、測(cè)試、版本管理工具等。

圖片

圖 6: 面向軟件開發(fā)和維護(hù)的 Agent 中的常用工具分類

人機(jī)協(xié)作范式

目前在面向軟件開發(fā)維護(hù)任務(wù)上,開發(fā)者和 Agent 的協(xié)作主要發(fā)生在規(guī)劃、需求工程、開發(fā)和評(píng)估四個(gè)環(huán)節(jié)。主要的協(xié)同方式,是由人類提供反饋,引導(dǎo)、澄清或直接糾正 Agent 的輸出。

圖片

圖 7:面向軟件開發(fā)和維護(hù)任務(wù)的 Human-Agent 協(xié)作范式

三、未來(lái)的研究方向

該綜述進(jìn)一步探討了面向軟件開發(fā)和維護(hù)的 Agent 的未來(lái)研究方向。

  • 更全面的評(píng)測(cè)基準(zhǔn)和更真實(shí)的評(píng)測(cè)數(shù)據(jù)。當(dāng)前針對(duì)軟工任務(wù)的 Agent 的評(píng)測(cè)主要集中在其端到端解決特定任務(wù)的能力上,缺少對(duì)決策過(guò)程和失敗原因的深入分析,以及對(duì)魯棒性等可信指標(biāo)以及效率指標(biāo)的關(guān)注。此外,當(dāng)前用于評(píng)測(cè) Agent 的數(shù)據(jù)集也存在一些問(wèn)題,如邏輯過(guò)于簡(jiǎn)化,與現(xiàn)實(shí)場(chǎng)景相差較遠(yuǎn)等。因此,設(shè)計(jì)更多樣化的評(píng)估指標(biāo)和構(gòu)建更高質(zhì)量、更現(xiàn)實(shí)的數(shù)據(jù)集基準(zhǔn)是準(zhǔn)確評(píng)估 Agent 能力的重要方向。
  • 探索人機(jī)協(xié)同新范式。當(dāng)前針對(duì)軟工任務(wù)的 Agent 人機(jī)協(xié)同主要局限于需求工程、設(shè)計(jì)、測(cè)試評(píng)估等環(huán)節(jié),同時(shí)缺少對(duì)高效友好的交互接口的系統(tǒng)研究。因此,未來(lái)研究可關(guān)注于拓展人機(jī)協(xié)同的應(yīng)用場(chǎng)景,以及提供更加流暢的人機(jī)協(xié)作模式。
  • 多模態(tài)感知。目前針對(duì)軟工任務(wù)的 Agent 主要依賴于文本或視覺(jué)感知。探索和整合多樣化的感知模態(tài),如語(yǔ)音命令或用戶手勢(shì),會(huì)顯著提高 Agent 編碼助手的靈活性和可訪問(wèn)性。
  • 將 Agent 應(yīng)用于更多軟工任務(wù)。盡管現(xiàn)有的 Agent 已經(jīng)被部署在各種軟工任務(wù)中,但一些關(guān)鍵階段(如設(shè)計(jì)、驗(yàn)證和功能維護(hù))仍未被充分探索,為這些階段開發(fā) Agent 系統(tǒng)可能會(huì)面臨各方面的新挑戰(zhàn)。
  • 訓(xùn)練面向軟件工程的基座大模型。目前 Agent 通常構(gòu)建在以通用數(shù)據(jù)或者代碼數(shù)據(jù)為主要訓(xùn)練數(shù)據(jù)的大模型之上,而軟件開發(fā)的全周期往往涉及設(shè)計(jì)、架構(gòu)、開發(fā)者討論、程序動(dòng)態(tài)執(zhí)行、歷史演化等代碼以外的重要信息。有效利用這些信息可以構(gòu)建面向軟件工程領(lǐng)域的基座大模型,從而在此基礎(chǔ)上構(gòu)建更強(qiáng)大的面向軟件開發(fā)與維護(hù)的 Agent。
  • 將軟件工程領(lǐng)域知識(shí)融入 Agent 設(shè)計(jì)。正如最近 Agentless 研究所揭示,流程復(fù)雜且高度自主的 Agent 在某些軟件維護(hù)任務(wù)上的效果不如基于傳統(tǒng)缺陷定位和程序修復(fù)流程所設(shè)計(jì)的簡(jiǎn)單工作流。軟件工程領(lǐng)域的經(jīng)典方法論和思想對(duì)于設(shè)計(jì) Agent 的工作流有著重要的借鑒和指導(dǎo)意義,可以進(jìn)一步提高 Agent 解決方案的有效性、魯棒性和效率。
責(zé)任編輯:張燕妮 來(lái)源: 機(jī)器之心
相關(guān)推薦

2023-07-17 10:21:25

TC39JavaScript

2024-11-19 13:40:00

AI系統(tǒng)

2009-09-25 09:27:33

Ubuntu 2010最新進(jìn)展Lucid Lynx

2012-11-19 10:37:57

思杰OpenStack

2012-11-19 10:50:39

思杰CloudStack開源

2015-11-12 09:27:13

C++最新進(jìn)展

2020-07-02 16:00:53

?Flutter桌面應(yīng)用代碼

2021-09-14 10:03:35

RustLinux開發(fā)工作

2021-09-16 10:15:56

Linux內(nèi)核Rust

2021-06-15 14:54:23

ReactReact 18SSR

2023-04-06 07:30:02

2012-02-09 09:49:48

2014-06-17 09:58:15

容器Google

2017-11-22 19:00:51

人工智能深度學(xué)習(xí)膠囊網(wǎng)絡(luò)

2023-04-19 20:30:49

Rust商標(biāo)政策

2009-03-23 08:44:29

Windows Ser微軟操作系統(tǒng)

2013-04-09 17:27:19

GMIC球移動(dòng)互聯(lián)網(wǎng)大會(huì)

2024-06-27 11:02:44

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)