就在剛剛,Meta FAIR 推出代碼世界模型(CWM)。這是一個 32B 參數、上下文大小達 131k token 的研究模型,旨在探索世界模型如何改變代碼生成和代碼推理。
這是全球首個將世界模型系統性引入代碼生成的語言模型。與現有代碼大模型相比,CWM 的根本性突破在于其超越了代碼生成與語義理解。它的核心優勢在于能夠模擬代碼的執行過程,動態追蹤變量狀態的變化并預判環境反饋。這種“執行感知”能力使其在代碼理解、調試與復雜任務規劃方面實現了質的飛躍。
在多個代碼與推理任務上,CWM 表現出色,在 SWE-bench Verified 得分 65.8%,接近GPT-4 的水平。
Meta FAIR 這次還開源了模型代碼、訓練細節以及多個階段的權重檢查點。
為什么需要 “世界模型” ?
先來討論我們為什么需要 “世界模型” 這個問題。
傳統代碼 AI 的局限性在于“從未運行過自己寫的代碼”。一些代碼 AI 能根據注釋或上下文快速生成代碼片段,然而,這類模型的核心工作機制是:基于海量代碼數據學習統計規律,預測下一個最可能的 token。這會導致幾個關鍵問題:
“看起來正確”的代碼:生成的代碼在語法和結構上無懈可擊,邏輯也看似合理,但一旦投入運行,便會暴露隱藏的錯誤。
缺乏狀態感知能力:模型難以動態追蹤代碼執行過程中變量、內存、文件系統或數據庫狀態的實際變化,其理解停留在靜態文本層面。
多步任務規劃困難:面對需要連續操作的任務(例如“先修復這個Bug,再為其添加測試”),模型容易在后續步驟中遺忘之前操作對整體狀態造成的影響,從而導致前后邏輯斷裂。
這些問題的根源,在于模型缺乏對代碼動態執行過程的深層理解。
CWM 的創新在于將代碼的執行軌跡和交互歷史作為核心訓練數據,不僅在學“怎么寫代碼”,更在學“怎么跑代碼”。
在 FAIR 團隊看來,如果想讓模型擁有程序員的思維模式,就必須教會它代碼執行的“世界狀態”變化。
因此,CWM 在訓練過程中引入代碼世界建模(code world modeling)的概念,明確讓模型學習程序狀態是如何在代碼運行過程中演變的。
大規模數據集增強建模能力
FAIR 重點介紹了兩項增強 CWM 世界建模能力的大規模數據收集工作:Python 執行軌跡和 ForagerAgent。
Python 執行軌跡會給定一個 Python 代碼上下文和一個追蹤起始點的標記,該模型會定源代碼上下文和跟蹤起點標記,并預測一系列表示程序狀態和操作(已執行代碼)的堆棧幀。
團隊對超過 2.1 萬個可用且可追蹤的倉庫鏡像的 token 測試執行了 Python 執行跟蹤。并生成一個以自然語言逐步描述 Python 代碼執行的數據集。
ForagerAgent 通過向 LLM 發出軟件工程任務的提示,使其在特定代碼庫的上下文中求解,從而收集多步軌跡。
團隊從 10.2 萬張圖片和 3.15 萬個底層存儲庫中收集了 300 萬條軌跡。這些軌跡在問題修復任務和變異修復任務中的比例分別為 55% 和 45%。
預訓練和后訓練
架構上,FAIR 選擇了密集架構而非稀疏架構。CWM 使用局部和全局注意力模塊交替排列的模式,以 3:1 的比例交錯,滑動窗口大小分別為 8192 個和 131072 個 token。
CWM 預訓練由兩個階段組成:
通用預訓練:首先使用來自各種來源的 8 個 T token進行初始預訓練,重點關注編碼數據以及 STEM 和常識。使用全局批量大小為 8.4 M 的 token 和上下文長度為 8192 的 token 對模型進行預訓練。
代碼世界模型中期訓練:利用額外的 5 T 個 token 對模型進行中期訓練,引入了一些數據集來支持代碼世界建模目標。全局批次大小為 33 M 個 token,最大上下文長度為 131 k 個 token。
后訓練階段基于早期訓練階段學習到的內部代碼世界模型,提升了 CWM 通過推理解決復雜編程相關問題的能力。
首先是進行監督微調 (SFT),以提升推理能力和通用指令遵循能力。團隊對 100 B 個 token 執行 SFT,全局批次大小為 2 M 個 token。
除此之外,還使用了 GRPO 的變體來訓練 CWM。與原始 GRPO 不同,團隊采用了多輪變體和異步 RL,從而實現更高的吞吐量。
實驗結果
消融研究表明,在訓練中期引入 GitHub PR 軌跡、Python 執行跟蹤和 ForagerAgent 數據對性能有積極影響。
CWM 在 SWE-bench Verified 中解析率達到 65.8%,表現優于類似規模的開放權重模型,接近 GPT-oss120B、Qwen3-Coder 和 Kimi K2 等規模更大的模型水平。
在 LiveCodeBench v5 的基準測試中,CWM 也取得了 68.6% 的分數,展示高復雜度編程任務上的準確性。
結語
Meta FAIR 的愿景是讓代碼世界模型彌補語言級推理與可執行語義之間的鴻溝。實驗表明,世界建模數據、Python 執行軌跡和可執行的 Docker 環境可以直接提升下游任務的性能。Python 跟蹤世界模型能夠支持對代碼生成、執行、正確性和驗證的推理研究。世界模型還專注于學習哪些動作會帶來獎勵,能夠改進強化學習。
參考資料:
https://www.xugj520.cn/archives/meta-cwm-code-world-model.html
https://ai.meta.com/research/publications/cwm-an-open-weights-llm-for-research-on-code-generation-with-world-models/