Datawhale乾貨
技術解讀論文:智譜 GLM-5
昨天,智譜開源 GLM-5 技術報告,40 頁,副標題是“from Vibe Coding to Agentic Engineering”論文。
論文連結:
Vibe Coding 是什麼?是你跟 AI 說「幫我寫個貪吃蛇」,它給你寫出來論文。
Agentic Engineering 是什麼?是你說「這個系統有個 bug」, AI 自己去找問題、改程式碼、跑測試,全程不用你管論文。
從“輔助寫程式碼”到“獨立完成工程任務”,這個轉變對模型訓練提出了完全不同的要求論文。我們對這份報告進行了解讀。
一、先看資料
GLM-5 釋出後,矽谷頂級風投機構 a16z 釋出了一組資料:開源大模型和頂級閉源模型之間的能力差距,正在以肉眼可見的速度快速收窄論文。
展開全文
正面對標的,就是 GLM-5 和 Claude Opus 4.6論文。
具體來看論文,GLM-5 在幾個關鍵評測上的表現:
SWE-bench Verified 77.8%,開源模型最高論文。這個測試要求模型修復真實 GitHub 倉庫裡的 bug。幾萬行程式碼的專案,找問題、理解上下文、寫方案、跑通測試,全流程完成。
BrowseComp 75.9%,這是所有模型裡最高的論文。這個任務要求模型自己決定搜什麼、點哪些連結、從多個網頁提取資訊、綜合得出答案。
SWE-bench Verified 77.8%,開源模型最高論文。這個測試要求模型修復真實 GitHub 倉庫裡的 bug。幾萬行程式碼的專案,找問題、理解上下文、寫方案、跑通測試,全流程完成。
BrowseComp 75.9%,這是所有模型裡最高的論文。這個任務要求模型自己決定搜什麼、點哪些連結、從多個網頁提取資訊、綜合得出答案。
Artificial Analysis Intelligence Index 拿了 50 分,開源模型第一次達到這個水平論文。
Artificial Analysis Intelligence Index 拿了 50 分,開源模型第一次達到這個水平論文。
這些資料指向一個方向:GLM-5 是為 Agent 場景最佳化的論文。從 a16z 的資料背書,到 LMArena 的真實使用者投票,GLM-5 在 coding 和 agentic 能力上,已經站到了全球第一梯隊。
值得一提的是,GLM-5 釋出前做過匿名盲測,代號 Pony Alpha,被很多海外大 V 認為是 Claude 或 Grok論文。而且GLM-5 從釋出之初就原生適配了華為昇騰、摩爾線程等七大國產晶片平臺,完成了從核心到框架的深度最佳化。
資料看完了論文,那麼問題來了:要訓練出這樣真正能幹活的 Agent,首先得解決什麼?
GLM-5 沒有特別關注更大的模型,而是更聰明的擴充套件方式:把 DSA 稀疏注意力和非同步強化學習結合起來,用更聰明的方式解決長程 Agent 任務論文。
在多個長程任務上的結果論文。左:Vending-Bench 2;右:CC-Bench-V2
一、時間維度論文:提升Agentic RL的訓練效率
Agentic RL 為什麼難訓練
傳統強化學習訓練數學推理或程式碼生成,一個樣本從生成到獲得反饋只要幾秒論文。模型輸出答案,判題系統給分,結束。整個過程在 GPU 叢集內部完成。
Agent 任務不一樣論文。模型要修一個 bug,需要先瀏覽程式碼庫找相關檔案,理解程式碼邏輯,寫修改方案,執行測試,看測試結果,如果失敗還要分析錯誤繼續改。
這就產生了嚴重的資源浪費:訓練用的 GPU 在等論文。等 Agent 執行完任務,等資料回來,才能繼續訓練。
傳統的同步強化學習框架在這種場景下效率很低論文。你可以加更多 GPU,但 GPU 還是在等,因為瓶頸不在計算,在外部環境的響應時間。
這是暴力擴充套件解決不了的問題論文。
Slime論文:把生成和訓練拆開
GLM-5 團隊的解法是讓生成和訓練完全獨立執行論文。
Slime 框架分兩部分論文:
Rollout 叢集專門負責執行 Agent 任務論文。這些伺服器各自獨立,每臺跑一個或多個任務。任務完成後把完整軌跡(模型的每步操作、環境的每次反饋)打包傳送出去。
訓練叢集專門負責更新模型引數論文。收到軌跡資料就立刻訓練,不等新任務執行完成。
Rollout 叢集專門負責執行 Agent 任務論文。這些伺服器各自獨立,每臺跑一個或多個任務。任務完成後把完整軌跡(模型的每步操作、環境的每次反饋)打包傳送出去。
訓練叢集專門負責更新模型引數論文。收到軌跡資料就立刻訓練,不等新任務執行完成。
核心是:兩邊不互相等待論文。Rollout 叢集持續產生資料,訓練叢集持續消化資料。
但這種非同步設計帶來兩個新問題論文。
第一個是 token 對齊論文。
Rollout 叢集用的模型版本和訓練叢集用的可能不一樣論文。比如 Rollout 用 1.3 版本生成資料,等資料到訓練叢集,模型已經更新到 1.5 了。
如果直接把 1.3 版本的 token 序列拿給 1.5 版本訓練,可能出問題論文。因為兩個版本的分詞器可能不完全一致,新版本可能加了特殊 token。
這時,Slime 加了個 TITO(Token-In-Token-Out)閘道器論文。不管收到哪個版本的 token,都先還原成原始文字,再用當前訓練版本的分詞器重新編碼。
第二個是離策略訓練的穩定性論文。
因為生成資料的模型和訓練時的模型不是同一版本,訓練叢集收到的是“舊策略”產生的資料論文。用舊策略資料訓練新策略,如果處理不當,訓練會不穩定甚至崩潰。
Slime 用“雙側重要性取樣”來控制:在 token 級別和樣本級別都做重要性加權,既能利用歷史資料,又不會讓極端樣本把訓練帶偏論文。
訓練效率問題,是所有做 Agent RL 的團隊都會遇到論文。目前,整個 Slime 框架已經開源,其他團隊可以直接在這基礎上繼續探索。
空間維度論文:Agent 的上下文太長
Slime 解決了訓練效率,但 Agent 還有另一個麻煩:上下文太長論文。
修 bug 要讀幾十個程式碼檔案,深度搜尋要瀏覽幾十個網頁論文。這些內容加起來,上下文輕鬆超過 10 萬 token。標準注意力機制的計算複雜度是 O(L²),當 L=200K 時,計算量大到難以承受。
1. 選擇重要的 token
此時,GLM-5 採用了 DeepSeek 提出的 DSA 來降低成本論文。DSA 的思路是用一個輕量級索引器動態判斷哪些 token 最重要,然後只對這些 token 做注意力計算。
報告說 DSA 能把長序列注意力計算降低 1.5-2 倍論文。對 20 萬 token 的上下文,可以用一半成本完成相同工作。這樣,就不需要處理更多的 token 了。
2. 確定性 vs 速度
在實際使用 DSA 時,GLM-5 團隊遇到了一個新問題:強化學習訓練不穩定論文。
問題出在 DSA 的 top-k 運算元上論文。DSA 需要從所有 token 中選出最重要的 k 個來計算注意力。如果用 CUDA 最佳化的 top-k 實現,速度快,但輸出是非確定性的——同樣的輸入,每次執行可能選出不同的 token。
這在推理時問題不大,但在強化學習訓練時會出大問題論文。因為強化學習需要計算策略的機率比值,如果同樣的輸入每次輸出不一樣,機率就對不上,訓練幾步後效能就會急劇下降。
GLM-5 團隊的解法是換成 PyTorch 原生的 torch.topk論文。這個實現比 CUDA 版本慢一點,但輸出是確定性的——同樣的輸入,每次選出的 token 都一樣。用了確定性 top-k 後,強化學習訓練才穩定下來。
這個選擇很有意思:為了訓練穩定,犧牲了一部分推理速度論文。但這個 trade-off 是值得的——訓練是一次性成本,推理是持續成本。更重要的是,這暴露了一個問題:很多為推理最佳化的技術,不一定適合訓練。
同時,GLM-5 在強化學習訓練時凍結了 DSA 索引器的引數,只更新模型主體論文。這樣既加速了訓練,也避免了索引器在訓練中出現不穩定的學習行為。
這個發現挺重要的論文。DSA 本身是 DeepSeek 提出的,但怎麼在 RL 的場景下用好 DSA, GLM-5 團隊踩了坑才找到答案。
3. 更好的管理上下文
降低了計算成本論文,保證了訓練穩定,但長上下文還有個問題:怎麼用好?
GLM-5 設計了三種思考模式論文:
交錯思考:每輪都思考論文,但內容簡短
保留思考:只在第一輪深度思考論文,後續直接執行
輪次級思考:每輪獨立思考論文,上一輪的思考會被清除
交錯思考:每輪都思考論文,但內容簡短
保留思考:只在第一輪深度思考論文,後續直接執行
輪次級思考:每輪獨立思考論文,上一輪的思考會被清除
在 SWE-bench 上,輪次級思考比交錯思考效果好 2 個百分點論文。原因是 SWE-bench 需要很多輪互動,交錯思考的內容會佔用太多空間,擠掉程式碼和測試結果。
在搜尋任務上,GLM-5 用了「Keep-recent-k」策略:當互動歷史超過一定長度,只保留最近 k 輪的工具呼叫內容(k=5)論文。這個策略把 BrowseComp 分數從 55.3% 提升到 62.0%。進一步,他們引入“混合層次管理”:如果總上下文超過 32K,就完全清空工具呼叫歷史重新開始,但繼續應用 Keep-recent-k。最終達到 75.9%,所有模型最高。
核心思想是:長上下文越長越好?不對論文。 關鍵是在有限空間裡保留最關鍵的資訊。
GLM-5 的完整訓練方案
解決了訓練效率和長上下文這兩個核心問題,我們把視角拉回來論文。要訓練出真正能幹活的 Agent,GLM-5 的構建了一套完整的訓練體系。
1. 分層訓練不同能力
GLM-5 的強化學習分三個階段論文:
Reasoning RL:訓練推理能力,用數學題、科學問題、演算法競賽這類有標準答案的任務論文。
Agentic RL:訓練 Agent 能力,用真實軟體工程任務、終端操作、多步搜尋任務論文。這裡用的就是 Slime 框架。
General RL:訓練對話能力,用開放式對話、創意寫作、角色扮演等任務論文。
Reasoning RL:訓練推理能力,用數學題、科學問題、演算法競賽這類有標準答案的任務論文。
Agentic RL:訓練 Agent 能力,用真實軟體工程任務、終端操作、多步搜尋任務論文。這裡用的就是 Slime 框架。
General RL:訓練對話能力,用開放式對話、創意寫作、角色扮演等任務論文。
這個順序很重要論文。推理能力是基礎,Agent 能力建立在推理之上,對話能力最容易被遺忘所以放最後。Reasoning → Agentic → General, GLM-5 把能力分了層。
神經網路有個特性叫“災難性遺忘”:學習新任務時會部分忘記舊任務論文。如果先訓練對話再訓練程式設計,對話能力可能退化。
GLM-5 用“跨階段蒸餾”來緩解論文。在第二階段訓練時,把第一階段的最佳模型當“教師”,讓正在訓練的模型在學新能力的同時保持舊能力。
效果很明顯論文。不做蒸餾,從 Agentic RL 進入 General RL 後,SWE-bench 分數從 77.8% 掉到 73.2%。做了蒸餾,分數基本不掉。
GLM 團隊沒有選擇一次性訓練所有能力,而是分層訓練、逐步疊加論文。
2. 著重構建訓練環境
這套訓練體系的背後,設計了一個大量可驗證的訓練環境論文。
軟體工程任務:GLM-5 團隊收集了大量 GitHub Issue-PR 對,用 RepoLaunch 框架自動構建可執行環境論文。這個流程會分析依賴、生成安裝指令碼、提取測試命令、用 LLM 生成日誌解析函式判斷測試是否透過。最終構建了超過 1 萬個可驗證環境,覆蓋 9 種程式語言。
終端任務:設計了三階段資料合成流程:LLM 生成任務草稿→構建 Agent 例項化為 Docker 環境和測試指令碼→精煉 Agent 檢查最佳化論文。產生數千個可驗證任務,Docker 構建成功率超 90%。
搜尋任務:從早期搜尋 Agent 軌跡中收集 200 萬+高質量網頁,用 LLM 提取實體關係構建知識圖譜論文。從圖譜中選低頻實體作種子,擴充套件多跳鄰域,生成需要多步推理的問題。生成的問題經過三輪篩選:去掉太簡單的、太難的、答案不唯一的。
軟體工程任務:GLM-5 團隊收集了大量 GitHub Issue-PR 對,用 RepoLaunch 框架自動構建可執行環境論文。這個流程會分析依賴、生成安裝指令碼、提取測試命令、用 LLM 生成日誌解析函式判斷測試是否透過。最終構建了超過 1 萬個可驗證環境,覆蓋 9 種程式語言。
終端任務:設計了三階段資料合成流程:LLM 生成任務草稿→構建 Agent 例項化為 Docker 環境和測試指令碼→精煉 Agent 檢查最佳化論文。產生數千個可驗證任務,Docker 構建成功率超 90%。
搜尋任務:從早期搜尋 Agent 軌跡中收集 200 萬+高質量網頁,用 LLM 提取實體關係構建知識圖譜論文。從圖譜中選低頻實體作種子,擴充套件多跳鄰域,生成需要多步推理的問題。生成的問題經過三輪篩選:去掉太簡單的、太難的、答案不唯一的。
這些環境是 Agent RL 訓練的基礎論文。沒有可驗證的環境,就沒法自動給出獎勵訊號。
1 萬個可驗證環境,數千個 Docker 任務,200 萬+網頁知識圖譜——GLM 團隊在此投入了很多論文。
3. 高效最佳化基座模型
訓練體系搭好了,環境也構建完成,但還有個前提:基座本身得足夠強論文。
GLM-5 在預訓練階段做了兩個工程最佳化, 讓原本不相容的技術能夠協同工作論文。
一個是讓 MLA 和 Muon 配合工作論文。這兩個技術單獨用都很好,但組合起來會衝突:MLA 要“合”, Muon 要“分”。GLM-5 團隊的解法叫“Muon Split”:在最佳化時先把 MLA 壓縮的表示按注意力頭拆開,讓 Muon 對每個頭獨立最佳化,最佳化完再合併。實驗顯示這個改動讓 MLA+Muon 達到了和標準 GQA 相當的效能,同時保留了 MLA 的視訊記憶體和速度優勢。
在 GQA-8 和 MLA 等各變體上的評估結果
另一個是引數共享的多 token 預測論文。GLM-5 用 3 個預測層,但這 3 層共享引數。共享引數強迫模型學習更通用的“多步預測”能力。測試顯示,在相同推測步數下,GLM-5 的接受長度比 DeepSeek-V3 高約 8%。
寫在最後
回到副標題的問題:從 Vibe Coding 到 Agentic Engineering論文,這個轉變意味著什麼?
意味著 AI 訓練的擴充套件方式變了論文。
以前,訓練一個模型,核心是暴力擴充套件論文。更大的模型、更多的資料、更長的訓練時間。模型訓練完,釋出權重,就結束了。
現在,訓練一個 Agent,核心是聰明擴充套件論文。非同步架構(Slime)解決時間維度問題,稀疏注意力(DSA)解決空間維度問題,能力分層訓練、大量可驗證的環境、基座最佳化——每一個都是在用更聰明的方式,而不是更大的規模。
更重要的是,智譜的這套方案開源了論文。Agent 訓練從此不再是少數團隊的黑箱實驗,而是可以被複制、被改進、被超越的工程實踐。
模型能力可以追趕,工程正規化的開放,才能讓整個生態往前走論文。
一起“ 點 贊 ” 三連 ↓