# grok Build vs Claude Code · 两个编码 Agent 对照

> 你在本站另一本手册里熟悉了 Claude Code。这一章把它和 grok Build 摆在一起比：能力谱几乎重合，架构各有取舍，而 grok 有意兼容 Claude 生态——读 grok 的源码，某种意义上也在照见 Claude Code 的内部。

- 作者：David（道雾轩）
- 专栏：Grok Build 源码解读（https://daiw.org/manual/grok-build.md）
- 最后更新：2026-09-15
- 原文：https://daiw.org/manual/grok-build/grok-vs-claude-code
- 转载与引用：请注明出处并附原文链接（https://daiw.org/about/copyright）

# grok Build vs Claude Code · 两个编码 Agent 对照

你在本站的 [《Claude Code 中文手册》](https://daiw.org/manual/claude-code) 里已经熟悉了一个闭源编码 agent 的**用法**。这一章把它和 grok Build 摆一起——这也是这本「源码解读」独特的位置：**读 grok 的开源实现，某种意义上照见了 Claude Code 大概怎么工作**。

## 能力谱：几乎重合

两者的能力谱高度重合——这不奇怪，它们在解同一个问题：

| 能力 | Claude Code | grok Build |
| --- | --- | --- |
| Skills / Agents / Hooks / MCP / Plugins | ✅ | ✅([Part 4](https://daiw.org/manual/grok-build/skills)) |
| 权限模式 / plan mode | ✅ | ✅([plan](https://daiw.org/manual/grok-build/plan-mode)) |
| Subagents / 后台任务 / loop | ✅ | ✅([后台](https://daiw.org/manual/grok-build/background-tasks)) |
| 上下文压缩 / 会话 resume/fork | ✅ | ✅([压缩](https://daiw.org/manual/grok-build/compaction)) |
| headless / 自定义模型 | ✅ | ✅([headless](https://daiw.org/manual/grok-build/headless)) |

## grok 多出来的

grok 有几样在 Claude Code 手册里没那么突出的：

- **OS 级沙箱**(Landlock/Seatbelt/seccomp，[沙箱章](https://daiw.org/manual/grok-build/sandbox-permissions))——把 agent 关进内核笼子；
- **三种编辑格式**([编辑章](https://daiw.org/manual/grok-build/edit-formats))——search/replace、concise、hashline 锚点；
- **代码库图谱**([图谱章](https://daiw.org/manual/grok-build/codebase-graph-use))——但服务的是 grok-web 编辑器，不是模型；
- **并行 worktree**([worktree 章](https://daiw.org/manual/grok-build/fast-worktree))——subagent 真在隔离文件副本里跑；
- **ACP 编辑器后端**([ACP 章](https://daiw.org/manual/grok-build/acp))——当 Zed/Neovim 的大脑。

## 最有意思的：grok 有意兼容 Claude

这是全书我觉得最耐人寻味的发现：**grok 处处兼容 Claude 生态**——

- 读 `CLAUDE.md`、`.claude/`、`.cursor/rules`([AGENTS.md 章](https://daiw.org/manual/grok-build/agents-md));
- `${CLAUDE_PLUGIN_ROOT}`、`.claude-plugin/plugin.json`([插件章](https://daiw.org/manual/grok-build/plugins-manifest));
- 一张 `claude_alias.rs` 把 Claude 的工具名(`Read`/`Bash`/`Edit`)映射到 grok([互通章](https://daiw.org/manual/grok-build/agent-interop));
- hook matcher 认 Claude 的 `^Bash$` 并匹配到 grok 的 `run_terminal_command`([hooks 章](https://daiw.org/manual/grok-build/hooks))；
- 连会话和输出都对齐：`/resume` 能列出并接手 Claude Code(以及 Codex、Cursor)的近期会话([sessions 章](https://daiw.org/manual/grok-build/sessions))，headless 新增的 `streaming-messages-json` 按 Messages API 的 `stream-json` 线格式输出([headless 章](https://daiw.org/manual/grok-build/headless))。

<Callout type="info">
  这种兼容不只是「抄作业」，更是**降低迁移成本**的产品决策：让 Claude Code 用户零成本切过来。而对**读者**的价值在于：Claude Code 是闭源的，你只能读它的文档；grok 既开源、又刻意对齐 Claude 的约定——所以**读 grok 的源码，能反过来印证「Claude Code 大概也是这么实现的」**。两本手册对照读，一个给你「怎么用」，一个给你「大概怎么实现」。
</Callout>

## 架构取舍

- **语言**：grok 是 Rust——于是到处 actor、`Arc`/`AtomicBool`、零成本抽象；这也是它敢做 OS 沙箱、PTY、内核级崩溃处理的底气。
- **克制**：grok 有意**不**做的也值得记——没有独立的 computer-use/浏览器工具([web 章](https://daiw.org/manual/grok-build/web-tools))；代码库图谱不喂模型。知道一个系统的边界，和知道它的能力同样重要。

## 和《从 LLM 到 Coding Agent》对照

如果说 llm-to-agent 是「第一性原理」、这本是「grok 的生产答卷」，那 Claude Code 手册就是「另一份产品答卷的用户视角」。三者合看：**概念 → 一种生产实现的源码 → 另一种生产实现的用法**——你对「编码 agent 到底是什么」的理解，就立体了。最后一章，聊聊读完之后往哪走。

---

上一篇：[全表复盘](https://daiw.org/manual/grok-build/recap-comparison) · 下一篇：[读完之后](https://daiw.org/manual/grok-build/whats-next)
