git 假设你是人类:日均 3 万次合并后,Anthropic 五个月自研了新的源代码管理

📅 发布时间:2026/10/15 19:29:28
git 假设你是人类:日均 3 万次合并后,Anthropic 五个月自研了新的源代码管理
快评 · AI 热事慢想 · 2026-10-14一、发生了什么Anthropic 10 月 13 日在官方工程博客披露2026 年 5 月到 9 月其 monorepo 的日均合并量从约 2500 次涨到超过 30000 次来源Anthropic 工程博客《Redesigning source control at Anthropic》。镜像、快照等补丁全部失效后一个 7 人团队用 5 个月自建了源代码管理系统 Scion 和配套评审工具 Antique并完成全量迁移来源Anthropic 官方博客经 superpowerdaily 等多方转述核实。二、技术拆解压垮 Git 的数字主分支历史近 100 GB仅 CI 每天约 2500 万次 checkout——还不算 Agent 沙箱和研究任务。团队试过数百个内部镜像和仓库快照结果快照在两次刷新间持续落后于最新代码镜像集群在仓库超过单机磁盘上限后停止扩展。问题出在 Git 的第一性假设上。Git 的设计前提是客户端是离线的人类每个开发者克隆完整仓库本地自查历史、离线也能干活。这在人类规模是优点但当客户端变成几万个永远在线的编码 Agent每个客户端持有完整副本就从优点变成了按日结算的税。Scion 把假设反过来客户端永远在线重活全在服务端。合并、变基、历史查询、blame 计算由可水平扩展的服务器完成客户端只持有有界缓存加工作区文件。每次变更记录为服务端创建的 changeset——写进预写日志、只列相对第一父节点的变更文件、内容寻址存储没有 packfileblame 和路径历史作为派生数据按需递归计算。官方口径下基础设施 CPU 和内存降到原镜像架构的 1/200CI checkout 从分钟级降到秒级缓存分层命中率超 99%。维度GitScion客户端假设离线的人类开发者永远在线的 Agent 与任务重操作位置每个客户端本地集中在可扩展服务端本地副本完整克隆有界缓存 按需取文件存储单元commit packfilechangeset 内容寻址 blob代价Agent 规模下镜像失控放弃离线独立数字均为官方自报还有个细节团队早期手写的摄取管线原型被内部早期模型快照在不加任何指令的情况下整体重写内存占用降为 1/20、速度快 4 倍且保留了全部隐式不变量来源Anthropic 官方博客。三、我的判断第一这是瓶颈换位的又一实例。我在《OpenAI 一夜放出 722 份数学手稿AI 时代最贵的不是产出是验证》里写过产出成本塌掉几个数量级消化机制的成本一分没降。Scion 是同一个故事换了舞台——写代码变便宜之后托管代码的基础设施先崩了。生成侧每提速一次下游某个为人类规模设计的系统就会先到极限下次可能是构建系统或评审队列。第二技术选型没有教条只有规模匹配。“分布式优于中心化几乎成了版本控制的公理但当客户端构成从偶尔在线的人变成永远在线的机器”中心化服务端反而是正解。Git 没做错任何事它的假设在目标规模下至今成立Anthropic 自己也说 Git 对大多数仓库仍合适。真正的教训是设计假设不会过期于辩论而是过期于用量。第三泼三盆冷水。其一这不是可复制建议7 人小队背后是大厂级基础设施基因Scion 也没开源。其二1/200、100 倍、25% 全是官方自报口径没有第三方复核——这可是最懂怎么讲故事的公司之一。其三工程师只审意图不逐行读代码听着高效但高风险变更的问责边界在哪里文中没有答案官方博客自己也承认 Agent 有时为满足某种模式会违反核心约束比如绕过评审工具去线性扫提交日志。四、对开发者的启示不用学 Scion 本身带走两个判断方法就够。一是识别绕过成本超过重建成本的时刻当你靠几百个镜像、快照滞后、手工对账续命时就该评估重写——补丁的维护成本曲线是指数的。二是为永远在线的客户端设计接口API 差分查询、按需物化、内容寻址这些思路可以直接抄哪怕仓库只有几个 GB让 CI 不必克隆全仓也省钱。# agent-native 源控制接入示意CI 无需本地克隆按需查差分importhttpx SCM_APIhttps://api.example.com/scm# 任意支持 API 差分的源控制服务defchanged_files(base:str,head:str)-list[str]:rhttpx.get(f{SCM_API}/diff,params{base:base,head:head})r.raise_for_status()return[c[path]forcinr.json()[changesets]]defsparse_checkout(paths:list[str],ref:strHEAD)-dict[str,str]:只物化需要的文件缓存命中则直接返回内容寻址对象不可变out{}forpinpaths:rhttpx.get(f{SCM_API}/file,params{ref:ref,path:p})r.raise_for_status()out[p]r.textreturnoutif__name____main__:forfinchanged_files(main~1,main):print(changed:,f)FAQQScion 会取代 Git 吗A不会。它为日均数万次合并、近 100 GB 历史、客户端全是在线 Agent 的极端场景定制没开源也不通用。更可能的路径是设计思路渗透进现有工具。Q没有这种规模的团队能借鉴什么A两条把源控制操作 API 化让 CI 不依赖完整克隆监控绕过型补丁——镜像和快照开始滞后就是重写评估的启动信号。Q文中收益数字怎么验证A目前验证不了。1/200、100 倍、25% 全是官方自报无第三方复现当方向性信号用别当精确值。延伸阅读站内上周《Meta 发布 Muse Wonder跑分追平是背景板「主动记忆」第一次成了旗舰主打》拆的是 Agent 的记忆层本篇把镜头转向基础设施层——两者在回答同一件事Agent 规模会把哪些为人类设计的系统打穿。《让 AI 把同一个项目重写三遍没写进提示词的需求Agent 全替你掷了硬币》里的教训同样适用——Scion 团队最重要的工作不是写代码是替 Agent 做设计层取舍。这个专栏每天一篇 AI 热点解读关注不迷路。你们团队的 CI 现在还在克隆完整仓库吗评论区说下大概的规模。专注 AI 工程化实践与出海外贸技术