深度解读AI 与大模型generatedpublished

AI写代码太快冲垮Git:Anthropic为什么用7个人造了Scion?

机制

过去这一年,全球最大的代码托管平台 GitHub 隔三岔五就出一次故障。 4 月份挂了 10 次,5 月份又出了 9 次事故。 GitHub 自己在系统可用性报告里诉苦:流量涨得太凶,很大一部分全是 AI 刷出来的。 不仅程序员在用 AI 敲代码,成群结队的 AI 智能体自己也在没日没夜地提交修改。 平台在 4 个月里把有效容量翻了一倍多,还是扛得很吃力。 但真要说被逼到墙角的,是做大模型的 Anthropic 自己。 2026 年 5 月,Anthropic 内部每天合并进主分支的代码修改,大概是 2500 次。 到了 9 月,这个数字直接飙到了 3 万多次。 4 个月翻了 12 倍。 一天 3 万多次合并,算下来不到 3 秒钟就有一笔新代码被硬塞进主仓库。 终于,连支撑了全球开发者二十年的版本控制工具 Git,也当场趴下了。

很多人纳闷,Git 这么成熟的底层工具,怎么就被几万次提交给压垮了? 走,我们看一下它底层的规矩。 Git 的逻辑,就像你去图书馆借书。 按正常人的想法,你想看哪一页,去前台把那本书借出来就行。 但 Git 从诞生起就定了一条死规矩: 你想看任何一页,必须先把整座图书馆建馆以来的所有藏书、每次修改草稿,整整齐齐全部复印一份搬回家。 好处当然有。 整座图书馆都在你书房里,哪怕你断网、坐飞机、在深山老林里,本地也能随时查代码历史。 在项目规模小、全靠人类手工打字的年代,这套机制跑得很顺畅。 但 Anthropic 玩的是超大单体仓库。 光是主分支的历史记录,就有将近 100 GB。 解压以后的工作区文件,超过了 25 GB。 更要命的是机器的调用频率。 在 Anthropic 内部,为了跑自动化测试、构建流程、研究任务和智能体沙盒,系统每天要把代码拉取 2500 万次。 如果每次都按 Git 的老规矩,老老实实把整个代码库完整搬一遍呢? 2500 万次乘以 25 GB。 每天光是在内网拉取代码,就要产生超过 600 PB 的网络流量。 相当于每天在机房里来回倒腾 60 万块 1TB 的大硬盘。 再粗的机房光纤,也经不住这么折腾。

工程师们一开始也想修修补补。 他们在本地加文件缓存,在云端存快照,一口气架了几百台镜像服务器。 新任务启动时先读快照,读不到再去问镜像。 可当每天 3 万多次代码修改像暴雨一样落下来时,快照刚生成几分钟就过时了。 几百台镜像服务器天天跑在崩溃边缘,运维人员疲于奔命。 这个时候,团队停下来问了一个最朴素的问题: Git 那套让人把整个图书馆搬回家的设计,究竟是给谁用的? 是给在飞机上没有网络、还要打开笔记本改代码的人类程序员准备的。 可现在在 Anthropic 仓库里疯狂读写代码的,到底是谁? 几乎全是在机房里 24 小时跑着的自动化脚本、测试任务,以及 AI 智能体。 它们的网线插得比谁都稳,和公司服务器的连接一秒钟都不会断。 它们从来不需要在没有网络的高空写代码。 既然网络永远在线,为什么每次还要扛着整个图书馆的砖头到处跑? 就不能想看哪一页,直接向前台借哪一页吗?

顺着这个直觉,7 名工程师花了 5 个月,自己造了一套叫 Scion 的新系统。 Scion 把 Git 二十年前立下的规矩彻底倒了过来。 它开宗明义:默认所有客户端永远在线。 本地机器不需要保留完整的历史记录,只留一个极小的临时缓存。 你或者智能体需要哪个文件夹、哪几行代码,才向服务器实时要哪部分。 查阅谁写了某一行代码、比对文件差异、合并分支这些重体力活,统统丢给中央服务器。 许多测试任务甚至压根不下载代码文件,直接通过接口问服务器想要的结果。 代码提交的逻辑也完全变了。 用 Git 的时候,你得在本地机器打包提交,然后再推送到远端服务器。 在 Scion 里,压根就没有推送这个步骤。 提交动作直接发生在中央服务器上。 敲下确认的那一瞬间,整个机房所有机器,包括刚刚启动的几千个智能体,立刻就能看到新状态。 每一次提交也不再是保存整个目录的快照。 它变成了一张非常薄的变更清单,上面只列出本次修改了哪几个文件。 每个文件只对应一串根据内容算出来的唯一哈希编码。 真正的文件内容直接放进云端存储,相同内容永远只存一次。 不管代码库膨胀到几百个 GB,一次提交所消耗的算力和存储,只跟你实际修改的那几行内容有关。

每天几千万次拉取,如果全直接冲向中央服务器,服务器不会被冲爆吗? Anthropic 的解法是做了一套三层缓存。 每台物理机上跑一个驻留后台的守护进程。 每个数据中心大区架设一层区域缓存。 最顶端才是主控服务器。 因为所有文件都按内容打上了不可更改的唯一哈希编码,内容不变,编码就终身不变。 这就意味着任何一层缓存只要存过这个文件,就可以放心地直接甩给客户端,完全不需要向上级反复确认文件有没有被改过。 整套体系跑下来,每一层的缓存命中率都超过了 99%。 智能体要读代码,几乎全在本地机器或局域网里就拿到了,根本不需要跑去远端惊动主服务器。

这套专门给 AI 智能体量身定制的系统上线之后,效果干脆利落。 支撑版本控制的基础设施规模,直接比原来几百台 Git 镜像的庞大架构缩减了 200 倍。 自动化测试拉取代码的时间,从过去的几分钟掉到了几秒钟。 光是这一个提速,就给他们的持续集成系统挤出了 25% 的计算资源。 对 AI 智能体来说更是立竿见影。 以前为了给一个新智能体搭建干净的工作沙盒,拉取代码要干等 7 分多钟。 现在只要 5 秒。

更有意思的是造这套系统的过程。 把一个每天几万次合并、接近 100 GB 的超大单体仓库连根拔起换掉底座,顺带还开发了配套的代码审查工具 Antique。 换在过去,大厂至少要派几十个人的专业团队折腾几年。 他们只用了 7 个人,5 个月就全部搞定。 背后的主力助手,正是他们自己的 Claude。 工程师回忆说,有个负责数据导入的手工模块写得很笨重。 他们把代码扔给早期的内部版 Claude,没给具体优化指令,Claude 自己把模块重写了一遍。 跑出来的结果,内存占用直降到二十分之一,运行速度快了 4 倍。 很多人看到这里会问,AI 写代码已经厉害成这样了,那人类工程师在干什么? Anthropic 的工程师也承认:单看写具体代码,Claude 确实已经比他们更强了。 但工程师的职责彻底转移了。 大家不用整天抠语法、写具体业务逻辑,主要精力全放在理解整套复杂系统如何拼接、权衡不同架构的优缺点上。 更关键的一项工作,是随时对 Claude 说“不”。 AI 在局部非常聪明,但往往容易想出一些在局部合理、在全局却极具破坏性的主意。 比如某些组件为了找一段代码是何时合并的,打算让系统逐个去扫提交记录,人就得在架构层把它拦住。 现在的代码审查,人类不再逐行挑挑拣拣看变量名,只看那行代码背后的真实意图。

那这是不是意味着,Git 已经过时,大家都可以扔掉它了? Anthropic 自己在技术报告里写得很清楚:千万别。 Scion 压根不是一个通用的代码管理工具。 只有像他们这样拥有成群结队的 AI 智能体、每天在超大单体仓库里疯狂轰炸几万次提交的极端环境,才值得花巨大代价重新造一套轮子。 普通团队的人工开发节奏,Git 依然绰绰有余。 但这次换底座的真正启示在于: 过去几十年,整个软件工程的基石,全都是按照人类的工作习惯雕琢出来的。 人类打字会累,手速有物理极限,偶尔还要在断网的飞机上敲两行代码。 现在坐在键盘前面的,变成了一群 24 小时不眨眼、秒级吞吐成千上万行代码的数字工人。 当写代码的瓶颈被大模型瞬间冲垮之后,最先发出断裂脆响的,不是算法本身。 是版本控制、构建编译、代码审查这些三十年前铺下的工程管道。 AI 跑得太快了。 留给整个软件世界翻修管道的时间,真的不会太多。

引用 / CITATIONS

No citations exported.

同领域解读 / AI & LLMS

查看全部「AI 与大模型」解读 →

导出 / EXPORT

订阅 · SUBSCRIBE

每周一封独立、不受审查的科技与 AI 深度评论,周一发出。带出处,可核查。

不追踪邮件打开与邮件链接点击,一键退订。 或用 RSS · 详情