五個基于 AI Agent 的開源 AI 軟件工程師
如果你關注大模型,Devin——這個名字你肯定有聽過,他是一位具有開創(chuàng)性的AI軟件工程師,前段時間他正在人工智能領域掀起波瀾。
通過Devin,我們看到了LLM在軟件開發(fā)方面的巨大潛力。經(jīng)過一段時間的發(fā)展,程序員的工作還沒有被替代。但大模型作為輔助工具,確實幫助程序員提高了工作效率。
這段時間我們又發(fā)現(xiàn)了幾個開源AI Agent也有很強的軟件開發(fā)能力,有望改變程序員的工作方式。
1.SWE-agent
https://github.com/princeton-nlp/SWE-agent
SWE-agent是一個革命性的工具,可以將GPT-4等語言模型(LM)轉換為強大的軟件工程代理。這些代理可以處理各種任務,例如:修復GitHub存儲庫中的bug、協(xié)助代碼生成、重構代碼等。
主要特性包括:
- Bug修復:SWE-agent可以自動識別和修復代碼中的bug,為開發(fā)人員節(jié)省寶貴的時間和精力。
- 代碼生成:代理可以基于自然語言描述生成代碼片段和整個函數(shù),加快開發(fā)工作流程。
- 代碼重構:SWE-agent可以分析代碼并提出改進建議,以增強可讀性,性能和可維護性。
- 易于安裝:SWE-agent提供多種安裝選項,包括無需安裝的基于瀏覽器的版本。
- 豐富的配置:該工具可以在不修改代碼的情況下進行廣泛的自定義,允許用戶根據(jù)自己的特定需求進行定制。
SWE-agent具有強大的功能和友好的用戶界面,能夠將繁瑣的任務自動化,并提供智能協(xié)助,幫助開發(fā)人員專注于業(yè)務、創(chuàng)意和戰(zhàn)略性的方面內容,有望徹底改變軟件工程師的工作方式。
系統(tǒng)架構如下圖所示:
2.Devika
https://github.com/stitionai/devika
Devika是一款AI軟件開發(fā)助手,旨在幫助開發(fā)人員簡化工作流程并提高生產力。憑借其自然語言處理功能,Devika可以理解并響應開發(fā)人員的查詢,提供各種幫助。
Devika的主要功能包括:
- 代碼生成:Devika可以基于自然語言描述生成代碼片段和整個函數(shù),節(jié)省開發(fā)人員的時間和精力。
- 代碼說明:該助手可以用簡單的術語解釋復雜的代碼概念和算法,使開發(fā)人員更容易理解和應用它們。
- 自動化任務:Devika可以自動執(zhí)行重復性任務,例如設置開發(fā)環(huán)境或運行測試,從而使開發(fā)人員能夠專注于更重要的工作。
- 個性化推薦:該助手從每個用戶的偏好和編碼風格中學習,為工具、庫和最佳實踐提供量身定制的建議。
3.OpenHands(原名OpenDevin)
https://github.com/All-Hands-AI/OpenHands
OpenHands一個由AI驅動的軟件開發(fā)代理平臺。OpenHands代理可以做任何人類開發(fā)人員可以做的事情:修改代碼、運行命令、瀏覽網(wǎng)頁、調用API,甚至可以從StackOverflow復制代碼片段。旨在幫助開發(fā)人員完成從代碼生成到項目管理的各種任務。OpenHands構建在大型語言模型之上,為開發(fā)人員提供了一個靈活且可擴展的平臺,以構建自己的AI驅動工具。
OpenHands的主要功能特性:
- 模塊化架構:模塊化設計支持開發(fā)人員輕松添加新功能,并根據(jù)其特定需求定制助手。
- 多語言支持:該助手可以理解和生成多種編程語言的代碼,使其對從事不同項目的開發(fā)人員非常有用。
- 可擴展的基礎架構:建立在可擴展的基礎設施上,使其能夠處理大量請求并支持不斷增長的用戶群。
OpenHands系統(tǒng)架構如下圖所示:
4.GPT-Pilot
https://github.com/Pythagora-io/gpt-pilot/
GPT-Pilot是一個用于軟件開發(fā)的對話式AI助手,旨在幫助軟件開發(fā)人員在整個開發(fā)生命周期中提高效率。GPT-Pilot使用大型語言模型構建,可以參與自然語言對話,GPT Pilot不只是生成代碼,它還能構建應用程序。
GPT-Pilot的主要特性:
- 對話界面:GPT-Pilot使用對話界面,允許開發(fā)人員以自然和直觀的方式與助手進行交互。
- 多模式支持:該助手可以處理各種輸入類型,包括代碼段、圖像和文件,因此可用于各種開發(fā)任務。
- 上下文理解:GPT-Pilot在整個對話中保持上下文,允許更連貫和相關的響應。
- 持續(xù)學習:助手從每次交互中學習,隨著時間的推移提高其知識和能力,以幫助開發(fā)人員。
以下是GPT Pilot創(chuàng)建應用程序的步驟:
- 輸入應用程序名稱和描述。
- 產品所有者代理就像在真實的生活中一樣,什么也不做。:)
- 如果項目描述不夠好,規(guī)范編寫者代理會問幾個問題來更好地理解需求。
- 架構師代理編寫將用于應用程序的技術,并檢查計算機上是否安裝了所有技術,如果沒有,則安裝它們。
- 技術主管代理編寫開發(fā)人員必須實現(xiàn)的開發(fā)任務。
- 開發(fā)人員代理接受每個任務,并寫下實現(xiàn)它需要做什么。描述是人類可讀的形式。
- Code Monkey代理獲取Developer的描述和現(xiàn)有文件并實現(xiàn)更改。
- Reviewer代理會檢查任務的每一步,如果有錯誤,Reviewer會將其發(fā)送回Code Monkey。
- 當出現(xiàn)問題時,搜索引擎代理可以幫助您向GPT Pilot提供良好的反饋。
- 探員討厭見到他,但當事情變糟時,他是你最好的朋友。
- 技術寫作代理為項目編寫文檔。
5.Agent Zero(零號特工)
https://github.com/frdel/agent-zero
Agent Zero是一個靈活的人工智能代理,旨在幫助軟件開發(fā)人員完成從代碼生成到項目管理的各種任務。Agent Zero使用先進的機器學習技術構建,可以適應每個用戶的特定需求和偏好。
Agent Zero的主要特性:
- 靈活的架構:Agent Zero的模塊化設計允許開發(fā)人員輕松自定義代理的功能和行為,以滿足他們的特定需求。
- 個性化幫助:代理從每個用戶的交互和偏好中學習,隨著時間的推移提供量身定制的建議和幫助。
- 多模式支持:Agent Zero可以處理各種輸入類型,包括代碼段、自然語言描述和文件,這使得它可以用于各種開發(fā)任務。
- 可擴展的基礎架構:該代理構建在可擴展的基礎設施上,允許它處理大量請求并支持不斷增長的用戶群。