Complexity Ratchet im Zeitalter des AI-Codings: Warum 90 % Testabdeckung nötig sind
(x.com/garrytan)Ein langer Essay, den Garry Tan (CEO von Y Combinator) auf X geteilt hat und in dem er seine Erfahrungen aus dem letzten Jahr mit dem Aufbau von zwei Open-Source-Projekten gemeinsam mit AI-Agenten (Claude Code, Codex usw.) zusammenfasst. Demnach wurden rund 970.000 Zeilen Code und der Großteil von 665 Testdateien von AI geschrieben, während gleichzeitig 15 Agenten-Sessions liefen. Er argumentiert, dass dieser Prozess das alte Dogma der Softwaretechnik widerlegt, wonach „Geschwindigkeit und Qualität ein Zielkonflikt“ seien, und stellt als zentralen Mechanismus das Konzept der „Complexity Ratchet“ vor.
Zentrale Konzepte
- Was ein Ratchet ist: eine Metapher für einen Sperrklinken- bzw. Ratschenmechanismus, der sich nur in eine Richtung bewegt; gemeint ist eine Struktur, die dafür sorgt, dass sich die Qualität einer Codebasis nur vorwärts entwickelt und nicht zurückfällt.
- Drei Arten von Anreicherung: In jeder Coding-Session mit Agenten werden drei Dinge in der Codebasis akkumuliert: Tests (was korrekt ist), Dokumentation (warum so entschieden wurde) und Evaluationsergebnisse (die Qualitäts-Baseline).
- Nutzung des Kontextfensters: Da der AI-Agent in der nächsten Session alle drei Elemente einliest und damit arbeitet, kann er weder Tests brechen noch Dokumentation ignorieren oder Evaluationsergebnisse verschlechtern.
Unterschiede zum bisherigen Ansatz
- Verändertes Fehlermodell: In den vergangenen 50 Jahren basierte Softwaretechnik auf der Annahme „Fehler sind fatal, also müssen sie verhindert werden“, woraus komplexe Prozesse wie Code-Review, QA und Staging entstanden. Jetzt können Agenten die meisten Fehler im nächsten Turn diagnostizieren und beheben.
- Erweiterte Komplexitätsgrenze: Die Obergrenze der Systemkomplexität verschiebt sich von „dem, was ein Team im Kopf behalten kann“ zu „einer Person plus Agenten, die die gesamte Codebasis im Kontext geladen haben“.
- Dauerhaftes institutionelles Gedächtnis: Menschen verlassen ein Unternehmen oder fallen durch Burnout aus, aber Wissen, das in Tests und Dokumentation festgehalten ist, lässt sich mit jedem Modell und zu jedem Zeitpunkt erneut abrufen.
Die Bedeutung von 90 % Testabdeckung
- Nichtlineare Qualitätskurve: Laut einer Studie von Capers Jones mit über 10.000 Projekten liegt die Fehlerbeseitigungsrate bei einer Abdeckung unter 70 % nur bei 65–75 %, während sie bei 85–95 % sprunghaft auf 92–97 % steigt – ein klarer „Knickpunkt“.
- Vorbild Luftfahrt: Der Luftfahrt-Softwarestandard DO-178C schreibt für Level-A-Systeme (kritisch) MC/DC-Abdeckung vor, um eine Fehlerbeseitigungsrate von über 99 % zu erreichen.
- AI durchbricht die Kostenbarriere: Die letzten 20 % Testabdeckung waren für Menschen langweilig und teuer, aber Agenten ermüden nicht und schreiben auch nachts endlos Tests für Edge Cases.
Konkrete Beispiele des Autors
- Verbesserung der Extraktionsgenauigkeit bei GBrain: Bei über 100.000 Glaubenssatz-Extraktionen wurde ein Problem, bei dem in 35 % der Fälle falsch zugeordnet wurde, wer eine Behauptung aufgestellt hatte, mit 17 Tests fixiert, sodass keine nachfolgende Version unter dieses Niveau fallen kann.
- TTY-Tests in Superpowers: Das Verhalten von AI-Agenten, interaktive Reviews zu überspringen, wurde mithilfe der Pseudo-Terminal-Funktion von Bun direkt überwacht und blockiert. So wurde selbst die unkonventionelle Anforderung „Hat die AI tatsächlich ein Gespräch geführt?“ testbar gemacht.
Vorteile und Grenzen
- Vorteile: Externe Mitwirkende müssen nicht das gesamte System verstehen; wenn ihre Änderungen die Tests bestehen, können PRs sicher gemergt werden. Das senkt die Einstiegshürde für Zusammenarbeit.
- Grenzen: Fehler, die Zustände zerstören (falsche DB-Migrationen, Sicherheitsverletzungen, Datenschutzlecks), bleiben weiterhin fatal, und etwa 10 % der Integrationspunkte sowie die Infrastruktur sind von Natur aus schwer zu testen.
- Antwort auf Gegenargumente: Auf den Einwand „Wer gute Tests schreibt, entwirft meist ohnehin auch gute Architektur“ erwidert er, dass der Kern der Ratchet nicht der Mensch sei, sondern das Sicherheitsnetz des nächsten Turns.
Die zentrale Botschaft des Textes ist, dass der wahre Wert von AI-Coding nicht darin liegt, „schneller zu programmieren“, sondern darin, ein Niveau an Verifikation kostenlos zu machen, das man bisher aus Kostengründen aufgegeben hat. Eine 90%ige Testabdeckung, die 50 Jahre lang vor allem Luftfahrt und Medizintechnik vorbehalten war, könne nun zum Alltag einer einzelnen Person werden. Dadurch steige die Komplexitätsobergrenze der Software, die ein einzelner Entwickler erstellen kann, dramatisch an. Zugleich dient der Text auch der Werbung für die eigenen Open-Source-Projekte des Autors (Superpowers, GBrain), und einige zitierte Statistiken (z. B. GPT-5.5) sollten überprüft werden – es ist also auch ein Text, der kritische Lektüre verlangt.
1 Kommentare
https://www.youtube.com/watch?v=mJ2GZRV63TE
Jemand, der mit 4-mal mehr LOC als
sqliteeinen RoR-Blog gebaut hat...