zovo.imzovo.im
首页›AI 快讯›正文

Codex 把 OpenAI 的代码仓库推到喘不过气,他们干脆重写了 Git 服务器

zovo约 2 分钟读完
一个工程师同时有好几个改动等着跑测试,每次推送又会让好几个任务去拉同一个提交——这是 Codex 普及后 OpenAI 内部代码仓库的日常。去年底开始,他们的单一大仓库(monorepo,所有代码放在一个仓库里)推送变慢、合并失败,可靠性有时跌到 90% 以下。11 月 2 日,OpenAI 发文介绍了他们的解法:自己写一个 Git 后端,叫 Pando。本文据官方博客整理,核对于 2026 年 11 月 3 日。

先说结果。按 OpenAI 的说法,Pando 上线后,推送(git push)的中位延迟降低了近 80%(文中也写作“近 5 倍”),合并更可靠,每天向客户端送出近 1 PB(约一百万 GB)的 Git 数据,曾在一小时内送出超过 57 TB。它现在承担 OpenAI 大仓库的全部开发工作,从 4 月起接入生产流量。工程师和 Agent 仍然用原来的 git 命令,没人需要换工具。

01慢在哪:所有人排同一条队

传统的 Git 服务器为了让你看到“整个仓库在同一时刻的样子”,会把所有分支的更新排成一条队。两个人推的是毫不相干的分支,也得互相等。读取时也一样:每个人拉代码,服务器都要现算一个只含他缺的那部分的压缩包,算力吃紧。Codex 让同时存在的分支和推送成倍增加,这两处就同时撑不住了。

02Pando 做的两个取舍

第一,写入时只保证“同一个分支的更新有先后”,不同分支各排各的,可以并行。代价是:同时看好几个分支的人,看到的可能不是同一个时间点。官方的判断是,实际工作中人和 Agent 只在乎同一分支内的先后,不在乎全库的统一时刻。

第二,读取时不再给每个客户端现算压缩包,而是把推送时收到的包原样存起来,拉取时挑出需要的几个直接发。客户端可能下到一些自己已有的对象,但服务器几乎不用算,同样的数据可以发给很多人。官方说用普通云主机就能让克隆和拉取跑满 10 Gbps 网络,缓存命中率超过 99%。

后台还会把小包合并成更大的包,这样落后很多的客户端不用一口气下载几万个小文件。

03一个顺带的细节:它主要是 Codex 写的

OpenAI 称 Pando 从开工到上线只用 10 周,核心架构由一名工程师设计,由多组 Agent 实现,少数工程师负责部署,用 Rust 编写。他们还用 GPT-6 Astra 写了 Lean 和 TLA+(两种用来形式化证明系统性质的工具)去找实现里的 bug。这些是官方自述,外界无法独立核对。

04能不能拿来用

暂时不能。Pando 没有开源,OpenAI 只说正在探索把相关技术分享给用户。能马上看到的是他们对 Git 本身的改动:多项已合入上游 Git,其余放在公开仓库 openai/git 里,比如并行下载和索引多个包、“explicit haves”(让服务器单独告诉客户端某分支的当前位置)。另外要留意,官方的模拟对比图是教学用的合成模型,不是生产基准;80% 这个数字也只来自他们自己的大仓库。

标签:
本文由 zovo 编辑撰写,转载请注明出处。

相关文章