专题篇章 · 拆开一只生产级 Coding Agent

Grok Build 与 Claude Code 证据化对照

按源码、仓库文档和公开产品行为完成多维比较,保留未知项

本页解决的问题

先给结论

「Grok Build 与 Claude Code 证据化对照」要解决的关键问题是什么?

按源码、仓库文档和公开产品行为完成多维比较,保留未知项

判断标准

让这个结论先证明自己值得留下。 把这一页当成决策工具,而不是需要背下来的定义。把概念连到一个真实任务、一个可观察结果,以及一个能改变你判断的失败上。

下一步

写下一个问题:试完这个方法后,你能用什么证据回答它?

常见误区

结论听起来很完整,却没有检查最关键的假设。

Grok Build Source Course · 12 / 22

完整对照:先校准证据,再谈取舍

Grok Build 一侧可以下钻源码,Claude Code 一侧只记录官方公开行为。两列证据分辨率不同,因此空白项保留空白,不用推测补齐。

本篇 24 节Source vs Public DocsEvidence LevelNo Internal Guessing
01 / OBJECTIVES

课程目标

建立证据等级

区分源码、仓库文档、官方公开文档与本地快照观察。

完成多维对照

从运行时、工具、上下文、安全、恢复与生态比较公开能力。

输出选型条件

把「谁更好」改写为约束、团队能力与交付场景的匹配。

S · Grok 源码R · Grok README / 指南P · Claude 官方公开文档I · 本地快照观察
02 / CORE VISUAL

同一问题,两种证据视角

03 / MATRIX

完整证据化对照

维度Grok BuildClaude Code 公开行为
实现与分发Rust Cargo workspace,功能拆成多个 crate;README 给出源码构建入口。
R1 · S1
官方提供终端 CLI、IDE、Desktop 与 Web 使用入口。内部语言与模块边界不在本课结论范围。
P1
状态与并发SessionActor 持有会话历史和工具上下文,运行在 Tokio LocalSet;后台任务可独立回传消息。
S2
公开文档描述会话、后台任务、subagent 与 agent teams 的用户行为;不据此推断内部并发模型。
P5
工具合约ToolKind 枚举进入 capability 过滤,新增 variant 有编译期同步断言;MCP 工具映射为 Other
S3
公开权限规则按 Read、Edit、Write、Bash、WebFetch、MCP 等工具名和参数模式控制 allow、ask、deny。
P6
工具发现内建工具直接注册;MCP 元数据进入快照和 BM25 索引,通过 search_tool / use_tool 延迟发现。
S4
官方文档说明 Tool Search 可按需加载 MCP 工具,支持延迟连接等待与失败信息反馈。
P3
上下文压缩源码包含 compaction 配置、分段、two-pass、full-replace 与 recap 辅助路径,可测试自动压缩与恢复。
S5
官方行为包括自动压缩、/compact 与 compact instructions;本课不描述其内部算法。
P4
长期记忆xai-grok-memory 实现 SQLite 存储、FTS、embedding、MMR 与 Dream 整理流程,并由 session memory state 集成。
S6
公开机制包含分层 CLAUDE.md 指令与 auto memory,作用域和加载规则由官方文档说明。
P4
Hooks源码枚举 15 个事件;PreToolUse 可阻断。明确 deny 阻断,Hook 崩溃、超时与失败输出走 fail-open。配置使用 JSON。
S7 · R2
官方 Hooks reference 公开多类事件、matcher、if 条件及 command、HTTP、MCP tool、prompt、agent 处理器;PreToolUse 可返回拒绝。
P2
MCP源码确认客户端角色,支持 stdio 与 Streamable HTTP、OAuth、server__tool、动态能力刷新、状态合并与重启。未确认通用 MCP Server 入口。
S8 · R3
官方文档公开远程 HTTP、本地 stdio、WebSocket、OAuth、动态 list_changed、Tool Search 与连接管理。
P3
权限与沙箱ToolKind capability 过滤、权限提示与平台沙箱代码共同组成多层控制;Hook 失败策略不承担强制安全保证。
S3 · S7
官方公开 allow、ask、deny 规则、managed settings、sandboxed Bash 与文件系统、网络隔离配置。
P6
Subagent源码包含 fork、任务、工作树池与 completed subagent worktree snapshot 配置,可将分支任务放入隔离工作树。
S9
官方 subagents 具有独立上下文、工具与权限,可前台或后台运行,也可按配置使用 worktree isolation。
P5
插件生态Marketplace 支持索引与目录回退,安装 registry 保存来源;运行时按 scope、enabled 与 plugin-root trust 控制组件。
S10 · R4
官方插件与 marketplace 文档公开 skills、agents、hooks、MCP servers、LSP servers 和安装作用域。
P7
恢复与可观测源码包含会话持久化、MCP 状态通知、50 ms 事件合并、重启退避、telemetry enums 与结构化事件。
S11
官方可见行为包含 session resume、verbose / debug、Hooks 状态、MCP 面板与权限诊断;内部持久化拓扑不作推断。
P1 · P3
源码与治理仓库快照公开源码;README 说明定期从 monorepo 同步,根 Cargo.toml 由生成流程产出,外部贡献不接收。
R1 · R5
本列依据官方公开产品文档,不将不可见内部实现作为比较事实。
P1
04 / SOURCE

两段 Grok 源码锚点

CONCURRENCY ANCHOR

SessionActor 的状态所有权

/// An actor representing an ACP session
/// with its own chat history and tool context.
pub struct SessionActor {
    pub(super) agent: RefCell<Agent<ThreadedMvpAgent>>,
    ...
}
crates/codegen/xai-grok-shell/src/session/acp_session.rs
CAPABILITY ANCHOR

新增 ToolKind 强制分流

const _: () = assert!(
    ALL_TOOL_KINDS.len() == ToolKind::VARIANT_COUNT,
    "ALL_TOOL_KINDS is out of sync"
);

这类断言将「新增工具后补权限决策」变成编译期约束。

crates/codegen/xai-grok-workspace/src/capability.rs
05 / SELECTION

从对照表走向选型

偏向源码可审计
  • 团队愿意阅读 Rust 与多 crate 边界
  • 需要追踪故障、状态和本地数据落点
  • 能接受公开仓库与实际产品可能存在同步边界
偏向公开产品工作流
  • 团队主要按官方能力和配置完成集成
  • 重视终端、IDE、Desktop、Web 的一致工作入口
  • 内部实现不可见不影响采购与治理要求

这两组条件可以同时出现。实际方案也可以按项目、数据等级或团队角色组合使用。

06 / LAB

课堂练习:证据化选型备忘录

40 MIN

提交物
两页选型 Memo

  1. 从表中选择六个维度,分别抄录一个 Grok 源码证据和一个 Claude 官方行为证据。
  2. 标注证据等级,并将所有「更强、更先进、更安全」改为可验证条件。
  3. 定义项目约束:数据等级、可执行权限、团队栈、恢复目标、扩展需求。
  4. 给出主方案、备选方案与触发切换的阈值。
  5. 列出三项未知信息,说明如何通过 PoC 补齐,禁止用架构猜测填空。
07 / REFERENCES

证据索引

GROK BUILD
  1. R1/R5 README.md、CONTRIBUTING.md、根 Cargo 说明
  2. S2 acp_session.rs、summary.rs
  3. S3/S4 capability.rs、tool_index.rs
  4. S5/S6 compaction 目录、xai-grok-memory
  5. S7/S8 xai-grok-hooks、xai-grok-mcp、mcp_dispatcher.rs
  6. S9/S10/S11 fork/worktree、plugins、persistence/telemetry
Takeaway

本篇 24 节最终要留下的能力,是把实现事实、产品行为、推断和未知项分开。证据等级清楚之后,架构取舍才有可复核的基础。

源码快照说明:Grok 一侧依据本地 grok-build-main 快照;Claude 一侧依据 2026 年 7 月可访问的官方公开文档,仅陈述用户可见行为。源码片段经过教学截取。表格中的空白边界是刻意保留的未知项。

「完整对照: 先校准证据,再谈取舍」为什么能找到相关内容

「Grok Build 一侧可以下钻源码,Claude Code 一侧只记录官方公开行为。两列证据分辨率不同,因此空白项保留空白,不用推测补齐」把检索问题从“把资料存起来”推进到“怎样找到真正相关的资料”。这一步决定了 RAG、推荐和以图搜图最后交给模型的输入质量。

相似度不是答案,召回之后还要核对

在「这两组条件可以同时出现。实际方案也可以按项目、数据等级或团队角色组合使用」对应的流程里,Embedding 负责把对象放到可比较的语义空间,近邻索引负责减少搜索范围,最终的回答仍然依赖召回片段是否覆盖问题、距离指标是否合适,以及内容有没有过期。

  • 团队愿意阅读 Rust 与多 crate 边界
  • 重视终端、IDE、Desktop、Web 的一致工作入口
  • 从表中选择六个维度,分别抄录一个 Grok 源码证据和一个 Claude 官方行为证据

先区分找得到和找得准

把「源码快照说明: Grok 一侧依据本地 grok-build-main 快照;Claude 一侧依据 2026 年 7 月可访问的官方公开文档,仅陈述用户可见行为。源码片段经过教学截取。表格中的空白边界是刻意保留的未知项」落成一次小测试:准备几条有明确答案的查询,记录召回的相关性、遗漏和无关结果,再决定是否需要换切分方式、索引或重排。

从「完整对照: 先校准证据,再谈取舍」走到「建立证据等级」

「完整对照: 先校准证据,再谈取舍」先把问题落在「Grok Build 一侧可以下钻源码,Claude Code 一侧只记录官方公开行为。两列证据分辨率不同,因此空白项保留空白,不用推测补齐」上;到了「建立证据等级」,讨论继续推进到「区分源码、仓库文档、官方公开文档与本地快照观察」。两段连起来,重点就不只是记住一个结论,而是看清它成立所依赖的条件。

把这条判断带到下一个场景

检索系统也可以这样看:先确定什么算相关,再观察召回是否覆盖问题,最后检查排序、切分和时效性有没有把真正有用的内容挤出去。

  • 「完整对照: 先校准证据,再谈取舍」:Grok Build 一侧可以下钻源码,Claude Code 一侧只记录官方公开行为。两列证据分辨率不同,因此空白项保留空白,不用推测补齐
  • 「建立证据等级」:区分源码、仓库文档、官方公开文档与本地快照观察
  • 「最后的要点」:定义项目约束:数据等级、可执行权限、团队栈、恢复目标、扩展需求

最后的「最后的要点」把讨论落到「定义项目约束:数据等级、可执行权限、团队栈、恢复目标、扩展需求」。回看这条线索时,最值得保留的是:当输入、规模或风险改变,哪些判断需要重新做一遍。

标记为已学完 阅读进度会自动记录
← 上一篇下一篇 →

继续阅读

同一条线上的下一篇。

文章讨论

读到这里,留下一个判断。

把刚想明白的地方、还没想通的问题,留给下一位一起学习的人。

正在讨论 Grok Build 与 Claude Code 证据化对照 拆开一只生产级 Coding Agent
3条讨论文章讨论 · 与共学社区同步
在共学社区查看
AM
Asha Morgan内容编辑
观点实践记录

我把这篇文章里的一个判断改写成了今天可以验证的小实验。比记住结论更有用的是,知道下一步要观察什么。

文章讨论7 有帮助
LH
Lin Harper独立开发者
观点观点

读完以后我先回头找它成立的条件,而不是直接把方法搬进项目。这个顺序让后面的取舍清楚很多。

文章讨论5 有帮助
KM
Kiki Moore产品运营
问题问题

如果把这个判断放到真实工作里,最先需要补的约束是什么?我想知道从阅读到第一次实践之间,哪一步最值得先做。

文章讨论4 有帮助