Anthropic近日将其主代码仓库从Git迁移至自研版本控制系统Scion,以应对今年5月至9月期间日均代码合并量激增十倍以上的挑战。

由七名工程师组成的团队在五个月内完成了Scion、内部代码审查工具Antique及相关系统的构建与迁移。Anthropic指出,其工作负载极具特殊性,使用Claude编写软件的范围远超大多数企业。数据显示,该公司5月的日均代码合并量约为2,500次,9月已飙升至超过30,000次。其主仓库历史记录接近100GB,压缩后的工作副本超过25GB。

在不包括开发者环境、代理沙箱和研究任务的情况下,Anthropic每天执行约2,500万次代码检出以支持持续集成(CI)。若采用传统方式处理这些工作负载,仅Git流量每天就会超过600PB。“我们预计这种增长速度短期内不会放缓。”公司表示,消除一个瓶颈往往会导致代码生产量的进一步增加。

Scion架构优势显著

Git的设计初衷围绕去中心化开发,每个克隆版本包含完整仓库历史,适合离线操作。然而,Anthropic的大部分客户端是保持与服务端连接的AI代理和自动化作业,Git特性不再适用。此前,Anthropic运行数百个内部Git镜像,并采用浅层克隆和稀疏检出等技术,但随着代码合并速度加快,维持这些措施愈发困难。

Scion将提交、合并、变基及仓库历史查询等操作移至服务器端。客户端只需请求所需数据,自动化作业可通过API获取元数据,无需进行文件检出。Anthropic表示,新基础设施在CPU和内存需求方面比之前的Git镜像设置减少了200倍。如今,CI和研究任务的代码检出时间从几分钟缩短至几秒钟,仅CI环节就将CPU需求降低了25%。

重构开发与测试流程

Anthropic正在重新审视传统开发实践。传统的合并队列需在集成前协调更改并运行测试,但当数百甚至数千次更改可并行合并时,这种做法难以实施。取而代之的是,公司致力于合并后和部署前的自动化测试,即使出现冲突也允许并发更改继续进行,并由Claude协助解决冲突。

公司强调,工程师仍负责架构决策和系统约束执行,因为AI生成的代码可能引入不必要的复杂性或低效实现。早期内部版本的Claude Mythos Preview重写了最初的Git到Scion数据摄入管道,在保持原有系统约束前提下,生成了一种内存占用减少20倍、运行速度快四倍的实现方案。

此外,Anthropic使用名为“超级粉丝”的Claude代理,通过遥测数据和日志监控基础设施组件,以补充传统警报机制。

Anthropic明确表示,Scion并非旨在普遍替代Git,该系统专为大型工程团队或大量编码代理使用的大型仓库设计。公司计划分享架构经验教训,供Git平台借鉴,以便在AI生成代码给源代码控制、测试和部署基础设施带来更大压力时,采取更有效的应对措施。