![]()
新智元報(bào)道
![]()
【新智元導(dǎo)讀】FuseSearch:學(xué)習(xí)型自適應(yīng)并行執(zhí)行 —— 一個(gè)40億參數(shù)的模型,憑什么在代碼定位上干過(guò)了商用閉源大模型?答案只有四個(gè)字:搜得更聰明。
在AI編程狂飆突進(jìn)的今天,一個(gè)尷尬的事實(shí)正在浮出水面:
你花在「讓 AI 改代碼」上的錢(qián),超過(guò)一半其實(shí)燒在了「找代碼」上。
研究表明,當(dāng)前最先進(jìn)的AI編程Agent,超過(guò)50%的計(jì)算資源消耗在代碼搜索與定位環(huán)節(jié)——Agent翻來(lái)覆去地搜文件、讀代碼、定位函數(shù),輪次消耗驚人,Token賬單飛漲。
當(dāng)所有人都在卷「模型多大、能寫(xiě)多長(zhǎng)的代碼」時(shí),螞蟻集團(tuán)的一篇ACL 2026 Findings論文把目光轉(zhuǎn)向了一個(gè)更底層的問(wèn)題:能不能讓搜索本身變得更聰明?
答案是可以。而且效果堪稱(chēng)驚艷——
FuseSearch-4B,一個(gè)僅40億參數(shù)的開(kāi)源模型,在SWE-bench Verified上達(dá)到84.7%文件級(jí)F1,匹配Claude Haiku 4.5的定位能力,同時(shí)速度快93.6%,Token消耗降低68.9%。
怎么做到的?一句話:讓模型自己學(xué)會(huì)該并行多少。
代碼定位
AI編程最燒錢(qián)的「卡脖子」環(huán)節(jié)
設(shè)想這樣一個(gè)場(chǎng)景:你讓AI幫你修一個(gè)Bug,它需要在一個(gè)幾十萬(wàn)行代碼的大型項(xiàng)目中,精準(zhǔn)找到該改哪個(gè)文件、哪個(gè)函數(shù)。
這就是代碼定位(Code Localization)——自動(dòng)軟件修復(fù)中最關(guān)鍵、也最昂貴的瓶頸。
現(xiàn)有方案分為兩大流派,各有各的痛點(diǎn):
![]()
但這兩派有一個(gè)共同的致命缺陷:一次只能做一件事。
每一輪交互只能調(diào)用一個(gè)工具,逐步縮小范圍。就像你在圖書(shū)館找一本書(shū),規(guī)定每次只能翻開(kāi)一個(gè)書(shū)架看一眼——輪次用完了,信息還沒(méi)收集夠。
論文把這種現(xiàn)象稱(chēng)為信息匱乏(Information Starvation)。
并行 ≠ 萬(wàn)能解藥
那解決方案似乎很簡(jiǎn)單——一次多調(diào)幾個(gè)工具不就行了?
沒(méi)那么容易。論文實(shí)驗(yàn)揭示了一個(gè)反直覺(jué)的發(fā)現(xiàn):無(wú)腦并行反而更糟。
如果固定每輪調(diào)用8個(gè)工具(樸素的并行策略),會(huì)產(chǎn)生超過(guò)34.9%的冗余調(diào)用——重復(fù)搜索已經(jīng)看過(guò)的代碼區(qū)域,不僅浪費(fèi)Token,還會(huì)引入噪聲信號(hào)干擾判斷。
核心矛盾就此浮出水面:
并行少了→信息不夠用,定位精度下降。并行多了→大量冗余,浪費(fèi)計(jì)算資源。
FuseSearch的核心洞察是:搜索效率和搜索質(zhì)量并非對(duì)立關(guān)系。關(guān)鍵不在于并行多少,而在于——什么時(shí)候該多并行,什么時(shí)候該少并行。
FuseSearch
極簡(jiǎn)工具箱 + 自適應(yīng)智能
FuseSearch的設(shè)計(jì)哲學(xué)出奇地優(yōu)雅:不給模型定死規(guī)則,讓它自己學(xué)會(huì)動(dòng)態(tài)調(diào)整并行度。
![]()
3.1 三把「瑞士軍刀」
零成本部署
FuseSearch只用三個(gè)只讀工具,極其克制:
![]()
就這三個(gè)。不需要代碼知識(shí)圖譜,不需要語(yǔ)法解析器,不需要任何重型基礎(chǔ)設(shè)施。零依賴,拿來(lái)就能用,可即時(shí)部署到任意代碼倉(cāng)庫(kù)。語(yǔ)言無(wú)關(guān),Python 倉(cāng)庫(kù)能用,Java倉(cāng)庫(kù)也能用。
工具雖少,能力完備——glob找文件、grep 搜內(nèi)容、read_file讀細(xì)節(jié),三者組合可以遍歷整個(gè)代碼庫(kù)。
關(guān)鍵創(chuàng)新
用「信息增益」量化搜索質(zhì)量
論文首次提出工具效率(Tool Efficiency)指標(biāo),衡量每次工具調(diào)用的信息新穎性:
信息增益=新發(fā)現(xiàn)的代碼實(shí)體數(shù)÷總返回的代碼實(shí)體數(shù)
打個(gè)比方:你派了5個(gè)偵察兵去探路。如果5個(gè)人報(bào)告的都是同一條路,那4 個(gè)人就白跑了。工具效率衡量的,就是「每個(gè)偵察兵帶回了多少獨(dú)家情報(bào)」。
效率越高 → 每次搜索都在探索新區(qū)域。效率越低 → 在做重復(fù)勞動(dòng)。
兩階段訓(xùn)練
先學(xué)會(huì)并行,再學(xué)會(huì)聰明地并行
FuseSearch的訓(xùn)練策略分兩步走:
階段一:監(jiān)督微調(diào)(SFT)——建立并行能力
從233個(gè)高質(zhì)量GitHub倉(cāng)庫(kù)中提取約21,000個(gè)issue-patch對(duì),用強(qiáng)大的教師模型(Kimi-K2-Instruct)生成搜索軌跡。然后用雙重標(biāo)準(zhǔn)嚴(yán)格篩選:
定位準(zhǔn)確率 ≥ 0.8
工具效率 ≥ 0.5
從約24,000條候選軌跡中,精選出約 6,000 條「又準(zhǔn)又不浪費(fèi)」的高質(zhì)量數(shù)據(jù),教會(huì)小模型「每輪可以同時(shí)調(diào) 2-8 個(gè)工具」。
階段二:強(qiáng)化學(xué)習(xí)(RL)——學(xué)會(huì)自適應(yīng)
SFT之后,模型會(huì)并行了,但還不知道什么時(shí)候該多并行、什么時(shí)候該少并行。
RL階段的獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)得極為精妙:
\text{獎(jiǎng)勵(lì)} = 0.8 \times \text{定位準(zhǔn)確率} + 0.2 \times (\text{定位準(zhǔn)確率} \times \text{工具效率})
注意那個(gè)乘積項(xiàng):
只有「找得準(zhǔn)」且「搜得不浪費(fèi)」同時(shí)滿足,才能拿到額外獎(jiǎng)勵(lì)
如果定位完全錯(cuò)誤(準(zhǔn)確率=0),無(wú)論效率多高,獎(jiǎng)勵(lì)都是零——模型不能「高效地犯錯(cuò)」
這個(gè)設(shè)計(jì)迫使模型在搜索的每個(gè)階段都做權(quán)衡:當(dāng)前是廣撒網(wǎng)收益大,還是精準(zhǔn)驗(yàn)證收益大?
訓(xùn)練結(jié)果:一種「先撒網(wǎng)、再收網(wǎng)」的搜索策略
經(jīng)過(guò)RL訓(xùn)練,模型自動(dòng)學(xué)會(huì)了一種「老司機(jī)」式的自適應(yīng)搜索模式:
![]()
這種「先廣度、后深度」的模式,完全是模型自己從獎(jiǎng)勵(lì)信號(hào)中學(xué)出來(lái)的,沒(méi)有任何人工規(guī)則。
實(shí)驗(yàn)結(jié)果:小模型大翻身
5.1 核心數(shù)據(jù)(SWE-bench Verified,386 個(gè)實(shí)例)
在Qwen3-4B上對(duì)比之前的方法RepoSearcher,F(xiàn)useSearch的提升堪稱(chēng)碾壓:
![]()
一句話總結(jié):準(zhǔn)確率翻倍,速度快16倍,Token省了近70%。
5.2 40億參數(shù) vs.商用閉源大模型
![]()
一個(gè)可以本地部署的4B開(kāi)源小模型,定位能力與商用閉源大模型持平,同時(shí)更快、更省。
5.3 接入下游Agent:不掉精度,省一半成本
把FuseSearch-4B作為Kimi-K2-Instruct的「前置搜索引擎」:
![]()
不影響修復(fù)效果,直接把成本砍掉近一半。
為什么這項(xiàng)工作值得關(guān)注?
FuseSearch帶來(lái)了三個(gè)層面的貢獻(xiàn):
學(xué)術(shù)層面
首次將「搜索效率」變成一個(gè)可訓(xùn)練的目標(biāo)。不是簡(jiǎn)單地讓模型多搜或少搜,而是通過(guò)精巧的獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì),讓模型自己學(xué)會(huì)「什么時(shí)候該搜多少」。這為 Agent 工具調(diào)用策略的優(yōu)化提供了一個(gè)新范式。
工程層面
極簡(jiǎn)設(shè)計(jì),零部署成本。三個(gè)只讀工具,語(yǔ)言無(wú)關(guān),不依賴任何重型基礎(chǔ)設(shè)施。論文作者已將代碼開(kāi)源,可即時(shí)部署到任意代碼倉(cāng)庫(kù)。
產(chǎn)業(yè)層面
小模型逆襲大模型。40億參數(shù)匹配Claude級(jí)別的定位表現(xiàn),證明了「聰明的策略」比「堆參數(shù)」更重要。對(duì)于對(duì)延遲和成本敏感的工業(yè)級(jí)AI編程場(chǎng)景,這條路線極具落地價(jià)值。
論文信息
論文標(biāo)題:FuseSearch: Learning Adaptive Parallel Execution for Efficient Code Localization
收錄會(huì)議:ACL 2026 Findings
作者單位:螞蟻集團(tuán)(Ant Group)
論文鏈接:https://github.com/sxthunder/FuseSearch
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.