展會信息港展會大全

ChatGPT造了一家軟件開發(fā)公司,7分鐘開發(fā)一個游戲,成本1美元不到
來源:互聯(lián)網(wǎng)   發(fā)布日期:2023-09-15 19:37:03   瀏覽:11524次  

導(dǎo)讀:整理 |屠敏 出品 | CSDN(ID:CSDNnews) 近日,來自布朗大學(xué)和多所中國大學(xué)的研究人員進(jìn)行了一項實(shí)驗,看看由 ChatGPT 3.5 模型版本支持的 AI 機(jī)器人是否可以在沒有訓(xùn)練的情況下完成軟件開發(fā)。 針對這項實(shí)驗,他們還發(fā)表了一篇標(biāo)題為《Communicative Agents...

整理 |屠敏

出品 | CSDN(ID:CSDNnews)

近日,來自布朗大學(xué)和多所中國大學(xué)的研究人員進(jìn)行了一項實(shí)驗,看看由 ChatGPT 3.5 模型版本支持的 AI 機(jī)器人是否可以在沒有訓(xùn)練的情況下完成軟件開發(fā)。

針對這項實(shí)驗,他們還發(fā)表了一篇標(biāo)題為《Communicative Agents for Software Development》(https://arxiv.org/pdf/2307.07924v3.pdf)的論文,分享了全過程,并將項目在 GitHub 上開源出來:https://github.com/OpenBMB/ChatDev

最終研究人員在要求虛擬的 AI 軟件公司開發(fā) 70 個不同的程序后,根據(jù)實(shí)驗結(jié)果顯示,AI 可以在七分鐘內(nèi)開發(fā)出軟件,平均成本不到 1 美元。這意味著 OpenAI 的 ChatGPT 等人工智能聊天機(jī)器人可以以快速、經(jīng)濟(jì)高效的方式運(yùn)營一家軟件公司,同時將人為干預(yù)降至最低。

接下來,我們不妨看看他們是怎么做的吧~

創(chuàng)建一家 AI 軟件開發(fā)公司,特設(shè)不同的角色

在論文中,研究人員透露他們創(chuàng)建了一家名為 ChatDev 的虛擬軟件開發(fā)公司。這家公司匯集了不同社會身份的代理,簡單來說,就是設(shè)立了首席執(zhí)行官、專業(yè)程序員、測試工程師和藝術(shù)設(shè)計師等崗位。

根據(jù)設(shè)定,ChatDev 這家軟件公司采用了廣泛的瀑布模型,將軟件開發(fā)過程分為四個不同的階段:設(shè)計、編碼、測試和文檔。

每個階段都有一個由程序員、代碼審核員和測試工程師等組成的代理團(tuán)隊參與,以建立連續(xù)性和秩序,就像人類運(yùn)行任何常規(guī)業(yè)務(wù)一樣。

為了促進(jìn)有效溝通和協(xié)作,ChatDev 提出了一個聊天鏈(ChatChain)的架構(gòu),包括劃分每個階段和聊天級組件。在聊天鏈中,每個節(jié)點(diǎn)代表了一個特定的子任務(wù),兩個角色參與上下文,多輪討論,并提出解決方案,再進(jìn)行驗證。

這種方法可以確保公司可以準(zhǔn)確分析客戶需求、產(chǎn)生創(chuàng)意、設(shè)計和實(shí)現(xiàn)原型系統(tǒng)、識別和解決潛在問題、解釋調(diào)試信息、創(chuàng)建吸引人的界面和生成用戶手冊。

然后,研究人員來充當(dāng)“客戶”,向這家軟件公司提交一個開發(fā)五子棋游戲的需求,看看 ChatDev 這家虛擬公司的代理人是如何通過合作聊天進(jìn)行溝通與研發(fā)的。

軟件開發(fā)四個階段:設(shè)計、編碼、測試和文檔

在整個環(huán)節(jié)中,研究人員通過向每個人工智能機(jī)器人提示描述“指定的任務(wù)和角色、通信協(xié)議、終止標(biāo)準(zhǔn)和約束”的“重要細(xì)節(jié)”來為人工智能機(jī)器人分配特定的角色,如下圖所示:

當(dāng)從人類客戶端接收到一個開發(fā)游戲的需求后,首先進(jìn)入該虛擬軟件開發(fā)公司內(nèi)部的設(shè)計階段,這個階段有三個預(yù)定義角色參與,分別是:CEO (首席執(zhí)行官)、CPO (首席產(chǎn)品官)和 CTO (首席技術(shù)官)。

然后,聊天鏈將設(shè)計階段分解為連續(xù)的小的聊天任務(wù),包括關(guān)于目標(biāo)軟件的模式 (CEO 和 CPO) 和程序設(shè)計語言 (CEO 和 CTO) 的決策。這其中涉及到三個關(guān)鍵的機(jī)制:

角色專業(yè)化:每個自定義角色履行其指定的功能,并有效地促進(jìn)面向任務(wù)的對話。

Memory Stream:主要維護(hù)上文聊天記錄,使自定義的角色做出明智的決定。

自我反思:當(dāng)自定義角色完成工作卻沒有達(dá)到要求時,自我反思機(jī)制會生成一個“偽我”,對提議的決策進(jìn)行反思。

經(jīng)過CEO、CPO 和 CTO 三方的商討,他們決定將五子棋游戲定位為一款桌面游戲,并采用 Python 來開發(fā)。

與此同時,代理的角色還通過自我反思,進(jìn)一步細(xì)化了游戲開發(fā)的需求:

當(dāng)設(shè)計需求明確之后,接下來便進(jìn)入了編碼階段。

編碼階段涉及三個預(yù)定義的角色:CTO、程序員和美術(shù)設(shè)計師。同樣,聊天鏈將編程階段分解為連續(xù)的小的聊天任務(wù),如 CTO 提供要求和想法,程序員生成完整的代碼 ,進(jìn)而設(shè)計師設(shè)計圖形用戶界面,程序員進(jìn)行集成。

當(dāng)完成之后,即使是人類程序員,也不能保證他們在第一次嘗試過程中編寫的代碼總是沒有 Bug。所以這就來到了測試階段,在這里需要程序員、審查員和測試員共同參與,通過同行審查(程序員和審查員)檢查源代碼以識別潛在的問題,然后在進(jìn)行系統(tǒng)測試(程序員和測試員),使用解釋器進(jìn)行的測試來驗證軟件的執(zhí)行,此測試主要通過黑盒測試來評估應(yīng)用程序的性能。

最終,在設(shè)計、編碼和測試階段之后,ChatDev 雇傭了四個代理 (CEO、CPO、CTO 和程序員)來生成軟件項目文檔。使用大型語言模型,生成了用戶手冊。

在 7 分鐘內(nèi)以不到 1 美元的成本,來完成整個軟件開發(fā)

有趣的是,AI 機(jī)器人可以在以上整個過程中相互溝通,尋求解決方案并共享重要信息,而人類從中干預(yù)得比較少。

在具體工具使用維度,研究人員使用了“gpt3.5-turbo-16k”版本的 ChatGPT ,語言的溫度參數(shù)(可以用于控制生成結(jié)果的多樣性和隨機(jī)性)設(shè)置為 0.2。隨后在編碼、審核、測試等不同階段,研究人員分別允許最多進(jìn)行 5 次的嘗試。對于基于 Python 的系統(tǒng),研究人員使用了 Python 3.8.16 作為解釋器進(jìn)行測試。

除了以上示例之外,研究人員表示,此次實(shí)驗分析 了Chatdev 所生成的 70 款所有軟件,與此同時,他們還對這些軟件進(jìn)行了統(tǒng)計分析,包括總對話次數(shù)、消耗的 token、軟件文件、圖像資產(chǎn)和版本更新。

根據(jù)分析發(fā)現(xiàn),生成的軟件通常包括 2-8 個代碼文件,平均為 4.26 個文件。ChatDev 開發(fā)的軟件通常有 39-359 行代碼,平均 131.61 行,這些數(shù)據(jù)表明ChatDev 傾向于用相對小規(guī)模的代碼生成軟件。這在一定程度上是因為面向?qū)ο缶幊痰脑O(shè)計,其通過繼承實(shí)現(xiàn)了代碼重用,減少了冗余。研究人員還注意到,當(dāng)用戶指定一個不那么具體的任務(wù)時,ChatDev 生成的源代碼往往更短,平均約為 110.97 行。

在實(shí)驗中,研究人員發(fā)現(xiàn)測試生成的軟件大約 86.66% 的軟件系統(tǒng)完美地執(zhí)行。有 13.33% 的軟件運(yùn)行失敗,失敗的因素主要有由于 API 的令牌長度限制、受外部依賴問題的影響等等。

平均而言,ChatDev每個軟件生成 17.04個文件,軟件生產(chǎn)時間為 409.84 秒,不到 7 分鐘,制造成本為 0.2967 美元。審核員和程序員之間的相互討論有助于識別和修改了近 20 種類型的代碼漏洞,而測試人員和程序員之間的討論最終識別和解決了超過 10 種類型的潛在錯誤。

相比之下,傳統(tǒng)的定制軟件開發(fā)周期,即使在敏捷軟件開發(fā)方法中,每個周期通常需要 2 至 4 周甚至幾個月。

展望未來

這份研究結(jié)果表明,ChatGPT 強(qiáng)大的生成式人工智能技術(shù)可以通過多種方式執(zhí)行特定的工作職能,ChatDev 也為軟件開發(fā)提供了一種新的模式,即免費(fèi)、高效和成本效益。

然而,這項研究并不完美:研究人員發(fā)現(xiàn)了一些局限性,例如即使他們將大模型的溫度參數(shù)(temperature parameter)設(shè)置得非常低,生成的輸出依然存在固有的隨機(jī)性。與此同時,語言模型中也存在錯誤和偏差,這些局限性可能會導(dǎo)致軟件創(chuàng)建過程中出現(xiàn)問題。

盡管如此,研究人員表示,這些發(fā)現(xiàn)“可能會對現(xiàn)實(shí)世界中的初級程序員或工程師有所幫助”。

“展望未來,進(jìn)一步的研究可以集中于完善通信協(xié)議并優(yōu)化每個聊天中的交互動態(tài),以提高 ChatDev 的性能和有效性。此外,探索集成其他新興技術(shù),如強(qiáng)化學(xué)習(xí)和可解釋人工智能等,可以為解決挑戰(zhàn)和改進(jìn)整個軟件開發(fā)流程提供有價值的見解”,研究人員在論文中寫道。

目前 ChatDev 已在 GitHub 開源:https://github.com/OpenBMB/ChatDev,感興趣的小伙伴也不妨動手試試看~

贊助本站

人工智能實(shí)驗室
相關(guān)內(nèi)容
AiLab云推薦
推薦內(nèi)容
展開

熱門欄目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能實(shí)驗室 版權(quán)所有    關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 公司動態(tài) | 免責(zé)聲明 | 隱私條款 | 工作機(jī)會 | 展會港