CMD Master
Zurück zum Blog
Arnošt Havelka

Fehler von KI-Coding-Assistenten und wie du sie vermeidest

Vermeide häufige Fehler von KI-Coding-Assistenten: vage Anfragen, fehlende Einschränkungen, ungetestete Ergebnisse, übergroße Diffs und für das Produkt falsche Korrekturen.

Fehler von KI-Coding-Assistenten und wie du sie vermeidest

Die meisten Fehler von KI-Coding-Assistenten beginnen, bevor Code erzeugt wird: Die Aufgabe ist vage, die Einschränkungen sind verborgen oder niemand definiert, wie das Ergebnis validiert wird. Die Lösung besteht nicht darin, KI zu meiden. Gib dem Assistenten stattdessen ein besseres Engineering-Problem zum Lösen.

Hier sind die Fehlermuster, die technisch gültige Änderungen riskant machen, und jeweils eine konkrete Gewohnheit, die sie verhindert.

1. Nach einer Lösung ohne das Problem fragen

„Verschiebe die Schaltfläche in die Seitenleiste“ sagt einem Assistenten, wo etwas platziert werden soll, nicht warum die aktuelle Platzierung scheitert.

Vorbeugung: Nenne zuerst das Nutzerproblem und das Ergebnis.

Problem: Der Themenumschalter konkurriert mit der globalen Navigation, wird aber von
Personen genutzt, während sie Lektionen in einem Kurs vergleichen.

Ergebnis: Mache den Themenwechsel in der Nähe der Kursnavigation leicht auffindbar, ohne
die globalen Aktionen der Navigationsleiste zu verändern.

Der Assistent kann die Ortswahl jetzt hinterfragen, falls ein anderes Muster für kleine Bildschirme sicherer ist.

2. Den Umfang offenlassen

„Bereinige den Auth-Ablauf“ lädt zu einem großen Diff ein. Der Assistent kann Provider, Routen, Tests und API-Aufrufe anfassen, weil er keine Grenze sieht.

Vorbeugung: Nenne die erste Grenze und die Nicht-Ziele.

Prüfe nur den Sign-in-Callback und seine direkten Tests. Ändere weder Account-Linking,
Abrechnung noch Route Guards, außer die Belege zeigen, dass sich der Callback nicht
isoliert korrigieren lässt.

Falls die Arbeit tatsächlich eine Grenze überschreitet, sollte der Assistent erklären, warum, bevor er sie ausweitet.

3. Einschränkungen nur im Kopf behalten

Ein Assistent kann nicht jede Produktregel aus einer Komponente ableiten. Er könnte einen reinen Serverpfad in eine statische App einführen, eine Route beschädigen, die die Locale bewahrt, oder einen Writer für Zustand duplizieren.

Vorbeugung: Schreibe wesentliche Invarianten in den Prompt oder in dauerhafte Projektleitlinien.

Bewahre statischen Export, Navigation mit aktiver Locale, bestehende Namen von
Analytics-Ereignissen und den aktuellen einzigen Writer für Benachrichtigungspräferenzen.

Halte die Liste kurz und konkret. Eine lange Wunschliste ist weniger nützlich als einige durchsetzbare Verträge.

4. Generierten Code als verifizierten Code behandeln

Generierter Code kann kompilieren und trotzdem den falschen Zustandsübergang, Fehlerpfad, das falsche Barrierefreiheitsverhalten oder die falsche Sicherheitsgrenze haben.

Vorbeugung: Verlange vor der Implementierung einen Validierungsplan.

Liste die fokussierten Tests, die Typprüfung und das manuelle Szenario auf, die diese
Änderung beweisen würden. Erkläre, welches Verhalten jede Prüfung abdeckt und was
ungeprüft bleibt.

Führe die Prüfungen aus. Prüfe den Diff. Erprobe den Nutzerpfad. KI-Ausgabe ist ein Vorschlag, kein Freigabekriterium.

5. Zu viele Dateien gleichzeitig ändern

Ein großer Diff verdeckt, ob der eigentliche Fehler behoben ist. Er lässt sich schwer prüfen und fast unmöglich sicher zurückrollen.

Vorbeugung: Bitte um eine Folge kleiner Checkpoints.

Reproduziere und erkläre zunächst den Fehler. Nimm dann nur die Zustandskorrektur vor
und füge den Regressionstest hinzu. Refaktoriere zugehörige Komponenten nicht, bis der
fokussierte Test besteht und der Diff geprüft wurde.

Die kleinere Änderung kann zeigen, dass das geplante Refactoring nicht nötig war.

6. Vor dem Messen optimieren

„Mache diese Seite schneller“ kann Caching, Memoization oder Code Splitting erzeugen, die den tatsächlichen Engpass verbergen und neue Invalidierungsrisiken schaffen.

Vorbeugung: Bitte um Messung und Alternativen.

Ermittle, ob die Verlangsamung Netzwerk, Berechnung oder Rendering ist. Nenne Messung,
Baseline und erwartete Wirkung, bevor du eine Optimierung vorschlägst. Füge kein
persistentes Caching hinzu, bevor Aktualität und Invalidierung definiert sind.

Performance-Arbeit sollte einen gemessenen Aufwand verändern, nicht nur eine vertraute Technik hinzufügen.

7. Das falsche Produktproblem lösen

Ein Assistent könnte eine Desktop-Seitenleiste entfernen, um das mobile Layout zu verbessern, oder einen Ablauf vereinfachen, auf den Menschen angewiesen sind. Der Code kann sauber sein, während das Produkt schlechter wird.

Vorbeugung: Nenne die Menschen, den Workflow und das Verhalten, die erhalten bleiben müssen.

Lernende auf Mobilgeräten brauchen mehr horizontalen Platz. Desktop-Lernende verlassen sich
für die Kursnavigation auf die Seitenleiste. Verbessere das mobile Layout, während du den
Desktop-Workflow und seinen Tastaturpfad bewahrst.

So wird aus „Entferne die Seitenleiste“ eine echte Design-Einschränkung.

8. Ohne Belege nach einer Produktionskorrektur fragen

Produktionsvorfälle erzeugen Dringlichkeit, aber Dringlichkeit ist kein Grund, einen Assistenten anhand eines Symptoms raten zu lassen.

Vorbeugung: Nutze die Abfolge von Belegen bis zur Validierung:

Belege -> Hypothesen -> Überprüfung -> kleinste Korrektur -> Regressionstest ->
sichere Rollout-Prüfung

Füge Logs mit entfernten sensiblen Werten, Reproduktionsschritte, Umgebung, kürzliche Änderungen, erwartetes Verhalten und beobachtetes Verhalten hinzu. Wende generierte Patches nicht blind in der Produktion an.

Ein sicherer Prompt für jede wichtige Änderung

Problem: [Wer ist betroffen und was passiert?]
Umfang: [Was soll zuerst geprüft werden?]
Ergebnis: [Welches beobachtbare Resultat wird benötigt?]
Einschränkungen: [Was darf sich nicht ändern?]
Belege: [Test, Log, Screenshot, Befehlsausgabe oder Reproduktion.]
Akzeptanzkriterien: [Woran erkennen wir, dass es funktioniert hat?]
Validierung: [Tests, manuelle Prüfungen oder Messungen.]

Hinterfrage die Annahme vor der Bearbeitung. Falls die gewünschte Lösung nicht durch die
Belege gestützt wird, erkläre die sicherere Alternative.

Für eine vollständige Aufschlüsselung dieser Struktur lies wie man bessere KI-Prompts schreibt. Für alltägliche Implementierungsmuster nutze Prompt Engineering für Entwickler. Wenn ein Vorfall beteiligt ist, folge den Prompt-Vorlagen zum Debuggen von Produktionsproblemen.

Terminalausgabe ist ebenfalls ein Beleg. Übe einen Kommandozeilen-Workflow im Browser, bevor du ihn in einen Fehlerbericht, Test oder Automatisierungs-Prompt aufnimmst.

Quellen

Diese Dokumentationslinks liefern verlässliche Details zu den in diesem Artikel verwendeten Befehlen.