首頁  >  文章  >  科技週邊  >  開源版AI程式設計師來了:GPT-4加持,能力比肩Devin,一天1.4k Star

開源版AI程式設計師來了:GPT-4加持,能力比肩Devin,一天1.4k Star

WBOY
WBOY轉載
2024-04-03 15:01:201090瀏覽

想了解更多AIGC的內容,請造訪:

51CTO AI.x社群

https://www.51cto.com/ aigc/

最近,有很多人在為AI 取代自己的工作而擔憂。

上個月火遍AI圈的「首位AI 程式設計師」Devin,利用大模型能力已經掌握了全端技能,只需要人類給出自然語言指令,就可以自動完成複雜的程式碼任務。

Devin展示的工具能力非常驚艷,特別是這款自走閉源路線的新創公司。目前只有少數人才能使用這種內測名額的人才能夠擁有。

本週二,普林斯頓大學NLP組的研究人員發布了SWE-agent——一個開源版AI程式設計師,不到一天就獲得了上千的GitHub Star數量。這個SWE-agent是基於深度學習的技術,能夠自動編寫高效且可靠的程式碼。他的發布引起了廣泛的關注,許多開發者對他的技術和性能表示了高度的認可。這些成就也證明了NLP領域在AI研

开源版AI程序员来了:GPT-4加持,能力比肩Devin,一天1.4k Star

#SWE-agent 是一款用於自主解決 GitHub 儲存庫中問題的新系統。它在 SWE-bench 上獲得了與 Devin 相似的準確度,平均耗時 93 秒。

开源版AI程序员来了:GPT-4加持,能力比肩Devin,一天1.4k Star

  • 專案網站:https://swe-agent.com/
  • GitHub :https://github.com/princeton-nlp/SWE-agent

#該專案的作者John Yang 表示,相關論文的預印版也將在4 月10 號上傳。

從原理上看,SWE-agent 透過將大模型(例如 GPT-4)轉變為軟體工程智能體,可以修復真實 GitHub 儲存庫中的錯誤和問題。

在完整的 SWE-bench 測試集上,SWE-agent 解決了 12.29% 的問題,並實現了 SOTA 效能。

开源版AI程序员来了:GPT-4加持,能力比肩Devin,一天1.4k Star

為了提供開發過程中的自動化,SWE-agent 透過與專用終端互動來運作,它可以開啟、搜尋檔案內容,使用自動語法檢查、編輯特定行,也可以編寫並執行測試。

該專案的開發者精心設計了 UI 介面,並在 GitHub 上進行了介紹。

智能體- 電腦介面(ACI)

#研究團隊設計了簡單的以大模型(LM)為中心的指令與回饋格式,使大模型能夠更方便地瀏覽儲存庫、檢視、編輯和執行程式碼文件,這被稱為智慧體- 電腦介面(ACI)。研究團隊也建立了 SWE 智能體儲存庫,以便輕鬆迭代儲存庫層級編碼智慧體的 ACI 設計。

就像語言模型需要良好的提示工程(prompt engineering)一樣,良好的 ACI 設計在使用智能體時會帶來更好的結果。沒有經過良好調整的 ACI 的基線智能體的表現比 SWE-agent 差得多。

SWE-agent 包含研究團隊在智慧體- 電腦介面設計過程中發現的非常有用的功能,包括:

1.新增一個在發出編輯命令時運行的linter,如果程式碼語法不正確,則不會讓編輯命令通過。

2. 為智能體提供一個專門建置的檔案檢視器。研究團隊發現此文件檢視器在每輪僅顯示 100 行時效果最佳,且該文件編輯器具有上下滾動以及在文件中執行搜尋的命令。

3. 為智能體提供專門建置的全目錄字串搜尋指令。研究團隊發現該工具簡潔地列出匹配項非常重要 —— 只需列出至少有一個匹配項的每個文件。該研究表明,向模型顯示有關每個匹配的更多上下文對於模型來說太混亂了。

4. 當指令的輸出為空時,傳回一則訊息:「您的指令已成功執行,但未產生任何輸出」。

未來發布的論文將詳述更多資訊。

安裝與使用

要使用SWE-agent,首先要設定如下條件:

1. 安裝Docker ,並在本地啟動Docker;

2. 安裝Miniconda,並使用conda env create -fenvironment.yml 創建swe-agent 環境;

3. 使用 conda activate swe-agent 啟動;

#4. 運行./setup.sh 建立swe-agent docker 映像;

    # 5. 在此儲存庫的根目錄下建立一個keys.cfg 檔案並填入下列內容:
  • OPENAI_API_KEY: 'OpenAI API Key Here if using OpenAI Model (optional)'ANTHROPIC_API_KEY: 'Anthropic API Key Here if using Anthropic Model (optional)'GITHUB_TOKEN: 'GitHub Token Here (required)'
  • SWE-agent pipeline 包含兩個步驟:

第一步:SWE-agent 接收輸入的GitHub 問題,並傳回嘗試修復它的拉取請求(pull request);

第二步:評估拉取請求以驗證它確實解決了問題(目前僅適用於SWE-bench 基準測試中的問題)。

如果想在整個 SWE-bench 上執行和評估,最簡單的方法是使用 x86 機器。

python run.py --model_name gpt4 \--data_path https://github.com/pvlib/pvlib-python/issues/1603 --config_file config/default_from_url.yaml


python run.py --model_name gpt4 \--per_instance_cost_limit 2.00 \--config_file ./config/default.yaml

如果想要執行SWE-bench 中的單一問題,可以使用--instance_filter:

#
python run.py --model_name gpt4 \--instance_filter marshmallow-code__marshmallow-1359
###想了解更多AIGC的內容,請造訪:#########51CTO AI.x社群######https://www.51cto.com/ aigc/#########

以上是開源版AI程式設計師來了:GPT-4加持,能力比肩Devin,一天1.4k Star的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除