挑戰(zhàn)ReAct!MetaGPT團(tuán)隊(duì)提出ReCode智能體新范式
ReCode 作者團(tuán)隊(duì)來(lái)自于 Foundation Agents 開(kāi)源社區(qū)。第一作者為 DeepWisdom 研究員于兆洋,同時(shí)也是 OpenManus 的發(fā)起人之一。共同通訊作者為 DeepWisdom 創(chuàng)始人兼 CEO 吳承霖,以及蒙特利爾大學(xué)與 MILA 實(shí)驗(yàn)室的副教授劉邦。
想象你在準(zhǔn)備早餐:你不會(huì)先寫(xiě)一份詳細(xì)到「左手抓雞蛋、右手拿碗、手腕旋轉(zhuǎn) 45 度敲擊蛋殼」這樣的清單,也不會(huì)只有一個(gè)籠統(tǒng)的計(jì)劃叫「做個(gè)早餐」,然后不知所措。
人類(lèi)大腦會(huì)自然地在煎培根、雞蛋和敲開(kāi)雞蛋這樣不同決策粒度間無(wú)縫切換,粗粒度的高層規(guī)劃和細(xì)粒度的具體動(dòng)作融為一體,但目前的 AI 智能體很難做到這一點(diǎn)。
最近,來(lái)自 DeepWisdom 的研究員在論文中指出,當(dāng)前主流智能體框架都被固定的決策粒度束縛住了。ReAct 智能體只會(huì)一步步執(zhí)行細(xì)粒度動(dòng)作,缺乏全局規(guī)劃;而帶規(guī)劃器(Planner)的智能體雖然能制定高層計(jì)劃,但規(guī)劃和執(zhí)行被硬生生分成兩個(gè)模塊,難以動(dòng)態(tài)調(diào)整和優(yōu)化。
這個(gè)問(wèn)題的根源在哪?論文給出了一個(gè)顛覆性的答案:規(guī)劃和行動(dòng)本質(zhì)上是同一件事,只是粒度不同而已。
基于這個(gè)洞察,他們提出了 ReCode(Recursive Code Generation),一個(gè)用遞歸代碼生成來(lái)統(tǒng)一規(guī)劃與執(zhí)行的智能體新范式。與 ReAct 這類(lèi)固定粒度的范式不同,ReCode 讓智能體能夠在不同粒度間自由切換,從而展現(xiàn)出更強(qiáng)的適應(yīng)性和潛力。

- 論文標(biāo)題:ReCode: Unify Plan and Action for Universal Granularity Control
- 論文地址:https://arxiv.org/abs/2510.23564
- 項(xiàng)目地址:https://github.com/FoundationAgents/ReCode
實(shí)驗(yàn)結(jié)果也印證了這一點(diǎn):相比 ReAct,ReCode 在三個(gè)環(huán)境上的平均性能從 47.4% 提升到 60.8%,推理成本降低 79%,訓(xùn)練時(shí)所需樣本數(shù)減少到原來(lái)的 27%。
這項(xiàng)工作在推特上獲得了約 20 萬(wàn)的瀏覽量,引發(fā)了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。

問(wèn)題到底出在哪?
讓我們先看看現(xiàn)有方案為什么不夠好。

基于 LLM 的智能體決策范式比較(a)ReAct 智能體在固定、細(xì)粒度的觀察-動(dòng)作循環(huán)中運(yùn)行。 (b)具有規(guī)劃器的智能體在高級(jí)規(guī)劃器和低級(jí)執(zhí)行器之間強(qiáng)制實(shí)施嚴(yán)格的分離,限制了適應(yīng)性。 (c)ReCode 智能體在代碼表示中統(tǒng)一計(jì)劃和動(dòng)作。策略遞歸地將高層計(jì)劃細(xì)化到基本的動(dòng)作序列,從而實(shí)現(xiàn)決策粒度的流暢控制。
ReAct 智能體采用觀察-推理-行動(dòng)循環(huán),每次只能執(zhí)行一個(gè)原始動(dòng)作,就像導(dǎo)航時(shí)每次只能決定向左走 3 米,卻無(wú)法思考去機(jī)場(chǎng)這樣的高層目標(biāo)。這種方式在復(fù)雜長(zhǎng)期任務(wù)中很快就會(huì)迷失方向。
以一個(gè)簡(jiǎn)單的家務(wù)任務(wù)為例。如果要求智能體找到兩個(gè)鬧鐘并放入梳妝臺(tái),ReAct 智能體需要執(zhí)行幾十步操作:去書(shū)桌 1、檢查書(shū)桌 1、打開(kāi)抽屜、拿起鬧鐘 1、去梳妝臺(tái)、放下鬧鐘 1、去書(shū)桌 2……每一步都要重新推理和決策。這不僅效率低下,而且容易在長(zhǎng)鏈條中出錯(cuò)。更關(guān)鍵的是,它無(wú)法形成找到第一個(gè)鬧鐘后該繼續(xù)尋找第二個(gè)這樣的宏觀認(rèn)知。
規(guī)劃-執(zhí)行分離的智能體則走向另一個(gè)極端。它們先用規(guī)劃器生成完整計(jì)劃,再用執(zhí)行器按部就班地執(zhí)行。問(wèn)題是,這兩個(gè)模塊說(shuō)著不同的語(yǔ)言,規(guī)劃器輸出自然語(yǔ)言描述,執(zhí)行器需要具體動(dòng)作指令。一旦計(jì)劃出錯(cuò),整個(gè)系統(tǒng)就卡住了,且規(guī)劃器很難從執(zhí)行反饋中學(xué)習(xí)。
更深層的問(wèn)題在于,這類(lèi)方法往往依賴(lài)預(yù)定義的計(jì)劃模板或固定的分解策略。比如 AdaPlanner 會(huì)預(yù)先編寫(xiě) Python 動(dòng)作序列然后迭代修改,這種方式雖然增加了規(guī)劃能力,但仍然受限于模板的表達(dá)能力。當(dāng)遇到訓(xùn)練時(shí)未見(jiàn)過(guò)的任務(wù)類(lèi)型,或者需要更細(xì)粒度或更粗粒度的控制時(shí),系統(tǒng)就難以適應(yīng)。
論文中強(qiáng)調(diào),這種規(guī)劃與行動(dòng)之間的強(qiáng)硬分離,損害了動(dòng)態(tài)適應(yīng)性并限制了泛化能力。智能體需要的是能在不同抽象層次間自由切換的能力,而不是被困在某個(gè)固定層級(jí)。就像人類(lèi)解決問(wèn)題時(shí),會(huì)根據(jù)任務(wù)復(fù)雜度自然調(diào)整思考粒度,有時(shí)直接行動(dòng),有時(shí)先制定計(jì)劃,有時(shí)在執(zhí)行中動(dòng)態(tài)調(diào)整,這種靈活性才是智能決策的本質(zhì)。
關(guān)鍵洞察:
規(guī)劃就是高層次的行動(dòng)
面對(duì)這個(gè)困境,論文提出了一個(gè)關(guān)鍵洞察:規(guī)劃和行動(dòng)本質(zhì)上不是兩種不同的認(rèn)知過(guò)程,而是同一件事在不同粒度上的體現(xiàn)。
這個(gè)想法其實(shí)很符合直覺(jué)。當(dāng)「準(zhǔn)備早餐」時(shí),這是一個(gè)高層次的行動(dòng);當(dāng)「向鍋中倒油」時(shí),這是一個(gè)低層次的行動(dòng)。它們的區(qū)別不在于性質(zhì),而在于抽象程度。既然如此,為什么要用兩套完全不同的系統(tǒng)來(lái)處理它們呢?
基于這個(gè)洞察,ReCode 提出了一個(gè)優(yōu)雅的解決方案:用統(tǒng)一的代碼表征來(lái)表示所有決策,無(wú)論粒度粗細(xì)。高層計(jì)劃表示為占位符函數(shù),低層動(dòng)作表示為可執(zhí)行函數(shù),然后通過(guò)遞歸機(jī)制將前者逐步分解為后者。

ReCode 流程圖(a)任務(wù)指令通過(guò)基于規(guī)則的文本轉(zhuǎn)代碼方法轉(zhuǎn)換為初始占位符函數(shù)。 (b)系統(tǒng)以深度優(yōu)先的方式遍歷樹(shù),自動(dòng)執(zhí)行當(dāng)前節(jié)點(diǎn)的代碼,并在遇到時(shí)將占位符函數(shù)擴(kuò)展到葉子節(jié)點(diǎn)。 (c)基于 LLM 的擴(kuò)展操作具有清晰的上下文。僅提供當(dāng)前函數(shù)簽名和可用變量,沒(méi)有任何樹(shù)結(jié)構(gòu)或執(zhí)行歷史。
具體來(lái)說(shuō),ReCode 的工作流程是這樣的:
首先,系統(tǒng)將任務(wù)指令轉(zhuǎn)換為一個(gè)根占位符函數(shù) solve(instruction, observation),其中由 instruction 變量保存任務(wù)指令,observation 變量保存環(huán)境觀察。
接下來(lái),智能體開(kāi)始展開(kāi)這個(gè)函數(shù)。它會(huì)生成一段代碼,這段代碼可能包含:
- 占位符函數(shù):代表需要進(jìn)一步分解的子任務(wù),如
find_and_take('alarmclock', locations); - 原始動(dòng)作:可以直接執(zhí)行的操作,如
run('go to desk 1')。
關(guān)鍵在于,智能體可以自由混合這兩種元素。如果某個(gè)步驟很明確(比如已經(jīng)知道要去梳妝臺(tái)),就直接寫(xiě)原始動(dòng)作;如果某個(gè)步驟還需要細(xì)化(比如怎么找到鬧鐘),就寫(xiě)一個(gè)占位符函數(shù)。
然后,系統(tǒng)開(kāi)始執(zhí)行生成的代碼。遇到原始動(dòng)作就直接執(zhí)行,遇到占位符函數(shù)就遞歸(recursively)調(diào)用智能體,讓它為這個(gè)子任務(wù)生成新的代碼。這個(gè)過(guò)程一直持續(xù)到所有占位符都被展開(kāi)為原始動(dòng)作。
從技術(shù)實(shí)現(xiàn)角度,ReCode 還做了一些精巧的設(shè)計(jì)。比如通過(guò)統(tǒng)一的變量命名空間來(lái)傳遞上下文信息,讓子任務(wù)可以訪問(wèn)父任務(wù)建立的狀態(tài);通過(guò)設(shè)置最大遞歸深度來(lái)防止無(wú)限循環(huán);通過(guò)糾正機(jī)制來(lái)處理代碼生成錯(cuò)誤。
這些設(shè)計(jì)共同構(gòu)成了一個(gè)既靈活又可控的智能體框架,真正實(shí)現(xiàn)了從固定粒度到自適應(yīng)粒度的跨越。
從 ReAct 到 ReCode:
范式升級(jí)帶來(lái)的性能提升
ReCode 的設(shè)計(jì)不只是理論上的優(yōu)雅,通過(guò)實(shí)驗(yàn)驗(yàn)證,它主要帶來(lái)了三個(gè)方面的提升。
推理性能的提升
論文在三個(gè)復(fù)雜決策環(huán)境上做了充分測(cè)試,在 ALFWorld 的未見(jiàn)過(guò)任務(wù)上,ReCode 達(dá)到 96.27% 的成功率,遠(yuǎn)超 ReAct 的 64.18% 和 CodeAct 的 85.07%。在 WebShop 環(huán)境中,也比最佳基線 ADaPT 提升了 21.9%。平均而言,ReCode 的表現(xiàn)比最佳基線高出 10.5 個(gè)百分點(diǎn),相對(duì)提升達(dá)到 20.9%。
傳統(tǒng)的智能體范式要么困在細(xì)粒度的步步推理中,要么被固定的規(guī)劃模板限制。ReCode 則根據(jù)任務(wù)復(fù)雜度靈活調(diào)整:簡(jiǎn)單任務(wù)直接執(zhí)行,復(fù)雜任務(wù)層層分解。

三個(gè)環(huán)境在少樣本推理設(shè)置下的平均獎(jiǎng)勵(lì)表格根據(jù)使用模型分為三個(gè)部分:GPT-4o mini、Gemini 2.5 Flash 和 DeepSeek-V3.1。每個(gè)部分的最優(yōu)和次優(yōu)結(jié)果分別用粗體和下劃線標(biāo)記。
成本效率的提升
Token 成本對(duì) LLM 智能體也是關(guān)鍵因素。一條 ReCode 軌跡的平均成本比 ReAct 低 78.9%,比 CodeAct 低 84.4%。完成同樣任務(wù),ReCode 的花費(fèi)不到對(duì)手的四分之一。這種成本優(yōu)勢(shì)源于層次分解帶來(lái)的結(jié)構(gòu)化探索。ReAct 需要在每一步都詳細(xì)推理,生成大量中間文本;而 ReCode 用少量高層決策就能完成復(fù)雜任務(wù),大幅減少了 token 消耗。

GPT-4o mini 在所有基準(zhǔn)環(huán)境中的平均成本(× 1e-3 美元)。所有成本計(jì)算均參照 GPT-4o mini 的官方 API 定價(jià)。
訓(xùn)練效率的提升在 ScienceWorld 環(huán)境中,ReCode 只用 3500 個(gè)訓(xùn)練樣本就達(dá)到 88.5% 獎(jiǎng)勵(lì),而 ReAct 需要 12833 個(gè)樣本(3.7 倍)才能達(dá)到相似的性能。
更細(xì)致的實(shí)驗(yàn)顯示,在使用前 10% 的數(shù)據(jù)時(shí),ReCode 僅用 688 個(gè)樣本達(dá)到 44.87% 的性能,ReAct 用 3094 個(gè)樣本(4.5 倍)只達(dá)到 34.05%。ReCode 的軌跡是完整決策樹(shù),這種遞歸結(jié)構(gòu)天然產(chǎn)生層次化訓(xùn)練數(shù)據(jù),而 ReAct 方法的軌跡則是扁平動(dòng)作序列。
在 ReCode 中,從高層規(guī)劃到子任務(wù)分解再到原始動(dòng)作,每一層都是獨(dú)立訓(xùn)練樣本。模型在 ReCode 上進(jìn)行訓(xùn)練,不僅學(xué)會(huì)執(zhí)行,還學(xué)會(huì)規(guī)劃和分解,掌握了可遷移的任務(wù)結(jié)構(gòu)。

左圖:ReCode(藍(lán)色)和 ReAct(紅色)在 ScienceWorld 不同過(guò)濾百分位數(shù)下的 SFT 性能。已見(jiàn)任務(wù)的性能用三角形表示,未見(jiàn)任務(wù)的性能用正方形表示。右圖:訓(xùn)練數(shù)據(jù)統(tǒng)計(jì)和對(duì)應(yīng) ScienceWorld 性能的 ReAct 和 ReCode。表格列出了數(shù)據(jù)對(duì)的數(shù)量以及每種方法在不同過(guò)濾百分位數(shù)下的平均獎(jiǎng)勵(lì)。
展望
ReCode 不只是推理范式的創(chuàng)新,更為智能體學(xué)習(xí)開(kāi)辟了新路徑。其遞歸結(jié)構(gòu)產(chǎn)生的層次化數(shù)據(jù)天然適合訓(xùn)練,讓模型從 3.7 倍少的樣本中學(xué)到更多。但 ReCode 的效果高度依賴(lài)基礎(chǔ)模型其生成所需格式代碼的能力。
未來(lái)研究可以探索的方向有很多:通過(guò)專(zhuān)門(mén)的預(yù)訓(xùn)練目標(biāo)讓模型理解遞歸分解邏輯、用強(qiáng)化學(xué)習(xí)獎(jiǎng)勵(lì)高效的層次化規(guī)劃、引入自動(dòng)課程學(xué)習(xí)讓模型逐步掌握復(fù)雜分解。這些方向都指向一個(gè)核心:讓智能體不僅會(huì)用框架,更能通過(guò)學(xué)習(xí)不斷優(yōu)化自己的規(guī)劃策略。ReCode 證明了打破規(guī)劃和行動(dòng)邊界的可行性,接下來(lái)是讓這種能力真正成為可學(xué)習(xí)、可進(jìn)化的。




































