AI 写代码越来越快,Anthropic 为什么换掉了 Git?
Anthropic 披露自研版本管理系统 Scion,五个月完成主代码库迁移。AI 写出更多代码以后,等待取代码、合并和检查成了新的难题。
10 月 13 日,Anthropic 公开了一个被 AI 写代码逼出来的工程变化。它花五个月做了一套叫 Scion 的版本管理系统,把主代码库从 Git 迁了过去。版本管理负责记下代码是谁改的、改了什么,再让团队共享和合并这些改动。
事情起因很直观。按 Anthropic 的统计,每日合并改动从今年 5 月约 2,500 次,涨到 9 月超过 30,000 次。写代码的量上去了,源码管理、构建和自动检查开始让任务排队等待。
省下的是等代码的时间
它的主分支历史接近 100GB,仅自动检查每天就要取约 2,500 万次代码。大量任务反复准备同一份代码,消耗的时间和机器资源也跟着增加。
Git 的一大好处,是本地副本可以离线查历史、改文件。Scion 把历史查询、提交和合并交给服务器,本地按需拿文件。代价也明确,它依赖持续可用的在线服务器。对本来就在线运行的 AI 和自动任务,这个取舍更容易成立。
官方性能图里,为一个新 AI 任务准备工作目录,Git 的中位耗时为 7.1 分钟,Scion 客户端为 5.1 秒。这组对比来自 Anthropic 自己的巨大代码库,测的是准备目录等操作,不能拿来当作 AI 生成代码的速度。
集中管理又有了新理由
技术作者 Simon Willison 看完后认为,Scion 很像重新采用 Subversion 式的集中管理。这个观察点中了它的取舍,常在线的任务把更多工作交给服务器,就能少在本地反复准备数据。
超大代码库另做工具,早有前例。Meta 在 2022 年介绍过 Sapling,并公开兼容 Git 的客户端。Anthropic 也明确说,它参考了 Sapling 和 Google Piper 的经验。AI 带来的新压力,是大量任务持续写入的速度。
写得快仍需要人来判断。Anthropic 说,工程师要阻止模型违反核心约束,也要拦住因假设风险而加出的复杂设计。Willison 提到,模型互相挑错时过度设计的问题,与他自己项目中的体验相符。
Scion 展示了一个具体变化,写代码加速之后,合并、检查和追溯会越来越影响交付。Anthropic 同时明确,这套设计只适合极大的代码库,Git 对绝大多数项目仍然合适。代码改得更多,到底有没有让产品更好,版本管理的计数回答不了。
出处(3)
- Redesigning source control at Anthropic · Anthropic
- Simon Willison 对 Scion 与工程取舍的评论 · Simon Willison
- Sapling 的历史背景 · Meta
内容有误?告诉我们,核实后会更正,并在这里写明改了什么。
评论
还没有人评论,来写第一条。
发表评论