編譯丨諾亞
出品 | 51CTO技術棧(微信号:blog51cto)
上個月,成立不久的初創公司Cognition推出了全球首位“AI工程師”——Devin。
憑借自動生成代碼、調試錯誤及自行部署應用等能力,Devin充分實作了軟體開發過程的部分自動化,是以一經釋出就引起了熱議。
當然,提到AI自動化程式設計,Devin并不是唯一選擇。下面将盤點六種Devin的替代方案,供君參考。
1.Devika
Devika是由Lyminal和Stition.AI創始人Mufeed VH(Hamzakutty)研發的一款開源AI軟體工程師。該系統能夠了解人類指令,将其拆解成具體任務,并通過自主研究和編寫代碼來達成預設目标。
與Devin相比,Devika力求成為一個有競争力的開源替代方案。它運用了LLMs、規劃與推理算法以及網絡浏覽功能,能夠智能地進行軟體開發工作。
Devika的一大亮點在于其充當AI配對程式設計角色的能力,能在複雜的編碼任務中大幅減少對人力介入的需求。這意味着它可以協助開發者在遇到複雜問題時共同完成程式設計工作,提升開發效率。
Devika能夠簡化各種軟體開發流程,包括建立新特性、調試代碼,乃至從零開始建構整個項目,進而有效提高開發工作的整體效能。
Devin與Devika之間的主要差別除了後者是開源性質之外,還在于Devika所采用的基礎技術不同——Mufeed在建構Devika時選擇了Claude 3而非GPT-4作為核心技術。這一選擇可能影響到兩者在處理軟體開發任務時的具體表現和能力範圍。
2.Replit Code Repair
Replit的Code Repair是一款低延遲的代碼修複AI工具。它利用了基于大量代碼示例及其相應修複方案訓練的大型語言模型。這種LLM能夠分析你的代碼,并識别潛在的錯誤或低效之處。
Replit團隊将一個規模達70億參數的代碼LLM進行了微調,使其行為模式模拟LSP(Language Server Protocol)代碼操作。
其特殊之處在于訓練資料——精心混合了來自真實世界的錯誤案例(在Replit平台上收集)以及通過合成方式生成的代碼修複方案。
Replit采取的方法包括使用操作轉換(Operational Transformations,OTs)和會話事件,建構包含(代碼,診斷)對的資料集。他們利用大型預訓練代碼模型合成差異,并針對代碼修複任務對其進行精細調整優化。
3.SWE Agent
SWE Agent 是一款開源的軟體工程助手,與Devin和Devika類似,由普林斯頓大學John Yang、Carlos E. Jimenez和Alexander Wettig帶領的團隊開發。該工具旨在将諸如GPT-4這樣的語言模型轉變為能夠在真實GitHub倉庫中修複bug和處理問題的軟體工程代理。
在完整的SWE-bench測試集中,SWE-Agent成功解決了其中12.29%的問題。SWE-Agent之是以能取得這樣的成果,關鍵在于其創新的Agent-Computer Interface(ACI,代理-計算機接口)。這一接口極大地優化了語言模型與代碼倉庫之間的互動流程。
不同于傳統的做法,SWE-Agent的ACI設計簡化了指令和回報格式,使得模型更容易在倉庫内部導航、編輯及執行代碼檔案。
開發者可以通過Docker和Miniconda輕松設定此工具,并按照項目文檔中詳述的簡單安裝和配置步驟來完成部署工作。
4.OpenDevin
OpenDevin,顧名思義,是一項旨在模仿Devin的開源項目。如同Devin一樣,OpenDevin期望能夠處理軟體開發的各種方面,包括代碼生成、調試和部署自動化等功能。
該項目的alpha版本已經可供測試,展示了其處理複雜任務并與使用者協作的能力。
OpenDevin項目的主要關注點在于實作一系列關鍵裡程碑,例如打造帶有聊天和指令功能的使用者友好型界面,建構穩定的支援指令執行的後端架構,不斷提升AI代理的功能性能,并建立一套完善的評估體系。
5.MetaGPT
MetaGPT是一個多智能體架構,它本身就像一家虛拟的軟體公司。該系統接受一條簡潔的需求描述,并能輸出全面的使用者故事、競品分析、需求規格說明、資料結構設計、應用程式接口(APIs)定義以及相關文檔。
在MetaGPT内部內建了産品經理、架構師、項目經理和工程師等多種角色功能,這些“角色”遵循精心制定的标準操作程式(Standard Operating Procedures, SOPs)。
通過模拟實際工作流程中的各個環節,MetaGPT能夠自動生成一整套軟體開發前期所需的關鍵材料,進而極大地提升軟體開發過程的效率和标準化程度。
6.ChatDev
ChatDev與MetaGPT相似,其運作同樣基于一系列扮演不同角色的智能代理,包括首席執行官、首席産品官、首席技術官、程式員、測試員以及美術設計師等。
這些智能代理共同構成了一個多智能體組織結構,并以“通過程式設計革新數字世界”為使命緊密相連。它們在ChatDev的特定職能工作坊中協作互動,參與從設計構思、編碼實作、測試驗證到文檔編撰等一系列活動。
這意味着ChatDev能夠模拟現實世界的軟體開發全過程,通過自動化和智能化的方式完成複雜的項目任務,進而有效地提高開發速度、優化産品品質并確定各個階段工作的連貫性和一緻性。
綜上,這些自動化程式設計平台都正在利用AI的力量重新定義軟體開發行業的生産力與創新模式。
參考連結:https://analyticsindiamag.com/top-6-devin-alternatives-to-automate-your-coding-tasks/
想了解更多AIGC的内容,請通路:
51CTO AI.x社群
https://www.51cto.com/aigc/
來源: 51CTO技術棧