Wie ich die KI dazu brachte, in unserer 3 Jahre alten Fintech-Codebase nicht mehr zu halluzinieren
KI-Coding-Tools scheitern an echten Produktionsprojekten. Sie funktionieren bei neuem Code, aber bei alten Codebases mit Historie bricht alles zusammen.
Das habe ich auf die harte Tour bei unserem Fintech-Projekt gelernt. Wir haben zwei React-Frontends, ein Admin-Panel und ein FastAPI-Backend. Unsere Datenbank ist komplex. Sie enthält sensible Finanz- und Nutzerdaten.
Wir haben versucht, KI einzusetzen, um schneller voranzukommen. Es ist sofort gescheitert.
Ich bat die KI, eine contacts-Tabelle zu erstellen. Sie erstellte neue Spalten für Namen und E-Mails. Diese Spalten existierten bereits in unserer users-Tabelle. Die KI duplizierte Daten, anstatt einen Fremdschlüssel zu verwenden. Sie hatte keine Ahnung, dass unsere users-Tabelle überhaupt existierte.
Ich hörte auf zu fragen, wie ich die KI dazu bringe, besseren Code zu schreiben. Ich fing an zu fragen, was die KI wissen muss, um gute Entscheidungen zu treffen.
KI ist nur so gut wie der Kontext, den man ihr gibt. Wir haben unseren Kontext explizit und verbindlich gestaltet. Hier ist das System, das wir aufgebaut haben:
• ADR-Dateien: Wir haben einen docs/adrs/-Ordner erstellt. Diese Dateien halten fest, warum wir bestimmte Architektur-Entscheidungen treffen. Eine Datei (ADR-001) sagt der KI: „Prüfe zuerst bestehende Tabellen. Verwende Fremdschlüssel. Dupliziere niemals Nutzerdaten.“
• context.md: Diese Datei erklärt unsere spezifischen Begriffe. Sie sagt der KI, wie verschiedene Konzepte in unserem System miteinander zusammenhängen.
• plot.md: Dies ist eine Übersichtskarte. Sie zeigt, wie die verschiedenen Teile unseres Projekts miteinander verbunden sind.
• Strenge Regeln: Wir haben der KI gesagt, dass das docs-Verzeichnis die oberste Instanz ist. Sie muss diese Regeln in der vorgegebenen Reihenfolge befolgen.
• Verpflichtende Tests: Jede neue API-Route muss Testfälle haben.
Dieses System macht die KI berechenbar.
Einmal änderte die KI eine gemeinsam genutzte Funktion, wodurch acht andere Teile der App beschädigt wurden. Da wir Tests hatten, erkannte die KI die Fehler. Sie korrigierte ihren eigenen Fehler, indem sie eine neue Version der Funktion erstellte, die sowohl die alten als auch die neuen Anforderungen erfüllte. Ohne Tests wäre dieser Bug in die Produktion gelangt.
Hör auf, der KI die Schuld zu geben, dass sie deine Codebase nicht kennt. Behandle sie wie einen neuen Mitarbeiter. Du gibst einem neuen Mitarbeiter nicht die Schuld, wenn er deine Regeln noch nicht kennt. Du gibst ihm Dokumentation und ein Onboarding.
Unsere Struktur sieht so aus:
docs/
- context.md (Begriffe und Zusammenhänge)
- plot.md (Übersichtskarte)
- adr/ (Spezifische Regeln wie Tabellenerstellung oder API-Struktur)
Drei Tipps für deinen Workflow:
- Sei spezifisch in deinen ADRs. Verwende klare Anweisungen anstatt vager Ratschläge.
- Mache die Dokumentation verbindlich. Sage der KI, dass diese Regeln Vorrang haben.
- Verwandle Fehler in Regeln. Jedes Mal, wenn die KI scheitert, erstelle ein neues ADR, um dies zu verhindern.
Das macht die KI nicht perfekt. Es macht sie konsistent.
Optionale Lern-Community: https://t.me/GyaanSetuAi
