![]()
ReCode 作者團隊來自于 Foundation Agents 開源社區(qū)。第一作者為 DeepWisdom 研究員于兆洋,同時也是 OpenManus 的發(fā)起人之一。共同通訊作者為 DeepWisdom 創(chuàng)始人兼 CEO 吳承霖,以及蒙特利爾大學與 MILA 實驗室的副教授劉邦。
想象你在準備早餐:你不會先寫一份詳細到「左手抓雞蛋、右手拿碗、手腕旋轉 45 度敲擊蛋殼」這樣的清單,也不會只有一個籠統(tǒng)的計劃叫「做個早餐」,然后不知所措。
人類大腦會自然地在煎培根、雞蛋和敲開雞蛋這樣不同決策粒度間無縫切換,粗粒度的高層規(guī)劃和細粒度的具體動作融為一體,但目前的 AI 智能體很難做到這一點。
最近,來自 DeepWisdom 的研究員在論文中指出,當前主流智能體框架都被固定的決策粒度束縛住了。ReAct 智能體只會一步步執(zhí)行細粒度動作,缺乏全局規(guī)劃;而帶規(guī)劃器(Planner)的智能體雖然能制定高層計劃,但規(guī)劃和執(zhí)行被硬生生分成兩個模塊,難以動態(tài)調整和優(yōu)化。
這個問題的根源在哪?論文給出了一個顛覆性的答案:規(guī)劃和行動本質上是同一件事,只是粒度不同而已。
基于這個洞察,他們提出了ReCode(Recursive Code Generation),一個用遞歸代碼生成來統(tǒng)一規(guī)劃與執(zhí)行的智能體新范式。與 ReAct 這類固定粒度的范式不同,ReCode 讓智能體能夠在不同粒度間自由切換,從而展現(xiàn)出更強的適應性和潛力。
![]()
- 論文標題:ReCode: Unify Plan and Action for Universal Granularity Control
- 論文地址
- https://arxiv.org/abs/2510.23564
- 項目地址
- https://github.com/FoundationAgents/ReCode
實驗結果也印證了這一點:相比 ReAct,ReCode 在三個環(huán)境上的平均性能從 47.4% 提升到 60.8%,推理成本降低 79%,訓練時所需樣本數減少到原來的 27%。
這項工作在推特上獲得了約 20 萬的瀏覽量,引發(fā)了學術界和工業(yè)界的廣泛關注。
![]()
問題到底出在哪?
讓我們先看看現(xiàn)有方案為什么不夠好。
![]()
基于 LLM 的智能體決策范式比較(a)ReAct 智能體在固定、細粒度的觀察-動作循環(huán)中運行。 (b)具有規(guī)劃器的智能體在高級規(guī)劃器和低級執(zhí)行器之間強制實施嚴格的分離,限制了適應性。 (c)ReCode 智能體在代碼表示中統(tǒng)一計劃和動作。策略遞歸地將高層計劃細化到基本的動作序列,從而實現(xiàn)決策粒度的流暢控制。
ReAct 智能體采用觀察-推理-行動循環(huán),每次只能執(zhí)行一個原始動作,就像導航時每次只能決定向左走 3 米,卻無法思考去機場這樣的高層目標。這種方式在復雜長期任務中很快就會迷失方向。
以一個簡單的家務任務為例。如果要求智能體找到兩個鬧鐘并放入梳妝臺,ReAct 智能體需要執(zhí)行幾十步操作:去書桌 1、檢查書桌 1、打開抽屜、拿起鬧鐘 1、去梳妝臺、放下鬧鐘 1、去書桌 2……每一步都要重新推理和決策。這不僅效率低下,而且容易在長鏈條中出錯。更關鍵的是,它無法形成找到第一個鬧鐘后該繼續(xù)尋找第二個這樣的宏觀認知。
規(guī)劃-執(zhí)行分離的智能體則走向另一個極端。它們先用規(guī)劃器生成完整計劃,再用執(zhí)行器按部就班地執(zhí)行。問題是,這兩個模塊說著不同的語言,規(guī)劃器輸出自然語言描述,執(zhí)行器需要具體動作指令。一旦計劃出錯,整個系統(tǒng)就卡住了,且規(guī)劃器很難從執(zhí)行反饋中學習。
更深層的問題在于,這類方法往往依賴預定義的計劃模板或固定的分解策略。比如 AdaPlanner 會預先編寫 Python 動作序列然后迭代修改,這種方式雖然增加了規(guī)劃能力,但仍然受限于模板的表達能力。當遇到訓練時未見過的任務類型,或者需要更細粒度或更粗粒度的控制時,系統(tǒng)就難以適應。
論文中強調,這種規(guī)劃與行動之間的強硬分離,損害了動態(tài)適應性并限制了泛化能力。智能體需要的是能在不同抽象層次間自由切換的能力,而不是被困在某個固定層級。就像人類解決問題時,會根據任務復雜度自然調整思考粒度,有時直接行動,有時先制定計劃,有時在執(zhí)行中動態(tài)調整,這種靈活性才是智能決策的本質。
關鍵洞察:
規(guī)劃就是高層次的行動
面對這個困境,論文提出了一個關鍵洞察:規(guī)劃和行動本質上不是兩種不同的認知過程,而是同一件事在不同粒度上的體現(xiàn)。
這個想法其實很符合直覺。當「準備早餐」時,這是一個高層次的行動;當「向鍋中倒油」時,這是一個低層次的行動。它們的區(qū)別不在于性質,而在于抽象程度。既然如此,為什么要用兩套完全不同的系統(tǒng)來處理它們呢?
基于這個洞察,ReCode 提出了一個優(yōu)雅的解決方案:用統(tǒng)一的代碼表征來表示所有決策,無論粒度粗細。高層計劃表示為占位符函數,低層動作表示為可執(zhí)行函數,然后通過遞歸機制將前者逐步分解為后者。
![]()
ReCode 流程圖(a)任務指令通過基于規(guī)則的文本轉代碼方法轉換為初始占位符函數。 (b)系統(tǒng)以深度優(yōu)先的方式遍歷樹,自動執(zhí)行當前節(jié)點的代碼,并在遇到時將占位符函數擴展到葉子節(jié)點。 (c)基于 LLM 的擴展操作具有清晰的上下文。僅提供當前函數簽名和可用變量,沒有任何樹結構或執(zhí)行歷史。
具體來說,ReCode 的工作流程是這樣的:
首先,系統(tǒng)將任務指令轉換為一個根占位符函數,其中由變量保存任務指令,變量保存環(huán)境觀察。
solve(instruction, observation)
instruction
observation
接下來,智能體開始展開這個函數。它會生成一段代碼,這段代碼可能包含:
- 占位符函數:代表需要進一步分解的子任務,如;
- find_and_take('alarmclock', locations)
- 原始動作:可以直接執(zhí)行的操作,如。
- run('go to desk 1')
關鍵在于,智能體可以自由混合這兩種元素。如果某個步驟很明確(比如已經知道要去梳妝臺),就直接寫原始動作;如果某個步驟還需要細化(比如怎么找到鬧鐘),就寫一個占位符函數。
然后,系統(tǒng)開始執(zhí)行生成的代碼。遇到原始動作就直接執(zhí)行,遇到占位符函數就遞歸(recursively)調用智能體,讓它為這個子任務生成新的代碼。這個過程一直持續(xù)到所有占位符都被展開為原始動作。
從技術實現(xiàn)角度,ReCode 還做了一些精巧的設計。比如通過統(tǒng)一的變量命名空間來傳遞上下文信息,讓子任務可以訪問父任務建立的狀態(tài);通過設置最大遞歸深度來防止無限循環(huán);通過糾正機制來處理代碼生成錯誤。
這些設計共同構成了一個既靈活又可控的智能體框架,真正實現(xiàn)了從固定粒度到自適應粒度的跨越。
從 ReAct 到 ReCode:
范式升級帶來的性能提升
ReCode 的設計不只是理論上的優(yōu)雅,通過實驗驗證,它主要帶來了三個方面的提升。
推理性能的提升
論文在三個復雜決策環(huán)境上做了充分測試,在 ALFWorld 的未見過任務上,ReCode 達到 96.27% 的成功率,遠超 ReAct 的 64.18% 和 CodeAct 的 85.07%。在 WebShop 環(huán)境中,也比最佳基線 ADaPT 提升了 21.9%。平均而言,ReCode 的表現(xiàn)比最佳基線高出 10.5 個百分點,相對提升達到 20.9%。
傳統(tǒng)的智能體范式要么困在細粒度的步步推理中,要么被固定的規(guī)劃模板限制。ReCode 則根據任務復雜度靈活調整:簡單任務直接執(zhí)行,復雜任務層層分解。
![]()
三個環(huán)境在少樣本推理設置下的平均獎勵表格根據使用模型分為三個部分:GPT-4o mini、Gemini 2.5 Flash 和 DeepSeek-V3.1。每個部分的最優(yōu)和次優(yōu)結果分別用粗體和下劃線標記。
成本效率的提升
Token 成本對 LLM 智能體也是關鍵因素。一條 ReCode 軌跡的平均成本比 ReAct 低 78.9%,比 CodeAct 低 84.4%。完成同樣任務,ReCode 的花費不到對手的四分之一。這種成本優(yōu)勢源于層次分解帶來的結構化探索。ReAct 需要在每一步都詳細推理,生成大量中間文本;而 ReCode 用少量高層決策就能完成復雜任務,大幅減少了 token 消耗。
![]()
GPT-4o mini 在所有基準環(huán)境中的平均成本(× 1e-3 美元)。所有成本計算均參照 GPT-4o mini 的官方 API 定價。
訓練效率的提升在 ScienceWorld 環(huán)境中,ReCode 只用 3500 個訓練樣本就達到 88.5% 獎勵,而 ReAct 需要 12833 個樣本(3.7 倍)才能達到相似的性能。
更細致的實驗顯示,在使用前 10% 的數據時,ReCode 僅用 688 個樣本達到 44.87% 的性能,ReAct 用 3094 個樣本(4.5 倍)只達到 34.05%。ReCode 的軌跡是完整決策樹,這種遞歸結構天然產生層次化訓練數據,而 ReAct 方法的軌跡則是扁平動作序列。
在 ReCode 中,從高層規(guī)劃到子任務分解再到原始動作,每一層都是獨立訓練樣本。模型在 ReCode 上進行訓練,不僅學會執(zhí)行,還學會規(guī)劃和分解,掌握了可遷移的任務結構。
![]()
左圖:ReCode(藍色)和 ReAct(紅色)在 ScienceWorld 不同過濾百分位數下的 SFT 性能。已見任務的性能用三角形表示,未見任務的性能用正方形表示。右圖:訓練數據統(tǒng)計和對應 ScienceWorld 性能的 ReAct 和 ReCode。表格列出了數據對的數量以及每種方法在不同過濾百分位數下的平均獎勵。
展望
ReCode 不只是推理范式的創(chuàng)新,更為智能體學習開辟了新路徑。其遞歸結構產生的層次化數據天然適合訓練,讓模型從 3.7 倍少的樣本中學到更多。但 ReCode 的效果高度依賴基礎模型其生成所需格式代碼的能力。
未來研究可以探索的方向有很多:通過專門的預訓練目標讓模型理解遞歸分解邏輯、用強化學習獎勵高效的層次化規(guī)劃、引入自動課程學習讓模型逐步掌握復雜分解。這些方向都指向一個核心:讓智能體不僅會用框架,更能通過學習不斷優(yōu)化自己的規(guī)劃策略。ReCode 證明了打破規(guī)劃和行動邊界的可行性,接下來是讓這種能力真正成為可學習、可進化的。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
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.