programmatūra · 6 min · 14.10.2026

Anthropic pamet git savā monorepo: Scion apkalpo 30 000 ieliešanu dienā un 25 miljonus checkout

Anthropic maijā savā monorepo ielēja apmēram 2500 izmaiņu dienā. Septembrī šis skaitlis pārsniedza 30 000. Pie tādas slodzes git kļuva par galveno ierobežojumu, tāpēc uzņēmums to nomainīja ar paša būvētu versiju kontroles sistēmu Scion.

Septiņu cilvēku komanda sāka darbu janvārī un piecos mēnešos pilnībā pārcēla monorepo prom no git. To uzņēmums apraksta savā inženierijas blogā, kas publicēts 13. oktobrī. Scion nav domāts kā git aizstājējs plašai publikai. Tas risina problēmu, kura rodas tikai milzīgos repozitorijos ar daudziem automātiskiem klientiem.

Kāpēc git vairs neder

Git glabā pilnu vēstures kopiju katrā klientā un ir būvēts darbam bezsaistē. Anthropic klienti vairs nav cilvēki pie savām darbstacijām. Gandrīz visi pieprasījumi nāk no vienmēr tiešsaistē esošiem Claude aģentiem un automātiskiem darbiem.

Galvenā zara vēsture aizņem gandrīz 100 GB. Saspiesta darba kopija ir vairāk nekā 25 GB. Tikai CI vajadzībām uzņēmums dienā veic apmēram 25 miljonus checkout, neskaitot izstrādātāju vides, aģentu smilškastes un pētniecības darbus. Lai to apkalpotu, Anthropic savulaik uzturēja vairākus simtus iekšējo git spoguļu. Pieaugot ieliešanu skaitam, tos kļuva arvien grūtāk uzturēt.

Git īpašības, kas palīdz darbā bezsaistē, aktīvi kavēja mūsu spēju mērogoties līdz ar repozitorija augšanu.

Problēma izpaudās konkrēti. Kad daži simti spoguļu mēģināja apkalpot desmitiem miljonu checkout, katra jauna ieliešana prasīja arvien vairāk procesora un atmiņas. Mērogošana ar vēl vairāk spoguļiem vairs nelīdzēja, jo pati git ievades plūsma bija šaurā vieta.

Kā Scion sakārto darbu

Scion pieņem, ka klients vienmēr ir tiešsaistē un datus iegūst pēc pieprasījuma. Serveris veic vēsturi, blame, komitēšanu, apvienošanu un rebase. Klients tur tikai ierobežotu lokālu kešatmiņu un pārvalda darba kopiju. Darba kopijas ir neobligātas un retinātas, bet virtualizēti checkout materializē failus pēc pieprasījuma.

Darba vienība ir changeset, proti, ieraksts rakstīšanas žurnālā (write-ahead log). Atšķirībā no git komita, kas norāda uz koku, changeset uzskaita failus, kuri mainīti attiecībā pret pirmo vecāku. Tas glabā arī satura adresētas norādes uz saspiestu failu saturu blob krātuvē. Changeset tiek izveidots servera pusē un uzreiz ir pieejams visur.

Scion atklāj versiju kontroles datus caur API, tāpēc daudziem automātiskiem darbiem vispār nav vajadzīgs lokāls repozitorijs. Aģents var pavaicāt, kas mainījies starp diviem changeset, bez tā, lai iepriekš lejupielādētu gigabaitiem lielu vēsturi. Tieši šeit git modelis sāka griezties pretī. Katram checkout git pieprasa veselu objektu kopu, bet Scion atdod tikai to, ko klients tiešām lasa.

Scion nav packfile failu. Tam nav vajadzīga bloķēšana vai saskaņošana starp serveriem. Refs atjaunojas ar compare-and-swap vienā Spanner rindā atsevišķi no changeset izveides. Komiti, apvienošana un rebase notiek serverī, tāpēc nav nekā, ko push. Atvasinātos datus, piemēram, blame un ceļu vēsturi, Scion rēķina rekursīvi no vecāku vērtībām ar vienu vispārīgu mehānismu. Tos var aprēķināt uzreiz vai atlikt.

Trīs līmeņi un rezultāti

Sistēma darbojas trīs līmeņos. scion-daemon strādā katrā mezglā, scion-cache ir reģionāls un scion-server ir autoritatīvais, kas lasa no Spanner vai mākoņa krātuves. Klients katru reizi pieprasa tikai tos kokus un blobus, kas tam vajadzīgi. Tādēļ ielāde ir atsākama un neatgriež vairāku gigabaitu packfile atbildes. Katrs kešatmiņas līmenis saglabā trāpījumu attiecību virs 99 % un netur ilglaicīgu stāvokli.

Scion infrastruktūra patērē 200 reižu mazāk procesora un atmiņas nekā iepriekšējā git spoguļu sistēma. CI un pētniecības checkout ir aptuveni divas kārtas ātrāki, proti, sekundes minūšu vietā. Tikai CI dēļ uzņēmums atguva 25 % procesora jaudas. Līdzīgi rezultāti parādījās arī ievades cauruļvadā. Claude Mythos Preview pārrakstīja git-uz-Scion ievades cauruli. Jaunā versija patērēja 20 reižu mazāk atmiņas un strādāja 4 reizes ātrāk.

Tā pati septiņu cilvēku komanda paralēli uzbūvēja Antique, uzņēmuma koda recenzēšanas rīku. Šo faktu apstiprina vairāki avoti, kas rakstīja par Scion dažas stundas pēc bloga publikācijas.

Kas paliek aiz durvīm

Scion netiks atvērts kā produkts. Anthropic raksta, ka sistēmu grūti piedāvāt formā, kura būtu plaši noderīga citām organizācijām. Tā vietā uzņēmums plāno dalīties ar dizaina idejām, lai citi izstrādātāji varētu daļu Scion pieejas pārnest uz git. Tas sola sadarboties ar GitHub, GitLab un atvērtā koda kopienu.

Modelim ir arī cena. Scion klients pieņem, ka tīkls vienmēr ir pieejams, tāpēc klasiskais darbs bezsaistē lidmašīnā vai vilcienā te neiekļaujas. Anthropic to pieņem apzināti, jo tā aģenti tik un tā strādā datu centrā. Lielākajai daļai komandu secinājums ir vienkāršs. Git joprojām der. Scion atmaksājas vienīgi tad, kad repozitorijā dominē aģenti un dienas checkout skaits mērāms miljonos. Anthropic repozitorijs šo slieksni pārkāpa šogad, kad aģentu veiktās izmaiņas vienā mēnesī pieauga vairāk nekā desmitkārtīgi.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no programmatūrasaistītie