https://www.anthropic.com/engineering/redesigning-source-control read and summarize
回复 群友 607: 这是 Anthropic 今天(2026年10月13日)发的工程博客《Redesigning source control at Anthropic》,核心讲当 ca 大规模写代码后,人类尺度的开发基建(尤其是 Git)是怎么被打爆的,以及他们如何用 5 个月自研了一套替代系统 Scion。 核心判断与机制洞察: 当写代码的主体从人变成“永远在线、高频并发的 ca”时,Git 最引以为傲的“去中心化、离线完整副本”反而成了最大的扩展包袱。Anthropic 的本质取舍是彻底放弃离线能力,把本地计算和全量同步全部换成了“服务端集中计算 + 端到端内容寻址缓存 + 按需稀疏拉取”。更深一层看,ca 时代连传统的 Merge Queue(合并队列全局锁)都失效了,因为跑一次测试的时间里就有几百上千个改动要合入,工程重心必须从“合入前严格锁死”转向“合入后/部署前自动测试 + 让 ca 自动秒级修冲突”。 文章关键事实与架构要点: 1. 为什么换掉 Git 从 2026 年 5 月到 9 月,Anthropic 单日合并量从 2500 次暴涨到 次以上。主干历史近 100GB,单日仅 CI 就要检出 2500 万次,按传统方式拉取每天会产生 600PB 流量,几百台内部 Git 镜像也扛不住。 2. Scion 的核心设计 第一,彻底的客户端与服务端不对称。默认客户端永远在线,提交、变基、合并、blame、历史查询全部在服务端通过 API 完成,许多 CI 和自动化工具甚至不需要本地检出代码就能直接调 API 干活。 第二,Changeset 与派生数据分离。弃用 Git 的 packfile 和全局高频变动的 ref,工作单元改为写前日志里的 changeset(只记录相对于第一父节点的变更文件列表和指向云存储的指针),高吞吐、无锁。像 blame、路径历史、提交图跳表这类查询结构作为“派生数据”递归计算,按需或异步生成。 第三,三级内容寻址缓存(scion-daemon、区域级 scion-cache、权威端 scion-server + Spanner/Blob)。拉取协议不再协商“客户端已有什么”,而是客户端直接递归请求缺失的 tree 和 blob,支持稀疏和虚拟化按需检出。每层缓存命中率超 99%。 第四,收益。相比之前的 Git 镜像集群,Scion 的 CPU 和内存占用缩小了 200 倍,检出速度从分钟级降到秒级(快了两个数量级),直接帮 CI 省出 25% 的 CPU 容量。 3. 用 ca 造 ca 基建的经验 整个 Scion 加上配套的 Code Review 工具 Antique、代码搜索、目录级权限系统,只靠一个 7 人团队在 5 个月内完成开发和全量迁移(期间还用上了内部的 Claude Mythos Preview 和 Claude Tag,比如让 Mythos 重写迁移管道,内存降了 20 倍、速度提升 4 倍)。 在这套开发模式里,人类工程师承认 Claude 写代码比自己强,人的核心价值变成了定系统边界、做架构取舍,以及对 ca 说“不”——阻止 ca 为了绕过问题去暴力扫提交日志,或者在对立审查里过度防御、把系统越改越复杂。工程师审查时不再逐行看代码,而是审“意图”。此外,他们还用 Claude Tag 在 Slack 里盯特定组件的日志和监控(叫 superfan),抓传统告警抓不到的隐蔽异常。