乐鱼平台

网易乐鱼平台 > > 正文

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 开始以远超人类的速度生成代码时,原本围绕人类开发节奏设计的工具链,也需要重新审视。

来源://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.

相关推荐
热点推荐
外卖6个茶叶蛋被收6份打包费 商家:打包费平台不抽成 靠打包费赚几块

外卖6个茶叶蛋被收6份打包费 商家:打包费平台不抽成 靠打包费赚几块

闪电乐鱼平台-乐鱼(中国)一站式服务平台
2026-10-22 19:25:12
没想到,让李湘怀二胎的那个男人,竟还给她留下了“一手好牌

没想到,让李湘怀二胎的那个男人,竟还给她留下了“一手好牌

娱瓜酱
2026-10-21 14:27:21
三问“问界汽车在神木碰撞起火事故”:撞击瞬间时速是多少?AEB是否启动?起火是否太快?

三问“问界汽车在神木碰撞起火事故”:撞击瞬间时速是多少?AEB是否启动?起火是否太快?

澎湃乐鱼平台-乐鱼(中国)一站式服务平台
2026-10-23 07:46:29
985博士投遍高校去二本,北大博士最终入职民办:到底是“学历贬值”的无奈,还是放下包袱的潜心治学?

985博士投遍高校去二本,北大博士最终入职民办:到底是“学历贬值”的无奈,还是放下包袱的潜心治学?

学术眺望
2026-10-23 15:35:03
震惊!大厂办公室恋情引热议:大专外包牵手985硕士正式员工,网友直呼“有两把刷子”

震惊!大厂办公室恋情引热议:大专外包牵手985硕士正式员工,网友直呼“有两把刷子”

火山詩话
2026-10-23 09:25:18
事态升级!精日留学生父母被扒,扬州公司撑腰,背后大佬不简单?

事态升级!精日留学生父母被扒,扬州公司撑腰,背后大佬不简单?

小怪吃美食
2026-10-24 01:03:57
“在星巴克开会1小时被提醒点单5次”冲上热搜,消费者表示反复打扰让人困扰,消保委:“消费入座”属基本商业规则

“在星巴克开会1小时被提醒点单5次”冲上热搜,消费者表示反复打扰让人困扰,消保委:“消费入座”属基本商业规则

扬子晚报
2026-10-23 14:49:55
“13岁女孩卖掉妈妈两条金项链,金店当面熔化”,店员:曾提出联系家长,但女孩称不用联系;家长:自己不同意熔化,要求店家原样返还

“13岁女孩卖掉妈妈两条金项链,金店当面熔化”,店员:曾提出联系家长,但女孩称不用联系;家长:自己不同意熔化,要求店家原样返还

扬子晚报
2026-10-23 20:15:54
当年三天卖空万册人体写真的汤加丽,如今50岁,那份劲头依然在

当年三天卖空万册人体写真的汤加丽,如今50岁,那份劲头依然在

绚丽的画卷
2026-10-12 10:55:20
球报:巴拉圭球队试图管控媒体人员着装,最终不得不道歉

球报:巴拉圭球队试图管控媒体人员着装,最终不得不道歉

懂球帝
2026-10-23 22:20:18
魏莹“陪睡”案新进展:案件细节太颠覆,三方口述揭露更多内幕!

魏莹“陪睡”案新进展:案件细节太颠覆,三方口述揭露更多内幕!

莫地方
2026-10-22 10:22:36
金左手威廉姆斯呼吁取消资格赛一律平签,斯诺克中国市场面临考验

金左手威廉姆斯呼吁取消资格赛一律平签,斯诺克中国市场面临考验

杨华评论
2026-10-24 01:28:02
财政部:将抓紧做好提前下达2027年部分新增地方政府债务有关工作

财政部:将抓紧做好提前下达2027年部分新增地方政府债务有关工作

证券时报
2026-10-23 16:02:07
“娱圈老王”的瓜!

“娱圈老王”的瓜!

文刀万
2026-10-23 06:15:04
“真的真的对不起……”26岁女艺人凌晨2点发手写道歉信,承认与粉丝私下联系、见面,但否认做出“亲吻”“和粉丝恋爱”等行为

“真的真的对不起……”26岁女艺人凌晨2点发手写道歉信,承认与粉丝私下联系、见面,但否认做出“亲吻”“和粉丝恋爱”等行为

大风乐鱼平台-乐鱼(中国)一站式服务平台
2026-10-23 15:27:05
看了长征后的伟人照,再看《伟大的长征》,谁还在喷于和伟不像的,那就真是当代博古李德了

看了长征后的伟人照,再看《伟大的长征》,谁还在喷于和伟不像的,那就真是当代博古李德了

娱乐故事
2026-10-22 19:20:49
值得梭哈,德文·布克被认为是火箭队理想的“全押交易”目标

值得梭哈,德文·布克被认为是火箭队理想的“全押交易”目标

好火子
2026-10-23 22:19:41
淮北市委书记蒋曦当选安徽省委常委

淮北市委书记蒋曦当选安徽省委常委

大风乐鱼平台-乐鱼(中国)一站式服务平台
2026-10-23 14:15:14
触目惊心!卧底亲历者讲述:被骗进电诈园区的女性,一般只有两种结局

触目惊心!卧底亲历者讲述:被骗进电诈园区的女性,一般只有两种结局

秋风妃
2026-10-23 23:04:23
“滚回你的飞机去”!巴陆军参谋长转达美国最后通牒后遭伊朗冷遇

“滚回你的飞机去”!巴陆军参谋长转达美国最后通牒后遭伊朗冷遇

掉了颗大白兔糖
2026-10-23 17:01:19
2026-10-24 07:52:49
CSDN incentive-icons
CSDN
成就一亿技术人
27075文章数 242344关注度
往期回顾 全部

抢运营商饭碗!马斯克又有大动作

女子收酒店停车弹窗误会丈夫开房 丈夫开视频:在喂鸡

女子收酒店停车弹窗误会丈夫开房 丈夫开视频:在喂鸡

没人看好的加图索,打出队史最佳开局

黎纪君晒与刘恺威合照 恋情后首次同框

叫"保障"不叫"保险":租车平台的文字游戏

设计换新/智舱升级 2027款博越限时价7.89万起

态度原创

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

萌娃跳舞#刚刚学的低着头不好意思跳舞《》

好看,从来不止身上这一处

泽连斯基:星链及星盾速度限制仍未解除

无障碍浏览 进入关怀版