← 返回博客
Ai预计阅读 10 分钟

Anthropic 自研 Git 替代方案:当代码体量超出人工审查

发布于 2026年10月16日
Anthropic 自研 Git 替代方案:当代码体量超出人工审查

当为人类节奏打造的工具遇上机器节奏

据 Simon Willison 对这一变化的记录,Anthropic 已经自研了一套 Git 的替代方案。触发原因既不是 bug,也不是安全事故,而是体量。落入公司代码库的变更速度急剧攀升,到 2026 年 5 月,平均每个周期约有 2,500 次请求,这样的负载是传统版本控制在设计之初从未考虑要承载的。

人们很容易把这件事归入内部工具范畴然后略过,但那样就错了。Git 是有史以来最重要的软件之一,它建立在关于代码如何变更的一整套假设之上,而这些假设如今在实践中正被打破。

Git 赖以建立的假设

Git 的设计内嵌了一种对人行为的信念:变更以一个人能看的速度到来;一个分支代表一种能持续到足以被命名的意图;历史弥足珍贵,所以什么都不会被丢弃;维护者能读完一份 diff,在合并之前形成判断。

当智能体开始写代码时,这些假设每一条都在松动。

智能体不会疲倦,因此它们持续产出变更,而不是按一个工作日的大小成批交付。它们不会把一种意图保持好几天,因此分支的生命周期短到给它命名本身就是负担。它们生成的 diff 远超人类审查者能真正读懂的数量,这意味着 Git 整个工作流所围绕的审查环节,从一道保障变成了一个瓶颈。

结果就是:一个远在设计边界之外运行的系统,而所有人都坚持说一切没变。仓库照常可用,但它周围的流程已经不再意味着过去那些含义。

深色表面上发光的枝条呈树枝状蔓延,数量远超基底那只手所能触及的范围,大部分枝条未被标记,示意代码体量已超出人工审查能力

真正最先崩掉的是什么

最直接的担忧是存储,结果它反倒是最不成问题的。磁盘很便宜,Git 的压缩也做得很好。

第一个真正的牺牲品是审查。一个由智能体生成、diff 有 4,000 行的 pull request,理论上可审查,实际上不可审查。审查者会做出人类在过载时一贯的反应:快速略过、信任摘要、批准。审查作为一种仪式存活了下来,却丢掉了它的功能,而这比直接取消更糟,因为仪式会制造虚假的信心。

第二个牺牲品是身份。Git 的历史记录了谁在何时决定了什么。当大多数提交的作者是响应提示词的模型时,历史里仍然有名字,但这些名字已无法回答历史本应回答的问题。你没法去问一个智能体六周前为什么选择某种方案,因为它不记得,而那条提交信息正是由做出该选择的同一个系统生成的。

第三个牺牲品是分支本身。在 Git 里建分支很便宜,但在人的注意力上很昂贵。如果分支的增长速度快过任何人能顾及的速度,你就会积压下一堆无人持有的意图,这和合并冲突是另一种失败,也更难被看见。

为什么替代方案不只是更快的 Git

如果问题只是吞吐量,那修法就是换台更快的服务器。Anthropic 选择另起炉灶,说明问题出在结构上。

一套为机器节奏的变更而优化的版本控制系统,会在一些具体方面长得不一样。它会假定大多数变更是短暂的,创建要便宜、丢弃也要便宜。它会把 diff 当作摘要而非最终产物,并为每个变更附加机器可读的意图,好让智能体日后无需读代码就能找到它。它会为检索而生,而不是为考古而生。

它还需要回答一个 Git 从来不必回答的问题。Git 假定有价值的产物是代码的最终状态。而在智能体驱动的工作流里,有价值的产物常常是产生某个变更的推理过程,以及验证它的那些检查。如果这些内容存放在版本控制之外,那么版本控制就只记录了历史的一半。

平时没人想起、需要时才发现的记录

版本控制不只是归档系统,它是计费、合规与事件响应的底层支撑。审计人员想知道谁在何时改了什么;受监管行业想要一份经得起审查、站得住脚的记录;安全团队从提交里重建时间线。

如果这些问题的诚实答案变成“某个智能体干的,在一个已经不存在的分支上,而推理过程停留在一个早已被丢弃的上下文窗口里”,那么记录上就出现了一个洞。记录上的洞恰恰是审计生来就要找出的东西,而一个会在无人察觉的情况下制造这种洞的工具,远在成为丑闻之前就已经是严重问题。

更广泛的信号

感受到这种压力的不只 Anthropic,同一故事的缩小版在其他地方也已显现。GitHub 最近重做了它的仓库 star 历史 API,让趋势数据用 24 次请求就能返回,而不是大约 2,500 次,同时既不需要无边界的数据库工作,也不会暴露单个 star 用户。GitHub 还上线了一个具备上下文感知的密钥检测分类器,把真实发现的接受率提高了 11.5%,同时把扫描时间中位数削减了 86%。

两者回应的是同一种底层状况:世界上的代码体量在上升,而那些在人类是唯一作者的时代造出来的工具,正开始显出老态。密钥检测是个很好的例证。凭证泄露的风险随代码书写量而放大,所以一套在人类产出速率下够用的系统,到了智能体产出速率下就不再够用,哪怕它的设计一点没变。

没人愿意大声说出的那一部分

这个故事有一个版本是:AI 让软件团队的生产力大幅提升,工具也跟了上来,大家都没事。

还有另一个版本:生成代码的体量增长超出了人类理解它的能力,行业最终留下一堆没有哪一个人能完整读懂的仓库,靠没人写过的测试和没人执行过的审查勉强维系。这个版本的前兆不是崩溃,而是一种缓慢的漂移:代码库照常运转,而真正理解其中缘由的人越来越少。

从这个角度看,替换 Git 是一个值得注意的症状。它意味着业内最谨慎的公司之一认定,那件标准工具恰恰在追踪正确性的那一层变成了负债。这不是一个小表态。它是一个信号:软件的基础设施正被要求以快过其假设所能跟上的速度改变。

对其他所有人来说,务实的应对并不浪漫:衡量你的代码里有多少是机器写的;观察你的审查环节是否还能改变任何东西;留意你的历史是否还能回答“为什么”。这些问题成本很低,而答案会告诉你,你需要的是一个新工具,还是仅仅一个新习惯。

相关文章