跳到主内容
@wquguru
精选85人人都是产品经理(RSS)产品与增长

Anthropic自研Scion:7人5个月重构版本控制以应对AI高并发

Claude写代码太快,Anthropic先把Git干掉了

原文
发到 X
推荐理由

提供了在AI Agent高频产出代码场景下,重构底层工程基建的具体架构原则与效能数据,对面临类似规模瓶颈的团队极具参考价值。

Anthropic 官方复盘了把核心单体大仓从 Git 全量迁出的过程:七个人、五个月,自研版本控制系统 Scion。Claude 写代码不受手速约束,单日合并量从两千多次飙到三万次,主分支历史逼近 100 GB,镜像与稀疏检出被压垮。

AI 编程发展到现在,制约整个技术演进的最大瓶颈,既在推理能力之外,也无关算力卡脖子,居然是咱们天天敲命令用的 Git

刚刚,Anthropic 工程团队发了一篇极其硬核的官方博文《Redesigning source control at Anthropic》,深度复盘了他们如何仅用 7 个人、花了 5 个月时间,从零自研全新版本控制系统 Scion,并把整个核心单体大仓(Monorepo)全量从 Git 迁移出去的全过程

看完通篇技术细节,我整个人被狠狠震撼到了

灾难现场:当 Claude 把单体大仓挤爆

在 Anthropic 内部,程序员敲键盘写代码早就脱离了人工手速约束

Claude 展现出了超乎寻常的工程自主性:自己跑研究循环迭代、给复杂底层程序做毫秒级微优化、甚至能从零架构并搭起全新的生产级微服务

这种自主性带来的直接结果,就是代码合并量的指数级雪崩式爆发:

  • 2026 年 5 月:Anthropic 的单体大仓平均每天合并约 2,500 次代码变更
  • 到了 9 月:单日代码合并量直接击穿 30,000 次大关,9 月 9 日峰值更是创下 30,401 次合并的离谱纪录,4 个月狂飙超过 10 倍
  • 潜在合并需求近乎无限:团队发现内部想合并代码的欲望根本见不到底,底层基建每拆掉一个卡点,AI 产出的代码量就会立刻迎来新一轮爆发

官方博客贴出的这张曲线图,斜率直接陡峭到让人窒息:

Anthropic 单体仓库每日合并量爆发式增长

但真正的物理极限,卡在了基础设施上:

  • 主分支(main)历史记录接近 100 GB,压缩后的工作副本超过 25 GB
  • 每天光是 CI 流水线,就要执行整整 2,500 万次代码检出(还没算工程师日常开发机、Agent 沙箱和算法研究任务)
  • 如果按原生 Git 的老规矩拉取完整数据,每天产生的 Git 网络流量将突破 600 PB

600 PB 每天是什么概念?跨国骨干网拉冒烟都顶不住这种吞吐

为了救火,团队把 Git 社区能用的补丁挨个试了个遍:浅克隆、稀疏检出、云对象存储里的快照种子,峰值时期甚至在内部维护了数百台专用 Git 镜像服务器

结果呢?依然被汹涌的代码洪流彻底冲垮:

  • 镜像服务器被单机磁盘容量和内存吞吐硬生生逼到极限
  • 快照跟主分支最新代码差距越来越大,节点冷启动拉取耗时成倍暴增
  • 在稀疏克隆环境里跑 diff 和 blame,天天报错崩盘,运维成本指数级攀升

来看一眼他们此前为了给 Git 续命搞出来的复杂镜像拓扑:

传统扩展 Git 检出的镜像架构在超大规模下彻底崩盘

Anthropic 的工程师坐下来深刻反思,终于找出了症结所在:

Git 诞生于二十年前,骨子里带着“人类开发者生活节奏”的烙印 它假定客户端随时可能在飞机或离线环境下工作,所以每个本地克隆都必须是自包含的完整仓库,所有节点地位均等 可现实中呢? 在 Anthropic 跑任务的客户端,绝大部分都是云端常驻、网络时刻长连接的智能体、容器沙箱与 CI 流水线 拿一套专为离线人类设计的对等拓扑,硬抗高并发永远在线的 AI 大军,架构必然彻底爆裂

范式跃迁:面向 Agent 时代的 6 大设计原则

既然旧鞋撑破了,那就必须量身定做一双新鞋

Anthropic 充分吸收了 Google Piper 和 Meta Sapling 的前人经验,确立了一套面向智能体规模(Agent Scale)的全新版本控制系统——Scion(发音类似“塞恩”,寓意幼苗与新生代)

这套系统从立项到把整个核心 Monorepo 全量从 Git 迁移完毕,仅仅用了 5 个月,核心团队只有 7 个人

他们确立了 6 大核心设计原则,每一条都精准切中了传统 Git 的软肋:

Git 与 Scion 六大设计原则深度对比

我们大白话逐条拆解,看看他们是怎么重构底层的:

1. 客户端永远在线(Clients are always online)Git 认定客户端可能断网,所以拼命把全部历史塞给本地 Scion 认定云端服务端始终可达,客户端仅在真正要读取数据时才发起请求,彻底消灭本地巨量数据冗余

2. 端云深度非对称(Client-server asymmetry)Git 里每个客户端都是全功能服务器,本地自己算 Diff、算 Blame、算分支合并,大仓规模下机器经常卡死 Scion 搞彻底的角色割裂:服务端包揽所有文件历史、Blame、Rebase 和 Merge 等重度计算;客户端(scn)极度轻巧,只维护有限对象缓存和文件监听,本地负担降至冰点

3. 完备的服务化 API,赋能新型自动化应用在 Git 里想查代码修改历史或分支祖先关系,外部脚本必须克隆大仓或依赖平台专有接口 Scion 把底层能力全变成标准 RPC 服务,内部工具无需拉取本地大仓就能秒级执行语义查询,直接驱动全自动化二分排错(Automated Bisect)与自动回滚(Automated Revert)流水线

4. 全链路水平扩展,彻底干掉 Packfile系统架构中没有任何单一节点存有仓库的完整全景,废弃了 Git 沉重的 Packfile 打包机制和昂贵的例行垃圾回收(GC),所有数据分布式解耦存储,组件独立水平扩容

5. 提交廉价、增量且无锁(Cheap, incremental, lock-free commits)Git 是本地 Commit 再加远程 Push Scion 里所有提交、变基、合并在服务端即时完成,没有 Push 概念 操作开销仅与实际变更文件大小挂钩,弱化全局分支指针 主分支更新仅仅是对底层 Spanner 数据库单行记录做一次 CAS(Compare-And-Swap)原子操作,彻底告别跨服务器分布式锁

6. 工作副本按需可选,默认稀疏虚拟化面对每天几千万次检出,Scion 能不落盘就坚决不落盘 只读分析任务直接 API 拿 Diff,许多写入任务全流程纯走 API 就算必须落盘,也通过稀疏与虚拟化检出,按需动态物化文件,只为真正读到的文件掏网络和磁盘 IO 成本

核心解密:Changeset 与三级缓存架构

那 Scion 在工程底层到底是怎么跑起来的?

首先是数据单元的彻底重构: Git 每次 Commit 都指向一颗全局目录树(Tree) Scion 的基本单位变成了预写日志(WAL)中的一个条目——Changeset

它只记录相对于第一父节点改变了哪些文件,以及指向云端对象存储的内容寻址哈希指针(Content-Addressed Pointers):

Scion 的核心数据结构 Changeset

这种结构写入吞吐极高,服务端不用拼复杂的 Tree,也不用跨服务器加锁

至于“某行代码是谁写的”这种历史追溯,Scion 抽象出了一套通用“派生数据”(Derived Data)递归计算框架 每个 Changeset 的派生数据由其父节点递归推导,无论是代码追溯的 Blame 结构,还是跳表索引,全部在服务端按需推迟计算,客户端完全无感知

再来看最硬核的部分:每天 2,500 万次检出,是怎么被扛住的?

Anthropic 搭建了一套教科书般的分层缓存体系:

Scion 检出与分层缓存架构拓扑

整套链路设计得滴水不漏:

  • 客户端按需拉取:客户端放弃冗长的对象协商比对,直接从根树递归索取本地缺失的不可变对象,原生支持断点续传
  • 节点守护(scion-daemon):每台物理机单例部署,本机所有容器和 Agent 沙箱共用本地对象池,单机命中率保持在 99% 以上,从根源消灭单机重复下载
  • 区域缓存(scion-cache):机房级内存缓存集群,用磁盘原生消费格式流式直出文件,完全不搞二次增量解压缩,区域命中率同样大于 99%
  • 权威服务集群(scion-server):无状态水平扩容,承接全部控制面交互,仅在缓存完全穿透时读取 Spanner 元数据或云对象存储
  • 严格故障域隔离:各层响应完全相同的 RPC 协议,单向层级调用,杜绝下层越级穿透引发雪崩

战绩斐然:实测效能全面碾压

这套组合拳打下来,效果究竟有多猛?

官方实测基准和真实遥测数据给出了答案:

Anthropic 源码控制演进关键指标与效能实测

几个关键数据拉出来看,几乎是代际级的差距:

  • 基础架构资源缩容 200 倍:CPU 和内存需求相比原有数百台 Git 镜像集群缩小 200 倍
  • CI 算力净省 25% CPU:检出耗时压缩了两个数量级,单是 CI 这一项,每天就释放了整整 195,000 机器小时的算力,彻底解决集群空转等代码同步的痛点
  • Agent 环境版本控制总耗时:从 34 分钟断崖式降到 3.7 分钟,提速 9.2 倍,每日为 Agent 任务抢回约 11,000 小时
  • 开发者本地状态查询(status):从 3.9 秒干到了 19 毫秒,提速 207 倍,敲下回车即刻响应
  • CI 任务代码检出中位数:从 31 秒缩短到 3.5 秒,提速近 9 倍

在项目推进期间,Scion 自身与其配套的代码审查平台 Antique 代码合并量一路走高,伴随着团队极速平稳落地:

Scion 与代码审查平台 Antique 的合并进展

真正的震撼:AI 时代的软件工程到底怎么做

看完技术参数,最引人深思的其实是他们分享的几条人机协作与工程范式心法

1. 7 人小团队搞定巨头几年的活

在传统科技大厂,研发并全量替换一套承载全部核心业务的版本控制系统,起步就是几十上百名资深工程师、耗时数年反复拉锯 Anthropic 这次仅仅由 7 位工程师挂帅,在 5 个月内交付了 Scion、代码审查平台 Antique 以及周边权限与搜索系统,并平滑完成了全量大仓割接 在顶尖架构师搭配高能力 Agent 的模式下,小团队极速交付超级工程正在成为行业新常态

2. Claude Mythos 的恐怖重构力

研发初期,工程师手写了一个将 Git 仓库导入 Scion 的原型管道,团队原本觉得自己写得已经很棒了 后来内部拿到了 Claude Mythos Preview(下一代旗舰预览)的早期快照,工程师没给任何多余提示词,直接让它全局重构 Claude 输出的新版本,在严密保持所有摄取顺序和数据结构不变式的前提下,内存消耗直降 20 倍,吞吐速度狂飙 4 倍

3. 程序员的新职责:坚定对 AI 说“No”

参与该项目的所有工程师一致公认:在写代码这一纯技术动作上,Claude 已经全面超越了人类工程师自身 但这并不意味着人类退场了,人类的核心价值变得更加不可或缺:

  • 高维架构与系统约束把控:Agent 经常为了迁就某个局部 pattern,悄悄破坏全局约束,比如迁移中有子系统试图靠暴力扫提交日志去查主干合并时间,人类工程师必须当场制止
  • 防止过度防御(Over-engineering):对抗性审查有时会走向极端偏执,比如过分怀疑某个内部服务的可靠性,导致 Claude 生成海量冗余防范代码,必须靠人类工程师拨乱反正
  • 审查维度升维:人类工程师从过去逐行检查语法细节,转变为专注审视改动背后的真实“系统意图(Intent)”

4. 彻底抛弃全局锁合并队列

在 Agent 规模下,传统的代码合并队列(Merge Queue)几乎失去了存在价值 当成百上千个变更在跑测试期间就已经并发入库,排队等全局锁直接等于全员死锁 Anthropic 果断放弃全局锁,全面转向合入后测试(Post-Merge Testing)与部署前自动化校验 并发冲突不可避免?但在 Anthropic 的环境里,Claude 自动修复代码冲突的速度,远快于人类定位并读懂冲突的速度

5. Slack 里的“超粉”全天候值守

在系统运维层面,团队在 Slack 里为每个关键组件创建了由 Claude Tag 专职盯梢的监控频道,称之为“超粉(Superfans)” scion-daemon 超粉、scion-cache 超粉、Antique 合并队列超粉…… 它们 24 小时紧盯指标异动,比传统机械的一维阈值告警敏锐得多,任何深层复合隐患都能被即时揪出

总结

Anthropic 在博客最后特别坦诚地表示:Scion 绝非通用的 Git 替代品 它所适配的场景极其特定:只有数万名工程师共同开发,或大量高并发 AI 智能体集群持续产出代码的超巨型单体仓库,其架构红利才能抵消定制运维成本 而且 Anthropic 内部为了跑这些系统消耗的 Token 量,远超一般商业企业的承受范围

但他们做出了一个极其犀利的预警: 随着 Coding Agent 的加速普及,类似的版本控制扩展瓶颈,将在接下来的 6 到 12 个月内,在更多企业和团队中普遍暴露

过去二十年软件工程所积累的工具链——从 Git 到 PR 再到 Merge Queue,本质上都在迁就人类工程师“一天敲几百行代码、提交两三次”的生理节律 而当云端常驻的 AI 模型集群展现出每天合并几万次、检出几千万次的恐怖通量时,旧时代的工具外壳终究会被撑破

未来属于那些敢于在指数级时代重铸地基的人

作者:Ai学习的老章 公众号:Ai学习的老章

本文由 @Ai学习的老章 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自 Unsplash,基于CC0协议

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

相似阅读

关联信息,但可能不是同一事件