7個Agent 組成的公司7分鐘完成了一個遊戲的開發

市場對AI Agent 的期望一直很高,除了各種單向任務的Agent 外,之前斯坦福大學和Google 的一項實驗已經展示了由25 個AI Agent 自行協同運行的虛擬城鎮(Virtual Town),它們在這個虛擬城鎮裡制定每日的行程、約會以及策劃一些活動聚會。

不過最新的一項研究實驗,展示了由7 個AI Agent 組成的一個虛擬公司,在7 分鐘內完成了一個的完整開發過程,成本大概就1 美金左右。這個實驗來自清華大學、北京郵電大學、大連理工大學、布朗大學以及國內AI 創業公司面壁智慧的研究員最新發布的論文。

他們創建了一家名為ChatDev 的虛擬公司,由7 個AI Agent 組成,角色分別是CEO、CTO、CPO 、程式設計師、設計師、測試員以及程式碼評審,這些Agent 由ChatGPT 3.5 的模型支援。

基於開發軟體順序的Waterfall 模型將整個過程分成了4 個階段:設計、程式設計、測試和文檔,研究人員透過提示詞給每個Agent 定義了角色、分配了任務、需要遵循的通訊協議以及終止標準和約束條件。

之後ChatDev 這家公司的每個Agent 都會在不同的階段參與到開發工作中,比方說CEO 、CPO 和CTO 會在設計階段一起工作,程式設計階段則主要是CTO、程式設計師和設計師。

具體每個階段的角色分配大致如下圖所示,上面是基於軟體開發過程的任務分配角色,而下面的Chat Chain 則是一個決策溝通與回饋過程:

在各個角色分配好以後,ChatDev 這家公司接到了一個開發「五子棋」遊戲的訂單,馬上大家就進入第一個設計階段,CEO 、CPO 與CTO 進行了一個簡單的對話,就產品類型和程式語言的選擇做出了決定,這個決策過程和現實中非常相似:

  • CEO:為了滿足客戶的需求,咱們一起討論產品和實現的具體程式語言;

  • CPO:我建議將這個遊戲開發為一個桌面端,因為這樣它就可以在電腦上玩,它會有一個非常友好的用戶界面和交互體驗,鑑於我們的經驗我建議用Python 語言。

  • CEO:同意你的提議,@CTO 在程式語言的選擇上要不要給個具體的建議吧?

  • CTO:Python 非常合適,是個不錯的選擇。

  • CEO:好,Python 語言的簡單性和可讀性讓它已經成為初學者和有經驗的開發人員的首選。

  • CTO:那我們開始吧!

之後CEO 和CPO 一起開始腦力激盪,就產品的具體細節做進一步的確定:

待這塊確定結束後,就進入了程式設計階段,核心是CTO 和程式設計師以及設計師、程式碼評審之間的開發過程和對話,透過協同完成遊戲的開發工作。

待產品開發測試各種流程都好了後,CTO、程式設計師、CEO 以及CPO 將一起就軟體的互動寫一個詳細的文檔,以便向客戶互動。

整個過程對任務的分拆差不多有70 多個子任務,完成任務的拆分後,差不多7 分鐘就完成了產品的開發(平常的開發週期可能需要2-4 週時間),並且透過記憶和自我反思(self-reflection )的功能,它們識別出了一些潛在的漏洞,並將其進行了修復排除。

這些研究員對整個開發過程每個階段的成本都進行了統計,除了整個過程平均耗時不到7 分鐘外,其整個成本也不到1 美金,展現出了非常高的軟體開發效率。以下是這個遊戲產品的一個簡單實作過程:

根據論文的說法,整個過程中86.66% AI Agent 執行的都非常完美,而在執行失敗的那一部分,有50% 的情況是API的令牌長度限制導致,這種限制阻礙了在指定的長度範圍內獲取完整原始碼進行程式碼產生。特別是在處理複雜的軟體系統或需要廣泛程式碼產生的情況時,這些挑戰尤其明顯。

而另外50% 的失敗主要受到外部依賴問題的影響,當某些依賴項在雲端查找不到或版本不對時,就會出現問題,但整體而言,這個實驗的結果是比較成功的。或許在不久的將來,我們的許多工作可能都可以依賴AI Agent 來做了。

完整的論文可以在這裡查看:https://arxiv.org/pdf/2307.07924v3.pdf

公開的程式碼可以在GitHub 上查看:https://github.com/OpenBMB/ChatDev

Total
0
Shares
Related Posts