全表复盘 · 教学最小实现 vs grok 生产实现

读完全书,回到起点那张对照表,逐概念填上「grok 到底怎么做的」,把《从 LLM 到 Coding Agent》的每个教学点和 grok 的生产实现并排放。这一章是整本书的索引与提炼。

作者 David更新于 第 58 篇(共 60 篇)

全表复盘 · 教学最小实现 vs grok 生产实现

到这里,grok 的主干我们拆得差不多了(按根 Cargo.toml 的 members 里 crates/ 下的条目计,现有 96 个 crate,写作时是 74 个)。这一章回到 Part 0 那张对照表,逐概念填上「grok 到底怎么做」,把教学最小实现和生产实现并排放——这是整本书的提炼。

逐概念对照

概念《从 LLM 到 Coding Agent》grok 的生产实现(增量)
主循环一个 while 问模型shell SessionActor;裹自动压缩/TodoGate/打断/鉴权重试(主循环)
调模型一次 await三层采样器 actor + 三种 API 流统一 + doom-loop(采样器)
流式for await chunkSSE 韧性 + 错误保真跨层 + 两套重试预算(流式事件)
会话历史一个数组actor + 写时修复 + 惰性剪枝 + 双文件持久化(chat-state)
上下文压缩摘要一下九段式全量替换 + 输入梯子防死锁 + 两遍预压(压缩)
工具一个函数 + 手写 schema双 trait + schema 自动生成 + 流式 + 一套契约跨进程(工具契约)
编辑文件write(path, content)三种编辑格式 + hunk 行级防覆盖(编辑、hunk)
跑命令exec流式 + PTY + 进程树 kill + OS 沙箱(shell、沙箱)
权限一个 y/n分层判定瀑布 + 沙箱自动放行(workspace)
打断一个取消信号协作打断 + 硬取消 + doom-loop 三套(打断)
MCP / hooks / subagent加进数组 / 回调 / 开窗口三传输 + 单飞握手 / 阻塞判定 + SSRF / 能力硬裁 + worktree 隔离(Part 4)
换模型改个端点分层 catalog + 四级凭据 + URL-agnostic 采样器(自定义模型)

一句话的规律

看完这张表,规律很清楚:教学最小实现回答「为什么要这样、最简怎么做」,生产实现回答「真做成产品会长什么样」。而「长成产品」这件事,反复撞上同一批现实:

  • 并发:于是到处是 actor(采样器、chat-state、hunk-tracker、权限、调度器……);
  • 不可信输入:模型会写错参数、markdown 会夹带转义、命令会跑飞——于是校验、脱敏、沙箱、doom-loop;
  • 烂网络/受限环境:于是重试分类、连接池自愈、gix 线程预算、fail-closed;
  • 多形态/多后端:于是「一套契约、多种传输」(工具协议、ACP、采样器);
  • 要长期跑:于是熔断、崩溃处理、原子自更新。

grok 独有的那半

对照表是「两本都讲」的交集。grok 作为成品还有一大块教学实现不碰的:终端 UI 深潜(xai-grok-pager 与 -render 的 src/*.rs 合计 50 万行级,剔除 #[cfg(test)] 块和测试文件后约 26 万行)、代码库图谱(而且不喂模型)、并行 worktree、与别家 agent 互通、Rust 工程底座。这些正是「一个 agent 从能跑到有人每天用」之间的距离。

怎么用这本书

  • 想深挖某个概念:查上表,跳到 grok 对应章,再点回 llm-to-agent 对照「最小版」。
  • 想写自己的 agent:grok 是一份高质量参考答案,但别照搬——先想清你的规模需不需要这么重。

下一章把 grok 和你熟悉的 Claude Code 摆一起比。


上一篇:Rust 工程底座 · 下一篇:grok Build vs Claude Code

本页目录