top of page

在 OpenAI 擴展 Git:Pando 保留 Git,同時重構其後端

2 小時前
讀畢需時 12 分鐘

OpenAI 於 2026 年 11 月 2 日公布 Pando,並表示這個全新的 Git 後端將推送延遲中位數降低近 80%。其對「在 OpenAI 擴展 Git」的闡述,將這項成效歸因於一項明確的基礎設施決策:保留熟悉的開發工作流程,同時改變其共享基礎。

Pando 現時支援 OpenAI 單一程式碼庫中的開發;這是一個包含多個專案的共享儲存庫。OpenAI 表示,Pando 經過 10 星期開發後,已於 4 月投入生產。因此,這項公告描述的是已在運行的原始碼控制系統,而非尚待部署的方案。

核心取捨在於整個儲存庫的協調,以及跨分支獨立工作的平衡。GitHub 較早前的 DGit 架構,提供了透過複製儲存庫來擴展 Git 的歷史參考。Pando 則提出另一個問題:當編程代理產生更多並行活動時,哪些共享保證值得付出協調成本?

在 OpenAI 擴展 Git,將瓶頸移至指令背後

公告將開發者熟悉的 Git 工作流程,與負責提供該流程的基礎設施區分開來。

Git 是追蹤變更及交換專案歷史的軟件,既是熟悉的介面,亦包含一系列實作選擇。開發者會接觸到指令、分支及提交紀錄;基礎設施團隊則管理儲存、協調及傳輸系統,讓協作得以實現。

這兩個層面毋須同步改變。公司可以保留使用者慣用的指令,同時更換回應這些指令的服務中大部分組件。這個區別相當重要,因為基礎設施瓶頸並不會自動證明開發者介面存在限制。

根據 OpenAI 的 Git backend design,Pando 獨立協調各個分支,並重用已儲存的傳輸套件。它犧牲了跨分支的單一時間點視圖,亦有時會傳輸重複資料。

這些都是影響深遠的取捨。它們顯示 OpenAI 識別出其工作負載並非總是需要、但成本高昂的保證和最佳化措施。評估這個設計時,應以相關工作負載要求為準,而非將其視為現有託管系統的通用替代方案。

不妨考慮儲存變更與讓協作者取得該變更之間的差別。開發者可以完成本機工作,但共享系統仍可能延遲發布或擷取。更快產生程式碼,並不會消除這兩種延遲。

這就形成一個具有實際人員影響的基礎設施問題。在周邊工具能夠擷取、測試及呈現代理的輸出前,開發者無法評估它。從團隊角度而言,本機完成的工作在通過共享流程前仍未算完成。

同樣的區別亦適用於效能主張。推送延遲衡量的是將變更發布至遠端儲存庫所需的時間,並不衡量這些變更是否正確、有用、經過審查或可供部署。

因此,「在 OpenAI 擴展 Git」值得作為原始碼控制基礎設施的故事來關注。所報告的改善針對開發中的特定階段,其更廣泛價值取決於該階段在開發者實際遇到的延誤中所佔比例。

對基礎設施採購者而言,保留熟悉的工作流程還有另一項好處:可限制組織變革的範圍。更換後端仍可能需要大量工程工作;而更換協作語言,亦要求開發者及相連工具作出適應。

兩條路徑都不會必然較佳。關鍵問題在於,介面本身是否阻礙所需的工作負載,還是其背後服務需要不同的設計。

編程代理為共享開發服務帶來壓力

直接壓力落在發布、擷取及驗證工作的系統,而不只是程式碼生成本身。

OpenAI 將其原始碼控制壓力歸因於其編程代理系統 Codex。這種說法指出個人生產力與共享容量之間一項有用的區別。開發者能夠啟動更多工作,並不保證每項下游服務都能承受。

設想一名工程師向編程代理分派獨立的維護任務。每項任務會在獨立分支上產生候選變更;分支是具名稱的開發脈絡。發布這些分支,會為共享儲存庫服務帶來工作量。

測試增加另一項依賴關係。持續整合,即由開發活動觸發的自動檢查,必須先取得相關原始碼才可執行檢查。如擷取速度變慢,可用的測試容量便可能被困在原始碼傳輸佇列之後。

這個例子說明其機制,並不代表每個組織都會如此使用代理。實際壓力取決於任務頻率、儲存庫結構、測試設計,以及環境重用現有檔案的頻率。單憑採用代理,無法預測結果。

然而,規劃上的啟示相當清楚。當每名人員都能啟動重疊的工作時,計算活躍開發者人數已不足以估計基礎設施需求。團隊亦需要了解其開發工具在並行運作下的行為。

並行是指多項操作在重疊時段內同時推進。它有別於儲存庫大小,後者描述系統儲存了多少內容。即使儲存的歷史仍可管理,服務也可能因同步活動而面臨困難。

這項區別改變平台團隊應提出的問題。緩慢擷取可能反映傳輸路徑過載、準備工作成本高昂,或共享狀態的競爭。增加儲存容量只能處理其中部分成因。

壓力亦會傳導至工程經理。如代理更快產生候選變更,審查及測試便必須從額外活動中辨別有用的輸出。儲存庫操作是必要的負載指標,但並非交付價值的完整衡量方式。

縮短發布分支的等待時間有助協作,但不代表該分支理應獲批。將這些結果分開看待,可避免基礎設施改善演變成對軟件品質缺乏依據的主張。

對支援工程團隊的知識工作者而言,相關挑戰是當活動擴展時,仍要讓決策保持可理解。可搜尋的知識庫可以保留圍繞變更的技術脈絡。它與儲存原始碼歷史的用途不同。

組織層面的啟示是,應評估由擬議任務至獲接納結果的完整路徑。Pando 處理的是這條路徑的一部分。當原始碼控制延誤佔用大量時間,而開發者、代理或自動檢查原本只能等待時,它的重要性便會提升。

Pando 以共享協調換取獨立分支的進展

這項架構決策關乎何處需要達成共識,以及何處可讓不相關的工作分開進行。

共享開發系統必須防止衝突更新在無聲無息下互相覆寫。這項要求不代表每次更新都需要在整個儲存庫內達成共識。適當的界線取決於呼叫端預期觀察到甚麼。

假設不同代理更新互不相關的功能分支。要求這些操作共用一個協調點,會在原本互不依賴的任務之間建立關係。移除這種關係,便可為並行進展創造空間。

更困難的問題在於讀取端。檢視多個分支的工具,可能期望其數值代表同一個連貫時刻;另一個工具則可能只需要某個特定分支及支援它的歷史。

這些預期描述不同的合約。保留後者並放寬前者,可以減少協調,但相連的自動化工具必須理解這項區別。熟悉的指令本身無法傳達服務中每項內嵌假設。

這使 Pando 的設計不僅與效能工程有關。它要求組織辨識其工作流程實際使用哪些保證。沒有人需要的保證,仍可能帶來營運成本;未被記錄的保證,則可能成為隱藏依賴。

GitHub 提供了一個有用的歷史比較。其 2016 年的 distributed Git architecture 描述 DGit,後來稱為 Spokes,如何維持儲存庫複本,並在提交寫入前要求成功確認。

該架構透過複製處理可用性及持久性,為長期將 Git 作為可靠共享服務運行的工作提供脈絡。它不應被誤解為 GitHub 目前基礎設施的完整描述。

這項比較支持的結論,比宣告哪種架構勝出更為狹窄。不同的協調界線服務於不同工作負載;通用託管平台與內部開發環境,在相容性、營運及客戶期望方面亦面對不同要求。

對「在 OpenAI 擴展 Git」而言,有用的分界線在於獨立分支活動,以及需要更廣泛共識的操作。獨立一端取得的效能,並不會自動消除其他地方的競爭。

共享整合分支是一個明顯例子。不同提案可以並行推進,但最終合併仍須決定次序及相容性。基礎設施設計不能僅因更快接納變更,便令互相矛盾的程式碼變更變得相容。

這項區別可避免對水平擴展的常見誤解;水平擴展是指將服務容量分布到更多機器。當工作能夠分散時,額外容量有幫助;但當工作負載反覆要求就相同狀態達成共識時,幫助便較有限。

因此,架構評估應從依賴模式開始。有多少工作是獨立的?哪些操作互相競爭?哪些讀取端需要協調一致的視圖?這些答案決定放寬整個儲存庫的協調,究竟是有用的契合,還是不可接受的行為改變。

可重用的 Git 傳輸改變讀取的成本結構

反覆提供已準備好的資料,會改變伺服器運算、傳輸量及客戶端工作之間的平衡。

packfile 是 Git 用於傳輸或儲存儲存庫物件的壓縮套件。為特定讀取端專門準備套件,可以減少不必要的傳輸;重用現有套件,則可以減少準備工作。

兩個目標並非總是能同時取勝。較佳平衡取決於運算相對於頻寬的成本、讀取端有多相似,以及它們要求重疊歷史的頻率。高度針對性的傳輸,可能需要反覆付出高昂的準備成本。

Git 的 pack transfer protocol 描述客戶端與伺服器如何就所需及已持有的歷史進行協商。這種協商有助避免傳送不必要的內容,但亦會在傳輸本身開始前增加工作。

當許多讀者想要相近內容時,這個分別就變得重要。伺服器可以透過為每個回應度身訂造來節省頻寬。另一種做法是接受一定程度的冗餘,以高效率地分發預先準備的內容。

這是資源分配的決策,而非無條件的改進。系統可以減少伺服器工作量,同時增加傳輸的位元組數。這種取捨是否令用戶受惠,取決於傳輸發生的環境。

Git 的 通訊協定功能 支援透過獨立下載位置取得 packfile。這項功能在協商 fetch 與傳送底層位元組之間創造了架構上的彈性。fetch 會從另一個系統擷取儲存庫歷史紀錄。

將這些責任分開,讓不同元件可處理不同需求。協商服務回答讀者需要甚麼,傳送服務則搬運所選資料。兩者的容量需求未必會以完全相同的方式增長。

當請求重疊時,快取——即把可重用資料保留在接近使用者的位置的儲存機制——便能提供協助。其效用取決於重用程度。以全新或不常見請求為主的工作負載,與反覆擷取熱門歷史紀錄的情況,構成不同的運作環境。

這個分別應影響讀者如何理解吞吐量標題數字。吞吐量量度服務在一段時間內傳送的資料量,並不說明個別請求在傳輸開始前需要等候多久。

客戶端同樣重要。下載位元組只是取得可用歷史紀錄的一部分。開發環境必須先處理收到的資料,相關工作才能繼續。更快的傳送可能會暴露客戶端處理或本機儲存空間的新瓶頸。

舉例說,設想多個臨時測試環境要擷取同一個專案修訂版本。由於它們所需內容重疊,重用看來很吸引。再設想一個連線受限、而且已有大量歷史紀錄的環境;在那裏,冗餘傳輸的代價就會更高。

這些例子說明為何機制重要,但並不能確立普遍適用的結果。基礎設施團隊在選擇減少傳輸還是重用預備內容前,需要具代表性的量度數據。同一架構在不同地區、裝置和開發模式下,表現可以不同。

因此,OpenAI Pando 最適合作為設計方向的證據。更廣泛的工程問題是:有多少重複工作可以離開請求路徑,同時不會把不可接受的負擔轉移到客戶端或網絡。

效能聲稱需要工作負載背景

報告的結果支持內部部署的敘事,但要得出更廣泛的結論,仍需要可比較的量度數據和更清晰的運作邊界。

OpenAI 的延遲數字仍屬公司自行報告的結果。它們證明的是 OpenAI 所稱其環境中發生的情況,並不能獨立證實另一間機構採用相似架構選擇後應有的結果。

中位數,即量度分布中的中間觀察值,描述典型表現,卻未能解決最慢體驗的問題。當依賴流程必須等到擷取或發佈完成才能繼續時,這些較慢請求尤其重要。

因此,有用的評估應同時檢視典型效能及較慢一端的延誤,亦應區分成功操作、重試和失敗。較快完成的請求可以與平均值掩蓋的問題並存。

工作負載的定義同樣重要。獨立分支更新、共用分支的重複更新,以及擷取舊歷史紀錄,會觸發不同路徑。將它們合併為整體結果,可能掩蓋架構最有幫助的地方。

比較亦需要一致的起點。相同的客戶端歷史紀錄、網絡條件、儲存庫內容和所要求的結果,會令結果較易解讀。否則,看似服務方面的改進,部分或反映其他地方的差異。

同樣的謹慎也適用於模擬,即在特定假設下研究系統行為的模型。它們可以揭示協調成本,並說明預期關係,卻無法確立生產部署的每一種故障模式或營運開支。

這不是要否定架構模型。其價值在於令假設變得可見。讀者應能辨識哪些限制因素推動結果,以及這些限制是否與預期部署相似。

相容性也值得更精確的處理。指令相容性意味着開發人員能辨認自己所執行的操作。通訊協定相容性意味着系統可以交換彼此理解的訊息。行為相容性則關乎應用程式在這些訊息成功後所依賴的保證。

這些相容性形式互有重疊,但不可互換。工作流程可以保留熟悉的指令,同時要求基礎設施團隊檢視對觀察、排序或復原的假設。這項檢視應納入採用評估之中。

公開程式碼是另一條值得檢視的界線。OpenAI 維護了一個 Git client fork。客戶端儲存庫讓工程師有材料可供檢視,但不應與公開存取整個 Pando 後端混為一談。

對企業買家而言,可用性和支援仍有別於技術可信度。描述完善的內部架構是有用證據;受支援的外部服務還需要營運文件、存取控制、復原程序和明確責任分工。

因此,OpenAI 的 Git 擴展經驗應為基礎設施規劃提供參考,而不應成為採購捷徑。公告指出了一種值得研究的方法;部署決策仍需要證據,證明該方法符合買方的相依關係、工作負載及營運模式。

留意客戶端採用、工作負載證據及外部可用性

下一批有用訊號,關乎其他團隊能夠使用、獨立評估和營運甚麼。

第一個訊號是相關客戶端改進在 OpenAI 自家發行版本以外的採用情況。共享客戶端支援會加強這項工作的部分內容有利於現有 Git 環境的論點。若依賴專門發行版本,短期內可觸及的範圍便會較窄。

對關注 OpenAI Pando 的讀者而言,實際問題是哪些功能會成為其機構已支援客戶端的常規功能。原始碼可用與受管理開發環境中的普遍可用,代表採用的不同階段。

這個訊號很重要,因為基礎設施變更很少會同時到達所有地方。開發人員手提電腦、測試映像、自動化容器和託管執行環境,可能遵循不同更新時間表。當這些環境具備所需功能時,後端設計會較易採用。

第二個訊號是更廣泛的工作負載證據。涵蓋不同分支模式、客戶端狀態和網絡條件的量度數據,會令架構較易評估。它們會顯示其優勢在哪裏持續,以及其取捨在哪裏變得昂貴。

特別有用的證據,會把服務效能與開發人員成果連繫起來。更快發佈最重要的時候,是它能減少實際開發流程中的等候時間。較低的基礎設施指標具參考價值,但其實際價值取決於之後發生甚麼。

來自原始機構以外的結果會進一步加強信心。它們毋須重現完全相同的數字;不同環境就底層行為達成一致,會比符合標題式的改善幅度更有資訊價值。

相反,若證據顯示收益高度依賴異常有利的條件,結論便會收窄。這不會否定內部部署,卻能協助其他團隊辨識何種情況下值得考慮相似設計。

第三個訊號是具體的外部產品或發佈。讀者應留意明確的可用性、已記錄的介面和營運邊界。這些細節會區分他人可採用的技術,與只能研究的架構。

公開發佈亦會帶來有關支援和部署的新問題。誰營運儲存層?需要哪些客戶端功能?發生故障時會怎樣?這些答案對採用的影響,不會低於標題中的效能數字。

在這些訊號出現前,公告仍有一個更即時的用途:它讓平台團隊能聚焦檢視,其開發系統是否假設的並行程度低於現時編碼工作流程所產生的程度。

合適的回應,是在現有環境中收集證據。將發佈延誤與擷取延誤分開。識別重複傳輸。檢視共用分支周邊的競爭。把每一項延誤連繫到它所阻礙的工作,而非把每項儲存庫操作都視為同等重要。

在下一次基礎設施檢討中,將 OpenAI 的 Git 擴展經驗視為提示:找出已完成的編碼工作在哪些地方正等待共用服務。問問哪些延誤源於必要協調,哪些則源於你的工作負載已不再需要的實作選擇。保留發布流程真正依賴的保證,並在改動其下的服務前把它們記錄下來。然後以具代表性的開發活動(包括故障及較慢請求)比較架構選項。有用的問題很具體:你的原始碼控制系統哪一部分限制團隊可評估及交付的工作?回答這個問題,會令日後任何關於 Pando、託管 Git 或內部後端的決定更容易辯護。

 
 

為每個智能代理提供更完整的背景,提升工作表現

讓智能代理連接 remio 已整理好的知識、決策和歷史紀錄。

remio 目前支援 Windows 10+(x64) 及配備 Apple 晶片的 Mac。

你的 AI 工作夥伴
和 remio 一起高效工作

規劃、創作、交付
一站式完成

bottom of page