Grok Build 开源:coding agent 的 harness 骨架拆解
先说结论
- Grok Build 这次开源的不是模型权重,而是 coding agent 和 TUI 的“harness”——也就是外壳、编排层和交互层。官方一手公告把范围说得非常清楚。
- 源码公开后,最值得读的四个模块是:agent loop、工具层、终端 UI、扩展系统。它们分别对应“怎么想、怎么动手、怎么和人协作、怎么接外部能力”。
- 官方明确支持本地优先:自己编译、指向本地推理、用
config.toml驱动。这意味着评估和二次开发的门槛被明显降低。 - 我的判断是:这份源码的价值不在单点 prompt 或单点工具,而在“上下文组装 → 模型响应解析 → 工具调用分发”这条主线。harness 今年之所以值钱,是因为它在工程上决定了 agent 能不能稳定跑完长任务。
- 本次写作没有引入 GitHub 仓库地址和许可证,也没有做 Claude Code / Codex CLI 的架构平行对比;这些内容放到“这次没核实的”一节,不编、不猜。
官方开源公告讲了一个怎样的骨架
官方公告见 Grok Build is Now Open Source。它没有把开源包装成“我们把所有秘密都交出来了”,而是用非常工程化的措辞解释了为什么要开源:发布代码,是为了让 harness 变得更稳健、更可靠。这个表态本身就是一手信息,说明官方很清楚编码 agent 的价值重心在哪里。
公告列出的源码范围可以归纳成四块,这也是我拆解这份开源的主线。
Agent loop:理解 harness 的入口
官方原话覆盖了三个关键动作:context assembly、model response parsing、tool call dispatch。翻译成工程语言,就是从用户请求开始,怎么拼装上下文,怎么解析模型返回,怎么决定下一步调用哪个工具,以及工具结果回来之后怎么继续拼上下文。
这三点连起来,就是编码 agent 的核心控制流。很多团队在模型能力上反复比较 benchmark,却容易忽略:真正影响长任务稳定性的,不是模型偶尔答得好不好,而是这条 loop 能不能在几轮、几十轮工具调用之后仍然保持上下文不塌、不重复执行、不错误回滚。
工具层:agent 的手脚
Grok Build 的工具层覆盖了读代码、改代码、搜代码和跑命令。官方公告没有展开每个工具的细节,但把它和“agent loop”分开列,就说明工具不是普通函数库,而是被 loop 显式调度、结果被结构化回传的一层。
我自己判断,读这套源码时,工具层最值得看的是两点:一是命令执行边界,也就是哪些命令可以直接跑,哪些需要批准或沙箱;二是工具输出如何被裁剪、摘要或结构化,再送回模型。这两点直接决定了 agent 会不会把终端输出爆掉,或者把错误信息硬塞回上下文导致越跑越偏。
终端 UI:不是外壳,是人机协作的一等公民
TUI 部分包括渲染、输入处理、plan review 和 inline diff viewer。对长期用终端工作的人来说,这四块很有共情。渲染和输入处理是基础体验,但 plan review 和 inline diff viewer 直接关系到“人类在终端里能不能安全地批准、审阅和回退”。
尤其是 inline diff viewer,很多 CLI agent 工具都能自动改文件,但差异在于人能否在终端里快速看懂它改了什么,能否一行行拒绝或接受。这个体验一旦做不好,用户就会倾向于“改完再看 Git”,信任感会下降。
扩展系统:技能、插件、钩子、MCP 和子代理
公告把 skills、plugins、hooks、MCP servers、subagents 全部列进扩展系统。这不是把热门词堆在一起,而是不同集成深度的插槽。hook 更偏向生命周期拦截,MCP server 更偏向外部工具协议,subagent 更偏向独立任务的代理。它们装载时机和调用顺序不同,官方说“source is the definitive reference for how each is loaded and invoked”,意思是源码本身就是这些扩展机制的权威参考。
这给开发者一个直接价值:与其读第三方二手教程,不如直接看源码里它们如何被加载、如何被触发。这也是我判断中最值得做的笔记。
为什么我说 harness 是今年最值钱的工程资产
先做个标注:官方公告没有直接说“harness 是最值钱的工程资产”,这是我基于行业观察和这份公告的范围做出的判断,属于“自己推算/观点”,不是官方数据。
原因不复杂,但常被模型热度遮蔽。模型能力可以通过 API 获取,权重也可以授权或开放;但 harness 是模型能力真正变成产品行为的转换层。它决定了:
- 上下文怎么组装,哪些历史信息保留,哪些摘要压缩;
- 工具调用怎么分发,失败后怎么重试,重试几次;
- 权限边界在哪里,哪些操作可以被自动执行,哪些必须人类批准;
- 长任务里,agent 如何在“计划—执行—观察—再计划”之间保持目标一致。
这些工程细节做不好,模型再强也容易在一个长任务里跑飞。Grok Build 把这一层开源,等于是把 coding agent 的骨架公开,让人可以直接对照实现。对做 agent 框架、做企业集成、或者做本地化部署的团队来说,这比开源一组 benchmark 要有用得多。
另一方面,公告里 “compile it yourself, point it at your own local inference, and drive everything from your config.toml” 是官方给出的本地优先路线。这不是我补的解释,而是官方原话。它的意义是:开发者可以不依赖官方云端推理,就能把整套 harness 跑起来看行为。这也是为什么这份开源比单纯发布一个产品更新更重要。
一个可直接读的对照清单
下面这个表是我根据官方公告整理出来的阅读清单,信息来自一手来源,但表格格式和“建议先看的问题”是我自己的拆解。
模块 官方公告中的功能点(官方数据) 建议先看的问题
agent loop context assembly, model response parsing, 一次用户请求如何变成首个 tool call
tool call dispatch
tools read, edit, search code, run commands 命令执行边界和输出如何回传
terminal UI rendering, input handling, plan review, plan review 与 inline diff 的交互节点
inline diff viewer
extension skills, plugins, hooks, MCP servers, 各类扩展的装载时机与调用顺序
system subagents
这个表不是说要按顺序读完,而是建议沿着主线先走一遍:请求 → 上下文 → 模型输出 → 工具执行 → 工具结果回填 → 再请求。这样读比逐文件硬啃更划算。官方也确认,源码是理解 context assembly 到 tool-call dispatch 的最直接方式。路径很清楚。
如果我要做二次开发,会先做这三步
这一步是我给自己的阅读建议,也是给读者参考的清单,不是官方教程。
-
先在本地把最小闭环跑起来。 官方公告说可以自己编译、指向本地推理、用
config.toml驱动。我会把config.toml当作“配置文件型文档”来读,先搞清楚哪些能力可以关掉、哪些模型可以替换、哪些命令需要显式授权。这一步能把源码从“看得懂”变成“跑得动”。相关入口可以参考 Grok Build 的产品页 Grok Build 官方页面,但配置细节仍需以仓库源码为准。 -
抓一条只读工具的完整链路。 比如代码搜索或者读取文件,跟踪它从用户输入到第一个工具调用、再到结果回填的完整过程。只读工具风险低,但足够完整,能暴露上下文装配方式。这样比一上来就看复杂编辑工具更容易找到主线。
-
把 TUI 的 plan review 和 inline diff viewer 单独拉出来看。 相比 agent loop 的自动化部分,这两个点直接决定人是否愿意在终端里和 agent 协作。如果插件或子代理有自己的输出方式,也可以顺便看它们如何接入 TUI,这会比单纯看扩展注册更有意思。
需要提醒一句:官方开发者文档入口是 x.ai Documentation,它更偏向 API 文档,而不是这份开源 harness 的源码文档。两者不能互相替代。真正要读扩展系统的加载和调用,还是得回到 GitHub 仓库。
这次没核实的
- GitHub 仓库的具体地址和许可证。官方公告页面只写了“View on GitHub”,但在我拿到的官方新闻文本里没有展开成可复制的完整仓库 URL。因此本文只引用公告页,不替代仓库地址。
config.toml的具体键名、默认值、本地推理接入方式。官方公告提到了这个文件名,但没有公布配置项细节;我未读到仓库源码,未能核实。- Claude Code / Codex CLI 的架构公开资料对比。工单要求对比这类同类工具,但本次没有引入它们的一手官方仓库或架构文档,所以不做平行对比,以免变成二手转述。
- 官方公告首页抓取文本的日期存在不一致:一处显示为 2026-07-15,一处工单信息写为 2026-09-18。为避免误导,本文不把日期作为关键论点,正式引用时请以 x.ai 新闻页实际发布时间为准。
- Grok 产品页 Grok 主要描述面向用户的 Grok 助手,与 Grok Build 的 harness 源码不是同一层;本文仅把它作为产品线背景引用,不把它当开源技术细节来源。
参考来源
- Grok Build is Now Open Source(一手来源,官方开源公告)
- Grok 产品页(官方页面,用于确认 Grok Build 在产品线中的位置)
- Grok Build 官方页面(官方产品入口)
- x.ai Documentation(官方开发者文档入口)
评论区
登录后可评论。