Der Pull Request sieht aus, als hätte jemand sehr sorgfältig gearbeitet. Saubere Funktionsnamen, ordentliche Kommentare, ein paar neue Tests, keine offensichtlichen Syntaxfehler. Vor zwanzig Minuten war da nur ein Ticket mit einer vagen Anforderung. Jetzt liegt ein kompletter Patch im Review.
Genau hier beginnt das neue Problem.
Nicht, weil KI-Code grundsätzlich schlecht wäre. Nicht, weil Entwickler wieder alles von Hand schreiben sollten. Sondern weil der Moment der Verantwortung nicht verschwunden ist. Er hat sich nur verschoben. Früher fragte ein Team: Wer schreibt das? Heute fragt es: Wer versteht das gut genug, um es zu mergen?
Diese Verschiebung ist der eigentliche Bruch in der Softwareentwicklung. GitHub Copilot, Cursor, Claude Code und OpenAI Codex können den Schreibprozess massiv beschleunigen. Aber sie beschleunigen nicht automatisch das Verstehen. Und genau dort entsteht der neue Engpass: KI-Code entsteht schneller, als Teams ihn prüfen, erklären und verantworten können.
Schreiben ist billig geworden. Verstehen nicht.
Softwareentwicklung war lange durch Schreibarbeit begrenzt. Ein Feature brauchte Zeit, weil jemand Dateien öffnen, Muster suchen, Code formulieren, Tests ergänzen und Fehler beheben musste. KI-Assistenten haben diesen Teil der Arbeit sichtbar verändert. Ein Agent kann in Minuten einen Diff erzeugen, für den ein Mensch früher Stunden gebraucht hätte.
Das ist realer Fortschritt. Aber es ist nicht dasselbe wie Produktivität.
Produktivität in Software bedeutet nicht, möglichst viel Code zu erzeugen. Produktivität bedeutet, ein System in einen besseren, stabileren, verständlicheren Zustand zu bringen. Wenn ein Team nach einem KI-generierten Patch mehr Zeit damit verbringt, Annahmen zu rekonstruieren, Nebenwirkungen zu suchen und Architekturentscheidungen zu erraten, dann wurde Arbeit nicht eliminiert. Sie wurde nur in eine spätere, kognitiv schwierigere Phase verschoben.
Genau deshalb wirkt AI-Coding manchmal paradox: Der erste Entwurf fühlt sich spektakulär schnell an, aber der Review fühlt sich schwerer an als vorher.
Der Verification Gap
Sonar beschreibt in seinen aktuellen Daten eine harte Vertrauenslücke: Viele Entwickler nutzen KI-Code, aber nur ein Teil überprüft ihn konsequent vor dem Commit. Der Begriff dafür ist treffend: Verification Gap.
Diese Lücke entsteht nicht aus Faulheit. Sie entsteht aus Druck. Wenn ein Agent einen Patch in Minuten liefert, verändert das die soziale Dynamik im Team. Der Reviewer will nicht der Mensch sein, der den Fortschritt bremst. Der Autor fühlt sich nicht mehr wie der eigentliche Autor. Der Teamlead sieht Geschwindigkeit im Board. Und irgendwo dazwischen steht die Frage, die niemand gerne ausspricht: Verstehen wir diesen Code wirklich?
Der gefährliche Teil ist nicht der offensichtliche Fehler. Der gefährliche Teil ist der plausible Fehler. KI-Code sieht oft so aus, als gehöre er genau dorthin. Er benutzt die richtige Sprache, imitiert vorhandene Muster, schreibt Tests und erklärt sich selbst mit überzeugender Sicherheit. Aber plausible Form ist kein Beweis für fachliche Richtigkeit.
Ein Mensch, der fremden Code reviewt, liest nicht nur Syntax. Er sucht Absicht. Er fragt: Warum ist diese Abstraktion hier? Welche Annahme steckt in diesem Default? Was passiert bei alten Daten? Wer darf diese Aktion auslösen? Welche Schicht hängt jetzt plötzlich von welcher anderen Schicht ab?
Diese Fragen werden wichtiger, nicht unwichtiger, wenn der Code von einem Agenten kommt.

Comprehension Debt: Die unsichtbare Schuld
Technical Debt ist ein vertrauter Begriff. Man nimmt eine Abkürzung und zahlt später Zinsen. AI-Coding erzeugt daneben eine zweite, leisere Form von Schuld: Comprehension Debt.
Comprehension Debt entsteht, wenn ein Team Code besitzt, den es nicht mehr wirklich erklären kann. Die Tests sind grün. Die Anwendung läuft. Aber das Verständnis ist dünn. Niemand weiß mehr genau, warum ein bestimmter Pfad existiert, welche Alternative verworfen wurde oder welche implizite Annahme der Agent beim Schreiben getroffen hat.
Das ist im Alltag gefährlicher als es klingt. Systeme brechen selten an der Stelle, an der alle hinschauen. Sie brechen an den Rändern: bei alten Daten, seltenen Rollen, ungewöhnlichen Integrationen, Nebenläufigkeit, Timeouts, Berechtigungen, Migrationen. Genau diese Ränder sind schwer zu prüfen, wenn das Team nur das Ergebnis sieht, aber nicht den Denkweg dorthin.
Deshalb ist ein großer KI-Patch kein Geschenk, wenn er das Systemverständnis schwächt. Er ist dann eher wie eine Lieferung ohne Lieferschein: Das Paket ist da, aber niemand weiß genau, was alles drin ist.
Warum normale Reviews unter Druck geraten
Klassischer Code Review ist für menschliche Geschwindigkeit gebaut. Ein Entwickler schreibt eine Änderung, kennt die Gründe, beschreibt den Kontext und beantwortet Fragen. Der Reviewer prüft einen überschaubaren Diff.
Bei KI-Code kippt dieses Verhältnis leicht. Diffs werden größer, weil Schreiben billig ist. Änderungen berühren mehr Dateien, weil der Agent keine Müdigkeit spürt. Tests werden mitgeschrieben, aber oft aus derselben Perspektive wie die Implementierung. Der PR-Text klingt vollständig, weil das Modell gut formulieren kann.
Das alles erhöht die kognitive Last des Reviews. Ein sauber geschriebener 600-Zeilen-Diff kann anstrengender sein als ein chaotischer 80-Zeilen-Patch, wenn niemand die Entscheidungen dahinter erklären kann.
Dazu kommt ein psychologischer Effekt: Gut formatierter Code lädt zum Überfliegen ein. Das Auge glaubt Qualität zu sehen, weil Struktur vorhanden ist. Aber Struktur ist nicht Wahrheit. Gerade KI-Code kann stilistisch ordentlich sein und trotzdem fachlich knapp danebenliegen.
Tests des Agenten reichen nicht
Ein häufiger Reflex lautet: Dann soll der Agent eben Tests schreiben. Das ist sinnvoll, aber nicht ausreichend.
Tests beweisen nur das, was sie fragen. Wenn dieselbe KI, die eine Annahme getroffen hat, auch die Tests zu dieser Annahme schreibt, entsteht leicht eine Echokammer. Der Agent testet dann den Weg, den er selbst für wahrscheinlich hält. Er prüft nicht zwingend die Stelle, an der ein erfahrener Entwickler misstrauisch geworden wäre.
Gute Teams behandeln KI-generierte Tests deshalb als Vorschlag, nicht als Freispruch. Sie fragen zusätzlich:
- Decken die Tests den fachlichen Randfall ab oder nur den glücklichen Pfad?
- Prüfen sie Berechtigungen, Fehlerzustände und alte Daten?
- Wurde ein bestehender Contract verändert?
- Gibt es Integrations- oder Regressionstests, die unabhängig von der Agentenlogik sind?
- Kann ein Mensch erklären, warum genau diese Tests Vertrauen schaffen?
Wenn die Antwort unklar bleibt, ist der Patch nicht fertig. Er ist nur geschrieben.
Nicht jedes System braucht dieselbe Härte
Es wäre falsch, aus dem Verification Gap ein generelles Verbot von schnellem KI-Code zu machen. Nicht jeder Code hat dasselbe Risiko.
Ein Prototyp darf schnell und schmutzig sein, wenn alle wissen, dass er ein Prototyp ist. Ein internes Skript darf pragmatischer entstehen als eine Zahlungslogik. Eine UI-Verbesserung hat andere Risiken als ein Berechtigungsmodell. Ein kundennahes Produktivsystem braucht andere Beweise als ein Experiment im Branch.
Das Problem beginnt, wenn Teams diese Unterschiede nicht markieren. Wenn ein Vibe-Coding-Experiment schleichend produktionsnah wird. Wenn ein Agenten-Patch in denselben Review-Kanal fällt wie menschlich verstandener Code. Wenn Geschwindigkeit als Reife missverstanden wird.
Die bessere Frage lautet deshalb nicht: Darf KI diesen Code schreiben? Sondern: Welche Art von Beweis braucht dieser Code, bevor wir ihn übernehmen?
Ein Workflow für AI-Code, den Menschen verantworten können
Die Antwort auf den Verification Gap ist kein nostalgischer Rückzug. Teams müssen nicht weniger KI nutzen. Sie müssen KI-Code anders behandeln.
Ein belastbarer Workflow beginnt vor dem Prompt:
- Aufgabe begrenzen. Der Agent bekommt nicht „baue das Feature“, sondern einen kleinen, überprüfbaren Auftrag mit klaren Nicht-Zielen.
- Arbeitsraum isolieren. Branches, Worktrees oder Sandboxes verhindern, dass Experimente den Hauptfluss verunreinigen.
- Erwartung formulieren. Eine kurze Spec erklärt, welches Verhalten entstehen soll, welche Ränder wichtig sind und was nicht verändert werden darf.
- Tests erzwingen. Der Agent darf Tests vorschlagen, aber bestehende unabhängige Prüfungen müssen ebenfalls laufen.
- Erklärung verlangen. Der Agent muss Annahmen, Alternativen und Risiken nennen. Nicht als PR-Theater, sondern als Review-Material.
- Menschlich mergen. Kein Agent sollte seine eigene Arbeit freigeben. Die Verantwortung bleibt bei einem Menschen, der den Patch erklären kann.
Das klingt langsamer als der reine Rausch des Generierens. Genau darin liegt der Punkt. Die Geschwindigkeit des Schreibens darf nicht die Geschwindigkeit der Verantwortungsübernahme überholen.
Die neue Review-Checkliste
Für Teams, die bereits mit Cursor, GitHub Copilot, Claude Code oder OpenAI Codex arbeiten, hilft eine einfache Checkliste:
- Kann jemand im Team den Patch ohne KI-Hilfe erklären?
- Ist der Diff klein genug, um ihn wirklich zu reviewen?
- Sind die wichtigsten Annahmen im PR explizit genannt?
- Gibt es unabhängige Tests, nicht nur vom Agenten erzeugte?
- Wurden Berechtigungen, Datenflüsse und Fehlerzustände geprüft?
- Hat der Patch bestehende Architekturgrenzen respektiert?
- Ist klar, wie man die Änderung zurückrollt?
Wenn mehrere Antworten fehlen, ist das kein kleiner Schönheitsfehler. Dann liegt kein fertiger PR vor, sondern ein Verständnisproblem.
Die Rolle der Tools
Werkzeuge bleiben wichtig, aber sie lösen das Problem nicht allein. GitHub Copilot hilft im Editor. Cursor bringt Projektkontext näher an den Schreibprozess. Claude Code und OpenAI Codex können längere Aufgaben im Agentenmodus übernehmen.
Der entscheidende Unterschied entsteht jedoch nicht durch den Namen des Assistenten. Er entsteht durch den Rahmen: kleine Aufgaben, klare Specs, harte Tests, Review-Gates, Architekturregeln und eine Kultur, die „sieht gut aus“ nicht mit „ist verstanden“ verwechselt.
Statische Analyse, Security-Scanner und Qualitätsplattformen wie Sonar können hier eine wichtige Rolle spielen, weil sie deterministische Gegenkräfte zur generativen Geschwindigkeit liefern. Sie ersetzen keinen menschlichen Review, aber sie verhindern, dass der Mensch allein gegen eine Flut plausibler Diffs steht.
Fazit: Die Zukunft gehört nicht dem schnellsten Schreiber
KI verändert Softwareentwicklung nicht, weil sie Menschen das Denken abnimmt. Sie verändert Softwareentwicklung, weil sie das Schreiben entgrenzt. Genau deshalb wird Denken wichtiger.
Der Engpass liegt nicht mehr dort, wo viele ihn noch suchen. Er liegt nicht im Schreiben. Er liegt im Verstehen. Im Prüfen. Im Erklären. Im Entscheiden, ob ein Patch Teil eines Systems werden darf, das auch morgen noch wartbar sein soll.
Die Teams, die AI-Coding gut nutzen, werden nicht diejenigen sein, die am meisten Code generieren. Es werden diejenigen sein, die am besten wissen, wann ein Mensch wieder langsamer werden muss.
Denn am Ende wird nicht der Agent angerufen, wenn Produktion brennt. Es ist immer noch das Team.
Quellen
- Sonar: Verification Gap in AI Coding
- Sonar: The AI trust gap
- Sonar: Code Verification
- Debt Behind the AI Boom – arXiv
- Rethinking Code Review in the Age of AI – arXiv
- Prompt Injection Attacks on Agentic Coding Assistants – arXiv
- Martin Fowler: Patterns for Reducing Friction in AI-Assisted Development
- JetBrains: AI Tool Switching Is Stealth Friction