Anthropic 把自家单体仓库里的 Git 换成了 Scion。最省事的解读是"Git 撑不住大仓库了",但真正的断点不在体积,而在检出量。
在这个仓库里,几乎每个客户端都是 CI 任务或智能体沙箱:永远在线、生命周期极短、以百万级数量被创建。对它们来说,完整本地克隆纯属额外开销,几百个镜像副本也救不了场。
Scion 的思路是把活儿挪到服务端。客户端只向服务器索要自己缺的那部分对象,每一次查询同时也是一个 API。Anthropic 给出的数字是:缓存命中率 99%+,占用空间比镜像集群小 200 倍,并释放出 25% 的 CI CPU。
Scion 本身装不了,但有两个思路在普通 Git 上今天就能用。
第一,别再为了问问题而克隆。让一个小服务持有一份镜像,替所有任务回答"改了什么""合并基点在哪"这类问题。
第二,让检出成本跟着改动走:
git clone --filter=blob:none --no-checkout --sparse "$REPO_URL" srcgit -C src sparse-checkout set --cone services/payments buildgit -C src checkout --detach "$HEAD_SHA"
那个查询服务大约 100 行 Python 就能写出来。稀疏检出会在哪些地方出问题,以及 Scion 与 Sapling、Piper、Scalar 各自怎么比,是另一个值得展开的话题。
热门跟贴