跳到正文
IFAI

產業動態

Claude 逼瘋 Git:Anthropic 自研版本控制系統 Scion

首次發布 傳播指數 46

Anthropic 披露因 Claude 輔助程式設計讓每日程式碼合併量從 5 月的 2500 次暴增至 9 月的超 3 萬次,傳統 Git 難以承受,團隊歷時 5 個月自研並整體遷移至分散式版本控制系統 Scion,實現全雲端彈性擴充套件。

Claude 逼瘋 Git:Anthropic 自研版本控制系統 Scion
圖:anthropic.com

很多人還在討論 AI 會不會取代程式設計師,Anthropic 已經先被自家的 AI 給幹趴下了。不過被幹趴下的不是人,而是整個軟體行業用了二十年的 Git。

事情的起因很直接。Anthropic 在內部讓 Claude 自主跑研究迴圈、最佳化複雜系統、從零搭新服務,程式碼越寫越快。今年 5 月,他們每天合併進主幹的程式碼變更大概是 2500 次;到了 9 月,這個數字直接飆到了每天 3 萬多次,翻了整整 12 倍。

這時候瓶頸徹底變了。寫程式碼不再卡殼,卡殼的反而是給人類開發者設計的基礎設施。主分支歷史快 100 GB,壓縮後的工作副本超過 25 GB,CI 每天要做大約 2500 萬次檢出。如果按 Git 原生的方式拉取程式碼,每天能跑出 600 PB 的離譜流量。

給永遠線上的 Agent 重新造一套底座

為了扛住這種吞吐量,Anthropic 之前用盡了 Git 的各種補丁方案,比如淺克隆、稀疏檢出,甚至在內部搭了幾百個 Git 映象伺服器。但隨著合併量繼續爆炸,快照更新越來越跟不上節奏,映象磁碟和記憶體也頻繁被撐爆。

於是他們退後一步想了個問題:Git 最底層的設計假設是人會離線工作,所以每個人本地都得有一份完整的版本庫。但現在提交程式碼的幾乎全是 AI Agent 和自動化任務,它們從出生那一秒起就是永遠線上的,根本不需要離線功能。

想通這一點後,Anthropic 花了 5 個月造出了一套全新的版本控制系統 Scion,並把整個單一程式碼庫(monorepo)全盤從 Git 遷移了出來。更絕的是,寫 Scion 很多底層程式碼的,依然是 Claude 自己。

Scion 的設計思路徹底反了過來。它完全是服務端的、水平擴充套件的系統,全網沒有任何一個地方存著完整的倉庫副本。每次提交不再是一個完整的樹指標,而是記錄在預寫日誌(WAL)裡的變更集,提交立刻生效,不需要在多臺伺服器之間複雜加鎖同步。

客戶端則被極度削輕。它本地只維護有限的快取,很多 CI 任務要查改動甚至不需要檢出檔案,直接調服務端 API 就能拿結果;就算真的要落盤,也是按需虛擬化載入,讀多少算多少。除了 Scion,他們還順手自研了程式碼評審工具 Antique、程式碼搜尋和許可權系統。

為什麼重要

我們認為,Anthropic 這次的技術分享,給所有人劇透了 AI 時代軟體工程的下一個真實戰場。

對於絕大多數普通團隊和個人開發者來說,你現在完全不需要也不可能去換掉 Git。你的程式碼量還遠沒到把 Git 撐爆的程度,Scion 也是高度繫結的內部系統,並不對外開放。但這個訊號極其重要:軟體開發的瓶頸,已經正式從寫程式碼變成了吞吐程式碼。

對行業來說,它會倒逼開發工具鏈全面向 Agent 重構。當幾百個 Agent 不知疲倦地每秒提交程式碼時,人類現有的程式碼審查、CI 流水線、版本管理全都會像紙糊的一樣被沖垮。GitHub、GitLab 這類程式碼託管巨頭接下來必須想明白,怎麼服務那些永遠線上、不需要介面的 AI 客戶。

Anthropic 這步棋走得非常聰明,他們沒有死磕 Git 的各種修補補丁,而是看穿了 Agent 永遠線上這個本質,果斷砍掉了離線包袱。但這種做法看起來也有隱患:完全中心化、依賴強一致性儲存(比如 Spanner)的系統架構,極其考驗底層運維和網路可用性。一旦服務端抖動,整個研發流程就會徹底癱瘓,沒有任何本地兜底的可能。

來源 (1)

  1. [1]
    anthropic.com(在新分頁開啟)原文anthropic.com

每日 AI 內容精選