alitrack

844,530行Rust,3天从丑闻到开源:Grok Build到底是什么

我花了些时间搞清楚Grok Build。

不是因为要用它。是因为7月15日它开源的时候,整个开发者社区都在讨论。有人说这是马斯克的"开源诚意",有人说这只是"危机公关"。我决定自己看代码。


● ● ●

3天,从丑闻到GitHub

时间线很短,信息量很大。

7月12日,独立安全研究者cereblab发布了一份wire-level抓包分析。Grok Build v0.2.93在运行时,会把整个Git仓库——包括完整commit历史、.env文件、SSH密钥——上传到SpaceXAI控制的Google Cloud Storage。

上传量是实际编码任务需要的27,800倍。

关闭"Improve the Model"开关没用。在CLI里输入/privacy也没用。真正停止上传的,是一个服务端推送的标志:disable_codebase_upload: true——没有客户端更新,没有changelog,静默部署。

7月13日,Musk在X上承诺"彻底删除"所有已上传的用户数据。同一客户端6次重测,零上传。

7月15日,xai-org/grok-build在GitHub公开。Apache 2.0许可证。官方博文将开源定位为"提供完全用户隐私"的最后一步。

从丑闻到开源,72小时。这是我从所有前沿AI厂商中见过的最快危机响应。


● ● ●

代码确实硬核

不管动机如何,代码是真的。

Simon Willison用SLOCCount统计后说:"terminal coding agents are significantly more complex than I had realized"。844,530行Rust,和OpenAI Codex的950,933行一个量级。只有约3%是vendored第三方代码。

仓库结构很清晰:

crates/codegen/
├── xai-grok-pager-bin    # 组合根,编译为 grok 命令
├── xai-grok-pager         # 全屏TUI:回滚、提示、模态框、渲染
├── xai-grok-shell          # Agent运行时:leader/stdio/headless
├── xai-grok-agent          # Agent模板(系统提示、子代理提示)
├── xai-grok-tools          # 工具实现(终端、文件编辑、搜索…)
├── xai-grok-workspace      # 文件系统、VCS、执行、检查点
├── xai-grok-markdown       # Markdown + 终端Mermaid渲染器
└── ...

四大子系统:

  1. 01Agent Loop:上下文组装→模型响应解析→工具调用分发
  2. 02Tools:读、写、搜索代码,执行命令
  3. 03TUI:全屏鼠标交互、计划审批、内联diff查看器
  4. 04扩展系统:Skills、Plugins、Hooks、MCP Servers、Subagents

有个细节:THIRD_PARTY_NOTICES.md记录了从OpenAI Codex和OpenCode移植的工具实现——apply_patch、grep_files、bash、edit、glob等。不是抄袭,是Apache 2.0和MIT许可证下的合规移植。这个设计思路值得注意:让agent能"说懂"其他工具的方言,而不是每次都重写一套。


● ● ●

三个值得细看的设计

Plan Mode(计划模式)。 你描述需求后,Agent不直接动代码。它先输出一份结构化的执行计划,列明每一步要做什么。你审阅、修改甚至重写整个计划,批准之后它才开始动手。所有改动以diff形式呈现。

这个设计的核心价值不在"安全"——虽然确实更安全——而在"可预测"。Agent做了你同意的事,而不是做了你觉得它"应该会"做的事。

Arena Mode(竞技场模式)。 同一个需求,生成多个候选方案,并行执行,自动排序,选最优。利用Grok Build最多8个子代理并行的能力,让多个实现在后台"打擂台"。这不是"分解任务并行做",而是"同一个任务多个解法,挑最好的"。

终端Mermaid渲染器。 这是我整趟调研里最欣赏的东西。crates/codegen/xai-grok-markdown/src/mermaid.rs,5,237行Rust,零外部依赖。支持6种图表类型(graph/flowchart/stateDiagram/classDiagram/erDiagram/sequenceDiagram),用Unicode box-drawing字符在终端绘制。不支持的类型优雅降级——用框框把源码包起来展示,不报错。

它的边路由用了bus-based正交算法,不是简单的直线。跨多层级的边会被分配到专用轨道,避免重叠。CJK宽字符、Emoji都有正确的列宽计算。168KB的纯Rust代码做到这个程度,相当扎实。

这个组件已经被Simon Willison移植到了WebAssembly——侧面说明了它的自包含性有多好。


● ● ●

"开源"要打引号

宣传是"开源的编码Agent",但有几个事实需要分开看。

这不是社区项目。 Issues和PRs全部关闭,不接受外部贡献。README里写得很清楚:仓库从SpaceXAI内网monorepo定期同步,每次是一个squash commit。你看到的不是开发历史,是一个静态的快照投影。

上传代码还在源码里。 crates/codegen/xai-grok-shell/src/upload/gcs.rs里的GCS上传模块完整保留。upload/trace.rs里返回一个硬编码的session_state_upload_unavailable——代码被"中和"了,不是被删除了。真正的开关在服务端。开源证明了代码说了什么,证明不了生产环境在做什么。

模型权重不开源。 你拿到的是harness——agent loop、工具实现、TUI。默认模型Grok 4.5的权重完全闭源($2/$6 per 1M tokens,500K上下文)。这是"开源harness挂闭源模型",不是"开源AI编程工具"。

精确描述应该是:发布式源码透明(publish-only source available),附带Apache 2.0许可证。


● ● ●

真正的变量

Grok Build今天的能力不值得过度解读。但有一个变量值得持续关注。

Elon Musk在5月确认:1.5万亿参数的Grok V9-Medium已完成训练,针对Blackwell架构GPU优化,预计几周内发布。现有0.5T参数模型计划年底前开源。

更重要的是,SpaceX在4月以600亿美元收购了Cursor。Cursor的真实开发者工作流数据——写代码、调试、迭代、修复bug——正在注入Grok模型训练。

一个1.5T模型,用Cursor真实工作流训练,配上一个844K行的开源harness——这是Grok Build真正的差异化武器。Harness可以复现,但这种规模的数据飞轮不好追。


● ● ●

竞品格局

Grok Build的加入,把终端编程代理从三强变四强。

Grok BuildClaude CodeOpenAI CodexOpenCode
源码Apache 2.0(只读)闭源闭源开源(社区PR)
主模型Grok 4.5Claude 4GPT家族75+提供商
语言Rust(~844K LOC)—Rust(~951K LOC)TypeScript
TUI全屏鼠标终端终端终端+桌面
外部贡献❌❌❌✅
本地推理config.tomlOllama等--oss模式Ollama/LM Studio

Musk承认xAI编程能力落后,Grok Build更像一次"补课式入场"——功能架构快速追平对手,用Plan Mode和Arena Mode差异化。


● ● ●

总结

Grok Build是高质量的工程产物,但不是真诚的开源项目。

它的代码值得阅读——尤其是终端Mermaid渲染器和工具兼容层的设计。如果Grok V9-Medium兑现承诺,Cursor数据飞轮起效,它会成为一个不能忽视的竞争者。

但在那之前,它是一个844,530行的危机公关。