Git 被换掉,LLM 被替代:AI 编码开始反噬传统工具链?
Anthropic 代码量暴涨,GitHub 密钥扫描又慢又贵,两家被迫改造系统。 作者丨 郑佳美 编辑丨岑 峰 Git 已经支撑软件开发二十多年,Anthropic 却决定把它换掉。 为了让 Claude 持续生成的代码顺利进入开发流程,7 名工程师花了 5 个月,开发出版本控制系统 Scion,并将核心代码仓库迁移过去。 今年 5 月,Anthropic 每天平均合并约 2500 项代码变更,到 9 月已超过 3 万项,仅 CI 系统每天就要执行约 2500 万次代码检出。写代码的速度上来了,准备仓库、同步对象和查询历史却越来越费机器。 几乎同一时期,GitHub 用微调后的 ModernBERT 替换密钥扫描中的通用 LLM 判断。哥伦比亚大学与 Google DeepMind 等机构则通过 BTTF,把芯片仿真波形转换成 SQLite,让 Agent 使用 SQL 排查异常。 Scion 默认在线,BTTF 将波形变成查询接口,GitHub 把高频判断交给分类器。围绕人类开发节奏设计的系统,开始承受 Agent 带来的另一种负载。 01 Git 的离线能力,为什么成了负担 Git 的分布式设计让工程师克隆仓库后,即使断网也能提交、合并、查看历史。但 Anthropic 大量读取代码的任务是始终联网的 CI 作业和 Agent 沙箱,运行几分钟便销毁,可能只需要几个文件、一份 diff,或确认两个提交的祖先关系。为了这些操作准备本地仓库,重复成本越来越高。 Anthropic 主分支历史接近 100 GB,压缩工作副本超过 25 GB。若每天 2500 万次检出分别获取完整副本,理论流量会超过 600 PB。公司虽用浅克隆、稀疏检出、快照和数百台 Git 镜像,但镜像仍要同步、快照会过期,历史查询还需补齐对象。仓库越活跃,维护成本越高。 Scion 将客户端缩成轻量入口。提交创建、合并、变基与历史查询放到中心服务,本地仅监测文件变化、维护少量缓存,需要工作目录时按需展开。CI 若只想计算 diff,可以直接调用 API,无须完整检出。这牺牲了离线自治,却减少重复初始化。 提交格式也变了。Git commit 指向描述仓库状态的目录树,Scion 的 changeset 则以预写日志条目记录相对首个父提交修改过的文件,通过内容寻址指针引用数据。 创建 changeset 无须生成 Git packfile,也不用立即移动共享分支,只有 main 等引用更新时,系统才对 Spanner 中的单行记录执行 compare-and-swap。Agent 可以并发生成变更,竞争集中到分支引用移动时。 但历史查询仍有难题:增量记录无法直接回答某行是谁改的、文件经历过什么。Scion 为 blame、路径历史与提交图跳表维护 derived data,按父提交关系预
说明:本站展示中文整理摘要,便于快速阅读;完整内容和版权归原站所有。