這項(xiàng)由Nebius AI(前俄羅斯科技巨頭Yandex的AI部門(mén))的Alexander Golubev領(lǐng)導(dǎo)的研究團(tuán)隊(duì)完成,于2025年8月發(fā)表在arXiv預(yù)印本服務(wù)器上。研究詳細(xì)信息為arXiv:2508.03501v1,感興趣的讀者可以通過(guò)該編號(hào)在arXiv.org上搜索獲取完整論文。該研究還得到了Humanoid公司Boris Yangel的貢獻(xiàn)支持。
想象一下,如果有一個(gè)AI助手能夠像經(jīng)驗(yàn)豐富的程序員一樣,不僅能讀懂復(fù)雜的代碼,還能在遇到Bug時(shí)進(jìn)行多輪調(diào)試,反復(fù)測(cè)試修改,直到問(wèn)題完全解決——這聽(tīng)起來(lái)是不是很像科幻電影里的場(chǎng)景?然而,Nebius AI的研究團(tuán)隊(duì)剛剛把這個(gè)想象變成了現(xiàn)實(shí)。他們開(kāi)發(fā)出了一個(gè)基于強(qiáng)化學(xué)習(xí)的軟件工程智能體,能夠在真實(shí)的GitHub項(xiàng)目中獨(dú)立解決復(fù)雜的編程問(wèn)題。
這個(gè)研究之所以引人注目,是因?yàn)樗鉀Q了一個(gè)長(zhǎng)期困擾AI開(kāi)發(fā)者的核心難題。以往的AI編程助手大多只能處理"一問(wèn)一答"式的簡(jiǎn)單任務(wù),就像一個(gè)只會(huì)背標(biāo)準(zhǔn)答案的學(xué)生。但真正的軟件開(kāi)發(fā)工作卻更像是一場(chǎng)偵探游戲——你需要在龐大的代碼庫(kù)中尋找問(wèn)題根源,嘗試不同的解決方案,觀察測(cè)試結(jié)果,然后根據(jù)反饋不斷調(diào)整策略。這種需要多輪互動(dòng)、長(zhǎng)時(shí)間專注的復(fù)雜任務(wù),一直是AI的薄弱環(huán)節(jié)。
研究團(tuán)隊(duì)以基礎(chǔ)模型Qwen2.5-72B-Instruct為起點(diǎn),通過(guò)創(chuàng)新的強(qiáng)化學(xué)習(xí)訓(xùn)練方法,將其在SWE-bench Verified基準(zhǔn)測(cè)試中的成功率從20%大幅提升到39%。更令人印象深刻的是,這個(gè)智能體在處理真實(shí)軟件工程任務(wù)時(shí),能夠管理長(zhǎng)達(dá)13萬(wàn)個(gè)標(biāo)記的上下文信息,相當(dāng)于同時(shí)記住幾十頁(yè)的技術(shù)文檔內(nèi)容,并在數(shù)十輪的交互中保持清晰的邏輯思路。
這項(xiàng)突破的意義不僅在于技術(shù)層面的進(jìn)步,更在于它為我們展現(xiàn)了AI在復(fù)雜、開(kāi)放性任務(wù)中的巨大潛力。與依賴昂貴專有模型或需要強(qiáng)大"老師"模型指導(dǎo)的傳統(tǒng)方法不同,這個(gè)研究證明了開(kāi)源模型同樣可以通過(guò)精心設(shè)計(jì)的訓(xùn)練策略達(dá)到世界領(lǐng)先水平,為更廣泛的AI應(yīng)用普及鋪平了道路。
**一、從"背書(shū)"到"解題"——AI編程助手的演進(jìn)之路**
要理解這項(xiàng)研究的突破性意義,我們首先需要弄清楚傳統(tǒng)AI編程助手的局限性在哪里??梢园岩酝腁I助手比作一個(gè)只會(huì)單次回答的"萬(wàn)事通"——你問(wèn)它一個(gè)編程問(wèn)題,它會(huì)基于訓(xùn)練數(shù)據(jù)給出一個(gè)答案,然后對(duì)話就結(jié)束了。這種模式在處理簡(jiǎn)單的代碼生成或數(shù)學(xué)推理時(shí)表現(xiàn)不錯(cuò),但面對(duì)真實(shí)的軟件工程任務(wù)時(shí)就顯得力不從心了。
真實(shí)的軟件調(diào)試過(guò)程更像是在一個(gè)巨大的迷宮中尋找出路。程序員需要先理解問(wèn)題描述,然后在成千上萬(wàn)行代碼中定位可能的問(wèn)題區(qū)域,嘗試修改,運(yùn)行測(cè)試,觀察結(jié)果,再根據(jù)新的錯(cuò)誤信息調(diào)整策略。這個(gè)過(guò)程可能需要幾十輪的試錯(cuò),每一步都建立在前面所有步驟的基礎(chǔ)之上。
研究團(tuán)隊(duì)用專業(yè)術(shù)語(yǔ)將這種區(qū)別描述為"多臂老虎機(jī)問(wèn)題"與"部分可觀察馬爾可夫決策過(guò)程"的差異。用通俗的話來(lái)說(shuō),前者就像是在一排老虎機(jī)前選擇拉哪一個(gè),做一次決定就結(jié)束了;而后者則像是在玩一個(gè)復(fù)雜的策略游戲,你的每個(gè)行動(dòng)都會(huì)影響游戲狀態(tài),而你需要根據(jù)不斷變化的局面調(diào)整策略。
這種根本性差異帶來(lái)了幾個(gè)核心挑戰(zhàn)。首先是"長(zhǎng)期記憶"問(wèn)題——AI需要在整個(gè)調(diào)試過(guò)程中記住之前所有的操作和結(jié)果,就像一個(gè)偵探需要記住案件中的每個(gè)細(xì)節(jié)一樣。其次是"復(fù)雜反饋理解"問(wèn)題——編譯器的錯(cuò)誤信息、測(cè)試失敗的日志、代碼運(yùn)行結(jié)果,這些都是需要AI正確解讀的重要信息。最后是"稀疏獎(jiǎng)勵(lì)"問(wèn)題——只有當(dāng)所有測(cè)試都通過(guò)時(shí)AI才能知道自己成功了,這就像是在黑暗中摸索,只有到達(dá)終點(diǎn)才有一盞明燈告訴你走對(duì)了路。
傳統(tǒng)的訓(xùn)練方法主要依賴三種策略。第一種是將復(fù)雜的腳手架系統(tǒng)與專有的大型語(yǔ)言模型結(jié)合,就像給一個(gè)聰明但昂貴的專家配備最好的工具。第二種是在推理時(shí)使用大量計(jì)算資源,讓模型嘗試多種可能性,有點(diǎn)像讓一個(gè)人同時(shí)走多條路徑來(lái)找到正確答案。第三種是使用更強(qiáng)大的"老師"模型生成示例數(shù)據(jù)來(lái)訓(xùn)練較小的"學(xué)生"模型,這類(lèi)似于讓優(yōu)等生的作業(yè)來(lái)教導(dǎo)普通學(xué)生。
然而,這些方法都存在明顯的局限性。它們要么成本高昂,要么嚴(yán)重依賴于專有模型,這就像是只有少數(shù)精英才能享用的奢侈品,無(wú)法普及到更廣泛的應(yīng)用場(chǎng)景中。
**二、強(qiáng)化學(xué)習(xí)的魔法——讓AI在試錯(cuò)中成長(zhǎng)**
強(qiáng)化學(xué)習(xí)為解決這些問(wèn)題提供了一個(gè)全新的思路,就像是教會(huì)AI如何通過(guò)實(shí)踐來(lái)學(xué)習(xí),而不是僅僅記住標(biāo)準(zhǔn)答案。這個(gè)過(guò)程很像我們?nèi)祟?lèi)學(xué)習(xí)騎自行車(chē)或者學(xué)習(xí)做飯——通過(guò)不斷嘗試、犯錯(cuò)、調(diào)整,最終掌握技能。
在軟件工程的語(yǔ)境下,研究團(tuán)隊(duì)將每個(gè)調(diào)試任務(wù)建模為一個(gè)"部分可觀察馬爾可夫決策過(guò)程"。這聽(tīng)起來(lái)很復(fù)雜,但實(shí)際概念很直觀。想象你是一個(gè)偵探,正在調(diào)查一個(gè)復(fù)雜案件。你無(wú)法直接看到案件的全貌(這就是"部分可觀察"),但你可以通過(guò)詢問(wèn)證人、檢查證據(jù)、實(shí)地調(diào)研等行動(dòng)來(lái)收集信息。每個(gè)行動(dòng)都會(huì)為你提供新的線索,這些線索會(huì)影響你下一步的決策。你的最終目標(biāo)是破案,但在破案之前,你無(wú)法確定自己是否走在正確的道路上。
在這個(gè)框架中,AI智能體需要處理幾個(gè)關(guān)鍵要素。環(huán)境狀態(tài)包括完整的軟件環(huán)境狀態(tài),比如文件系統(tǒng)、源代碼和運(yùn)行進(jìn)程,這些就像是案發(fā)現(xiàn)場(chǎng)的所有物證。智能體的行動(dòng)則是由大型語(yǔ)言模型生成的命令字符串,可能包含推理過(guò)程和工具調(diào)用,就像偵探的各種調(diào)查手段。觀察結(jié)果是命令執(zhí)行的輸出,通常包括標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯(cuò)誤和退出代碼,相當(dāng)于調(diào)查行動(dòng)得到的線索和反饋。
歷史記錄在這里扮演著至關(guān)重要的角色。由于大型語(yǔ)言模型具有自回歸特性,智能體的策略會(huì)根據(jù)完整的行動(dòng)和觀察歷史來(lái)選擇下一個(gè)行動(dòng)。這就像一個(gè)經(jīng)驗(yàn)豐富的偵探,會(huì)綜合考慮案件中的所有已知信息來(lái)制定下一步調(diào)查計(jì)劃。
研究團(tuán)隊(duì)采用的強(qiáng)化學(xué)習(xí)算法是一個(gè)名為"去耦優(yōu)勢(shì)策略優(yōu)化"(DAPO)的改進(jìn)版本。這個(gè)算法的核心思想是摒棄傳統(tǒng)強(qiáng)化學(xué)習(xí)中復(fù)雜的價(jià)值函數(shù)估計(jì),轉(zhuǎn)而使用一種更直接的方法來(lái)評(píng)估行動(dòng)的好壞。
具體來(lái)說(shuō),傳統(tǒng)的PPO算法需要訓(xùn)練一個(gè)額外的"評(píng)價(jià)者"網(wǎng)絡(luò)來(lái)預(yù)測(cè)每個(gè)行動(dòng)的價(jià)值,這就像是需要一個(gè)專門(mén)的顧問(wèn)來(lái)告訴偵探每個(gè)調(diào)查方向的可能性有多大。但DAPO算法采用了一種更簡(jiǎn)潔的方法——它通過(guò)比較同一個(gè)初始狀態(tài)下多個(gè)不同嘗試的最終結(jié)果來(lái)判斷策略的好壞。
這個(gè)過(guò)程可以這樣理解:對(duì)于同一個(gè)編程問(wèn)題,AI會(huì)同時(shí)嘗試10種不同的解決方案。完成后,算法會(huì)計(jì)算這10次嘗試的平均成功率,然后用每次嘗試的實(shí)際結(jié)果與這個(gè)平均值進(jìn)行比較。表現(xiàn)好于平均水平的嘗試會(huì)被視為"正面示例",其對(duì)應(yīng)的行動(dòng)序列會(huì)在訓(xùn)練中得到強(qiáng)化。反之,表現(xiàn)低于平均水平的嘗試則會(huì)被抑制。
研究團(tuán)隊(duì)在DAPO的基礎(chǔ)上進(jìn)行了幾項(xiàng)重要改進(jìn),使其更適應(yīng)軟件工程任務(wù)的特點(diǎn)。首先是"非對(duì)稱裁剪"策略,這就像是在鼓勵(lì)探索新方法時(shí)比懲罰錯(cuò)誤方法時(shí)更加寬松一些,避免AI過(guò)于保守而缺乏創(chuàng)新。其次是"動(dòng)態(tài)采樣"機(jī)制,會(huì)自動(dòng)過(guò)濾掉那些沒(méi)有學(xué)習(xí)價(jià)值的樣本,專注于真正能夠提供學(xué)習(xí)信號(hào)的經(jīng)驗(yàn)。第三是"軟長(zhǎng)度懲罰",當(dāng)AI的回答過(guò)于冗長(zhǎng)時(shí)會(huì)給予適度懲罰,鼓勵(lì)更加簡(jiǎn)潔高效的解決方案。最后是"令牌級(jí)損失"計(jì)算,確保訓(xùn)練過(guò)程中每個(gè)令牌都能平等地貢獻(xiàn)到學(xué)習(xí)中。
**三、智能體的工具箱——從命令行到代碼編輯的全能武器**
要讓AI智能體能夠像真正的程序員一樣工作,它需要掌握各種各樣的工具,就像一個(gè)裝備齊全的工匠需要錘子、鋸子、螺絲刀等各種工具一樣。研究團(tuán)隊(duì)為智能體配備了一套完整的軟件開(kāi)發(fā)工具包,讓它能夠在真實(shí)的編程環(huán)境中游刃有余地操作。
智能體的交互方式采用了ReAct風(fēng)格的循環(huán)結(jié)構(gòu),這種方法的核心思想是"推理-行動(dòng)-觀察"的循環(huán)。具體來(lái)說(shuō),智能體首先會(huì)分析當(dāng)前情況并推理下一步應(yīng)該做什么,然后執(zhí)行相應(yīng)的行動(dòng),最后觀察行動(dòng)的結(jié)果,再基于新的信息進(jìn)行下一輪推理。這個(gè)過(guò)程很像一個(gè)經(jīng)驗(yàn)豐富的程序員調(diào)試代碼時(shí)的思維過(guò)程——分析問(wèn)題、嘗試解決方案、查看結(jié)果、調(diào)整策略。
在工具配置方面,智能體擁有多種類(lèi)型的操作能力。最基礎(chǔ)的是任意shell命令執(zhí)行能力,包括ls(列出文件)、cat(查看文件內(nèi)容)、grep(搜索文本)等常用命令。這些工具就像是程序員的基本技能,讓智能體能夠?yàn)g覽文件系統(tǒng)、查看代碼內(nèi)容、搜索關(guān)鍵信息。
特別重要的是edit命令,這是一個(gè)專門(mén)設(shè)計(jì)的代碼編輯工具。它允許智能體精確地替換文件中指定行范圍的內(nèi)容,并要求智能體提供正確縮進(jìn)的替換文本。這個(gè)工具可以操作當(dāng)前打開(kāi)的文件,也可以指定文件路徑來(lái)編輯其他文件。這就像給智能體配備了一個(gè)精密的代碼編輯器,能夠進(jìn)行準(zhǔn)確的代碼修改。
除了基礎(chǔ)工具,智能體還擁有自定義的搜索和導(dǎo)航工具,比如search_file(在文件中搜索)、open(打開(kāi)文件)、goto(跳轉(zhuǎn)到指定位置)等。這些工具讓智能體能夠高效地在大型代碼庫(kù)中導(dǎo)航,快速定位到相關(guān)代碼段。
最后,submit命令標(biāo)志著智能體認(rèn)為已經(jīng)完成了任務(wù)。這個(gè)命令不需要任何參數(shù),一旦執(zhí)行就會(huì)終止當(dāng)前的調(diào)試會(huì)話。這就像程序員完成代碼修改后提交代碼一樣,表示認(rèn)為問(wèn)題已經(jīng)解決。
整個(gè)工具系統(tǒng)的設(shè)計(jì)哲學(xué)是盡可能模擬真實(shí)程序員的工作流程。每個(gè)SWE任務(wù)都包含一個(gè)GitHub風(fēng)格的問(wèn)題描述、一個(gè)用于驗(yàn)證最終補(bǔ)丁正確性的失敗測(cè)試套件,以及一個(gè)從倉(cāng)庫(kù)快照初始化的沙盒環(huán)境。智能體需要在這個(gè)完全真實(shí)的環(huán)境中工作,面對(duì)的挑戰(zhàn)和約束與人類(lèi)程序員完全相同。
這種設(shè)計(jì)的優(yōu)勢(shì)在于確保了實(shí)驗(yàn)結(jié)果的真實(shí)性和可靠性。智能體不是在一個(gè)簡(jiǎn)化或模擬的環(huán)境中工作,而是在真正的軟件項(xiàng)目中處理真實(shí)的問(wèn)題。這就像是讓一個(gè)機(jī)器人在真實(shí)的廚房里學(xué)會(huì)做菜,而不是在虛擬的游戲環(huán)境中練習(xí),這樣學(xué)到的技能才能真正應(yīng)用到實(shí)際工作中。
**四、數(shù)據(jù)為王——精心篩選的訓(xùn)練素材**
就像烹飪需要優(yōu)質(zhì)食材一樣,訓(xùn)練高效的AI智能體同樣需要精心篩選的數(shù)據(jù)。研究團(tuán)隊(duì)從公開(kāi)的SWE-REBENCH數(shù)據(jù)集出發(fā),這個(gè)數(shù)據(jù)集包含了21,336個(gè)任務(wù),覆蓋了大約3,400個(gè)Python GitHub倉(cāng)庫(kù)。但是,并非所有數(shù)據(jù)都適合用于訓(xùn)練,就像不是所有食材都適合做同一道菜一樣。
數(shù)據(jù)篩選過(guò)程就像一個(gè)嚴(yán)格的質(zhì)檢流程。研究團(tuán)隊(duì)制定了多重篩選標(biāo)準(zhǔn)來(lái)確保訓(xùn)練數(shù)據(jù)的質(zhì)量和穩(wěn)定性。首先是任務(wù)正確性篩選,他們移除了那些因無(wú)效引用或?qū)脲e(cuò)誤而導(dǎo)致測(cè)試失敗的任務(wù),比如AttributeError或ImportError。這些問(wèn)題通常需要智能體去猜測(cè)特定的標(biāo)識(shí)符名稱,這種任務(wù)更像是"盲目猜測(cè)"而非"邏輯推理",對(duì)提高智能體的實(shí)際編程能力幫助有限。
復(fù)雜度控制是另一個(gè)重要篩選維度。研究團(tuán)隊(duì)只保留了那些修改不超過(guò)7個(gè)文件且代碼更改少于500行的任務(wù)。這個(gè)限制很像是選擇適中難度的練習(xí)題——太簡(jiǎn)單的話學(xué)不到東西,太復(fù)雜的話又容易讓學(xué)習(xí)者迷失方向。通過(guò)控制復(fù)雜度,智能體可以在合理的上下文長(zhǎng)度內(nèi)處理完整的任務(wù)。
特別有趣的是,研究團(tuán)隊(duì)還引入了LLM輔助的質(zhì)量評(píng)估。他們利用大型語(yǔ)言模型對(duì)任務(wù)的質(zhì)量進(jìn)行評(píng)分,并移除了那些被評(píng)為3.0分(滿分5分)的任務(wù)。這些低分任務(wù)通常存在問(wèn)題描述不清、任務(wù)過(guò)于復(fù)雜或測(cè)試補(bǔ)丁有缺陷等問(wèn)題。這就像是請(qǐng)一位經(jīng)驗(yàn)豐富的老師來(lái)預(yù)先篩選練習(xí)題,確保學(xué)生不會(huì)在質(zhì)量有問(wèn)題的題目上浪費(fèi)時(shí)間。
確定性測(cè)試篩選可能是最嚴(yán)格的標(biāo)準(zhǔn)之一。研究團(tuán)隊(duì)對(duì)每個(gè)任務(wù)的測(cè)試進(jìn)行了50次重復(fù)執(zhí)行,移除了那些表現(xiàn)出不一致行為的任務(wù)。這種"不確定性"主要由外部服務(wù)調(diào)用或浮點(diǎn)數(shù)精度問(wèn)題引起。想象一下,如果你在練習(xí)數(shù)學(xué)題,但答案每次都不一樣,那你就無(wú)法判斷自己的解法是否正確。穩(wěn)定的測(cè)試結(jié)果對(duì)于強(qiáng)化學(xué)習(xí)至關(guān)重要,因?yàn)樗惴ㄐ枰煽康姆答佇盘?hào)來(lái)判斷策略的好壞。
經(jīng)過(guò)這一系列嚴(yán)格篩選后,研究團(tuán)隊(duì)從原始的21,336個(gè)任務(wù)中精選出了7,249個(gè)高質(zhì)量任務(wù)用于訓(xùn)練。這個(gè)篩選比例(約34%)體現(xiàn)了團(tuán)隊(duì)對(duì)數(shù)據(jù)質(zhì)量的重視——他們寧愿使用較少但高質(zhì)量的數(shù)據(jù),也不愿意用大量但質(zhì)量參差不齊的數(shù)據(jù)來(lái)訓(xùn)練模型。
在評(píng)估方面,研究團(tuán)隊(duì)使用了多個(gè)基準(zhǔn)測(cè)試來(lái)確保結(jié)果的可靠性。標(biāo)準(zhǔn)的SWE-BENCH VERIFIED基準(zhǔn)測(cè)試用于最終性能評(píng)估,這是一個(gè)包含500個(gè)問(wèn)題的嚴(yán)格測(cè)試集。為了加速中間評(píng)估過(guò)程,他們還創(chuàng)建了一個(gè)包含50個(gè)問(wèn)題的隨機(jī)子集(VERIFIED-50),用于快速監(jiān)控訓(xùn)練進(jìn)度。此外,他們還使用了SWE-REBENCH的最新月度分片(5月和6月),這些數(shù)據(jù)不包含在訓(xùn)練集中,確保了評(píng)估的公平性和去污染性。
這種細(xì)致入微的數(shù)據(jù)準(zhǔn)備工作雖然看似繁瑣,但卻是成功的關(guān)鍵基礎(chǔ)。就像建造高樓大廈需要堅(jiān)實(shí)的地基一樣,訓(xùn)練高性能的AI智能體同樣需要高質(zhì)量、經(jīng)過(guò)精心篩選的訓(xùn)練數(shù)據(jù)。這個(gè)過(guò)程體現(xiàn)了研究團(tuán)隊(duì)嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和對(duì)細(xì)節(jié)的關(guān)注。
**五、兩階段訓(xùn)練策略——從新手到專家的進(jìn)階之路**
整個(gè)訓(xùn)練過(guò)程被精心設(shè)計(jì)為兩個(gè)階段,就像培養(yǎng)一個(gè)程序員新手成為專家的完整過(guò)程。這種漸進(jìn)式的訓(xùn)練策略確保了模型能夠穩(wěn)步提升,避免了一步登天可能帶來(lái)的不穩(wěn)定性。
第一階段被稱為"拒絕微調(diào)"(RFT),這個(gè)階段的目標(biāo)是讓基礎(chǔ)模型學(xué)會(huì)正確使用工具和遵循指令格式。想象一下教一個(gè)完全沒(méi)有編程經(jīng)驗(yàn)的新人,首先要教他如何使用開(kāi)發(fā)環(huán)境、如何執(zhí)行命令、如何編輯文件,這些基礎(chǔ)技能必須熟練掌握,才能進(jìn)入更高層次的問(wèn)題解決。
研究團(tuán)隊(duì)從開(kāi)源的Qwen2.5-72B-Instruct模型開(kāi)始。這個(gè)模型雖然在一般任務(wù)上表現(xiàn)不錯(cuò),但在SWE-BENCH VERIFIED上只能達(dá)到大約11%的成功率。更嚴(yán)重的是,它在指令遵循方面存在明顯問(wèn)題,經(jīng)常生成格式錯(cuò)誤的命令,無(wú)法與編程環(huán)境正確交互。
拒絕微調(diào)的過(guò)程很像是一個(gè)嚴(yán)格的篩選和強(qiáng)化訓(xùn)練。研究團(tuán)隊(duì)讓初始模型在7,249個(gè)SWE-REBENCH任務(wù)上各嘗試10次,然后只保留那些補(bǔ)丁成功通過(guò)測(cè)試的軌跡。這個(gè)過(guò)程產(chǎn)生了6,548個(gè)成功軌跡,相當(dāng)于從大量嘗試中篩選出了"優(yōu)秀作業(yè)"。
特別巧妙的是,在監(jiān)督學(xué)習(xí)過(guò)程中,研究團(tuán)隊(duì)對(duì)每個(gè)觸發(fā)環(huán)境格式錯(cuò)誤的智能體回合進(jìn)行了掩碼處理,這樣模型就只會(huì)從有效的行動(dòng)中學(xué)習(xí),而不會(huì)強(qiáng)化錯(cuò)誤的行為模式。這就像是在批改作業(yè)時(shí),只關(guān)注正確的解題步驟,而忽略那些明顯錯(cuò)誤的部分。經(jīng)過(guò)這個(gè)階段的訓(xùn)練,模型的準(zhǔn)確率從11%提升到了20%,同時(shí)在工具使用方面變得更加規(guī)范。
第二階段是真正的強(qiáng)化學(xué)習(xí)訓(xùn)練,這個(gè)階段讓智能體通過(guò)與環(huán)境的反復(fù)交互來(lái)學(xué)習(xí)最優(yōu)策略。整個(gè)過(guò)程采用迭代循環(huán)的方式,每次迭代都包含幾個(gè)關(guān)鍵步驟。
首先是問(wèn)題采樣,系統(tǒng)會(huì)從訓(xùn)練池中選擇一個(gè)問(wèn)題子集。接著是軌跡生成階段,智能體會(huì)使用當(dāng)前策略為每個(gè)問(wèn)題生成10個(gè)完整的解決軌跡。然后是獎(jiǎng)勵(lì)計(jì)算,系統(tǒng)會(huì)結(jié)合二進(jìn)制成功獎(jiǎng)勵(lì)和軌跡長(zhǎng)度懲罰來(lái)計(jì)算最終獎(jiǎng)勵(lì)。優(yōu)勢(shì)估計(jì)步驟會(huì)在每個(gè)10樣本組內(nèi)對(duì)獎(jiǎng)勵(lì)進(jìn)行平均化和歸一化處理,同時(shí)丟棄優(yōu)勢(shì)為零的樣本。最后是優(yōu)化步驟,使用DAPO的裁剪令牌級(jí)目標(biāo)來(lái)更新模型的所有參數(shù)。
訓(xùn)練過(guò)程被進(jìn)一步分為兩個(gè)子階段,以適應(yīng)不同的復(fù)雜度需求。第一個(gè)子階段使用65k的上下文長(zhǎng)度,這已經(jīng)超過(guò)了大多數(shù)開(kāi)源大型語(yǔ)言模型的默認(rèn)32k限制,但對(duì)于包含長(zhǎng)堆棧跟蹤或diff歷史的倉(cāng)庫(kù)來(lái)說(shuō)仍然不夠。當(dāng)性能在大約32%處遇到瓶頸時(shí),研究團(tuán)隊(duì)切換到第二個(gè)子階段。
第二個(gè)子階段將上下文窗口擴(kuò)展到131k,并將最大智能體回合數(shù)從40翻倍到80。這種擴(kuò)展就像給程序員提供了更大的工作空間和更充足的時(shí)間,讓他們能夠處理更復(fù)雜的問(wèn)題。為了確保在更長(zhǎng)上下文設(shè)置下的穩(wěn)定更新,研究團(tuán)隊(duì)還調(diào)整了訓(xùn)練超參數(shù),包括降低高裁剪邊界、增加批量大小、減少每次迭代采樣的實(shí)例數(shù)量,使訓(xùn)練更接近在線策略模式。
階段間轉(zhuǎn)換時(shí),研究團(tuán)隊(duì)還進(jìn)行了一次巧妙的課程調(diào)整,通過(guò)刷新訓(xùn)練池來(lái)優(yōu)化訓(xùn)練效率。他們定義了任務(wù)的累積解決率(即該任務(wù)在所有先前訓(xùn)練迭代中的成功率),然后移除了累積解決率超過(guò)2/3的任務(wù)(表示可以可靠解決)和保持為零的任務(wù)(表示可能無(wú)法解決)。這種篩選策略將訓(xùn)練池從7,249個(gè)任務(wù)減少到2,028個(gè)任務(wù),讓智能體能夠?qū)W⒂谀切┳钣袑W(xué)習(xí)價(jià)值的中等難度問(wèn)題。
第二階段的訓(xùn)練將性能進(jìn)一步提升到39.0%。在保留的SWE-REBENCH評(píng)估集上,智能體在5月分片上達(dá)到35.0%,在6月分片上達(dá)到31.7%。特別值得注意的是,最終Pass@1分?jǐn)?shù)(39.0%)和Pass@10分?jǐn)?shù)(58.4%)之間的顯著差距表明,雖然智能體的單次最佳猜測(cè)可能不正確,但有效解決方案經(jīng)常存在于其前幾個(gè)提案中。這意味著通過(guò)重新排序或最佳n選擇機(jī)制進(jìn)一步提升性能具有強(qiáng)大潛力。
**六、實(shí)驗(yàn)成果與性能對(duì)比——數(shù)字背后的突破意義**
當(dāng)我們審視實(shí)驗(yàn)結(jié)果時(shí),那些看似冰冷的數(shù)字背后蘊(yùn)含著深刻的技術(shù)突破意義。研究團(tuán)隊(duì)的兩階段訓(xùn)練程序帶來(lái)了實(shí)質(zhì)性的改進(jìn),每個(gè)階段都有其獨(dú)特的貢獻(xiàn)和價(jià)值。
首先讓我們看看整體性能提升的軌跡?;A(chǔ)的Qwen2.5-72B-Instruct模型在SWE-BENCH VERIFIED上的初始表現(xiàn)只有11.42%,這個(gè)數(shù)字雖然不算太低,但距離實(shí)用還有相當(dāng)距離。經(jīng)過(guò)拒絕微調(diào)后,性能提升到20.46%,幾乎翻了一倍。這個(gè)提升主要來(lái)自于模型學(xué)會(huì)了正確使用工具和遵循指令格式,就像一個(gè)新手程序員掌握了基本的開(kāi)發(fā)環(huán)境操作。
真正令人印象深刻的是強(qiáng)化學(xué)習(xí)階段的效果。第一個(gè)RL階段將性能推高到35.74%,這是一個(gè)質(zhì)的飛躍。第二個(gè)RL階段進(jìn)一步達(dá)到39.04%,雖然增幅相對(duì)較小,但考慮到是在更長(zhǎng)的上下文和更復(fù)雜的任務(wù)設(shè)置下實(shí)現(xiàn)的,這個(gè)提升同樣具有重要意義。
為了更客觀地評(píng)估這些成果,研究團(tuán)隊(duì)與多個(gè)先進(jìn)的開(kāi)源模型進(jìn)行了對(duì)比測(cè)試。在相同的環(huán)境和工具設(shè)置下,他們測(cè)試了DeepSeek-V3-0324、Llama-4 Maverick、Qwen3-235B no-thinking和Qwen3-32B no-thinking等模型。
對(duì)比結(jié)果顯示,研究團(tuán)隊(duì)的最終模型與DeepSeek-V3-0324的性能基本持平,在SWE-BENCH VERIFIED上分別為39.04%和39.56%,差距微乎其微。考慮到DeepSeek-V3是一個(gè)更新、更大的模型,這個(gè)結(jié)果證明了強(qiáng)化學(xué)習(xí)訓(xùn)練策略的有效性。更重要的是,在SWE-REBENCH的5月分片上,研究團(tuán)隊(duì)的模型實(shí)際上略優(yōu)于DeepSeek-V3(35.00% vs 36.75%),在6月分片上也基本持平(31.71% vs 31.46%)。
與其他開(kāi)源模型相比,優(yōu)勢(shì)更加明顯。Qwen3-235B no-thinking在SWE-BENCH VERIFIED上只達(dá)到25.84%,遠(yuǎn)低于研究團(tuán)隊(duì)的39.04%。即使是同樣基于Qwen架構(gòu)的Qwen3-32B no-thinking也只有20.40%,幾乎是研究團(tuán)隊(duì)模型的一半。
特別值得關(guān)注的是Pass@10指標(biāo),這個(gè)指標(biāo)衡量的是在10次嘗試中至少成功一次的概率。研究團(tuán)隊(duì)的模型在這個(gè)指標(biāo)上達(dá)到了58.4%,與39.04%的Pass@1形成鮮明對(duì)比。這個(gè)差距揭示了一個(gè)重要信息:雖然模型的第一次嘗試可能不夠完美,但它確實(shí)具備了解決問(wèn)題的能力,只是需要多次嘗試來(lái)找到正確答案。這就像一個(gè)有經(jīng)驗(yàn)但不夠自信的程序員,雖然第一次提出的方案可能不是最佳的,但在幾次嘗試中總能找到正確的解決方案。
為了更全面地評(píng)估研究成果,團(tuán)隊(duì)還與專門(mén)針對(duì)軟件工程任務(wù)優(yōu)化的其他AI智能體進(jìn)行了比較。這些專業(yè)化的智能體大多采用了教師模型蒸餾的方法,即使用更強(qiáng)大的模型生成示例數(shù)據(jù)來(lái)訓(xùn)練較小的模型。
對(duì)比結(jié)果顯示,雖然一些使用教師蒸餾方法的模型(如SWE-agent-LM-32B的40.2%)略優(yōu)于研究團(tuán)隊(duì)的模型,但考慮到研究團(tuán)隊(duì)的方法完全不依賴教師模型,這個(gè)差距是可以接受的。更重要的是,許多使用教師蒸餾的方法(如SWE-Gym-32B的20.6%、SWESynInfer-72B的30.2%)的性能反而不如研究團(tuán)隊(duì)的純強(qiáng)化學(xué)習(xí)方法。
這些對(duì)比結(jié)果的意義不僅在于數(shù)字本身,更在于它們驗(yàn)證了一個(gè)重要觀點(diǎn):強(qiáng)化學(xué)習(xí)可以作為一種獨(dú)立有效的訓(xùn)練策略,不需要依賴昂貴的專有模型或復(fù)雜的教師蒸餾過(guò)程。這為開(kāi)源AI模型的發(fā)展開(kāi)辟了一條新的道路,讓更多研究者和開(kāi)發(fā)者能夠以相對(duì)較低的成本訓(xùn)練出高性能的AI智能體。
**七、訓(xùn)練細(xì)節(jié)與基礎(chǔ)設(shè)施——支撐突破的技術(shù)基石**
要實(shí)現(xiàn)如此出色的性能,僅僅有好的算法是不夠的,還需要精心設(shè)計(jì)的基礎(chǔ)設(shè)施和訓(xùn)練配置來(lái)支撐整個(gè)過(guò)程。研究團(tuán)隊(duì)在這方面的投入和細(xì)節(jié)把控同樣令人印象深刻。
整個(gè)訓(xùn)練過(guò)程采用了完全同步的強(qiáng)化學(xué)習(xí)框架,這意味著推理和訓(xùn)練階段是交替進(jìn)行的。一旦軌跡生成完成,這些數(shù)據(jù)就會(huì)立即用于訓(xùn)練。這種設(shè)置雖然可能不如異步框架那樣具有擴(kuò)展性,但它確保了完全在線策略的訓(xùn)練,沒(méi)有采樣和更新之間的策略滯后問(wèn)題。就像一個(gè)學(xué)生做完練習(xí)題后立即得到反饋并調(diào)整學(xué)習(xí)方法,而不是等到很久以后才知道對(duì)錯(cuò)。
同步框架的一個(gè)主要挑戰(zhàn)是"拖后腿者"問(wèn)題。由于每次生成迭代的時(shí)間由單個(gè)最慢的軌跡完成時(shí)間決定,這可能會(huì)降低整體吞吐量。想象一個(gè)團(tuán)隊(duì)項(xiàng)目,整個(gè)團(tuán)隊(duì)的進(jìn)度都要等最慢的成員完成他的部分。但研究團(tuán)隊(duì)認(rèn)為,為了保證訓(xùn)練質(zhì)量,這種效率上的權(quán)衡是值得的。
在硬件配置方面,研究團(tuán)隊(duì)使用了16個(gè)H200節(jié)點(diǎn)來(lái)支持全參數(shù)訓(xùn)練和最長(zhǎng)131k令牌的序列處理。為了處理如此長(zhǎng)的序列,他們采用了上下文并行技術(shù),將長(zhǎng)序列分割到多個(gè)GPU上處理。這就像是讓多個(gè)人同時(shí)閱讀一本厚書(shū)的不同章節(jié),然后整合信息來(lái)理解全文。
推理參數(shù)的設(shè)置體現(xiàn)了研究團(tuán)隊(duì)的細(xì)致考慮。在軌跡生成過(guò)程中,模型使用1.0的溫度參數(shù)運(yùn)行,并明確禁用了所有其他解碼參數(shù),如top p、top k、min p、重復(fù)懲罰等。這確保了無(wú)偏采樣,這對(duì)強(qiáng)化學(xué)習(xí)訓(xùn)練中使用的重要性采樣比率的有效性至關(guān)重要。
這個(gè)看似技術(shù)性的細(xì)節(jié)實(shí)際上蘊(yùn)含著深刻的理論考量。DAPO算法依賴于重要性采樣比率來(lái)權(quán)衡優(yōu)勢(shì)項(xiàng),這只有在軌跡確實(shí)從舊策略中采樣時(shí)才有效。使用不同的解碼參數(shù)相當(dāng)于從修改后的分布中采樣,這會(huì)使比率成為不正確的估計(jì)器,導(dǎo)致有偏的梯度更新。研究團(tuán)隊(duì)在訓(xùn)練過(guò)程中曾經(jīng)遇到過(guò)這個(gè)問(wèn)題——當(dāng)他們升級(jí)vLLM運(yùn)行時(shí)版本時(shí),新版本默認(rèn)啟用了top k和min p參數(shù),雖然初期評(píng)估指標(biāo)有所改善,但5到10次訓(xùn)練迭代后性能開(kāi)始下降。一旦恢復(fù)到正確的采樣配置,穩(wěn)定性就恢復(fù)了。
訓(xùn)練超參數(shù)的配置同樣經(jīng)過(guò)了精心調(diào)整。拒絕微調(diào)階段使用65k上下文長(zhǎng)度進(jìn)行一個(gè)epoch的訓(xùn)練,學(xué)習(xí)率為5×10^-6,使用AdamW優(yōu)化器,權(quán)重衰減為0.1,預(yù)熱步數(shù)為10,以及余弦衰減調(diào)度器。批量大小為64,總共進(jìn)行50個(gè)梯度更新步驟。
強(qiáng)化學(xué)習(xí)階段的超參數(shù)在兩個(gè)階段之間有所不同,以適應(yīng)不同的復(fù)雜性需求。兩個(gè)階段都使用梯度裁剪值1.0、AdamW優(yōu)化器(β1=0.9,β2=0.999,ε=1×10^-8,權(quán)重衰減0.1)、學(xué)習(xí)率10^-6和1個(gè)epoch。但在問(wèn)題采樣數(shù)量、總問(wèn)題池、批量大小和裁剪范圍方面存在差異,第二階段采用更保守的設(shè)置來(lái)確保長(zhǎng)上下文訓(xùn)練的穩(wěn)定性。
為了處理Qwen2.5-72B-instruct模型在131k上下文長(zhǎng)度下的訓(xùn)練和推理,研究團(tuán)隊(duì)使用了YaRN位置編碼,因子設(shè)為4.0。這種技術(shù)允許模型處理比訓(xùn)練時(shí)更長(zhǎng)的序列,就像給模型配備了更強(qiáng)的"記憶力"來(lái)處理更復(fù)雜的任務(wù)。
基礎(chǔ)設(shè)施的另一個(gè)重要組成部分是評(píng)估系統(tǒng)。為了確保結(jié)果的可靠性,所有Pass@1指標(biāo)都在10次獨(dú)立運(yùn)行中進(jìn)行平均,并報(bào)告平均值的標(biāo)準(zhǔn)誤差。這種嚴(yán)格的統(tǒng)計(jì)處理確保了實(shí)驗(yàn)結(jié)果的可重現(xiàn)性和可信度。
整個(gè)分布式智能體執(zhí)行和評(píng)估流水線都是通過(guò)Kubernetes和Tracto AI在規(guī)模上協(xié)調(diào)的。主要計(jì)算單元是配備8個(gè)H200 GPU、32個(gè)CPU和960 GiB CPU RAM的pod。在這個(gè)環(huán)境中,模型訓(xùn)練使用基于JAX構(gòu)建的內(nèi)部框架進(jìn)行,而推理則使用vLLM框架加速,版本為0.7.4。
這些看似技術(shù)性的細(xì)節(jié)實(shí)際上是整個(gè)研究成功的重要基石。沒(méi)有穩(wěn)定可靠的基礎(chǔ)設(shè)施,再好的算法也無(wú)法發(fā)揮其真正潛力。研究團(tuán)隊(duì)在這方面的投入體現(xiàn)了嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和對(duì)技術(shù)細(xì)節(jié)的深度關(guān)注。
**八、關(guān)鍵發(fā)現(xiàn)與經(jīng)驗(yàn)教訓(xùn)——避開(kāi)訓(xùn)練過(guò)程中的陷阱**
在長(zhǎng)達(dá)數(shù)月的訓(xùn)練過(guò)程中,研究團(tuán)隊(duì)遇到了許多意想不到的挑戰(zhàn),這些經(jīng)歷不僅讓他們學(xué)到了寶貴經(jīng)驗(yàn),也為后續(xù)研究者提供了重要的指導(dǎo)。這些發(fā)現(xiàn)往往比最終結(jié)果更有價(jià)值,因?yàn)樗鼈兘沂玖嗽趶?fù)雜AI系統(tǒng)訓(xùn)練中容易忽視但至關(guān)重要的細(xì)節(jié)。
其中一個(gè)最重要的發(fā)現(xiàn)涉及數(shù)據(jù)過(guò)濾策略。在數(shù)據(jù)集準(zhǔn)備階段,一個(gè)常見(jiàn)做法是過(guò)濾或掩蓋那些超出模型最大上下文長(zhǎng)度的軌跡。這種做法的初衷是減少獎(jiǎng)勵(lì)噪聲,聽(tīng)起來(lái)很合理。然而,研究團(tuán)隊(duì)發(fā)現(xiàn)這種看似合理的做法必須謹(jǐn)慎應(yīng)用,否則可能引入意想不到的偏差。
問(wèn)題的根源在于,人為設(shè)計(jì)的啟發(fā)式規(guī)則可能會(huì)破壞訓(xùn)練數(shù)據(jù)與正在優(yōu)化的策略分布相同的假設(shè)。在軟件工程任務(wù)中,那些超長(zhǎng)的軌跡往往發(fā)生在智能體陷入重復(fù)循環(huán)時(shí)。通過(guò)丟棄這些軌跡,系統(tǒng)實(shí)際上也丟棄了這種失敗模式的具體負(fù)面示例。結(jié)果是,智能體沒(méi)有因?yàn)檫@種循環(huán)行為而受到懲罰,也就無(wú)法學(xué)會(huì)如何跳出這樣的循環(huán),這反而可能導(dǎo)致訓(xùn)練過(guò)程中這種現(xiàn)象更頻繁地發(fā)生。
這個(gè)發(fā)現(xiàn)提醒我們,在機(jī)器學(xué)習(xí)中,"常識(shí)性"的數(shù)據(jù)處理方法有時(shí)可能適得其反。就像教育孩子時(shí),如果我們總是隱藏失敗的例子,孩子就無(wú)法學(xué)會(huì)如何處理挫折和錯(cuò)誤。AI的學(xué)習(xí)過(guò)程也是如此,它需要從失敗的經(jīng)歷中學(xué)習(xí),而不是被保護(hù)得太好。
另一個(gè)微妙但重要的不穩(wěn)定性與采樣和訓(xùn)練之間的差異有關(guān)。在訓(xùn)練過(guò)程中期,研究團(tuán)隊(duì)升級(jí)了vLLM運(yùn)行時(shí),這個(gè)升級(jí)引入了解碼參數(shù)的內(nèi)部變化,默認(rèn)啟用了top k和min p參數(shù)。雖然這個(gè)變化最初改善了評(píng)估指標(biāo),但經(jīng)過(guò)5到10次訓(xùn)練迭代后性能開(kāi)始下降。
這個(gè)問(wèn)題的根本原因是DAPO算法依賴于重要性采樣比率來(lái)權(quán)衡優(yōu)勢(shì)項(xiàng)。這個(gè)比率只有在軌跡確實(shí)從舊策略中采樣時(shí)才有效。使用不同的解碼參數(shù)相當(dāng)于從修改后的分布中采樣,使得比率成為不正確的估計(jì)器,從而導(dǎo)致有偏的梯度更新。
這個(gè)經(jīng)歷強(qiáng)調(diào)了在強(qiáng)化學(xué)習(xí)訓(xùn)練中保持采樣一致性的重要性。即使是看似微小的技術(shù)變化也可能對(duì)訓(xùn)練穩(wěn)定性產(chǎn)生深遠(yuǎn)影響。這就像在烹飪中,即使是微小的溫度變化也可能影響最終的味道。在復(fù)雜的AI系統(tǒng)中,每個(gè)組件都緊密相連,任何微小的變化都可能傳播到整個(gè)系統(tǒng)。
研究團(tuán)隊(duì)還觀察到了上下文長(zhǎng)度對(duì)性能的重要影響。當(dāng)他們從65k上下文長(zhǎng)度切換到131k時(shí),不僅需要調(diào)整上下文窗口,還需要相應(yīng)調(diào)整其他多個(gè)超參數(shù),包括降低高裁剪邊界、增加批量大小、減少每次迭代采樣的實(shí)例數(shù)量。這些調(diào)整是相互關(guān)聯(lián)的,每一個(gè)都影響訓(xùn)練的穩(wěn)定性和效果。
特別是在長(zhǎng)上下文設(shè)置中,模型需要處理更多信息,這增加了訓(xùn)練的復(fù)雜性。就像讓一個(gè)學(xué)生同時(shí)記住更多信息一樣,需要調(diào)整學(xué)習(xí)方法和節(jié)奏來(lái)適應(yīng)增加的認(rèn)知負(fù)擔(dān)。研究團(tuán)隊(duì)發(fā)現(xiàn),簡(jiǎn)單地增加上下文長(zhǎng)度而不調(diào)整其他參數(shù)會(huì)導(dǎo)致訓(xùn)練不穩(wěn)定,只有通過(guò)系統(tǒng)性的超參數(shù)調(diào)整才能實(shí)現(xiàn)穩(wěn)定的長(zhǎng)上下文訓(xùn)練。
課程學(xué)習(xí)的效果也值得特別關(guān)注。當(dāng)研究團(tuán)隊(duì)在階段轉(zhuǎn)換時(shí)刷新訓(xùn)練池,移除那些累積解決率過(guò)高或?yàn)榱愕娜蝿?wù)時(shí),訓(xùn)練效率顯著提升。這種方法讓智能體能夠?qū)W⒂谧钣袑W(xué)習(xí)價(jià)值的中等難度問(wèn)題,避免在已經(jīng)掌握的簡(jiǎn)單任務(wù)或暫時(shí)無(wú)法解決的困難任務(wù)上浪費(fèi)計(jì)算資源。
這個(gè)策略的成功說(shuō)明了適應(yīng)性課程設(shè)計(jì)的重要性。就像教育中需要根據(jù)學(xué)生的學(xué)習(xí)進(jìn)度調(diào)整教學(xué)內(nèi)容一樣,AI訓(xùn)練也需要?jiǎng)討B(tài)調(diào)整訓(xùn)練任務(wù)的難度和類(lèi)型。靜態(tài)的訓(xùn)練集可能導(dǎo)致效率低下,而動(dòng)態(tài)調(diào)整的訓(xùn)練策略能夠最大化學(xué)習(xí)效果。
這些發(fā)現(xiàn)和經(jīng)驗(yàn)教訓(xùn)不僅對(duì)當(dāng)前研究有價(jià)值,也為未來(lái)在類(lèi)似任務(wù)上應(yīng)用強(qiáng)化學(xué)習(xí)提供了重要指導(dǎo)。它們提醒我們,成功的AI訓(xùn)練不僅需要好的算法,還需要對(duì)訓(xùn)練過(guò)程中各種細(xì)節(jié)的深度理解和細(xì)致控制。
**九、未來(lái)展望與潛在應(yīng)用——開(kāi)啟AI編程助手的新時(shí)代**
這項(xiàng)研究的意義遠(yuǎn)遠(yuǎn)超出了技術(shù)論文本身,它為AI在復(fù)雜、開(kāi)放性任務(wù)中的應(yīng)用開(kāi)辟了新的可能性。研究團(tuán)隊(duì)在論文中坦誠(chéng)地討論了當(dāng)前方法的局限性,并提出了幾個(gè)值得深入探索的研究方向。
稀疏獎(jiǎng)勵(lì)和信用分配問(wèn)題是當(dāng)前最大的挑戰(zhàn)之一。智能體只在長(zhǎng)軌跡結(jié)束時(shí)收到單一的二進(jìn)制成功信號(hào),這使得準(zhǔn)確識(shí)別序列中哪些特定行動(dòng)對(duì)最終結(jié)果至關(guān)重要變得困難。這就像一個(gè)學(xué)生在期末考試后才知道自己整學(xué)期的學(xué)習(xí)效果,無(wú)法及時(shí)調(diào)整學(xué)習(xí)策略。將單一優(yōu)勢(shì)估計(jì)廣播到數(shù)千個(gè)前置令牌可能導(dǎo)致噪聲和低效的策略更新。
研究團(tuán)隊(duì)提出了幾種可能的解決方案。第一種是獎(jiǎng)勵(lì)塑形,即基于通過(guò)部分測(cè)試或減少編譯器錯(cuò)誤等信號(hào)設(shè)計(jì)中間獎(jiǎng)勵(lì)。這就像在長(zhǎng)期目標(biāo)的路上設(shè)置一些里程碑,讓智能體能夠獲得更及時(shí)的反饋。第二種是訓(xùn)練輔助評(píng)價(jià)網(wǎng)絡(luò)或價(jià)值頭來(lái)提供步驟級(jí)別的優(yōu)勢(shì)估計(jì),實(shí)現(xiàn)更精細(xì)的更新。第三種是前綴采樣,即從共享的非空軌跡前綴開(kāi)始進(jìn)行推出,以更好地隔離后續(xù)決策的影響。
不確定性和風(fēng)險(xiǎn)意識(shí)是另一個(gè)重要的研究方向。當(dāng)前基于二進(jìn)制成功的獎(jiǎng)勵(lì)目標(biāo)鼓勵(lì)智能體"不惜一切代價(jià)"提交補(bǔ)丁,這導(dǎo)致它即使在解決方案不太可能成功時(shí)也會(huì)表現(xiàn)得很自信。對(duì)于現(xiàn)實(shí)世界的部署,智能體必須學(xué)會(huì)識(shí)別何時(shí)應(yīng)該放棄嘗試。
這需要更好的不確定性估計(jì)能力,比如訓(xùn)練模型明確輸出置信度分?jǐn)?shù),或使用策略輸出的熵作為不確定性的代理。這樣的估計(jì)將支持精確度-召回率權(quán)衡,允許智能體決定何時(shí)停止或?yàn)樽罴裯選擇應(yīng)用更多計(jì)算,而無(wú)需外部結(jié)果監(jiān)督模型。
研究的技術(shù)創(chuàng)新也指向了更廣闊的應(yīng)用前景。強(qiáng)化學(xué)習(xí)在多輪、長(zhǎng)上下文任務(wù)中的成功應(yīng)用證明了這種方法的普適性。除了軟件工程,類(lèi)似的方法可能適用于其他需要復(fù)雜推理和多步驟執(zhí)行的領(lǐng)域,如科學(xué)研究助手、法律文檔分析、復(fù)雜數(shù)據(jù)分析等。
特別值得關(guān)注的是,這項(xiàng)研究證明了開(kāi)源模型通過(guò)精心設(shè)計(jì)的訓(xùn)練策略可以達(dá)到與專有模型相媲美的性能。這為AI技術(shù)的民主化提供了重要支持,讓更多研究者和開(kāi)發(fā)者能夠以相對(duì)較低的成本開(kāi)發(fā)高性能的AI應(yīng)用。
在實(shí)際應(yīng)用層面,這種智能體技術(shù)的成熟將可能帶來(lái)軟件開(kāi)發(fā)流程的根本性變化。程序員可能不再需要花費(fèi)大量時(shí)間在重復(fù)性的調(diào)試工作上,而可以更多地專注于架構(gòu)設(shè)計(jì)、需求分析和創(chuàng)新性問(wèn)題解決。這種變化類(lèi)似于自動(dòng)化測(cè)試工具的普及——它們沒(méi)有取代程序員,而是讓程序員能夠?qū)W⒂诟邇r(jià)值的工作。
從教育角度來(lái)看,這種技術(shù)也可能改變編程教育的方式。學(xué)生可以通過(guò)與AI智能體的交互來(lái)學(xué)習(xí)調(diào)試技巧和問(wèn)題解決策略,就像有一個(gè)經(jīng)驗(yàn)豐富的導(dǎo)師隨時(shí)提供指導(dǎo)。這種個(gè)性化的學(xué)習(xí)體驗(yàn)可能比傳統(tǒng)的課堂教學(xué)更加有效。
然而,研究團(tuán)隊(duì)也清醒地認(rèn)識(shí)到當(dāng)前方法的局限性。訓(xùn)練過(guò)程仍然需要大量計(jì)算資源,雖然比依賴專有模型的方法更經(jīng)濟(jì),但對(duì)于許多研究者來(lái)說(shuō)仍然是一個(gè)門(mén)檻。此外,當(dāng)前的評(píng)估主要集中在Python項(xiàng)目上,對(duì)其他編程語(yǔ)言和更大規(guī)模項(xiàng)目的適用性還需要進(jìn)一步驗(yàn)證。
安全性和可靠性也是需要持續(xù)關(guān)注的問(wèn)題。雖然智能體在測(cè)試環(huán)境中表現(xiàn)良好,但在生產(chǎn)環(huán)境中部署時(shí)可能面臨更復(fù)雜的挑戰(zhàn)。如何確保智能體的決策是安全的、可解釋的,以及如何處理邊界情況,這些都是實(shí)際應(yīng)用中必須解決的問(wèn)題。
展望未來(lái),這項(xiàng)研究開(kāi)啟了AI智能體發(fā)展的新篇章。隨著訓(xùn)練方法的進(jìn)一步改進(jìn)、計(jì)算資源的降低以及應(yīng)用場(chǎng)景的擴(kuò)展,我們可能很快就會(huì)看到這種技術(shù)在各種實(shí)際場(chǎng)景中的廣泛應(yīng)用。這不僅會(huì)改變我們工作的方式,也會(huì)為解決人類(lèi)面臨的各種復(fù)雜問(wèn)題提供新的工具和思路。
**十、技術(shù)突破的深層意義——從工具到伙伴的轉(zhuǎn)變**
當(dāng)我們站在更高的視角審視這項(xiàng)研究時(shí),會(huì)發(fā)現(xiàn)它所代表的不僅僅是一個(gè)技術(shù)指標(biāo)的提升,而是AI發(fā)展道路上的一個(gè)重要里程碑。這個(gè)里程碑標(biāo)志著AI從簡(jiǎn)單的"工具"向真正的"協(xié)作伙伴"邁出了實(shí)質(zhì)性的一步。
傳統(tǒng)的AI應(yīng)用大多遵循"輸入-處理-輸出"的簡(jiǎn)單模式,就像一個(gè)功能強(qiáng)大但被動(dòng)的工具。無(wú)論是搜索引擎、翻譯軟件還是圖像識(shí)別系統(tǒng),它們都是等待人類(lèi)提供輸入,然后給出相應(yīng)結(jié)果。這種模式雖然實(shí)用,但本質(zhì)上還是人類(lèi)主導(dǎo)、AI輔助的關(guān)系。
然而,這項(xiàng)研究中的智能體展現(xiàn)出了完全不同的特質(zhì)。它能夠主動(dòng)探索問(wèn)題空間,制定解決策略,從錯(cuò)誤中學(xué)習(xí),并持續(xù)調(diào)整行動(dòng)方案。更重要的是,它能夠在沒(méi)有人類(lèi)直接指導(dǎo)的情況下,通過(guò)與環(huán)境的交互來(lái)完成復(fù)雜任務(wù)。這種能力讓它更像一個(gè)能夠獨(dú)立思考和行動(dòng)的合作伙伴。
這種轉(zhuǎn)變的技術(shù)基礎(chǔ)是多方面的。長(zhǎng)上下文處理能力讓智能體能夠"記住"整個(gè)任務(wù)過(guò)程中的所有細(xì)節(jié),這類(lèi)似于人類(lèi)專家在處理復(fù)雜問(wèn)題時(shí)的持續(xù)注意力。多輪交互能力讓它能夠?qū)⒋髥?wèn)題分解為小步驟,逐步推進(jìn),這體現(xiàn)了系統(tǒng)性問(wèn)題解決的思維方式。強(qiáng)化學(xué)習(xí)機(jī)制讓它能夠從經(jīng)驗(yàn)中學(xué)習(xí),不斷改進(jìn)策略,這正是智能行為的核心特征。
從軟件工程的角度來(lái)看,這種智能體的出現(xiàn)可能預(yù)示著開(kāi)發(fā)模式的根本性變革。傳統(tǒng)的軟件開(kāi)發(fā)通常需要程序員具備深厚的技術(shù)背景,從需求分析到代碼實(shí)現(xiàn)的每個(gè)環(huán)節(jié)都需要專業(yè)知識(shí)。但隨著AI智能體能力的提升,我們可能會(huì)看到一種更加協(xié)作式的開(kāi)發(fā)模式。
在這種新模式下,人類(lèi)開(kāi)發(fā)者更多地扮演架構(gòu)師和產(chǎn)品經(jīng)理的角色,負(fù)責(zé)定義需求、設(shè)計(jì)系統(tǒng)架構(gòu)、制定技術(shù)方向。而AI智能體則承擔(dān)更多的具體實(shí)現(xiàn)工作,包括代碼編寫(xiě)、調(diào)試、測(cè)試、優(yōu)化等。這種分工讓人類(lèi)能夠?qū)W⒂趧?chuàng)造性和戰(zhàn)略性工作,而將重復(fù)性和技術(shù)性任務(wù)交給AI處理。
這種協(xié)作模式的優(yōu)勢(shì)是顯而易見(jiàn)的。開(kāi)發(fā)效率的提升是最直接的好處——AI智能體不會(huì)疲勞,不需要休息,可以24小時(shí)不間斷地工作。代碼質(zhì)量的改善也是可以預(yù)期的結(jié)果——AI不會(huì)因?yàn)槠诨蚯榫w而犯低級(jí)錯(cuò)誤,能夠更加一致地遵循編碼規(guī)范。知識(shí)傳承的問(wèn)題也可能得到緩解——AI智能體可以快速學(xué)習(xí)和應(yīng)用最佳實(shí)踐,不會(huì)因?yàn)槿藛T流動(dòng)而丟失寶貴經(jīng)驗(yàn)。
然而,這種轉(zhuǎn)變也帶來(lái)了新的挑戰(zhàn)和考慮。首先是技能要求的變化。程序員可能需要更多地學(xué)習(xí)如何與AI協(xié)作,如何有效地向AI傳達(dá)需求和意圖,如何評(píng)估和改進(jìn)AI的工作成果。這需要一套全新的技能體系和工作方法。
其次是責(zé)任和信任的問(wèn)題。當(dāng)AI智能體承擔(dān)更多的實(shí)際工作時(shí),如何確保代碼質(zhì)量和系統(tǒng)安全?如何在出現(xiàn)問(wèn)題時(shí)追究責(zé)任?如何建立對(duì)AI生成代碼的適當(dāng)信任級(jí)別?這些都是需要深入思考和解決的問(wèn)題。
第三是創(chuàng)新和創(chuàng)造力的平衡。雖然AI在處理標(biāo)準(zhǔn)化任務(wù)方面表現(xiàn)出色,但在創(chuàng)新性解決方案和突破性思維方面,人類(lèi)仍然具有獨(dú)特優(yōu)勢(shì)。如何在提高效率的同時(shí)保持創(chuàng)新活力,避免過(guò)度依賴AI而喪失創(chuàng)造性思維能力,這是一個(gè)需要謹(jǐn)慎處理的平衡問(wèn)題。
從更廣闊的社會(huì)影響角度來(lái)看,這種AI能力的提升也可能改變整個(gè)技術(shù)行業(yè)的格局。一方面,它可能降低軟件開(kāi)發(fā)的門(mén)檻,讓更多非技術(shù)背景的人能夠參與到軟件創(chuàng)建中來(lái)。另一方面,它也可能改變技術(shù)人才的需求結(jié)構(gòu),對(duì)傳統(tǒng)編程技能的需求可能下降,而對(duì)系統(tǒng)設(shè)計(jì)、產(chǎn)品思維、AI協(xié)作能力的需求可能上升。
教育體系也需要相應(yīng)調(diào)整。計(jì)算機(jī)科學(xué)教育可能需要更多地強(qiáng)調(diào)系統(tǒng)思維、問(wèn)題分解、人機(jī)協(xié)作等方面,而不是僅僅專注于編程語(yǔ)法和算法實(shí)現(xiàn)。這種變化已經(jīng)在一些前瞻性的教育機(jī)構(gòu)中開(kāi)始出現(xiàn)。
最終,這項(xiàng)研究所展現(xiàn)的不僅僅是技術(shù)的進(jìn)步,更是人類(lèi)與AI關(guān)系演進(jìn)的一個(gè)重要節(jié)點(diǎn)。我們正在從"人類(lèi)使用AI工具"向"人類(lèi)與AI協(xié)作"轉(zhuǎn)變,這種轉(zhuǎn)變將重新定義工作的性質(zhì)、技能的價(jià)值以及創(chuàng)新的模式。雖然這個(gè)過(guò)程中會(huì)有挑戰(zhàn)和不確定性,但它也為解決復(fù)雜問(wèn)題和提升人類(lèi)能力提供了前所未有的機(jī)會(huì)。
說(shuō)到底,Nebius AI研究團(tuán)隊(duì)的這項(xiàng)工作證明了一個(gè)重要觀點(diǎn):AI的真正價(jià)值不在于替代人類(lèi),而在于增強(qiáng)人類(lèi)的能力,讓我們能夠處理更復(fù)雜的挑戰(zhàn),創(chuàng)造更大的價(jià)值。當(dāng)AI智能體能夠像經(jīng)驗(yàn)豐富的程序員一樣進(jìn)行多輪調(diào)試和問(wèn)題解決時(shí),我們看到的不是人類(lèi)的被替代,而是人機(jī)協(xié)作新時(shí)代的開(kāi)啟。這個(gè)時(shí)代將為軟件開(kāi)發(fā)乃至整個(gè)技術(shù)創(chuàng)新領(lǐng)域帶來(lái)深遠(yuǎn)而積極的影響。
Q&A
Q1:這個(gè)Nebius AI的軟件工程智能體具體能做什么?
A:這個(gè)智能體能夠像真正的程序員一樣獨(dú)立調(diào)試代碼。它可以讀懂GitHub上的問(wèn)題描述,在復(fù)雜的代碼庫(kù)中尋找bug位置,使用各種工具(如命令行、代碼編輯器)進(jìn)行修復(fù),運(yùn)行測(cè)試查看結(jié)果,然后根據(jù)反饋繼續(xù)調(diào)整,直到所有測(cè)試通過(guò)。整個(gè)過(guò)程可能需要幾十輪交互,智能體能夠記住所有之前的操作和結(jié)果。
Q2:強(qiáng)化學(xué)習(xí)訓(xùn)練方法相比傳統(tǒng)方法有什么優(yōu)勢(shì)?
A:傳統(tǒng)方法通常需要昂貴的專有模型或者強(qiáng)大的"老師"模型來(lái)生成訓(xùn)練數(shù)據(jù),成本高且依賴性強(qiáng)。而這項(xiàng)研究的強(qiáng)化學(xué)習(xí)方法讓AI通過(guò)自己與環(huán)境交互來(lái)學(xué)習(xí),就像人類(lèi)通過(guò)實(shí)踐掌握技能一樣。它不需要老師模型,完全依靠開(kāi)源模型,將Qwen2.5-72B的成功率從20%提升到39%,達(dá)到了與昂貴專有模型相媲美的性能。
Q3:這種AI智能體什么時(shí)候能普及應(yīng)用到實(shí)際軟件開(kāi)發(fā)中?
A:雖然研究結(jié)果令人鼓舞,但目前還存在一些限制。訓(xùn)練仍需要大量計(jì)算資源(16個(gè)H200節(jié)點(diǎn)),主要在Python項(xiàng)目上測(cè)試,對(duì)其他編程語(yǔ)言的適用性還需驗(yàn)證。不過(guò)考慮到技術(shù)發(fā)展速度和成本下降趨勢(shì),預(yù)計(jì)在未來(lái)2-3年內(nèi),我們可能會(huì)看到類(lèi)似技術(shù)在實(shí)際開(kāi)發(fā)環(huán)境中的試點(diǎn)應(yīng)用,特別是在代碼調(diào)試和維護(hù)等重復(fù)性任務(wù)上。
好文章,需要你的鼓勵(lì)
騰訊ARC實(shí)驗(yàn)室推出AudioStory系統(tǒng),首次實(shí)現(xiàn)AI根據(jù)復(fù)雜指令創(chuàng)作完整長(zhǎng)篇音頻故事。該系統(tǒng)結(jié)合大語(yǔ)言模型的敘事推理能力與音頻生成技術(shù),通過(guò)交錯(cuò)式推理生成、解耦橋接機(jī)制和漸進(jìn)式訓(xùn)練,能夠?qū)?fù)雜指令分解為連續(xù)音頻場(chǎng)景并保持整體連貫性。在AudioStory-10K基準(zhǔn)測(cè)試中表現(xiàn)優(yōu)異,為AI音頻創(chuàng)作開(kāi)辟新方向。
Meta與特拉維夫大學(xué)聯(lián)合研發(fā)的VideoJAM技術(shù),通過(guò)讓AI同時(shí)學(xué)習(xí)外觀和運(yùn)動(dòng)信息,顯著解決了當(dāng)前視頻生成模型中動(dòng)作不連貫、違反物理定律的核心問(wèn)題。該技術(shù)僅需添加兩個(gè)線性層就能大幅提升運(yùn)動(dòng)質(zhì)量,在多項(xiàng)測(cè)試中超越包括Sora在內(nèi)的商業(yè)模型,為AI視頻生成的實(shí)用化應(yīng)用奠定了重要基礎(chǔ)。
上海AI實(shí)驗(yàn)室發(fā)布OmniAlign-V研究,首次系統(tǒng)性解決多模態(tài)大語(yǔ)言模型人性化對(duì)話問(wèn)題。該研究創(chuàng)建了包含20萬(wàn)高質(zhì)量樣本的訓(xùn)練數(shù)據(jù)集和MM-AlignBench評(píng)測(cè)基準(zhǔn),通過(guò)創(chuàng)新的數(shù)據(jù)生成和質(zhì)量管控方法,讓AI在保持技術(shù)能力的同時(shí)顯著提升人性化交互水平,為AI價(jià)值觀對(duì)齊提供了可行技術(shù)路徑。
谷歌DeepMind團(tuán)隊(duì)開(kāi)發(fā)的GraphCast是一個(gè)革命性的AI天氣預(yù)測(cè)模型,能夠在不到一分鐘內(nèi)完成10天全球天氣預(yù)報(bào),準(zhǔn)確性超越傳統(tǒng)方法90%的指標(biāo)。該模型采用圖神經(jīng)網(wǎng)絡(luò)技術(shù),通過(guò)學(xué)習(xí)40年歷史數(shù)據(jù)掌握天氣變化規(guī)律,在極端天氣預(yù)測(cè)方面表現(xiàn)卓越,能耗僅為傳統(tǒng)方法的千分之一,為氣象學(xué)領(lǐng)域帶來(lái)了效率和精度的雙重突破。