Im September 2026 führte Anthropic an einem einzigen Tag mehr als 30.000 Code-Änderungen zusammen. Im Mai lag der Wert bei rund 2.500, im Januar deutlich darunter. Diese Zahl ist kein Erfolgsausweis, sondern eine Laständerung: Sie zeigt, wie stark die Infrastruktur unter dem Tempo steht.
Kein Wachstum, sondern ein Faktor zwölf in vier Monaten. Deshalb ist bei Anthropic längst nicht mehr das Schreiben von Code der Engpass, sondern die Infrastruktur darum herum: Versionskontrolle, Builds, CI. Claude schreibt Code in einem Tempo, für das diese Werkzeuge nie gebaut wurden. Das Unternehmen entwickelte ein eigenes Versionskontrollsystem, Scion, und migrierte innerhalb von fünf Monaten das komplette Monorepo von Git dorthin. Parallel entstanden eine Code-Review-Oberfläche namens Antique, eine Code-Suche, ein Rechte- und Rollensystem für die Quellcodeverwaltung und neue Verfahren, um große Mengen geprüften Code zu landen.
An dem Fall fällt eine Rückkopplung auf: Claudes Fähigkeit, Code zu schreiben, hat das Problem erzeugt — und war gleichzeitig das Werkzeug, mit dem die Lösung entstand. Ein Team von sieben Leuten baute Scion samt Code-Review-Werkzeug und einem halben Dutzend weiterer Systeme in fünf Monaten – während die täglich gemergte Codemenge um das Zehnfache wuchs. Eine frühe interne Claude-Version schrieb die Git-nach-Scion-Importpipeline neu und brauchte danach 20-mal weniger Speicher bei vierfacher Geschwindigkeit. Bevor wir uns ansehen, wie Scion arbeitet, ein Blick darauf, wo Git an seine Grenzen stößt. Denn das Problem ist nicht, dass Git schlecht wäre. Das Problem ist, dass Git für einen anderen Anwendungsfall entworfen wurde.
Man kann sich das wie eine Bibliothek vorstellen. Git gibt jedem Leser eine vollständige, in sich geschlossene Kopie des gesamten Bestands mit nach Hause; er kann darin blättern, zitieren, suchen und Querverweise auflösen, ganz ohne die Zentrale. Für fast jedes Repository ist das richtig und ein Grund, warum Git Standard wurde. Scion geht den umgekehrten Weg und baut den Auskunftsschalter: Wer eine Frage hat, ruft an, und der Schalter antwortet. Man bekommt nicht den ganzen Bestand, sondern die Seiten, die man gerade liest.
Warum Git im Monorepo an eine Wand fährt
Die Zahlen bei Anthropic sind extrem. Die History des Hauptzweigs allein umfasst fast 100 GB, eine komprimierte Arbeitskopie liegt bei über 25 GB. Für CI fallen rund 25 Millionen Code-Checkouts pro Tag an, noch ohne Entwicklerumgebungen, Agenten-Sandboxes und Research-Jobs. Würde man das naiv fetchen, käme man auf mehr als 600 Petabyte Git-Verkehr pro Tag.
Git bietet Werkzeuge für Teilmengen: Shallow Clones, Sparse Checkouts, Promisor Remotes. Anthropic hat all das genutzt und zusätzlich das übliche Arsenal großer Monorepos aufgefahren — interne Spiegel und Repository-Snapshots, sogenannte Seeds, im Blob-Speicher. Auf dem Höhepunkt liefen mehrere hundert interne Git-Spiegel. Das kaufte Zeit, wurde mit steigender Merge-Rate aber immer schwerer zu betreiben: Die Seeds fielen zwischen zwei Aktualisierungen weiter vom Tip des Hauptzweigs zurück, und Operationen, die von History abhängen, etwa Diff und Blame, brauchten auf Teilklonen immer mehr Sorgfalt.
Im Kern war das ein Kategorienfehler. Fast alle Beteiligten nutzten Git als zentrales System mit einer maßgeblichen Kopie, aber fast alle Clients waren Agenten und Jobs, die per Definition online sind. Genau die Eigenschaften, die Git für verteiltes, Offline-Arbeiten hervorragend machen, behinderten also das Wachstum. Die naheliegende Frage lautete deshalb: Wie würde Versionskontrolle aussehen, wenn man von Anfang an davon ausgeht, dass Agenten immer online sind?
Fünf Prinzipien, auf denen Scion aufbaut
Anthropic war mit diesem Problem nicht allein, und das half. Große Monorepos mit eigener Quellcodeverwaltung haben Vorläufer, etwa Googles Piper und Metas Sapling. Aus deren Erfahrungen und aus der eigenen Notlage entstanden fünf Prinzipien, die Scion von Git unterscheiden.
Erstens: Clients sind immer online. Git nimmt an, dass ein Client offline arbeiten kann, und gibt ihm deshalb ein vollständiges Repository. Scion dreht das um und geht von einem Server aus, der immer erreichbar ist; Clients holen Daten dann, wenn sie sie brauchen. Zweitens: Es gibt eine Asymmetrie zwischen Client und Server. In Git kann jeder Client selbst ein vollwertiger Server sein. In Scion beantwortet der Server Fragen zur Dateihistorie und zum Blame, erstellt Commits, führt Merges und Rebase-Operationen aus. Der Client hält nur einen begrenzten lokalen Objekt-Cache, legt die Dateien der Arbeitskopie auf die Platte, beobachtet Änderungen im Dateisystem und bietet eine bequeme Oberfläche für die Arbeit mit dem Server.
Drittens: Alles muss horizontal skalierbar sein. Die vielen Git-Spiegel waren irgendwann ein Kapazitätsproblem, weil sie an die Grenzen von Platte und Speicher stießen. In Scion sind die Daten des Repositories verteilt, jede Komponente lässt sich unabhängig skalieren, und es existiert nirgends eine vollständig materialisierte Kopie — auch nicht auf dem Server. Weil es keine Packfiles gibt, also keine komprimierten Objektbündel wie in Git, entfällt auch die Repository-Wartung.
Viertens: Commits müssen billig, inkrementell und sperrfrei sein. In Git committet man lokal und pusht dann. In Scion passiert jeder Commit, jedes Rebase und jeder Merge auf dem Server, es gibt also nichts zu pushen — aber jede dieser Operationen muss schnell sein. Die Kosten dürfen mit der Größe der Änderung skalieren, nicht mit der Größe des Repos, sonst bricht der Server ein. Fünftens: Die Arbeitskopie ist optional und von vornherein sparse. Wer nur den Diff zwischen einem Commit und seiner Merge-Basis braucht, fragt den Server; viele Schreibvorgänge laufen ebenfalls komplett über die API, ohne Checkout.
Changesets statt Commits: die Datenstruktur dahinter
Die Arbeitseinheit in Scion heißt Changeset und ist ein Eintrag in einem Write-Ahead-Log. Ein Changeset speichert vieles, was man von einem Git-Commit kennt, aber mit einem entscheidenden Unterschied: Wo ein Git-Commit auf einen Tree zeigt, hält ein Changeset eine Liste der Dateien, die sich relativ zum ersten Parent geändert haben, plus content-addressed Verweise auf die komprimierten Dateiinhalte im Blob-Speicher. Changesets entstehen serverseitig und sind sofort überall verfügbar.
Diese Form erlaubt sehr hohen Durchsatz, weil keine Packfiles angenommen werden müssen, keine Sperren und keine Absprachen zwischen Servern nötig sind und keine Refs bewegt werden. Refs unterstützt Scion zwar, aber weder das Erstellen noch das Holen von Commits braucht sie; das Verschieben eines Refs ist ein Compare-and-Swap auf einer einzelnen Spanner-Zeile, getrennt vom Anlegen von Changesets. Globaler Zustand, über den sich alle einig sein müssen, wird so weit wie möglich vermieden.
Ein Changeset allein kann allerdings nicht schnell beantworten, wer eine Zeile zuletzt geändert hat oder welche Commits eine Datei betrafen. Dafür baut Scion zusätzliche Datenstrukturen auf: eigene Strukturen für Datei-Blame und Pfadhistorie, Skip-Listen für den Commit-Graphen. Alles, was nicht direkt Teil des Changesets ist, heißt im Projekt abgeleitete Daten und wird über einen einzigen generischen Mechanismus berechnet. Jede Art abgeleiteter Daten ist rekursiv definiert, ihr Wert für ein Changeset ergibt sich also aus ihren Werten für dessen Parents.
Dieser Mechanismus hat drei Vorteile. Man kann neue Arten abgeleiteter Daten ergänzen, wenn eine zusätzliche Struktur eine Operation schneller macht. Man kann pro Typ entscheiden, ob die Berechnung sofort oder aufgeschoben erfolgt, und materialisiert damit nichts, was niemand braucht. Und weil der Client die Interna dieser Strukturen nie sieht, lassen sie sich optimieren, ohne den Client anzufassen. Das ist mehrfach passiert, etwa mit neuen Indizes für Copy-Erkennung oder für die pfadbasierte Dateisuche.
Der Auskunftsschalter: wie Scion skaliert
Eine kleine Flotte von Scion-Servern stellt die APIs bereit, die ein Client braucht: Changesets holen, Diffs berechnen, Merge-Basen finden, Blobs abrufen. Alle Daten sind content-addressed, ein einmal gespeichertes Stück ändert sich also nie, und jeder Server kann es cachen, ohne sich mit den anderen abzustimmen. Damit sind die Server horizontal skalierbar und brauchen kaum Koordination. Im Kern sind sie große Caches, die abgeleitete Daten im Vorbeigehen berechnen und das Ergebnis nach Spanner zurückschreiben. Jede Cache-Stufe hält laut Anthropic eine Trefferquote von über 99 Prozent; die Scion-Infrastruktur braucht rund 200-mal weniger CPU und Speicher als die frühere Git-Spiegelung. Checkouts laufen zwei Größenordnungen schneller – Sekunden statt Minuten –, allein in der CI wurden so 25 Prozent Rechenkapazität frei.
Für die Konsumenten hat das eine spürbare Folge: Sie müssen keine lokalen Repositories mehr pflegen. Das war vorher ein erheblicher Wartungsaufwand für CI-Jobs und Werkzeuge, die Fragen zu Commit-Abstammung oder Blame beantworten wollten. In der frühen Migrationsphase, bevor eigener Client, eigenes Repo-Format und eigene Protokolle existierten, beantwortete Scion ausschließlich solche Metadaten-Abfragen. Das Holen von Dateiinhalten und das Materialisieren von Arbeitskopien ist deutlich datenintensiver und brauchte ein eigenes Design.
Der Client heißt scn und weicht in wichtigen Punkten von Gits Fetch-Protokoll ab. Die Verhandlung teilt dem Server nicht mit, was der Client schon hat; sie arbeitet ausschließlich mit Trees und Blobs, die der Client haben will. Ausgehend von einem Wurzel-Tree prüft der Client seinen lokalen Speicher auf fehlende Trees, fordert sie rekursiv an und wiederholt das Ganze für Blobs. Jede Anfrage betrifft ein bestimmtes, unveränderliches Objekt, also kann jeder Cache sie beantworten — die Architektur ähnelt stark klassischen mehrstufigen Caches. Weil es keine einzelne, mehrere Gigabyte große Packfile-Antwort gibt, ist der Vorgang zudem effizient und wiederaufnehmbar. Sparse und virtualisierte Checkouts brauchen keine Sonderbehandlung, denn der Client fragt keine Trees an, die er nicht will. Auf dem Knoten spricht der Client über einen Socket mit einem Daemon, der Objekte für den ganzen Rechner vorhält.
Was das für Teams bedeutet, die noch mit Git arbeiten
Anthropic ist mit diesem Workload die Ausnahme, und das Unternehmen sagt selbst, dass die meisten Organisationen diese Probleme nicht sofort haben werden. Aber die Druckpunkte sind nicht exotisch. Wer KI-Werkzeuge ernsthaft einsetzt, bekommt zuerst mehr Code, dann mehr Merges, dann mehr CI-Läufe — und irgendwann wird die Versionskontrolle zum Taktgeber. Wichtiger als das fertige System ist die Denkweise dahinter: Annahmen prüfen, die man nie bewusst getroffen hat.
Die wichtigste dieser Annahmen lautet, dass ein Client offline sein können muss und deshalb eine vollständige Kopie braucht. Sobald die Clients überwiegend Agenten und Jobs sind, stimmt das nicht mehr — und es kostet Speicher, Bandbreite und Wartung. Die zweite Annahme lautet, dass jeder Beteiligte ein Repository haben muss, um Fragen zu stellen. Wenn der Server dieselben Auskünfte über eine API gibt, verschwindet ein großer Teil der Infrastruktur, die nur dazu da war, lokale Kopien zu pflegen. Anthropics automatisierte Bisect- und Revert-Pipelines wären in dieser Größe ohne diesen programmatischen Zugriff kaum praktikabel.
Der dritte Gedanke ist kleiner: Nicht alles muss gespeichert werden, manches lässt sich ableiten. Scion speichert vor allem Changesets und die Dateiinhalte im Blob-Speicher; Blame, Pfadhistorie und Graph-Abkürzungen leitet es daraus ab, wahlweise sofort oder später. Das reduziert den dauerhaft gespeicherten Zustand und macht Änderungen an den Datenstrukturen billig. Für kleinere Teams heißt das nicht, Git zu ersetzen. Es heißt, die Signale zu kennen, an denen der Druck sichtbar wird: eine wachsende Zahl interner Spiegel, steigende Checkout-Mengen, Klon-Zeiten, die die Mittagspause überdauern, und Review-Warteschlangen, die länger werden, obwohl schneller committet wird.
Die Verschiebung ist unbequem. Wenn Code zu schreiben nicht mehr der Engpass ist, wandert der Engpass dorthin, wo Menschen oder ihre Werkzeuge entscheiden müssen: prüfen, mergen, integrieren. Anthropic hat dafür nicht nur Scion gebaut, sondern in denselben fünf Monaten auch eine Code-Review-Oberfläche, Code-Suche, ein Rechtesystem und neue Verfahren, um große Mengen geprüften Code zu landen. Versionskontrolle war nur der erste Teil der Kette, der gerissen ist. Scion selbst will Anthropic nicht als Git-Ersatz anbieten – zu speziell, zu teuer im Tokenverbrauch. Stattdessen will das Unternehmen seine Erkenntnisse mit GitHub, GitLab und der Open-Source-Gemeinschaft teilen, weil es diese Klasse von Problemen in den nächsten sechs bis zwölf Monaten auf mehr Teams zukommen sieht. Wer heute mit agentischem Coding beginnt, sollte sich deshalb nicht fragen, wie das eigene Git ersetzt wird. Sondern welche Annahme in der eigenen Entwicklerinfrastruktur gerade falsch wird.
Quelle: anthropic.com




