
AI写代码的速度彻底击垮了Git,Anthropic重新设计了版本控制系统
五个月时间7个人从零自研了一套全新的版本控制系统Scion,并完成了整个主代码库的迁移。
起因只有一个:人类工具在AI提交面前失效了。
今年5月,Anthropic每天合并的代码变更大约是2500次。
到了9月,这个数字突破了30000次。
代码合并频率暴涨超过十倍。

现在Anthropic内部写代码早已不再是瓶颈,Claude可以自主迭代研究闭环、微调复杂程序、凭空搭起全新服务。
真正的瓶颈变成了原本为人类开发者设计的基础设施:代码版本控制、构建系统和CI流水线。
每天吃掉600PB流量,Git被活活撑死
Anthropic使用的代码管理模式是超大单体仓库(Monorepo)。
主分支的历史记录接近100GB,压缩后的工作副本超过25GB。
为了支持密集的CI自动化测试、研究任务和智能体沙盒,他们每天要执行大约2500万次代码检出(checkout)。
如果直接用Git硬扛,每天产生的网络流量会超过600PB。
Git的核心逻辑是去中心化。每个本地克隆都是完整仓库,具备脱机查看历史、计算差异、执行blame的一切能力。
这种模式适合人类在离线环境下工作。
但在Anthropic,几乎所有的客户端都是永远在线的AI智能体和自动化任务。
为了给Git续命,他们尝试过所有业界常规方案:浅层克隆、稀疏检出、对象存储快照、甚至在内网部署了几百个Git镜像节点。
镜像越来越多,机器内存和磁盘开始顶不住。快照更新的速度跟不上代码合并的速度,只要做一次依赖历史记录的diff或者blame,整个局部克隆就会频繁报错。
Git的去中心化特性,反倒成了规模扩张的最大障碍。
全新系统Scion:干掉本地仓库
Anthropic推翻了Git的基本假设,按照智能体永远在线的前提设计了Scion。
这套系统的核心逻辑发生了根本改变:
客户端不存完整副本
Git要求客户端拥有完整的仓库处理能力。
Scion把所有计算全推给服务端。历史查询、行变更定位、代码合并、变基(rebase)全在服务端跑完。客户端只负责维护一个有限的本地对象缓存,把文件摆在磁盘上,其余数据随用随取。
变更集(Changeset)代替树指针

Git每次提交都要保存对整棵目录树的指针。
Scion最小的工作单元是变更集。它只记录当前变动相对于父节点的修改文件列表,以及指向云存储中压缩文件内容的指针。
没有压缩包打包流程,没有跨服务器协调锁。创建提交不再依赖分支指针,修改分支只需要在Spanner数据库里执行一次单行CAS操作。
按需加载,无需全局拉取
在Scion里,工作区(Working copy)变成了可选项。
CI跑自动化任务如果只需要看某次提交的diff,直接通过API向服务端要结果,不需要在本地机器上下载完整仓库。
就算需要把文件落到本地磁盘,Scion也采用了虚拟化和稀疏检出机制,任务读到哪个文件,底层才拉取哪个文件。

层级缓存打死流量
在具体架构上,本地客户端scn只和本机的scion-daemon通信。
daemon向区域缓存服务器scion-cache请求数据,最后才兜底到核心的scion-server和数据库。
每一层都实现了超过99%的缓存命中率。
这套架构落地后,Anthropic代码检出速度从几分钟缩短到了几秒钟。
支撑底层运转的服务器CPU和内存占用,缩减到了原来Git镜像集群的两百分之一。仅在CI环节,就省出了25%的CPU计算资源。

用Claude制造替代Git的武器
整套系统的开发过程,本身也是AI写代码能力的试验场。
完成整个系统研发、替换掉Git、同时顺带自研了代码审查平台Antique和代码搜索等半打系统的团队,只有7个人。
7个人,5个月。
最典型的例子是数据迁移流水线。团队最初纯手写了一版从Git到Scion的数据摄取管道原型。
随后他们拿到了Claude Mythos预览版的内部权限,直接让模型去重写。
在没有任何额外提示词的情况下,Claude重写出的版本内存占用减少到原来的二十分之一,运行速度提升了4倍,原有的数据结构和摄取顺序规则完好无损。
参与项目的工程师表示,在写代码这件事情上,Claude现在的水平已经超越了他们自己。
工程师的核心工作形态彻底变了:
工程师的主要任务是向Claude说不。
AI为了满足局部需求,会本能地尝试破坏系统的底层约束。例如多个自动化任务曾试图通过一行行硬读commit日志来确认代码何时合并到主分支,这种做法会瞬间拖垮性能,需要人类把它纠正为直接调用审查系统。
还有代码对抗审查机制。AI在审查代码时容易过度防御,凭空塞进大量毫无必要的校验逻辑,把系统搞得极其复杂。
人类工程师现在的工作,是在更高维度把控跨系统设计的权衡,审核每次提交的意图,不再逐行肉眼挑刺。
传统工作流瓦解:没有合并队列,AI在Slack里当网管
随着智能体规模爆发,更多传统的研发习惯被砸得粉碎。
传统的合并队列(Merge Queue)失效了。
当每分钟都有海量代码并发合并时,全局加锁排队会让整个CI系统瘫痪。
Anthropic取消了全局合并锁,改成代码先合入、在部署前跑自动化回归测试。
这意味着代码冲突出现的概率大幅增加。但是他们发现,Claude自动解决冲突的速度,比人类看懂冲突发生在哪里还要快。
运维模式也变了。团队利用Claude Tag在内部Slack里建了一批组件监视频道。
每个频道里都进驻了一个专门的Claude实例,官方称它们为超级粉丝(superfans)。
有的Claude专门盯着scion-daemon,有的专门盯着scion-cache,有的专门盯合并队列。
这些AI拥有完整的日志和监控指标权限,每天不知疲倦地刷新后台图表,捕捉那些传统静态报警规则根本无法识别的微小异常。
Git真的要被淘汰了吗?
Anthropic并没有把Scion开源替换Git的打算。
他们承认,Scion的设计完全绑定了极度庞大的单体仓库、海量AI智能体并发编程、以及远超普通企业承受极限的Token消耗量。
对于绝大多数普通开发场景,Git依然是极其优秀的版本控制工具。
Anthropic判断,随着AI编程工具的扩散,在接下来的6到12个月里,其他依赖AI写代码的团队也会陆续撞上这堵墙。
他们公开这套方案,是为了给开源社区、GitHub和GitLab提供思路:Git的服务端完全可以重新设计,引入更高效的RPC查询机制和更灵活的协商协议,没必要完全沿用几十年前为人类手写代码设定的规则。
当AI写代码的速度呈指数级上升,软件工程领域所有原本为人类肉身打的补丁,都得重新推倒来过。
source:
https://www.anthropic.com/engineering/redesigning-source-control
--end--
最后记得⭐️我,每天都在更新:如果觉得文章还不错的话可以点赞转发推荐评论
/...@作者:你说的完全正确(YAR师)







