成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

北大用ChatGPT打造開發(fā)團隊,無需人類干預,AI自主完成軟件開發(fā)

人工智能 新聞
人類可以通過合作的方式解決復雜問題,這種模式同樣適用于 AI 領域。

「一個人的能力有限,一支團隊的力量無限」,這一句話在現實世界的軟件開發(fā)中體現的淋漓盡致。對于復雜的任務,人們通過團隊合作策略來解決。但在 AI 世界中,這樣的模式是否也適用呢?

北京大學李戈教授團隊提出了一種全新的 self-collaboration(自合作)模式。它允許多個大模型模型扮演不同的角色,組成了一個無需人類參與的軟件開發(fā)團隊,通過大模型間的合作和交互,自主完成整個軟件開發(fā)流程,甚至包括一些復雜的代碼生成任務。

論文鏈接:https://arxiv.org/pdf/2304.07590.pdf

盡管大型語言模型 (簡稱為:大模型) 在代碼生成方面已經展示出了驚人的能力,但是在處理復雜任務上仍然存在挑戰(zhàn)。在現實中的軟件開發(fā)過程中,人們通常通過協(xié)同團隊工作的策略來解決復雜的任務,這種策略能夠顯著地控制開發(fā)的復雜性并提高軟件的質量。

受此啟發(fā),研究者提出了一個使用大模型進行代碼生成的 self-collaboration 框架。具體來說,通過角色指令,1) 多個大型語言模型扮演不同的 "專家" 角色,每個模型負責處理復雜任務中的特定子任務;2) 規(guī)定合作和交互的方式,使不同的角色形成一個虛擬團隊,幫助彼此完成工作,最終無需人為干預就能共同完成代碼生成任務。

為了有效地組織和管理這個虛擬團隊,研究者巧妙地將軟件開發(fā)方法論中的瀑布模型融入到了框架中,組建了一個由三個 ChatGPT 角色(即分析師、程序員和測試員)組成的基礎團隊,實施軟件開發(fā)過程中的分析、編碼和測試階段。

實驗結果表明,與直接利用大模型代碼生成相比,self-collaboration 代碼生成的性能大幅提升,甚至讓 GPT-3.5 超越了 GPT-4。此外,研究者還展示了 self-collaboration 能使大模型有效地處理更復雜的實際代碼項目,而這些項目往往是直接代碼生成難以解決的。

圖1:用于代碼生成的 Self-collaboration 框架及其實例。

此項研究開創(chuàng)了一種新的使用人工智能語言模型進行軟件開發(fā)的路徑,將人工智能與軟件開發(fā)過程的各個階段緊密結合,既提高了開發(fā)效率,也保證了軟件的質量。通過利用 ChatGPT 等 LLMs 的潛力,可以為模型間合作和交互提供更強大的支持,從而促進虛擬團隊在處理復雜軟件開發(fā)任務方面的成功。這種 self-collaboration 框架為自動代碼生成提供了一種新的、更高效的方法,有助于推動軟件開發(fā)領域的創(chuàng)新和進步。此外,這項工作還可以作為未來研究各個領域的自我合作方法以及開發(fā)更先進、更專業(yè)的虛擬團隊來處理更復雜任務的基礎。

下面具體介紹一下 Self-collaboration 框架以及在該框架基礎上按照軟件開發(fā)方法論組建虛擬團隊的實例。

Self-collaboration 框架

給定需求 x,利用大模型執(zhí)行 Self-collaboration 以生成輸出 y。該任務定義為圖片。Self-collaboration 框架由兩部分組成:分工和合作。

在分工部分,研究者運用先驗知識將復雜任務分解為一系列階段 圖片并構建一些不同的角色圖片,這些角色基于大模型和角色指令。每個階段 圖片由一個或多個角色 圖片負責。

眾所周知,大模型對上下文非常敏感,因為它們在訓練時,被要求根據前面的文字預測后續(xù)文字。因此,一種廣泛使用的方式是通過指令或提示來控制大模型的生成。研究者采用特定類型的指令為大模型分配身份和職責,被稱為角色指令。具體來說,研究者要求大模型扮演與其職責緊密相關的特定角色并且傳達這個角色應該執(zhí)行的詳細任務。

使用角色指令的優(yōu)勢在于它們僅需要在交互開始時被提供一次。在隨后的交互中,傳達的只是意圖,而不是指令和意圖的組合。因此,角色指令提升了后續(xù)溝通合作的整體效率和清晰度。

在合作部分,研究者關注于促進在 self-collaboration 框架內承擔不同角色的大模型之間的有效交互。每個大模型在其指定角色指令的指導下,通過履行其分配的職責為整體任務做出貢獻。隨著階段的進展,大模型與其他大模型交流他們的輸出,交互信息并輸出 y 。

利用角色指令,可以有效控制大模型的輸出格式。結合語言模型的基礎方面,這可以初步建立大模型之間的通信。

合作部分可以形式化為:

圖片

其中 圖片是階段圖片的輸出,圖片表示 圖片前提階段的輸出,圖片表示 圖片對應的角色。請注意,如果階段 圖片之間的關系不是線性關系,self-collaboration 框架可以并行化。計算 圖片被視為合作,其中角色 圖片 與每個前面階段的角色合作生成 圖片。輸出 y 隨著階段 圖片的進展迭代更新:

圖片

其中 f 是一個更新函數。為了促進有效合作,研究者建立了一個共享黑板,每個角色從中獲取所需的信息以完成各自的任務 圖片。算法 1 給出了 self-collaboration 框架的完整算法。

圖片

實例化

研究者將軟件工程方法論中的經典瀑布模型引入到自協(xié)作框架中,使代碼生成的團隊協(xié)作更加高效。具體來說,研究者設計了一個由分析、編碼和測試三個階段組成的簡化瀑布模型,作為自協(xié)作代碼生成的實例。該實例的工作流程遵循瀑布模型從一個階段流向下一階段,如果發(fā)現問題,則返回上一階段進行細化。因此,研究者建立了一個基本團隊,包括分析師、編碼員和測試員,負責分析、編碼和測試階段,如圖 1(右)所示。這三個不同的角色被分配以下任務:

分析師:分析師的目標是制定高層次的 plan 并專注于指導程序員編寫程序,而不是深入研究實現細節(jié)。給定需求 x,分析師將 x 分解為幾個易于解決的子任務,以方便程序員直接實施,并制定概述實施主要步驟的 plan。

程序員:作為該團隊的核心角色,程序員將在整個開發(fā)過程中接收來自分析師的 plan 或來自測試人員的測試報告。因此,研究者通過角色說明將兩項主要職責分配給程序員:1. 編寫滿足指定要求的代碼,遵守分析師提供的 plan。2. 修復或細化代碼,考慮到測試人員反饋的測試報告反饋。編碼器角色指令的詳細信息如圖 2 所示。

測試員:測試員獲取程序員編寫的代碼,然后記錄包含各個方面(例如功能性、可讀性和可維護性)的測試報告。研究者提倡模型模擬測試過程并生成測試報告,而不是生成測試用例然后通過執(zhí)行手動測試代碼,從而促進交互并避免額外的工作。

研究者為該實例制定了角色指令來扮演這三個角色。編碼器角色指令的示例如圖 2 所示。在本例中,角色指令不僅包括角色描述(角色及其職責),還包括團隊描述和用戶需求,它們將共同初始化 ChatGPT 代理,從而設置 ChatGPT 的行為。該實例僅在階段圖片為 coding 時更新輸出圖片,并且此開發(fā)過程在測試人員確認圖片滿足要求時結束。

實驗結果

圖片

研究者將 self-collaboration 代碼生成與各種最先進(SOTA)方法進行比較,實驗結果表明,self-collaboration 框架顯著提高了基礎大模型的性能。值得注意的是,即使是一個簡單的三人團隊(包括分析師、程序員和測試員),基于 ChatGPT (GPT-3.5) 的 self-collaboration 代碼生成在四個代碼生成基準測試中也取得了最佳性能,甚至超過了 GPT-4。考慮到基礎大模型本身的差距,將 self-collaboration 框架應用于更強大的模型,例如 GPT-4,將產生更好的結果。

圖片

研究者進一步研究了僅使用自然語言描述的代碼生成,這種設置更貼近實際的軟件開發(fā)。在此設置下,研究者比較了由 self-collaboration 框架實例化的初等團隊中每個 ChatGPT 角色的表現,如表 2 所示。實驗結果表明,與僅使用程序員角色相比,無論是二位角色還是三位角色組建的團隊,性能都有顯著提高。

研究者還研究了在不同模型大小下大模型的自合作能力。研究者評估了 self-collaboration 方法在處理復雜任務時的有效性,特別是那些對直接代碼生成具有挑戰(zhàn)性的任務。對于此類任務,研究者采用 self-collaboration 策略作為解決方案。如圖 6 所示,隨著模型規(guī)模的擴大,大模型的 coding 能力通常呈現出增加的趨勢,而自合作能力在 7B 參數量左右開始顯現出來,隨后不斷提升。實驗結果表明自合作有助于激發(fā)大模型的潛在智能。

圖片

此外,研究者展示了一個 self-collaboration 代碼生成示例,如圖 4 所示。在這份測試報告中,測試員指出所實現的代碼可能會導致從列表中刪除重復元素,從而可能導致某些邊緣測試用例失敗。因此,建議從實現的代碼中刪除行 “l(fā)st = list (set (lst))”。程序員隨后根據測試報告中的反饋刪除了 “l(fā)st = list (set (lst))” 行。在最后一次交互中,測試員確認修改后的代碼已經通過所有測試,滿足要求,至此代碼生成過程結束。

圖片

圖片

研究者還將 self-collaboration 框架應用于更復雜的實際代碼項目的兩個例子,分別是游戲開發(fā)和網頁制作,如圖 5 和圖 9 所示。self-collaboration 可以生產完整的游戲邏輯和令人滿意的游戲界面,對于天氣預報網頁的開發(fā),也可以正確調用外部天氣接口,實現所有功能。而直接代碼生成則并沒有覆蓋所有要求的功能并且存在 bug,效果不佳。

總之,self-collaboration 框架在代碼生成任務中表現出顯著的性能提升,與單一角色相比,多角色團隊能夠更有效地處理各種問題和挑戰(zhàn)。這種方法為自然語言處理和代碼生成領域提供了新的研究方向,值得進一步探討和優(yōu)化。未來的工作可能包括對更多角色和更強大模型的探索,以及將 self-collaboration 框架應用于其他自然語言處理任務。

結論

在該工作中,研究者提出了一種 self-collaboration 框架,其目的是通過合作和交互方法來增強大模型的問題解決能力。具體而言,研究者探索了 ChatGPT 在促進基于團隊的代碼生成和合作方面的軟件開發(fā)過程中的潛力。為此,研究者組建了一個由三個不同的 ChatGPT 角色組成的初等團隊,目的是全面解決代碼生成任務。為了評估 self-collaboration 框架的有效性和泛化性能,研究者針對各種代碼生成基準進行了廣泛實驗。實驗結果提供了大量證據支持 self-collaboration 框架的有效性和普適性。研究者認為,讓模型能夠組建自己的團隊并合作完成復雜的任務是實現 AGI 的關鍵一步。未來該項研究技術也將直接應用于aiXcoder(一款基于代碼大模型的智能化軟件開發(fā)系統(tǒng))的產品中。

責任編輯:張燕妮 來源: 機器之心
相關推薦

2012-02-02 15:04:02

軟件開發(fā)

2011-11-08 09:28:28

開發(fā)團隊

2018-07-03 15:29:00

2021-08-24 09:00:00

開發(fā)軟件框架

2014-01-16 14:06:18

軟件開發(fā)團隊管理

2011-09-09 09:18:43

軟件開發(fā)團隊

2020-07-09 14:44:10

開發(fā)技能團隊

2023-04-12 15:55:08

AIAutoGPT

2020-05-31 14:02:50

人工智能開發(fā)工具

2011-07-19 09:11:04

項目

2021-08-25 09:00:00

開發(fā)軟件數據

2022-05-31 17:38:05

亞馬遜科技

2022-11-07 16:42:35

KPI軟件開發(fā)團隊

2023-04-20 11:05:17

AI芯片微軟

2020-06-24 11:21:47

軟件開發(fā)面試

2024-11-07 12:14:36

2012-06-18 09:34:14

2017-03-17 08:15:17

敏捷軟件開發(fā)軟件開發(fā)

2023-03-31 09:52:09

2016-04-25 11:37:10

開發(fā)團隊問題
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人网影院 | 天天天天天天天干 | 精品一区二区三区91 | 久久久久久黄 | 日韩精品免费看 | 国产精品第2页 | 日韩最新网址 | 九九热这里 | 一区二区三区网站 | 欧美一级大片免费看 | 欧美一级一区 | 久草在线 | 欧美日本一区 | 欧美精品一区二区三区在线播放 | 精品视频一区二区 | 欧美日韩综合视频 | 国产一区视频在线 | 国产精品一区网站 | 日韩在线免费观看视频 | 精品久久国产 | 91精品国产乱码久久久久久久久 | 欧美国产日韩一区二区三区 | 日韩亚洲欧美综合 | 激情五月综合 | 国产一区二区影院 | 日韩中文在线视频 | 欧美激情久久久 | 天天拍天天色 | 一区视频在线 | 精品电影| hitomi一区二区三区精品 | 欧美在线播放一区 | 免费人成激情视频在线观看冫 | 日韩理论电影在线观看 | 97视频人人澡人人爽 | 欧美亚洲日本 | 久久午夜影院 | 日本午夜一区 | 成人av网站在线观看 | 国产高清免费 | 国产精品国产三级国产aⅴ中文 |