Warum läuft mein KI-generierter Code in der Demo, bricht aber bei echten Nutzern?
Weil der Agent standardmäßig nur den Happy Path baut, also den Weg, auf dem alles gut geht. Echte Nutzer bringen die Ränder mit, leere Listen, Umlaute, Monatsgrenzen. Diese Edge Cases baut der Agent nur, wenn sie explizit im Prompt stehen.
Das Muster kennt jeder, der mit Coding-Agents arbeitet: Die Demo glänzt, der erste echte Nutzer bricht sie. Ein Name mit Umlaut, eine leere Transaktionsliste, eine Buchung um 23:59 am Monatsletzten. Das ist kein Zufall und kein Modellfehler. Es ist ein Briefing-Fehler.
Der Agent baut, was du bestellst
Ein Coding-Agent ist ein übermotivierter Geselle: Er baut genau das, was du sagst, und rät den Rest. Wenn der Prompt nur beschreibt, was im Normalfall passieren soll, bekommst du den Normalfall. „Funktioniert" ist der Default. „Hält" musst du explizit bestellen.
Die Ränder konkret benennen
Die Floskel „behandle alle Sonderfälle" bringt nichts, der Agent kann daraus keine Entscheidungen ableiten. Konkrete Beispiele können das:
Statt: „Handle edge cases." Besser: „A transaction at 23:59 on the last day of the month counts for THAT month. An empty transaction list shows the empty state, not an error. Names contain umlauts and emoji."
Die typischen Familien als Checkliste: leere Zustände, Grenzwerte (genau 0, genau 100 Prozent), Sonderzeichen, Zeitgrenzen, Gleichzeitigkeit.
Der zweite Hebel: den Beweis verlangen
Ohne Prüfauftrag ist „sieht fertig aus" das einzige Stopp-Signal des Agenten. Jeder Prompt sollte deshalb mit einem ausführbaren Check enden: „Write tests for the boundary cases above, run them and show the output." Erst wenn die Ränder getestet sind, ist die Aufgabe erledigt.