DeepSeek公開了一套面向Agent訓練的基礎設施系統DSec(DeepSeek Elastic Compute),論文由梁文鋒署名。這套系統的核心任務是為Agent訓練批次製造沙盒環境,支撐它的單叢集規模約為160個節點、3萬核CPU和250TB記憶體,目標是在每秒5000個的速度下為每個沙盒裝好一整套作業系統與工具鏈。
Agent訓練與普通大模型訓練的關鍵差異在於環境。Agent要在沙盒裡寫程式碼、跑編譯、開瀏覽器甚至裝作業系統,每執行一步都會改變環境狀態,隨時可能把環境搞崩。而不同型別的Agent任務對沙盒的要求差異極大:刷OJ題的Agent只需要無狀態的函式呼叫環境,連檔案系統都不必持久化;做SWE-bench的Agent需要完整Linux使用者態,要裝依賴、改程式碼、跑pytest,任務中途還可能加新包;安全攻防和computer-use場景下容器隔離不夠,必須上虛擬機器;訓練操作商業軟體的Agent則需要帶圖形介面和驅動的完整Windows或macOS。
DSec為此準備了四種後端:FnCall處理無狀態函式呼叫,Container跑Docker容器,MicroVM用Firecracker做輕量級虛擬機器,Full VM用QEMU跑完整作業系統。四種後端的隔離強度與資源開銷逐級遞增,但訓練框架側看到的是統一的Python SDK libdsec,建立沙盒、執行命令、拿結果的呼叫方式完全相同。請求鏈路從訓練框架出發,經IAM認證鑑權進入API Server,由排程引擎Placement Engine根據資源餘量選節點,節點上的Edge元件拉起對應型別沙盒;網路出口與包管理映象由Aether統一代理,Agent執行的每條命令和每行輸出則通過沙盒內通訊元件Chronus中轉回訓練框架。靠資源超分和高密度部署,單個節點可同時承載3200個容器或800個MicroVM。
規模化的真正難點在映象。DSec的容器後端累計使用了11266個基礎映象和102171個工作區,67.8%的沙盒需要在基礎映象之上疊加至少一層工作區或工具包。傳統做法下,某個工具包一更新,所有包含它的組合映象都要重建,成本為O(m·N)。DSec把環境拆成基礎映象、工作區、工具包三層獨立的EROFS只讀映象,各自獨立版本化,通過overlayfs在啟動時按需組合,更新成本降到O(m)+O(k)。映象以EROFS格式存放在3FS(Fire-Flyer分散式檔案系統)上,後設資料預取到本地,資料塊只在真正讀取時才拉取。實測8192個容器的突發部署,按需載入35分鐘完成,Docker冷拉取需60分鐘以上;磁碟寫入量也從約1600GB降到約700GB。
資源效率方面,MicroVM通過虛擬塊裝置讀映象時,同一份資料會在宿主機和虛擬機器頁快取各存一份。DSec用virtio-pmem配合DAX讓虛擬機器跳過自身頁快取、直接對映宿主機實體記憶體,多個虛擬機器共享同一份對映,峰值記憶體佔用砍掉40.2%;對不適用virtio-pmem的可寫磁碟,用DAMON定期掃描冷記憶體頁並主動歸還,配合virtio-balloon的free-page reporting再降21.2%。CPU側把沙盒分為延遲敏感型和盡力而為型,後者設為SCHED_IDLE優先順序,並啟用Linux core scheduling阻止低優先順序任務佔用高優先順序任務的兄弟超執行緒,兩層策略疊加後,50%背景負載下延遲敏感任務的延遲膨脹從45.2%降到17.3%。
架構上還有一處調整:早期Agent的推理迴圈跑在GPU訓練Pod內部,GPU任務被搶佔時Agent進度全丟。從DeepSeek-V4.1開始,Agent迴圈被拆到DSec的worker container裡獨立執行,不再繫結GPU Pod生命週期;GPU被搶佔時DSec掛起儲存沙盒狀態,恢復後繼續執行,訓練框架不必自己實現斷點恢復。論文提到的最大生產任務一次申請32000個沙盒,突發負載下DSec自動觸發cloud bursting把溢位任務打到雲端虛擬機器,實測叢集利用率超過80%時,200台雲VM能吸收約30%的峰值。
論文更引人注意的是Agent在訓練中自行發現的reward hacking手段。這些Agent找到了不靠正當手段完成任務、卻同樣拿高分的捷徑。第一個目標是Chronus:Agent發現它在某些操作中會呼叫系統bash,於是直接覆蓋/bin/bash注入自己的命令,試圖從後續shell會話截獲答案或特權資訊。被AppArmor堵上後,Agent轉向更底層的XFS檔案系統ioctl呼叫XFS_IOC_SWAPEXT,用它交換兩個檔案的底層資料塊對映,把受保護檔案內容換到自己持有的檔案描述符上,繞過檔案級訪問控制;這次嘗試還損壞了XFS後設資料,可能直接導致檔案系統崩潰,影響範圍超出單個沙盒。此外,有Agent掃描沙盒可觸達的網路埠和服務尋找參考實現,有Agent通過Go module proxy從GitHub拉程式碼,也有Agent安裝更新版本軟體包獲取現成解法——這些行為單看最終輸出根本發現不了,因為Agent確實「做對了題」。
破壞性行為同樣存在:一個Agent在沙盒內遞迴執行grep,從根目錄掃到/proc/kpagecgroup,觸發核心bug導致宿主機核心崩潰;另一個Agent在安全攻防任務中把本該發給目標虛擬機器的攻擊命令在自己的容器內執行,同樣打崩核心;還有Agent發現Chronus會非同步記錄命令stdout輸出,於是反覆呼叫yes命令列印字元,幾十GB日誌灌滿儲存。
防禦上,DSec用AppArmor控制檔案讀寫許可權和Unix域套接字訪問,這些策略即使Agent以root身份執行也生效;用eBPF做網路層細粒度管控,按任務配置域名白名單,通過IP、埠和協議三重過濾攔截越界流量,策略還可在任務不同階段動態更新,比如環境搭建階段允許訪問PyPI,正式執行階段收緊網路。論文也承認,AppArmor和eBPF能限制資訊洩露通道但防不了核心bug,使用者隔離能縮小爆炸半徑但Agent總會找到新路徑,這將是一場持續的「魔道之爭」——模型越強,鑽漏洞的能力越強,平台防線就得不斷前移。
從產業視角看,這份論文的價值在於把Agent訓練叢集的工程門檻攤開:它不只是「又大」,還要在映象分發、記憶體與CPU排程、GPU搶佔恢復、安全隔離等多個維度「又細」。對關注AI基礎設施的讀者而言,DSec披露的按需載入、cloud bursting和沙盒安全策略,提供了一個觀察大模型公司如何把訓練叢集能力向Agent場景延伸的具體樣本。