8 月 13 日,DeepSeek 正式開放 DeepSeek Harness v0.1 Developer Preview。截至 8 月 14 日下午,該專案在 GitHub 上已獲得 4.5 萬星,熱度可見一斑。不過,這次更值得關注的並非 DeepSeek 又推出了一款 Coding Agent,而是它對 Harness 提出了一個明確概念:一切皆外掛。
傳統 Harness 架構如同固定澆築的大樓,遵循“核心 Harness + 外掛外掛”的結構。使用者可以在外圍增加 Skill 或接入 MCP 等工具,但工具呼叫、會話管理、沙箱、儲存以及 Agent Loop 等底層執行機制,通常由廠商提前封裝,普通使用者無法直接修改。而 DeepSeek Harness 將這棟“固定的大樓”拆成了一盒樂高:不僅外圍能力可外掛化,連 Model Adapter、Tool Registry、Session Log,甚至 Agent Loop 等核心元件也都可插拔。換言之,Harness 自身就是由外掛拼合而成,不再有核心與外掛的嚴格區分。
這一設計的目標是實現 Self-Evolving Agent Harness——Harness 不只是呼叫固定能力,而是能在執行過程中生成、替換自己的元件。Agent 甚至可以檢查、掛載和修改自己的 Runtime。為此,DeepSeek 與北京大學研究者聯合發表論文《A Programming Paradigm for Spatiotemporal Composability》,並提出名為 Cordis 的動態元件框架。Cordis 此前長期運行於高度外掛化的開源聊天機器人框架 Koishi 中,最初解決的是外掛解除安裝後的副作用清理問題。
Cordis 核心解決兩大問題:時間可組合性與空間可組合性。時間可組合性指元件解除安裝後,其副作用能否完整撤銷;空間可組合性則處理元件間的依賴關係——當提供能力的元件出現、消失或被替換時,Runtime 如何協調相關元件的生命週期。
在實現上,Cordis 引入了 Revertible Effects(可撤銷副作用)與 Reactive Coeffects(響應式協同依賴)。前者要求所有對 Context 的修改都通過 ctx.effect 進行,並留下對應的“撤銷方法”,解除安裝時按相反順序執行;後者則讓元件提前宣告依賴,當 Context 變化時,Runtime 重新判斷依賴是否成立,並分為 activating、deactivating、neutral 三種狀態處理。此外,Cordis 還提出 Confluence(合流性) 概念:只要可組合條件成立,不同載入路徑最終得到的系統狀態等價,從而確保 Agent 可以不斷試錯而不汙染 Runtime。
不過,外掛化也帶來爭議。首先是成本:DSH 雖開源,但執行仍依賴模型 API。自 8 月 17 日起,DeepSeek 將全面上調 V4 API 價格,以預設的 V4 Flash 為例,空閒時段快取未命中輸入上漲 50%、輸出上漲 125%,高峰時段分別漲至原來的 3 倍和 4.5 倍;V4 Pro 快取命中價格在高峰期甚至達到原來的 12 倍。對 Harness 這類需要多輪上下文呼叫的 Agent 而言,成本壓力將被顯著放大。
其次是元件膨脹問題。有網友質疑,DSH 將一些本可直接通過指令碼修改的能力也統一包裝進 Plugin 體系,可能增加不必要的抽象成本。Cordis 論文也承認,當元件細化且互動頻繁時,為保持獨立性而引入的 integration component 可能呈 O(n²) 級增長,導致配置、依賴及維護成本上升。
因此,DSH 能否真正成功,不僅取決於 Agent 能否修改自己的 Harness,更在於這種修改能否持續提升任務表現。若改錯後無法完整恢復、長期執行產生狀態殘留,或自修改的複雜度與成本超過收益,那麼它仍只是一套有想象力的架構實驗,而非成熟的自進化方案。