Anthropic用Scion替换Git,应对Claude每日超3万次代码合并压力

因 Claude 生成代码速度激增,Anthropic 内部代码合并量从每月 2500 次飙升至日均超 3 万次,原有 Git 架构不堪重负。团队耗时 5 个月开发新系统 Scion,专为大单体仓库与...

人工智能

Anthropic 近期完成了一项低调却关键的基础设施升级:将内部代码版本控制系统从 Git 全面替换为自研的 Scion。这一变动并非出于技术炫技,而是直面一个现实问题——Claude 写代码太快了,快到传统工具链开始“堵车”。

根据 Anthropic 官方披露的数据,今年 5 月,其内部每日合并的代码变更次数约为 2500 次;到了 9 月,这一数字已突破 3 万次,9 月 9 日单日峰值达 30,401 次。需要强调的是,这里的“变更”指一次提交(commit)或一次合并请求(merge),而非代码行数——一次变更可能涉及多个文件,且多由 AI 自动生成。

代码写完只是起点。后续还需经历下载代码、构建可执行程序、运行自动化测试(CI/CD 流程)等环节。当合并频率指数级增长时,原本被忽略的“准备时间”变得愈发昂贵:每天约 2500 万次的代码副本准备操作,消耗大量计算资源,却并未用于实际测试或研究。

Anthropic 采用单体仓库(monorepo)架构,主分支历史接近 100GB,单份压缩后代码副本仍超 25GB。在高频更新下,即使通过镜像(mirror)、快照(snapshot)和增量拉取等优化手段缓解压力,系统仍面临两难:减少数据同步虽能提速,却损害历史追溯能力;维持完整历史则导致每次任务启动延迟加剧。

面对这一瓶颈,Anthropic 选择重构底层逻辑,而非继续打补丁。一支 7 人团队耗时 5 个月,开发出 Scion——一套专为大规模、高并发、在线化场景设计的版本控制系统,并配套推出审查工具 Antique、代码搜索与权限管理模块。

Scion 的核心思路是“去本地化”与“服务端集中化”。传统 Git 的优势在于分布式与离线可用性,但 Anthropic 的主要用户是始终在线的 AI 任务与自动化流水线,它们无需断网操作,也无需在本地保存完整历史。因此,Scion 将版本比对、历史查询、合并冲突解析等重型计算统一收归服务器处理,客户端仅保留轻量接口。

例如,在旧架构中,每个 CI 任务需从主仓库拉取完整历史以构建上下文;而在 Scion 中,任务只需声明所需“时间点快照 ID”,系统即从预生成的快照池中快速提供对应状态,避免重复解压与校验。同时,Scion 引入“变更集”(changeset)作为基本单位,结构化记录作者、时间、父版本、修改文件列表及内容哈希,便于高效索引与跨任务复用。

技术细节上,Scion 的存储层分为三层:

  • Spanner 层:负责变更集元数据、分支拓扑与目录树结构,类似 Git 的对象数据库,但采用更紧凑的序列化格式;
  • 云存储层:存放实际文件内容,按块(blob)存储,支持按需加载;
  • scion-cache 区域缓存:部署在各计算集群边缘,缓存高频访问的目录与文件,减少跨区带宽压力。

其客户端组件包括:

  • Antique:面向工程师的 Web 界面,用于审查、评论与批准变更;
  • scion-daemon:运行于每个节点的守护进程,负责本地缓存管理与变更提交代理;
  • scion-server:中央协调服务,处理合并、权限验证与快照生成。

值得注意的是,Scion 并非完全抛弃 Git 的思想。它仍保留“提交—父版本—差异”的核心模型,但在实现上大幅简化:不再强制要求每个 commit 都携带完整 tree 对象,而是将目录结构与文件内容解耦;合并逻辑也从“三路合并”转向基于变更集依赖图的自动协调,更适合机器生成代码的批量整合。

一个 Scion 变更集,记录了什么

迁移过程本身也颇具挑战。Anthropic 未采用“双写过渡”模式,而是选择一次性切换——在完成全量数据导入与一致性校验后,于某日凌晨停机窗口内完成切换。由于 Scion 与 Git 在协议层面不兼容,所有自动化脚本、CI 配置与权限策略均需重写。但结果证明投入值得:切换后,CI 任务平均准备时间下降 68%,高峰时段服务器负载波动显著平滑,且新系统支持每秒处理超 500 次并发合并请求。

这一举措揭示了一个正在成型的趋势:当 AI 成为代码生产的主力,开发工具链必须从“为人设计”转向“为机器协同设计”。Git 自 2005 年诞生以来,凭借其简洁模型与强一致性广受赞誉,但其隐含假设——开发者是低频、手动、离线操作的个体——在 AI 高频、批量、在线生成的场景下正遭遇极限。

业内已有类似探索:Google 的 Piper、Meta 的 Mercurial for Monorepos、微软的 VFS for Git,均针对单体仓库做了深度定制。而 Anthropic 的 Scion 更进一步,直接放弃兼容性,构建纯服务化版本控制系统,反映出其对 AI 原生工作流的坚定押注。

对行业而言,这不仅是 Anthropic 的一次内部优化,更是一次信号:未来代码基础设施的竞争,将不再局限于编辑器或 LLM 能力,而延伸至支撑整个生成-验证-集成闭环的底层管道效率。当 AI 每天产出数万次有效变更时,谁能让这些变更“跑得更快、更稳、更少卡顿”,谁就掌握了下一代软件开发的节奏主导权。