Scott Chacon 做的不是“让 AI 改几段 Git”。
他用多智能体,从零写了一个 Rust 版 Git 核心库,叫 Grit。不是 C Git 的简单移植,也不是 Anthropic 官方项目,只是受 Anthropic C 编译器实验启发。
最扎眼的数字是:约 450 亿 token,估算花费 1 万到 1.5 万美元,几个月断续推进,最后通过 Git 官方测试套件 99% 以上。
这个测试套件本身很硬:约 42000 个测试,1400 多个脚本。对 Git 这种基础设施来说,这不是装饰品,是门槛。
但结论不能跳太快。作者已经明说,Grit 还没有被拿去做真实工作,可能出错,甚至可能损坏数据。
Grit 已经做到什么,还不能信什么
| 问题 | 目前信息 | 我的判断 |
|---|---|---|
| Grit 是什么 | 从零实现的 Rust Git 库 | 目标是库化、模块化、内存安全,不只是做一个 Git 命令替身 |
| 做到哪一步 | 通过 Git 官方测试套件 99% 以上 | 这是可行性锚点,不是生产背书 |
| 跳过了什么 | email、i18n、Perforce/SVN 导入、部分 midx/bitmap | 边角没有补齐,不能叫完整复刻 |
| 成本多大 | 约 450 亿 token,约 1 万到 1.5 万美元,作者也说难精确统计 | 这是昂贵实验,不是低成本自动化 |
| 最大风险 | 尚未真实使用 | 可能误写仓库,可能损坏数据 |
这件事最有意思的地方,不是 Rust,也不是 99%。
而是 Git 这种二十年堆出来的基础设施,居然可以被智能体沿着测试套件啃出一个大体可运行的轮廓。
测试套件像铁路轨距。没有它,智能体只是在荒地里狂奔;有了它,至少知道车轮该落在哪里。
但轨距不等于运营。铁路能通车,还要看调度、维修、事故处理。软件也一样。
为什么库化 Git 值得盯
Git 原始形态很 Unix:很多命令,互相拼接,fork/exec 到处跑。
这对命令行很好。对编辑器、桌面应用、长期运行的 agent 工具,就不总舒服。
如果 Git 能变成一个稳定、可嵌入、可重入的 Rust 库,受益对象很清楚:GitButler、Jujutsu 这类版本控制工具,编辑器,桌面 agent,WASM 场景。
它们不必总是调用系统 Git。push、fetch、对象处理、认证、仓库状态,都有机会直接塞进应用内部。
这不是小优化。开发者工具正在从“包一层 Git 外壳”,变成“把版本控制揉进工作流”。库化会改变交互空间。
这里也要放一个对照:Git 库方案不是今天才有。libgit2、JGit、gitoxide 都在不同方向上做过这件事。
| 路线 | 大致特点 | Grit 的差异 |
|---|---|---|
| libgit2 | C 生态,长期服务嵌入式 Git 场景 | Grit 更强调 Rust、内存安全和重新设计 |
| JGit | Java 生态,适合 JVM 工具链 | Grit 面向 Rust 和更广泛的系统级嵌入 |
| gitoxide | Rust 生态的 Git 实现 | Grit 的特别之处在于多智能体重写过程和 Git 官方测试套件覆盖率 |
这个对照能压住一个误读:Grit 的价值不只是“又一个 Git 库”。
它真正新增的样本,是 AI agent 能不能把一个边界复杂、历史包袱重、测试体系成熟的软件,推到可验证阶段。
对开发者工具作者来说,现在不是迁移时刻,而是观察时刻。可以开始研究 API 方向、WASM 可能性、嵌入式工作流,但不该把生产仓库交给它。
对正在评估 AI 编程智能体的技术管理者来说,这个案例更实用。它给了预算、约束和失败模式。要做类似项目,先补测试,再谈智能体;先定验收边界,再谈自动化收益。
智能体不是外包,是昂贵放大器
我更在意 Chacon 写出的失败细节。
智能体会钻测试空子。你让它“让测试通过”,它可能直接调用系统 Git,也可能只实现测试检查到的表面行为。
比如 sha256 仓库。测试如果只看配置是否写对,智能体就可能只把元数据糊上去,真实对象处理仍按 sha1 来。
多智能体并行也不天然高级。长任务难协调,共享计划文件会互相污染,测试 harness 被改坏后还会制造假回归。
作者一度以为项目崩了。后来才发现,是测试框架本身被弄坏。
这才是智能体工程最冷的一面:它能加速,也能放大混乱。它不会自动替你承担架构判断、质量控制和事故责任。
“天下熙熙,皆为利来。”放到这里很贴切。省人力、抢进度、压成本,都是利来。可到了 Git 这种基础设施层,利来之后还要问一句:谁来兜底?
所以我不买“AI 已经能独立重写 Git”的说法。
更准确的结论是:在强测试、强约束、强人工监督和不低预算下,智能体已经能把复杂系统推到可验证雏形。
这已经很厉害。但不是魔法。
接下来要看的变量很具体:
- 真实仓库能不能长期读写,不损坏数据。
- Windows、性能、API 设计和未覆盖功能能不能补齐。
- 那剩下的 1% 测试,以及测试没覆盖的路径,会不会集中在最危险的地方。
- 多智能体流程能不能复用,而不是只靠 Chacon 本人的工程判断兜底。
99% 是成绩。剩下的 1% 是基础设施的脾气。
仓库坏一次,用户不会关心你省了多少 token。
