跳到主要內容

Scion 解析:Anthropic 每天合併三萬次,Git 之後誰來驗收?(2026)

最後更新: ·
Scion 解析:合併變快,交付呢?共用快取與版本服務的 AlphaLab 原創示意

2026 年 10 月 13 日,Anthropic 在工程部落格發布了〈Redesigning source control at Anthropic〉,公開內部版本控制系統 Scion。團隊稱,每日合併的程式變更從 5 月約 2,500 次,增加到 9 月超過 30,000 次,並在五個月內把大型單一程式庫從 Git 遷移過去。值得追問的是:當 AI 讓寫程式變快,交付軟體的其他環節能跟上嗎?

Scion 原文頁首:Anthropic 的版本控制工程文章
圖/Anthropic 官方工程文章頁首截圖;AlphaLab 加入瀏覽器外框,點圖可閱讀原文。

這篇先說清楚原文改了哪些設計,再把內部數字與外部證據分開,最後討論合併、測試與故障責任。核心結論是:Scion 展示了讓大量線上 Agent 共用程式資料的一條路;合併量增加,仍要用品質與完整交付成本來驗收。

Scion 的起點:工作不再只等人寫完

Monorepo 是把多個專案放在同一個程式庫;CI 則是在程式變更後,自動執行建置與測試的流程。想像一間工廠:寫程式是加工,取得正確版本是領料,測試與審查是驗收。加工速度大增,倉庫與驗收站也可能排起長隊。

Anthropic 把瓶頸放在這裡:原文稱主分支歷史接近 100 GB,壓縮後的工作副本超過 25 GB;光 CI 每日就有約 2,500 萬次 checkout。文中「超過 600 PB/日」是把龐大副本反覆直接抓取的假設性流量估算,不能寫成他們實際傳了這麼多資料。

Anthropic 自報 2026 年一至九月每日合併變更圖
圖/Anthropic 原文。藍色為 Pull requests,橘色為 Antique change requests;合併次數是內部流量指標,不等於功能價值或品質。

這張圖證明的是發布方如何描述自己的負載。約 2,500 到超過 30,000,依兩個概數是約十二倍的量級;不能進一步推成每位工程師效率提高十二倍。任務切分、人數、變更大小、返工比例與上線成果,都會影響這個解讀。

Scion 的改變:把版本控制變成線上服務

Clients are always online.

中文:用戶端始終在線。

Anthropic 原文

這句話是系統設計的前提。Anthropic 認為,內部主要使用者是連網的 Agent 與工作排程,因此可以讓伺服器處理歷史查詢、blame、建立提交、合併與 rebase;用戶端留下有限的快取、檔案與操作介面。原本得先拿到大量資料才能回答的問題,改成呼叫 API。

但原文以「每份 Git clone 都是完整副本」說明預設模型,讀者要補上一個條件:Git 已有不完整取得資料的正式機制。Git 的 Partial Clone 文件明確說明可以延後下載物件、需要時再抓取;Shallow 與 Sparse 又分別處理歷史深度與工作目錄。Scion 的差別在於整套服務、資料結構與協定一起圍繞線上需求重建,並非發明「少下載」這件事。

The working copy is optional, and sparse by design.

中文:工作副本是可選的,而且設計上就採稀疏方式。

Anthropic 原文

如果 CI 只想知道兩個版本差在哪裡,可以直接問伺服器;需要檔案時,才取指定目錄或實際讀到的內容。這把「先建立完整工作環境,再問一個小問題」改成「先描述問題,取回必要資料」。想動手比較 Git 現有選項,可接著看 Git Repo 瘦身的三組實作。

資料結構與快取:同一份內容,盡量只搬一次

原文的基本單位叫 changeset:它記下相對第一個父版本改了哪些檔案,檔案內容則用內容定址的指標連到壓縮儲存。歷史、blame 與提交關係另建衍生索引,可預先算,也可等查詢時再算。這是把「接收變更」與「回答各種問題」拆開,避免每次新增少量程式都付出整座程式庫的成本。

Scion 仍支援 refs;原文並沒有說它取消分支或標籤。它描述的是讓 changeset 的建立與取得不必依賴移動 refs,另外以 Spanner 單列的 compare-and-swap 更新指標。把「減少全域協調」說成「整個系統完全沒有一致性成本」,會越過原文證據。

Scion checkout 架構:每節點 daemon、區域快取與伺服器
圖/Anthropic 原文架構圖。物件請求經節點 daemon、區域 scion-cache 與權威 scion-server;區域層的失效隔離也是設計的一部分。

同一台機器上的工作共用 scion-daemon,區域 scion-cache 再共用物件;只有沒命中的資料往上游找。用內容識別且不再改變的物件,容易跨工作重用。圖中的分層也有另一個任務:區域快取故障時,避免所有請求直接湧向上游。省掉重複運算,與控制故障擴散,要一起成立。

Anthropic 自報每層快取命中率超過 99%、版本控制基礎設施的 CPU 與記憶體需求約縮至舊 Git 鏡像架構的二百分之一,CI 與研究工作的 checkout 快約兩個數量級,CI 另釋出約 25% CPU 容量。這些是不同範圍的內部比較,不能相乘,也不能翻成整間公司成本降低二百倍。本文沒有存取其私有系統,這些收益保留為發布方自述。

外部對照:大型程式庫早有先例,Agent 改變的是負載

把大型程式庫做成集中服務,已有可核對的工程歷史。Google 在 2016 年的原始論文介紹大型單一程式庫及其支援系統;Meta 的 Sapling 官方文件也把可擴充性列為核心,並區分內部伺服器與虛擬檔案系統、以及可與 Git 程式庫互動的 CLI。這支持「集中服務與按需資料有先例」,並不獨立證實 Scion 的性能數字。

Scion 的新鮮之處,在於 Anthropic 自述的使用者組成:大量短命、連網、頻繁啟動的工作。一份資料被取用幾次、能否在機器與區域間重用,可能比單次提交的介面更影響總成本。這個因果機制合理,是否值得重建系統,仍取決於實際負載。

品質問題也有外部研究可以提醒我們。DORA 的研究解讀指出,2025 年調查中,較高 AI 採用同時與交付吞吐量增加、交付不穩定增加相關。這是組織調查關聯,不能拿來斷言 Scion 品質變差;它提醒的是:產出與穩定性應分開量。

七人、五個月:工程師的工作移到哪裡?

原文稱七人團隊在五個月內建好 Scion、審查工具 Antique 與多個周邊系統,並完成遷移。它還描述,內部早期 Claude Mythos Preview 改寫一段匯入流程後,記憶體使用降至原先約二十分之一、速度約四倍。這是單一內部案例,模型版本、任務與驗收條件都有限,不能當作讀者現在能重現的通用性能承諾。

Engineers are no less valuable, but their work is changing.

中文:工程師的價值沒有減少,但工作正在改變。

Anthropic 原文

最有內容的部分,是作者承認工程師常得對 Agent 說「不」:阻止它線性掃描歷史來找一個本來能向服務查到的答案,也阻止對抗審查導致不必要的防禦與複雜度。團隊稱仍審查每個 change request,但重心轉到變更意圖。這與「讓模型自己負責一切」相距甚遠。

原文也提到隔離模擬、模糊測試、目錄權限、依變更語意區分批准,以及觀察元件遙測的 Agent。這些是團隊描述的品質與營運安排;「做了很多測試」仍要由故障、修復和部署結果檢驗。若要理解工具與驗收層如何接起來,AgentSWE 的需求到交付分析提供另一個切面。

合併之後才測,風險落在哪裡?

原文說,當測試期間又有成百上千個變更合入,團隊難以有效複製全域鎖住的 merge queue,因此投資在合併後與部署前的自動測試。這不是「取消測試」,而是調整隔離問題的時點。作者也承認並行變更可能衝突,並主張 Claude 能快速修好;後半句同樣是內部觀察。

這個選擇的成敗,要看壞變更進入主線後,多久被發現、能否準確歸因、是否擋住部署,以及回退要付出多少成本。若多個工作依賴同一個已壞版本,衝突修得快,仍可能伴隨大量重跑。讀者真正需要的成績單,是從提出變更到通過驗收、部署與持續運作的整段路。

AlphaLab 的判讀:值得借鏡的四個選擇

一、我同意把基礎設施當成 AI 能力的一部分

當模型產生變更更便宜,下載、建置、查詢與驗收就可能成為新的限制。只升級模型,等待時間未必等比例下降。Scion 最值得學的是先改變重複工作的方式:能共用的資料共用,能用 API 回答的問題先別建立工作副本。

二、我存疑的是把合併曲線直接叫作生產力

一次合併可能是一項重要修復,也可能只是很小的拆單或返工。若要支持「效率更好」,還得知道合格成果、人工時間、模型用量、測試資源與事故成本。Anthropic 同時是 Claude 的供應者與使用者,有動機展示成功案例;這使比較條件值得追問,並不能單憑動機判定數字為假。

三、把計算搬到伺服器,就要接住服務責任

用戶端少做事,依賴就更多落到網路、權威服務、權限與快取失效控制。成本不是憑空消失,而是重組。採用類似設計時,要先測區域故障、上游限流、錯誤權限與回退,才知道集中服務帶來的節省是否能持續。

四、一般團隊先確認自己卡在哪一站

Anthropic 自己明言 Scion 不適合作為一般用途的 Git 替代品,也承認其內部可花的 token 遠超多數企業願意承擔的程度;審查、搜尋與 CI 又高度客製。這足以否定「大家現在都該換掉 Git」的建議。原文對外的訴求,是把部分伺服器架構與協定想法帶回 Git 生態。

下一步:先量等待,再決定改哪一層

找一項常做、可回退的變更,記下取得版本、建置、測試、審查、修正與部署各花多久;同時記錄失敗、重跑與人工介入。若大部分時間耗在重複取資料,先試快取與取得範圍;若卡在驗收,先改善任務切分、測試與回退。把輸出、正確率與成本分開量的觀念,也適用於這張交付成績單。

原文預期這類問題會在接下來六至十二個月更常見。從 2026 年 10 月 13 日起算,可在 2027 年 4 至 10 月觀察其他團隊是否遇到相似負載,以及 Git 平台是否吸收這些設計。這是可回頭檢查的產業預測,並非已發生的普遍遷移。

Scion 最有用的啟示,是讓每一項速度改善都找到下一個驗收點。每天能合併三萬次之後,接著問:多少成果可靠地到達使用者,出了問題又能多快收回來?

接著閱讀

左右滑動查看更多推薦

ALPHALAB 社群

有問題?來 Telegram 聊

和 Terry、編輯、其他網友一起討論這篇文章。提問、分享觀點,回覆更即時。

加入 Telegram 討論

📩 訂閱 AlphaLab 電子報

每週最多三封:一封 Weekly 週報與最多兩封關鍵 Alpha Signal。

我們不會 spam,隨時可退訂。已訂閱?管理主題偏好(會寄登入連結到你的信箱)