Grok Build

Grok Build 開源:Coding Agent 最值得讀的是 Harness,不是 UI

xAI 把 Grok Build 的完整 harness 開源:agent loop、工具、terminal UI 與擴充系統四大塊一次公開。本文整理開源範圍、「原始碼才是 definitive reference」的論點,以及 local-first 設定對 builder 的意義。

Grok Build 開源:Coding Agent 最值得讀的是 Harness,不是 UI — 文章封面

Coding agent 的模型可以替換,但決定它實際表現的是 harness:context 怎麼組裝、模型回應怎麼解析、tool call 怎麼派發、失敗怎麼處理。7 月 15 日,xAI 宣布 Grok Build 開源,把這個 coding agent 與 TUI 的完整原始碼放上 GitHub。這不是「核心閉源、只開週邊」的那種開源——公告明言,公開範圍涵蓋從 context assembly 到 tool-call dispatch 的完整機制。

開源了什麼:四大塊接成完整的 agent loop

整個 codebase 可以拆成四塊讀。第一塊是 agent loop 本身:context 如何組裝、模型回應如何被解析、tool call 如何被派發——這是 harness 的心臟,也是「同一顆模型換了 harness 表現就變」的原因。第二塊是工具組:讀取、編輯、搜尋程式碼,以及執行 commands,每個工具的輸入輸出契約都在源碼裡。第三塊是 terminal UI:rendering、input handling、plan review 與 inline diff viewer,讓人類審視 agent 的計畫與變更。第四塊是 extension system:skills、plugins、hooks、MCP servers、subagents 如何載入與呼叫。

四塊接起來正好是一個 agent 的完整剖面,這也是這次開源少見的地方:多數同類產品要嘛閉源,要嘛只開 SDK 層。對照著讀還能看出分工:loop 決定同一顆模型為什麼在不同 harness 下表現不同;tools 定義 agent 真正的攻擊面,讀寫檔案與執行命令都是高權限操作;TUI 是人類判斷進入流程的位置,plan review 與 inline diff 都是攔截點;extension system 則決定生態的邊界在哪裡。

為什麼開源:可靠的 harness 從源碼長出來

官方給的理由值得原樣引述:開源是打造 robust and reliable harness 的最直接途徑。這句話背後有兩層含義。其一,harness 的可靠性不是文件能保證的——文件可以描述 extension 的格式,但載入優先順序、錯誤處理路徑、權限邊界這些真正決定行為的細節,只存在於源碼裡。其二,官方直接把原始碼定位成 definitive reference:對擴充生態(skills、plugins、hooks、MCP servers、subagents 五種機制)而言,源碼是唯一權威的參考,任何文件過時或語意含糊之處,以源碼為準。這對維護者也是雙向承諾:當公告沒載明 license 條款與版本號,或文件跟不上變動時,讀者至少還有源碼可以對質。

對採用者的實際意義是審計能力:某個 hook 能不能改 prompt、MCP tool 拿到哪些 context、subagent 繼承哪些設定,這些問題現在可以直接翻程式碼回答,而不必依賴行為側寫或客服說法。

Local-first:自行編譯、本地推論、config.toml

公告的另一個重點是 fully local-first 的路徑:使用者可以自行 compile、把 agent 指向本地 inference,並由一個 config.toml 驅動全部設定。這對隱私敏感或成本敏感的場景是分水嶺,資料可以完全不出機器,也不用為雲端服務的額度付費。config.toml 驅動全部設定還有第三層意義:設定有單一真相來源,agent 的行為可重現、可版本控制,團隊之間可以交換整份設定檔,而不是靠口頭描述還原環境。

但 local-first 不等於自動安全,這條界線要自己畫:本地執行的 agent 仍然可能讀錯目錄、執行危險命令或外洩環境變數。開源給了你審查這些行為的能力,但審查本身仍是你的事:sandbox 隔離、命令允許清單、secrets 管理,這些在部署前都該逐一確認,哪一項沒做,哪一項就是事故報告的第一段。

誰應該讀這個 codebase

三種人收穫最大。想學 agent loop 設計的人,讀第一塊:context 組裝與 tool dispatch 的取捨是最難從文件學到的部分。想寫 extension 的人,讀第四塊:五種擴充機制的載入與呼叫方式,公告稱源碼即 definitive reference。想做 local-first 工作站的人,讀設定路徑:自行編譯加本地推論的組合,是雲端依賴之外的完整替代方案。

兩個務實提醒:公告並未載明 license 條款與版本號,要在正式依賴前自行確認授權;而與其 fork 整個 repo 維護一套分支,把它當 harness 教材、對照自己的 context 組裝與工具契約,對多數團隊是更高槓桿的用法。模型每季都在換,harness 的設計模式會留下來——這份源碼的長期價值正在這裡。

參考來源

本文由 AI 協助自上述來源整理,經人工審核後發布。

分享X電郵