网易首页 > 网易号 > 正文 申请入驻

Git不够用了?Anthropic 7 人团队重造源代码控制系统,5 个月完成迁移

0
分享至

整理 | 屠敏

出品 | CSDN(ID:CSDNnews)

2005 年,Linus Torvalds 开始开发 Git。谁也没想到,这个最初由他启动的项目,后来会成为几乎所有开发者都离不开的版本控制工具,一用就是 20 多年。

但如今 AI 写代码的速度越来越快,Git 也开始面临新的挑战。代码可以由 AI 在短时间内大量生成,可这些代码如何存储、合并和管理版本,背后的基础设施同样需要跟上。对于代码变更量快速增长的 Anthropic 来说,现有的 Git 架构已经难以满足内部开发需求。

于是,Anthropic 决定自己动手。

近日,Anthropic 首次在官方工程博客中介绍了内部开发的版本控制系统 Scion,详细讲述了团队如何在五个月内,将公司的大型代码仓库从 Git 迁移到 Scion。

更让人意外的是,整个项目只有 7 名工程师参与。开发过程中,他们还借助 Claude 重写核心架构、排查漏洞。一个只有 7 人的团队,究竟是怎么在五个月内完成这项大规模迁移的?


不是 Git 不够好,而是跟不上 AI 生成代码的速度

Anthropic 在博客中首先解释了一个问题:为什么已经足够成熟的 Git,会成为公司软件开发流程中的瓶颈?

这并不是因为 Git 本身出了什么问题。

Git 的设计优势之一,是分布式版本控制。每个开发者都可以拥有一份完整的代码仓库副本,在本地查看历史记录、比较代码差异、切换版本,即使处于离线状态,也能继续开展工作。对于绝大多数软件项目来说,这种设计仍然非常合适,也是 Git 能够成为行业标准的重要原因。

但 Anthropic 的情况比较特殊。

其公司内部大量使用 Claude 编写代码,开发活动的规模和速度都在快速增长。

2026 年 5 月,Anthropic 每天平均合并约 2500 处代码变更。到了 9 月,这个数字已经超过 30000 处,短短几个月增长了 12 倍。


此外,其主代码分支的历史记录已经接近 100GB,经过压缩的工作副本也超过了 25 GB。

更大的压力来自持续集成(CI)。

Anthropic 每天需要执行约 2500 万次代码检出操作,还没有计算开发环境、AI Agent 沙箱和研究任务产生的需求。如果每次都按照传统方式获取代码仓库,理论上每天产生的 Git 数据传输量将超过 600 PB。

为了应对这一问题,Anthropic 此前已经尝试了 Git 提供的浅克隆、稀疏检出等功能,也搭建了内部 Git 镜像和存放在对象存储中的仓库快照。高峰时期,公司运行着数百个内部 Git 镜像。


这些措施确实缓解了压力,但随着每天合并的代码越来越多,维护镜像和快照也变得更加困难。快照可能逐渐落后于主分支,而在不完整的代码副本上执行代码差异比较、追踪某一行代码的修改历史等操作,也需要额外处理。

Anthropic 团队随后意识到,问题可能不在于如何继续扩展现有的 Git 部署,而在于这套架构本身是否适合当前的工作负载。

Git 的设计考虑了开发者离线工作的需求,每个客户端都可以独立完成大量操作。但 Anthropic 的使用场景已经发生变化:大部分客户端不再是需要随时离线工作的开发者,而是始终联网的 AI Agent 和自动化任务。

既然这些客户端可以随时访问服务器,是否还有必要让每个客户端都持有完整的代码仓库,并独立完成所有版本控制操作?

Scion 就是围绕这个问题开发出来的。


Scion 与 Git 有什么不同?

Scion 并不是简单地给 Git 加上一个更快的服务器,而是重新设计了版本控制系统的工作方式。

在 Git 中,客户端可以独立完成提交、查看历史记录等操作,再通过推送与其他副本交换数据。

Scion 则采用了更明确的客户端与服务器分工:提交、合并、变基,以及代码历史查询等操作,都可以交由服务器处理。客户端主要负责维护有限的本地缓存、管理磁盘上的工作文件,以及监控文件系统变化。需要什么数据,再向服务器请求。

这种设计带来了几个明显的区别:

首先,不再要求每个客户端都持有完整的代码仓库。

在传统 Git 工作流中,CI 任务如果需要比较两个提交、查询某行代码的修改者,通常需要先获取仓库,或者依赖代码托管平台提供的特定接口。

Scion 将这些版本控制操作通过 API 暴露出来。对于只需要查询代码历史、计算差异等信息的任务,可以直接向服务器发起请求,不必先检出整个仓库。

对于每天要执行数千万次代码检出的 Anthropic 来说,这意味着大量不必要的数据传输和本地存储工作可以省去。

其次,Scion 只获取真正需要的代码。

Scion 支持稀疏检出和虚拟化检出。前者只获取客户端指定目录中的文件,后者则按需加载文件内容。即使某个任务需要在磁盘上操作代码,也不必一次性获取整个仓库。

例如,某个 CI 任务只需要检查一个目录中的代码,就没有必要为了执行这项工作,把整个大型代码仓库都下载下来。如果任务只需要查询两个提交之间的差异,甚至可以直接调用服务器 API 完成,不必创建本地工作副本。

第三,Scion 的各个组件可以独立扩展。

Anthropic 表示,巅峰时期其运行数百个 Git 镜像,不仅极大消耗资源,一旦仓库超出镜像磁盘、内存上限,就再也无法扩容。

Scion 的数据是分布式存储,各个组件可以独立扩缩容;即便是服务端,也不存在一份完整落地的仓库副本。没有 Git 打包对象包(packfile)这类概念,因此也不需要仓库维护工作。


它是如何运作的?

基于以上的设计原则,Anthropic 详解了 Scion 的完整运作方式。

数据结构:变更记录与辅助索引分开处理

在 Scion 中,最基本的工作单元叫作变更集(Changeset),可以将其理解为 Git 提交的另一种实现方式。


不同的是,Git 提交会保存一个指向文件树的引用,而 Scion 的变更集直接记录相对于第一个父变更集发生变化的文件列表,并通过内容寻址的方式,保存指向压缩文件内容的引用。

这种设计减少了服务器接收代码变更时需要处理的工作。Scion 不需要接收 Git 的 packfile,也不需要通过锁定或跨服务器协调来创建变更集。变更集创建完成后,就可以在整个系统中使用。

不过,仅靠变更集并不能高效回答所有问题。例如,想知道某一行代码最后由谁修改,或者一个文件经历过哪些提交,还需要额外的数据结构。

因此,Scion 会根据变更集生成相应的辅助数据,包括用于代码归属追踪(Blame)、文件路径历史查询的索引,以及用于加速提交关系查询的跳表。这些数据被统称为派生数据(Derived Data),可以根据变更集及其父变更集递归计算。

这种设计还有一个好处:Scion 可以根据需要增加新的索引,并自行决定何时计算和存储这些数据,而不必修改客户端。随着系统发展,团队已经为文件复制检测和按路径搜索等功能增加了新的索引。

代码检出:客户端需要什么,就获取什么

对于需要获取文件内容的场景,Scion 开发了自己的客户端 scn。与 Git 的获取协议不同,scn 不会让服务器先判断客户端已经拥有多少数据,而是由客户端主动请求自己缺少的文件树和文件内容。

具体来说,客户端先从根文件树开始,逐层检查本地存储中缺少哪些文件树,再获取相应的文件内容。

由于 Scion 的数据对象采用内容寻址方式存储,写入后不会改变,服务器可以直接返回缓存中的对象,不必每次都重新计算客户端缺少哪些数据。

这种方式也不需要依赖一个可能达到数 GB 的大型 packfile。文件树和文件内容可以分开获取,即使检出过程被中断,也能够继续请求尚未获取的对象。对于稀疏检出和虚拟化检出,客户端只需跳过不需要的文件树,就能减少数据获取量,无须额外设计特殊的支持机制。

分层缓存:减少重复下载和服务器负担

Scion 还采用了三层缓存架构,让不同任务能够复用已经获取的数据。

第一层是运行在计算节点上的守护进程 scion-daemon,负责存储和管理节点上的文件对象。同一台机器上的多个任务往往会访问相同的代码,因此可以共享这些对象,避免重复下载。

第二层是区域缓存服务器 scion-cache,主要为所在区域的节点提供文件树和文件内容。缓存命中时,服务器可以直接从内存中读取数据,并以客户端能够直接使用的格式传输,不必重新计算客户端缺少哪些对象,也不需要进行 Delta 压缩。

如果区域缓存中没有所需数据,请求才会转发到负责提供权威数据的 scion-server,由后者根据需要从 Spanner 或云存储中读取数据。

这三层使用相同的 RPC 接口,客户端不需要了解背后的缓存结构。不过,Scion 会限制不同层级之间的访问关系,避免某一层发生故障后,大量请求直接涌向上游服务器,影响整个系统。

据 Scion 团队介绍,各层缓存的命中率均超过 99%,而且不需要维护复杂的长期状态,因此可以根据需求扩容。

整体而言,根据 Scion 团队公布的数据,与此前的 Git 镜像基础设施相比,Scion 对 CPU 和内存的需求减少到了原来的约 1/200。CI 和研究任务的代码检出速度也提升了两个数量级,原本需要几分钟的操作,现在可以在几秒钟内完成。其中,仅持续集成(CI)任务就节省了相当于 25% CPU 容量的资源。

此外,由于客户端和缓存服务器不再需要执行传统仓库的维护工作,相关任务的管理也变得更加简单。


7 个人用 Claude 开发

Scion 的开发过程,还有一个值得关注的地方:Anthropic 不仅使用 AI 编写代码来解决开发效率问题,还借助 AI 加快了这套基础设施本身的开发。

按照 Anthropic 的介绍,一支只有 7 名成员的工程师团队,在五个月内完成了 Scion、代码审查工具 Antique,以及其他相关系统的开发和部署,并将公司的大型代码仓库完整迁移到新系统。

这项工作是在每天合并的代码量增长 10 倍的情况下完成的。


Anthropic 表示,如果放在过去,开发并部署这样一套版本控制系统,可能需要更多工程师和数年的迭代迁移工作。Claude 的代码生成能力,则让团队能够在更短的时间内完成大量开发和优化任务。

官方博文中还提到了一个具体案例。

在开发早期,团队曾经手工编写了一个用于将 Git 数据导入 Scion 的原型程序。当他们拿到内部版本的 Claude Mythos Preview 后,便让模型重写了整个程序。

Anthropic 称,在没有额外指令的情况下,模型生成的新版本将内存消耗降低了 20 倍,运行速度提高了 4 倍,同时保留了原有程序在数据导入顺序和数据结构方面的隐含约束。

这并不意味着工程师可以完全退出开发过程。

恰恰相反,Anthropic 特别提到,工程师仍然需要把控系统设计、跨组件协作和技术取舍。AI Agent 有时会为了完成眼前的任务,采用违反系统约束的实现方式;有时也会针对假设性的风险加入过多验证逻辑,反而增加系统的复杂度。

Anthropic 还表示,团队成员现在仍然会审查每一项变更请求,但关注点已经有所变化。相比逐行阅读所有代码,他们会更加关注修改的意图,以及这项修改是否符合系统设计。

与此同时,Claude 也让团队能够投入更多精力进行测试和优化。Anthropic 称,即使项目时间紧张,团队仍然为复杂的基础设施交互构建了隔离模拟环境,并加入模糊测试和更精细的速率限制机制。


Anthropic:Scion 不会取代 Git,也没有打算让所有人迁移

看到这里,可能有人会问:既然 Scion 的效率这么高,为什么不直接将它推广出去,替代 Git?

Anthropic 在博客中明确表示,Scion 并不适合作为 Git 的通用替代品。

原因很现实:

  • Scion 面向的是规模极大的单体代码仓库,主要适用于拥有数万名工程师,或者存在大量 AI Agent 持续生成代码的开发环境。

  • 对于绝大多数团队来说,Git 依然是合适的选择。它支持分布式开发,允许开发者在本地完成大量操作,也已经形成了成熟的工具链和开发生态。

  • Scion 则在架构上与 Git 存在较大差异。企业如果希望采用这套系统,不仅需要迁移代码仓库,还需要调整代码审查、代码搜索和持续集成等配套系统。Anthropic 内部使用的相关工具高度定制化,也很难直接复制到其他公司的开发环境中。

  • 此外,Anthropic 能够为内部开发投入大量计算资源,这种条件并不是所有企业都愿意承担的。

因此,Anthropic 选择分享 Scion 的设计思路,而不是将其包装成一套适用于所有团队的通用方案。

与此同时,Anthropic 还提到,未来 6 到 12 个月内,随着更多企业使用 AI 编程工具,类似的基础设施压力可能会逐渐出现。与其让每家公司都独立解决这些问题,不如把已经验证过的部分经验分享出来。

说到底,Anthropic 开发 Scion,并不是因为 Git 已经过时,而是因为当 AI 开始以远超人类的速度生成代码时,原本围绕人类开发节奏设计的工具链,也需要重新审视。

来源:https://www.anthropic.com/engineering/redesigning-source-control

「大模型技术:从 Agentic Scaling 到 RSI」专题阵容更新!

从 OpenAI、Anthropic、Google 到智谱、DeepSeek、月之暗面、阿里等头部团队都在持续推进 RSI / 自进化相关研究。

2026 奇点智能技术大会邀请一线研究者与工程技术专家,围绕强化学习、持续学习、AI 制造 AI、自进化 Agent、模型数据飞轮等关键方向展开分享。

11 月 20–21 日|北京万达文华酒店

专题还附赠一份 《RSI 递归自我改进 / 自进化前沿研究资料包》,汇总 OpenAI、Anthropic、Google、智谱、DeepSeek、Kimi、阿里等最新论文、官方报告与研究资料。

扫码即可免费领取,也欢迎报名来现场把 RSI 这条技术主线一次听透。


特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
5岁孩子长期玩"玩具",黑眼珠逐渐"消失",医生:很难恢复了

5岁孩子长期玩"玩具",黑眼珠逐渐"消失",医生:很难恢复了

大果小果妈妈
2026-09-21 13:21:25
豆包评出中国最值得去的10个景区,九寨沟第2,漓江第6,西湖垫底

豆包评出中国最值得去的10个景区,九寨沟第2,漓江第6,西湖垫底

赏玩夜忘归
2026-10-20 13:31:19
雷军:汽车没安全其他都是0,所有的智能性能和创新设计都失去了意义

雷军:汽车没安全其他都是0,所有的智能性能和创新设计都失去了意义

澎湃新闻
2026-10-21 20:36:29
科比大女儿亮相维密!九头身露半胸小肚腩抢镜,父女共用一张脸

科比大女儿亮相维密!九头身露半胸小肚腩抢镜,父女共用一张脸

探长影视解说
2026-10-22 15:36:30
中国乒乓大捷!4-3夺冠,绝杀日本松岛美空,杜韩静3小将豪夺3冠

中国乒乓大捷!4-3夺冠,绝杀日本松岛美空,杜韩静3小将豪夺3冠

湘村大余
2026-10-19 18:37:44
第一位扮演毛主席的演员,毛主席看后说道:以后不要再演了!

第一位扮演毛主席的演员,毛主席看后说道:以后不要再演了!

翠羽
2026-10-04 13:00:14
为什么不建议大家随便做冠脉CTA?医生:不是辐射大,因为这四点

为什么不建议大家随便做冠脉CTA?医生:不是辐射大,因为这四点

健康科普365
2026-10-16 16:40:17
蒋万安狂输17%原因找到!蓝营又有内鬼冒头?郑丽文彻底无奈了

蒋万安狂输17%原因找到!蓝营又有内鬼冒头?郑丽文彻底无奈了

爱意随风起呀
2026-10-22 07:24:10
唏嘘啊!“巨星开局”打成首轮秀,曾一战超越詹姆斯,上赛季场均17+5+7却被裁

唏嘘啊!“巨星开局”打成首轮秀,曾一战超越詹姆斯,上赛季场均17+5+7却被裁

大卫的篮球故事
2026-10-22 18:45:24
项立刚:逼全民族孩子把英语当母语学,这不是学知识,是自我殖民

项立刚:逼全民族孩子把英语当母语学,这不是学知识,是自我殖民

再来一杯冰美式
2026-09-10 22:48:30
蔬菜中的化痰王,6毛一斤,从秋吃到冬,排出身体陈年痰湿

蔬菜中的化痰王,6毛一斤,从秋吃到冬,排出身体陈年痰湿

牛锅巴小钒
2026-10-12 19:13:10
41岁台湾女星官宣怀孕,曾做试管婴儿失败,没想过高龄会自然怀孕

41岁台湾女星官宣怀孕,曾做试管婴儿失败,没想过高龄会自然怀孕

暖心萌阿菇凉
2026-10-20 21:54:47
“黑色星期四”来袭!“易中天”等科技股遭重创,贵州茅台又赢了,逆势上涨坐稳股王,联讯仪器、源杰科技、寒武纪等集体跌倒

“黑色星期四”来袭!“易中天”等科技股遭重创,贵州茅台又赢了,逆势上涨坐稳股王,联讯仪器、源杰科技、寒武纪等集体跌倒

金融界
2026-10-22 15:18:48
快讯!泰国这回动真格了!

快讯!泰国这回动真格了!

故事终将光明磊落
2026-10-22 09:55:08
泽连斯基:全世界都在等待乌克兰战胜俄罗斯那个混蛋!

泽连斯基:全世界都在等待乌克兰战胜俄罗斯那个混蛋!

老马拉车莫少装
2026-07-06 01:58:00
我国第二个上海已起飞!强势角逐西部第一城,人口将赶超北京?

我国第二个上海已起飞!强势角逐西部第一城,人口将赶超北京?

抽象派大师
2026-09-22 18:51:48
范加尔:如今的欧冠赛制太荒唐,随便什么阿猫阿狗都能参赛

范加尔:如今的欧冠赛制太荒唐,随便什么阿猫阿狗都能参赛

懂球帝
2026-10-22 18:18:25
美乌关系再度恶化

美乌关系再度恶化

陆弃
2026-10-22 11:04:51
正负值-45分历史最差处子秀,但请别嘲笑威尔逊,猛龙这阵容谁来都不好对付

正负值-45分历史最差处子秀,但请别嘲笑威尔逊,猛龙这阵容谁来都不好对付

兵哥篮球故事
2026-10-22 15:18:46
宁德时代A股市值跌破1万亿元

宁德时代A股市值跌破1万亿元

每日经济新闻
2026-10-22 10:22:04
2026-10-22 19:40:49
CSDN incentive-icons
CSDN
成就一亿技术人
27069文章数 242344关注度
往期回顾 全部

科技要闻

腾讯云谷歌紧急行动!互联网安全出大事

头条要闻

坠亡2岁男童父亲望维持婚姻:每月给妻子1万 父母出6千

头条要闻

坠亡2岁男童父亲望维持婚姻:每月给妻子1万 父母出6千

体育要闻

卢卡:伦德伯格,欢迎来到NBA

娱乐要闻

芭莎盛典,张小斐因救场实现口碑暴涨

财经要闻

数据中心建设延期潮 谁受伤、谁受益?

汽车要闻

搭城市NOA/续航555KM 捷达M6上市售7.98万起

态度原创

本地
时尚
教育
健康
公开课

本地新闻

总书记刚来过的这座城,藏着火山秋原

“廓形穿衣法”太火了!这5个法则松弛又好看

教育要闻

复旦一研三学生要退学,毕业只差临门一脚,本人回应:每晚三四点惊醒,再也不想做实验了

痘痘能根治吗?皮肤科医生说实话

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版