林惠學(xué)
henry發(fā)自凹非寺量子位|公眾號(hào)QbitAI
只用100行代碼,打造最強(qiáng)輕量編程agent。
SWE-bench、SWE-agent原班人馬再出手,推出全新開(kāi)源項(xiàng)目——
mini-SWE-agent
不依賴(lài)任何額外插件,僅通過(guò)基礎(chǔ)命令即可運(yùn)行。而且對(duì)模型沒(méi)有限制,幾乎兼容所有主流語(yǔ)言模型,支持直接在本地終端中部署和使用。
而在如此精簡(jiǎn)的架構(gòu)下,僅憑100行核心代碼輕松解決SWE-bench上65%的問(wèn)題。
這個(gè)65%是啥水平呢?
也就和原版差不多吧~(關(guān)鍵人家還輕量?。?/p>
網(wǎng)友:厲害
百行代碼,實(shí)力不打折
SWE-agent是一個(gè)開(kāi)源項(xiàng)目(16.8kGitHubStar),它的目標(biāo)是讓agent自動(dòng)修復(fù)GitHub上真實(shí)項(xiàng)目中的代碼Bug
不過(guò),原版的SWE-agent基于LangChain構(gòu)建,從接受issue、理解問(wèn)題、編輯代碼、到提交PR,涉及多工具、多輪對(duì)話管理,任務(wù)流程繁瑣。
除此之外,開(kāi)發(fā)者要跑通還需要安裝多個(gè)依賴(lài),精調(diào)工具調(diào)用邏輯,而且項(xiàng)目代碼動(dòng)輒上千行,對(duì)模型、環(huán)境的耦合也比較強(qiáng)。
而隨著語(yǔ)言模型性能越來(lái)越強(qiáng)大,構(gòu)建一個(gè)有用的代理已經(jīng)不再需要這些工具和接口了。
由此,團(tuán)隊(duì)開(kāi)始思考:能否讓SWE-agent小100倍,并保持原有的性能。
mini-SWE-agent由此而來(lái)。
那么,相較于SWE-agent,mini-SWE-agent有什么不同呢?
極簡(jiǎn)代碼和依賴(lài):mini-SWE-agent本身僅約100行Python代碼,加上環(huán)境、模型、腳本才共約200行,沒(méi)有復(fù)雜的依賴(lài)關(guān)系。
取消工具調(diào)用接口:mini版本不集成專(zhuān)用的代碼編輯、搜索等工具;它只使用操作系統(tǒng)的Bash環(huán)境執(zhí)行命令。每一步由語(yǔ)言模型輸出一個(gè)完整的shell命令,不通過(guò)獨(dú)立的“toolcall”協(xié)議,從而可兼容任何語(yǔ)言模型。
線性歷史記錄:agent的每一步都只是附加到消息中。
獨(dú)立單步執(zhí)行:每條命令通過(guò)Python獨(dú)立執(zhí)行,并非保持一個(gè)持續(xù)的shell會(huì)話,這使得在沙盒中執(zhí)行操作變得非常簡(jiǎn)單,并且可以輕松擴(kuò)展。
簡(jiǎn)化配置與接口:取消了SWE-agent依賴(lài)的復(fù)雜YAML配置;mini-swe-agent采用代碼內(nèi)置模板,并提供直觀的命令行工具。用戶(hù)可以通過(guò)mini命令快速啟動(dòng)代理,或使用mini-v啟動(dòng)可視化界面。
多樣的運(yùn)行環(huán)境支持:除了本地Shell,mini-swe-agent還內(nèi)置支持多種容器與虛擬化環(huán)境(如Docker、Podman、Singularity、Apptainer等),這意味著開(kāi)發(fā)者可以在不同平臺(tái)和容器中輕松部署,而無(wú)需額外修改代碼。
保留高性能和工具:雖然架構(gòu)極簡(jiǎn),mini-swe-agent在SWE-bench驗(yàn)證集上仍能解決約65%的問(wèn)題。同時(shí),它附帶批量推理(batchinference)、軌跡瀏覽器(trajectorybrowser)等工具,幫助用戶(hù)進(jìn)行大規(guī)模評(píng)測(cè)和決策分析。代理還提供可視化界面,方便開(kāi)發(fā)者交互式地觀察執(zhí)行過(guò)程
此外,對(duì)于應(yīng)在何種場(chǎng)景下使用SWE-agent或mini-SWE-agent,團(tuán)隊(duì)也根據(jù)不同的需求給出了建議:
mini-swe-agent更適合希望快速本地運(yùn)行、追求簡(jiǎn)潔控制流和更穩(wěn)定評(píng)估環(huán)境的用戶(hù)。它非常輕量,適合用于微調(diào)(FT)或強(qiáng)化學(xué)習(xí)(RL)等實(shí)驗(yàn),不容易陷入對(duì)復(fù)雜框架的過(guò)擬合。
如果你需要高度可配置的工具鏈、更復(fù)雜的歷史狀態(tài)管理,或希望通過(guò)修改YAML文件自由切換組件而無(wú)需動(dòng)代碼,那么功能更豐富的SWE-agent會(huì)是更合適的選擇。
總體而言,mini-swe-agent體現(xiàn)了可讀、方便、易擴(kuò)展的開(kāi)發(fā)理念。
對(duì)于日常開(kāi)發(fā)者而言,它既可以作為簡(jiǎn)單的命令行工具使用。如在本地終端快速解決問(wèn)題),也可以作為庫(kù)被集成到其他Python應(yīng)用中。
相比于重型框架,它降低了上手成本,讓開(kāi)發(fā)者可以像使用腳本一樣靈活地“駕馭”智能代理。
Onemorething
SWE-bench和SWE-agent是由JohnYang、CarlosE.Jimenez、AlexanderWettig、KilianLieret、姚順雨(OpenAI研究員,2015年畢業(yè)清華姚班)、KarthikNarasimhan和OfirPress于2024年在普林斯頓大學(xué)發(fā)起的開(kāi)源項(xiàng)目。
該項(xiàng)目推動(dòng)了基于大型語(yǔ)言模型的軟件工程代理(SoftwareEngineeringAgent)研究。
其中,SWE-bench一經(jīng)發(fā)布后,就成為了評(píng)估大語(yǔ)言模型編程的經(jīng)典benchmark,伴隨SWE-agent一同提出的Agent?Computer-Interface(ACI)則進(jìn)一步定義了“智能體如何與計(jì)算機(jī)交互”的標(biāo)準(zhǔn)接口方式。
而這一杰出的想法最初僅僅來(lái)自一次20多分鐘的討論。
在MatthewBerman的播客節(jié)目上,CarlosE.Jimenez分享道:SWE-bench最初的想法源自他和JohnYang在閑逛時(shí)的一次頭腦風(fēng)暴:
他們意識(shí)到,GitHub不只是一個(gè)存儲(chǔ)代碼的地方,更是一個(gè)活躍的協(xié)作開(kāi)發(fā)平臺(tái),充滿(mǎn)了真實(shí)的軟件工程過(guò)程:用戶(hù)報(bào)告bug,開(kāi)發(fā)者提交修復(fù),社區(qū)公開(kāi)審核和合入。
相比傳統(tǒng)的編程競(jìng)賽,這些交互和修改才是真正代表“現(xiàn)實(shí)世界編程”的任務(wù)。于是他們?cè)O(shè)想,能否把這種開(kāi)源協(xié)作的過(guò)程結(jié)構(gòu)化下來(lái),變成一種評(píng)估語(yǔ)言模型能力的標(biāo)準(zhǔn)流程?
這便催生了SWE-bench,一個(gè)基于GitHub上真實(shí)Issue與PullRequest構(gòu)建的benchmark,用來(lái)測(cè)試LLM是否能像人類(lèi)開(kāi)發(fā)者一樣,理解bug報(bào)告并修復(fù)代碼。
這個(gè)系統(tǒng)不僅更接近現(xiàn)實(shí),也讓模型的“開(kāi)發(fā)能力”變得可觀察、可比較,而SWE-agent則是他們?yōu)檫@一評(píng)估任務(wù)設(shè)計(jì)的開(kāi)源agent,目標(biāo)就是成為能在SWE-bench上“修最多bug”的AI程序員。
項(xiàng)目主頁(yè):[1]https://github.com/SWE-agent/mini-swe-agent[2]https://github.com/SWE-agent/mini-swe-agent?tab=readme-ov-file
15本已完結(jié)清末民初歷史架空小說(shuō),泱泱中華,百家爭(zhēng)鳴,救亡存圖
但也知道他是個(gè)謹(jǐn)小慎微的人,從未對(duì)人展露過(guò)志向,不成想直皖大戰(zhàn)過(guò)后,倒像是變了個(gè)人似得,不過(guò)李東閣的話正中劉翼飛的下懷,有句老話說(shuō)得好,不想當(dāng)將軍的士兵不是好士兵,誰(shuí)不想做一方督軍大帥,只不過(guò)大多數(shù)人只敢心里想想,不敢說(shuō)出來(lái)而已|——。
強(qiáng)推34本寶藏文,已完結(jié),高口碑,男主是民國(guó)少帥軍閥文大合集
臨城大劫案大顯身手、第一次直奉大戰(zhàn)一戰(zhàn)成名……從一個(gè)小兵成長(zhǎng)為一省督軍再到奉軍巨擘,他開(kāi)始肩負(fù)起北洋遺留下的過(guò)錯(cuò),外侮需人御,將軍賦采薇。韓百航以鐵和血鑄就了北洋最后的傳奇|_。(點(diǎn)擊下方免費(fèi)閱讀)大家覺(jué)得這幾本小說(shuō)怎么樣?如果合你的口味,記得關(guān)注我每天獲取好書(shū)推薦哦,書(shū)荒再也不迷路啦~
3本軍閥少帥男主文:《回到民國(guó)當(dāng)名媛》《民國(guó)反派大小姐》
然而當(dāng)他解除婚約后——阮寧:“許先生,我們已經(jīng)解除婚約了,你還來(lái)找我做什么——。”許承鄴:“-。。_?!?《穿成民國(guó)大佬的瘋姨太》作者:春如酒作精姨太太vs寵妻公子哥,穿書(shū),敗家日常,民國(guó)甜寵文阮蘇穿到一本民國(guó)小說(shuō)里,《冷血督軍的殺戮史》,男主角段瑞金生于富商之家,早年經(jīng)商,后期成為督軍,兇狠毒等我繼續(xù)說(shuō)。
來(lái)源:紅網(wǎng)
作者:蔣泓美
編輯:鞏恨瑤
本文為紅辣椒評(píng)論 原創(chuàng)文章,僅系作者個(gè)人觀點(diǎn),不代表紅網(wǎng)立場(chǎng)。轉(zhuǎn)載請(qǐng)附原文出處鏈接和本聲明。