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渲染器 └── ...
四大子系统:
- 01Agent Loop:上下文组装→模型响应解析→工具调用分发
- 02Tools:读、写、搜索代码,执行命令
- 03TUI:全屏鼠标交互、计划审批、内联diff查看器
- 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 Build | Claude Code | OpenAI Codex | OpenCode | |
|---|---|---|---|---|
| 源码 | Apache 2.0(只读) | 闭源 | 闭源 | 开源(社区PR) |
| 主模型 | Grok 4.5 | Claude 4 | GPT家族 | 75+提供商 |
| 语言 | Rust(~844K LOC) | — | Rust(~951K LOC) | TypeScript |
| TUI | 全屏鼠标 | 终端 | 终端 | 终端+桌面 |
| 外部贡献 | ❌ | ❌ | ❌ | ✅ |
| 本地推理 | config.toml | Ollama等 | --oss模式 | Ollama/LM Studio |
Musk承认xAI编程能力落后,Grok Build更像一次"补课式入场"——功能架构快速追平对手,用Plan Mode和Arena Mode差异化。
● ● ●
总结
Grok Build是高质量的工程产物,但不是真诚的开源项目。
它的代码值得阅读——尤其是终端Mermaid渲染器和工具兼容层的设计。如果Grok V9-Medium兑现承诺,Cursor数据飞轮起效,它会成为一个不能忽视的竞争者。
但在那之前,它是一个844,530行的危机公关。