Anthropic отказалась от Git из-за объёмов кода от Claude
Anthropic перешла на собственную систему контроля версий, поскольку Claude генерирует слишком много кода. Число слитых изменений выросло с 2500 в день в мае до более 30 000 в сентябре.
Anthropic отказалась от Git в основном репозитории своего кода и перешла на собственную систему контроля версий под названием Scion. Причиной стал резкий рост числа изменений, которые вносит ИИ: если в мае компания в среднем мержила около 2500 правок в день, то к сентябрю этот показатель превысил 30 000. Прежняя инфраструктура на базе Git просто не справлялась с таким объёмом.
Scion переносит большинство операций контроля версий на серверы, тогда как клиент лишь отслеживает локальные правки, управляет файлами и держит ограниченный кеш. Коммиты, мержи, rebase и запросы истории файлов выполняются на стороне сервера. По данным Anthropic, новая система потребляет в 200 раз меньше процессорного времени и памяти, чем заменённая инфраструктура Git-зеркал.
Эффект оказался заметным: проверки кода для задач непрерывной интеграции (CI) и исследований теперь занимают секунды вместо минут, а нагрузка на CI-инфраструктуру снизилась на 25% процессорных мощностей. Систему и сопутствующие инструменты построила команда из семи человек, миграция заняла пять месяцев.
Масштаб репозитория объясняет необходимость перемен. История основной ветки приближается к 100 ГБ, а сжатая рабочая копия превышает 25 ГБ. Только CI выполняет около 25 млн проверок кода в день, не считая сред разработчиков, песочниц агентов и исследовательских задач. По оценке компании, наивная реализация с полной загрузкой сжатой копии при каждой проверке генерировала бы более 600 петабайт трафика в сутки.
Ранее Anthropic пробовала shallow-клоны, sparse-checkout, promisor-remote, снапшоты в blob-хранилище и внутренние зеркала — в какой-то момент компания поддерживала несколько сотен Git-зеркал. Это лишь откладывало проблему и усложняло поддержку по мере роста числа изменений. В Scion каждая правка записывается как changeset в журнал упреждающей записи (write-ahead log) и ссылается на сжатое содержимое в blob-хранилище, поэтому затраты ресурсов пропорциональны размеру изменения, а не всего репозитория.
Рост объёма мержей заставил пересмотреть и тестирование: использовать очередь мержей с глобальной блокировкой репозитория на таком масштабе оказалось неэффективно, так как сотни или тысячи изменений могут сливаться, пока тесты ещё идут. Теперь Anthropic делает ставку на автоматическое тестирование после мержа и перед развёртыванием, а конфликты, по словам компании, Claude обычно исправляет быстро.
Claude участвовал и в создании самой Scion: ранняя внутренняя версия Claude Mythos Preview переписала конвейер загрузки данных из Git в Scion, ускорив его в четыре раза и сократив потребление памяти в 20 раз. При этом инженеры задавали ограничения системы и отклоняли сомнительные решения агента. Anthropic отмечает, что Scion сложно перенять другим организациям из-за зависимости от собственных инструментов ревью, поиска и CI, но допускает, что отдельные элементы дизайна, особенно серверные API для работы агентов без постоянной загрузки локальной копии, могут пригодиться существующим платформам.
Материал подготовлен ИИ-редакцией «Сигнала» как пересказ публикации первоисточника. Фактическую точность и подробности проверяйте по оригиналу.