OpenAI представила Pando — собственный серверный бэкенд Git, который теперь обслуживает весь разработческий трафик её монорепозитория. Клиент и протокол остались стандартными: инженеры и агенты Codex по-прежнему выполняют git push и git fetch, изменился только сервер. По данным команды OpenAI, медианная задержка push снизилась почти на 80%, а суточный объём отдаваемых Git-данных приближается к одному петабайту.
Бэкенд написан на Rust, дошёл до продакшена за 10 недель и обслуживает реальный трафик с апреля 2026 года. Ядро спроектировал один инженер, реализацию вели команды агентов Codex. Все цифры производительности ниже — самозаявленные OpenAI; независимого бенчмарка пока нет.
Зачем понадобился новый Git-бэкенд
Причина — параллельная работа агентов. По графику коммитов OpenAI, число коммитов, попавших в master, в третьем квартале 2026 года выросло на 1 378% относительно первого квартала 2024-го, а оценка на четвёртый квартал 2026-го — +2 442%. Каждый push теперь порождает множество CI-загрузок. К концу 2025 года fetch и push замедлились, merges стали падать, а надёжность временами опускалась ниже 90%. Вывод OpenAI: узкое место — не сам Git, а то, как сервер его обслуживает.
Два отказа от привычных допущений
Pando снимает два условия, которые большинство Git-серверов считают обязательными.
Отказ от согласованности в масштабе репозитория. Обычные серверы упорядочивают все обновления ref по всему репозиторию, поэтому несвязанные push ждут друг друга. Pando использует причинную согласованность: каждая ветка сериализуется отдельно, конфликт возникает только при push в тот же ref. Плата за это — читатель, смотрящий несколько ветвей, может увидеть их на разных моментах времени.
Отказ от уникального packfile на клиента. Стандартный сервер собирает свежий pack на каждый fetch. Pando хранит каждый присланный pack как неизменяемый blob, а «версию ref» кладёт в масштабируемое хранилище метаданных. Push требует O(1) чтений и записей метаданных, fetch — O(log Δ) чтений, где Δ — разрыв версий ref, который нужно закрыть.
Как push остаются маленькими
При миллионах веток полная выдача ref может превысить 100 MiB. Pando объявляет базой для новых feature-веток только trunk: любой читатель с историей trunk забирает ветку из одного сохранённого pack. В монорепозитории OpenAI медианный pack оказался меньше 20 KiB. Обратная сторона: повторный или стековый push ветки пересылает всё, что вне trunk, — p99 pack при этом меньше 3 MiB.
Доставка на скорости линии
Ссылки на скачивание Pando отдаёт через packfile-uri — существующую возможность протокола Git, — а inline pack отправляет пустым. Кэширующий сервис Express держит packs регионально, применяя consistent hashing; попадание в кэш выше 99%. Сборку мусора заменяют фоновые воркеры: они группируют packs в геометрически растущие «покрытия» по образцу компакции LSM-дерева. Сейчас монорепозиторий использует покрытия до L4; они работают как skip list, поэтому выбор pack идёт за логарифмическое время.
Цифры в продакшене
- медианная задержка push ниже почти на 80% (примерно в 5 раз);
- почти 1 ПБ Git-данных в сутки на нескольких ядрах CPU;
- свыше 57 ТБ packs, отданных за один час, более 99% — с локального дискового кэша;
- clone и fetch насыщают канал 10 Гбит/с на стандартных облачных ВМ;
- тысячи одновременных авторов push без деградации по собственному тестированию OpenAI.
Отдельно OpenAI прогнала симуляцию с 1 000 пишущих клиентов против схем с трёхфазным коммитом и журналом упреждающей записи. Сама компания называет эти модели обучающими, а не бенчмарками.
Чем Pando отличается от альтернатив
| OpenAI Pando | GitHub Spokes | Anthropic Scion | |
|---|---|---|---|
| Совместимость с клиентом Git | Да | Да | Нет, свой клиент scn |
| Координация записи | По веткам, причинная согласованность | Трёхфазный коммит с кворумом | Серверные коммиты, refs через compare-and-swap |
| Реплики по умолчанию | Не раскрыты (хранилища blob и метаданных) | 5 полных копий | Нет полностью материализованной копии |
| Путь чтения | Переиспользование packs через packfile-uri, кэш Express |
Ближайшая синхронная реплика | Многоуровневые кэши деревьев и blob |
| Попадание в кэш | Выше 99% | Не раскрыто | Выше 99% на уровень |
| Главный результат | Медианный push быстрее на ~80% | Обслуживает ~1 млрд репозиториев | В 200 раз меньше CPU и памяти |
| Затраты на разработку | 10 недель, Rust | Не раскрыты | 7 человек, 5 месяцев |
| Доступно другим | Нет | Да, работает в GitHub | Нет |
Как Pando внедряли и что вернули в upstream
OpenAI написала набор тестов на соответствие Git для агентов и добавила детерминированное симуляционное тестирование. Агенты на GPT-6 Astra писали спецификации на Lean и TLA+, чтобы находить ошибки. Сначала Pando работала как read- и write-through прокси, поэтому трафик переехал без простоя. Свою сборку Git OpenAI поставляет на машины разработчиков и в десктопное приложение ChatGPT.
В upstream Git ушли исправления обработки одновременных, прерванных и возобновлённых загрузок pack, а также трассировка packfile-uri. Собственная сборка добавляет параллельную индексацию packs и «explicit haves». Часть исправлений уже принята, остальные лежат в публичном трекере патчей.
Ограничения
Pando не открыта: команда OpenAI говорит, что ищет способы поделиться технологией. Кросс-веточное чтение не даёт единого снимка на момент времени. Повторный и стековый push пересылает всё вне trunk. И все показатели производительности — самозаявленные.
Что это значит для админа
Для тех, кто держит собственный Git-сервер, новость полезна прежде всего набором идей, а не готовым продуктом: причинная согласованность по веткам, хранение присланных packs как неизменяемых объектов и раздача через packfile-uri с региональным кэшем. Эти приёмы применимы и к обычным self-hosted инсталляциям, если упор идёт в параллельные CI-загрузки. А вот исправления клиентской части OpenAI отдаёт в upstream — их стоит ждать в следующих сборках Git. Смежная тема — отчёт OpenAI о кодинг-агентах в научных вычислениях, где Codex и Claude Code ускоряют расчёты; там же видно, насколько вырос объём автоматических коммитов. О том, как агенты GPT-6 Astra работают с компьютером, читайте в материале GPT-6 Astra: контекст 1,05M токенов.
Частые вопросы
Что такое Pando?
Серверный бэкенд Git от OpenAI, совместимый со стандартным клиентом и протоколом. Он обслуживает весь трафик монорепозитория OpenAI, написан на Rust и работает в продакшене с апреля 2026 года.
Нужно ли менять клиент Git?
Нет. Инженеры и агенты Codex продолжают выполнять git push и git fetch как раньше. Меняется только серверная часть; OpenAI дополнительно поставляет свою сборку Git на машины разработчиков и в десктопное приложение ChatGPT.
Насколько быстрее стал push?
Медианная задержка push снизилась почти на 80%, то есть примерно в 5 раз. Цифра самозаявленная, независимого бенчмарка нет.
Какой объём трафика выдерживает Pando?
Почти 1 ПБ Git-данных в сутки и свыше 57 ТБ packs за один час, более 99% из них — с локального дискового кэша. Clone и fetch насыщают канал 10 Гбит/с на стандартных облачных ВМ.
Можно ли развернуть Pando у себя?
Нет. Pando не открыта; команда OpenAI сообщает, что изучает способы поделиться технологией. Публично доступны только патчи клиентской части Git в трекере.
Чем это отличается от GitHub Spokes?
Spokes совместим с клиентом Git и использует трёхфазный коммит с кворумом и пять полных копий по умолчанию; Pando координирует запись по веткам с причинной согласованностью и не раскрывает число реплик. Главный результат Spokes — около 1 млрд обслуживаемых репозиториев, Pando — ускорение push.
Какие ограничения у Pando?
Нет единого снимка при кросс-веточном чтении, повторный push ветки пересылает всё вне trunk (p99 pack меньше 3 MiB), проект закрыт, а все показатели производительности заявлены самой OpenAI.
Что из Pando попало в обычный Git?
Исправления обработки одновременных, прерванных и возобновлённых загрузок pack и трассировка packfile-uri. Часть исправлений уже в upstream, остальные — в публичном трекере патчей.
Источник: marktechpost.com