自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

華人又來炸場!一個命令工具讓GPT-4干掉Devin和RAG!Jim Fan:提示工程2.0沒必要了!

發(fā)布于 2024-4-3 13:03
瀏覽
0收藏

華人又來炸場了!昨天,普林斯頓的CS/NLP碩士生John Yang在Github上開源了一款堪比Devin的利器。不到一天,就在Github上斬獲了1.3k 星,異常生猛。據(jù)悉,4月10日,詳細的技術論文就會公開!

華人又來炸場!一個命令工具讓GPT-4干掉Devin和RAG!Jim Fan:提示工程2.0沒必要了!-AI.x社區(qū)圖片

1.讓語言模型秒變編程Agent!

SWE-agent是一款用于自主解決Github存儲庫問題的新系統(tǒng),在SWE-bench上取得了與Devin相似的準確度,平均耗時只有93s,而且重要的是,開源?。?!

華人又來炸場!一個命令工具讓GPT-4干掉Devin和RAG!Jim Fan:提示工程2.0沒必要了!-AI.x社區(qū)圖片

此外,SWE-agent 通過與專用終端交互來工作,這使得它能夠:

  • 打開、滾動和搜索文件
  • 使用自動語法檢查編輯特定行
  • 編寫并執(zhí)行測試 這個定制的界面對于良好的性能至關重要!

華人又來炸場!一個命令工具讓GPT-4干掉Devin和RAG!Jim Fan:提示工程2.0沒必要了!-AI.x社區(qū)

2.大模型雖好,但也需要疊加Buff

要知道,目前如果只是簡單地將 LM 連接到普通的 bash 終端效果并不好。

大模型需要精心設計的代理計算機界面(類似于人類喜歡良好的 UI 設計)才能更好地發(fā)揮威力!即使強如GPT-4,良好的代理計算機設計也很重要。

例如,當大模型弄亂縮進時,SWE-agent的編輯器會阻止它并提供反饋!

另外,團隊還發(fā)現(xiàn)了一個重要的數(shù)字經驗:對于查看文件,讓 SWE-agent 一次僅查看 100 行比讓它查看 200 或 300 行要好,而且比讓它查看整個文件要好得多。所謂的“長文本”能力在這里好像不好用了。

SWE-agent團隊的厲害之處在于,他們設計了一種代理計算機交互接口(ACI),讓大模型有一個專屬的定制界面。

華人又來炸場!一個命令工具讓GPT-4干掉Devin和RAG!Jim Fan:提示工程2.0沒必要了!-AI.x社區(qū)圖片

SWE-agent 將大模型(例如 GPT-4)轉變?yōu)檐浖こ檀恚梢孕迯驼鎸?GitHub 存儲庫中的錯誤和問題。在完整的SWE-bench測試集上,SWE-agent 解決了12.29%的問題,在完整的測試集上實現(xiàn)了最先進的性能。

華人又來炸場!一個命令工具讓GPT-4干掉Devin和RAG!Jim Fan:提示工程2.0沒必要了!-AI.x社區(qū)圖片

3.Agent必備:代理計算機接口 (ACI)

通過設計簡單的以大模型為中心的命令和反饋格式來實現(xiàn)這些結果,使大模型更容易瀏覽存儲庫、查看、編輯和執(zhí)行代碼文件。團隊將其稱為代理計算機接口(ACI),并構建 SWE 代理存儲庫,以便輕松迭代存儲庫級編碼代理的 ACI 設計。

華人又來炸場!一個命令工具讓GPT-4干掉Devin和RAG!Jim Fan:提示工程2.0沒必要了!-AI.x社區(qū)圖片

大家都知道,再好的語言模型,也都需要良好的提示工程。Agent也一樣,同樣需要良好的ACI設計,這樣可以帶來更好的結果。正如我們在論文中所示,沒有經過良好調整的 ACI 的基線代理的表現(xiàn)比 SWE 代理差得多。

在Agent-計算機界面設計過程中,SWE-agent 團隊總結了幾個非常有用的經驗:

第一,團隊添加了一個在發(fā)出編輯命令時運行的 linter,并且如果代碼語法不正確,則不會讓編輯命令通過。

第二,為Agent提供了一個專門構建的文件查看器,而不僅僅是cat文件。團隊發(fā)現(xiàn)此文件查看器在每輪僅顯示 100 行時效果最佳。我們構建的文件編輯器具有用于上下滾動以及在文件中執(zhí)行搜索的命令。

第三,還為Agent提供了專門構建的全目錄字符串搜索命令。團隊發(fā)現(xiàn)該工具簡潔地列出匹配項非常重要 - 我們只需列出至少有一個匹配項的每個文件。事實證明,向模型顯示有關每場比賽的更多上下文對于模型來說太混亂了。

第四,當命令的輸出為空時,我們會返回一條消息,指出“您的命令已成功運行,但未產生任何輸出”。

來看看實際演示,全程無炒作!

華人又來炸場!一個命令工具讓GPT-4干掉Devin和RAG!Jim Fan:提示工程2.0沒必要了!-AI.x社區(qū)

安裝也很簡單,Docker+Miniconda,外加一個激活命令行:conda activate swe-agent

就可以快速體驗。具體來說,運行./setup.sh以創(chuàng)建swe-agentdocker 鏡像,然后配置文件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)'

4.用法簡單:推理和評估兩個步驟

SWE-agent 管道有兩個步驟:推理和評估。非常簡單,第一步(推理)就是向SWE agent輸入GitHub問題并返回嘗試修復它的拉取請求;第二步(評估,目前僅適用于 SWE-bench 基準測試中的問題)就是評估拉取請求,看看它是否確實可以解決問題。

不管你是想跑在Github還是SWE-bench上,都會有相應的命令。

推理

對任何GitHub 問題的推理:使用此腳本,你可以在任何 GitHub 問題上運行 SWE-agent!

python run.py --model_name gpt4 \
--data_path https://github.com/pvlib/pvlib-python/issues/1603 --config_fi

SWE-bench 上的推理:在SWE-bench Lite上運行 SWE-agent并生成補丁。

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

評估

此步驟僅適用于 SWE 基準集中的問題。要評估生成的拉取請求:

cd evaluation/
./run_eval.sh <predictions_path>

5.JimFan:提示工程2.0也許沒那么重要了!

對于這一發(fā)布,英偉達高級研究經理JimFan認為,非常棒!單純靠GPT4命令行工具進行更好手動設計就可以達到媲美Devin的精確度,沒有魔法,沒有炒作。

此外,Jim認為當GPT5到來時,也許指令遵循、工具使用,長上下文會更好。也許所謂“提示工程2.0”不再那么重要了!

華人又來炸場!一個命令工具讓GPT-4干掉Devin和RAG!Jim Fan:提示工程2.0沒必要了!-AI.x社區(qū)圖片

知識補充:

SWE Bench旨在提供一組不同的代碼庫問題,這些問題可以使用回購單元測試進行驗證。完整的SWE臺架測試拆分包括12個python存儲庫中的2294個問題提交對。

自發(fā)布以來,對于大多數(shù)在SWE工作臺上進行評估的系統(tǒng)來說,運行每個實例可能需要大量的時間和計算。官方還發(fā)現(xiàn),SWE工作臺可能是一個特別困難的基準,從長遠來看,這對評估LMs很有用,但對試圖在短期內取得進展的系統(tǒng)來說卻令人沮喪。

為了解決這些問題,SWE-bench發(fā)布了一個規(guī)范子集SWE-bench Lite。SWE-bench Lite包括SWE bench中的300個實例,這些實例經過采樣后更加獨立,重點是評估功能性錯誤修復。

參考鏈接:https://github.com/princeton-nlp/SWE-agent

本文轉載自??51CTO技術棧??

收藏
回復
舉報
回復
相關推薦