So verhindern Sie, dass Claude Code in Legacy-Codebasen unsinnigen Code schreibt
1. Warum Legacy-Codebasen KI-Agenten ruinieren
Wenn man KI-Coding-Tools wie Claude Code in große Legacy-Quellcodebasen integriert, tritt jedes Mal dasselbe Problem auf. Zu Beginn jeder neuen Chatsitzung startet der Agent völlig ohne Kenntnisse über unser Unternehmens-Domänenwissen, kundenspezifische Objektrelationalen Mappings (ORMs) oder Fehlerbehandlungsregeln.
Analysen zeigen, dass Code, der von einem Agenten ohne systematische Architekturbeschränkungen erstellt wird, eine etwa 1,7-mal höhere Fehlerquote aufweist als von Menschen geschriebener Code. Insbesondere steigen Logikfehler um 75 Prozent, und das Risiko von Sicherheitslücken schießt auf das Doppelte hoch. Jedes Mal müssen Sie Code von Grund auf neu generieren lassen oder Token-Kosten verschwenden, um fehlerhafte Ergebnisse zu korrigieren.
Um dieses Problem zu lösen, müssen Sie eine dedizierte Konfigurationsdatei im Projektverzeichnis ablegen. Erstellen Sie eine CLAUDE.md-Datei im Projektstammverzeichnis und tragen Sie dort Build-Befehle, Testbefehle sowie Architekturregeln direkt ein. Wenn Sie diese Datei im Repository eincommitten, liest der Agent sie beim Start automatisch ein. Allein durch diese eine Konfiguration können Sie über 4 Stunden pro Woche an Zeit einsparen, die sonst für die Korrektur falsch generierten Codes draufginge.
2. Den Kontext durch projektspezifische Konventionsdateien fixieren
Um das wiederholte Neueinstellen des Kontexts zu vermeiden, sollten hierarchische Regeldateien im Projektstamm und in den Unterverzeichnissen platziert werden. Beim Start liest Claude Code Konfigurationsdateien in der Reihenfolge von der obersten globalen Konfiguration über das Projektstammverzeichnis bis hin zu den Unterverzeichnissen und führt sie zu einem einzigen System-Prompt zusammen.
Wenn man eine riesige, bei der Onboarding-Phase automatisch generierte Spezifikation mit 3.847 Token auf eine modulare Struktur mit 312 Token reduziert, die sich auf wesentliche Regeln konzentriert, lässt sich die Genauigkeit bei der Befehlsausführung beibehalten, während die anfänglichen Token-Kosten pro Turn um 91,9 Prozent gesenkt werden.
So erstellen Sie die tatsächliche Konfigurationsdatei:
- Erstellen Sie eine
CLAUDE.md-Datei im Stammverzeichnis und schreiben Sie Build-Befehle sowie Einschränkungen für den Datenbankzugriff in imperativem Tonfall (unter 200 Zeilen).
- Unterteilen Sie untergeordnete Regeldateien an den Grenzen der Frontend- und Backend-Verzeichnisse, damit sie je nach Bedingung dynamisch geladen werden.
- Überprüfen Sie zu Beginn einer Sitzung, ob die Dateien korrekt zusammengeführt werden, und testen Sie die Genauigkeit des Agenten bei der Befehlsausführung.
Wenn Sie unternehmensinterne Geschäftslogik und Architekturregeln dauerhaft in den Agenten einbetten, können Sie Halluzinationen an der Wurzel packen.
3. Aufbau eines Referenzindex für gemeinsame Bibliotheken
Wenn Sie dem Agenten das Datenbankschemas und gemeinsame Hilfsbibliotheken (Utilities) eines Legacy-Systems füttern, sollten Sie ihn nicht den gesamten Quellcode auf einmal lesen lassen. Unnötige Implementierungsdetails füllen das Kontextfenster, verschwenden Token und verschlechtern die Inferenzleistung.
Untersuchungen zeigen, dass die Anwendung statischer Indizes und Methoden-Signatur-Kontextinjektionen in komplexen Codebasen Kompilierungs- und Modulintegrationsfehler um bis zu 87,5 Prozent reduziert.
So erstellen Sie ein statisches Indexverzeichnis:
- Schreiben Sie ein TypeScript-Skript, das ausschließlich Funktionssignaturen, Klassendefinitionen und Typaliase aus dem Quellcode extrahiert.
- Speichern Sie das Ergebnis in einer
.claude/reference-index.md-Datei, um eine Vergleichstabelle zu vervollständigen, die Standardbibliotheken und unternehmensinterne Implementierungen abbildet.
- Fixieren Sie den Workflow so, dass der Agent bei der Erstellung neuer Funktionen vor dem Schreiben des Codes zuerst die bestehende Symboltabelle und die Schnittstellendefinitionen überprüft.
Durch diesen Ansatz lässt sich die Wahrscheinlichkeit, dass neuer Code mit bestehenden Modulen kollidiert oder diese dupliziert, um über 80 Prozent reduzieren.
4. Kontextkomprimierung und -filterung zur Vermeidung von Token-Bomben
Um zu verhindern, dass der Agent bei der Dateisuche unnötige Token verbraucht, müssen Sie die Datei .claudeignore sowie die Monorepo-Skip-Option claudeMdExcludes konfigurieren.
Daten aus Live-Sitzungen zeigen, dass die Verarbeitungskosten einer kurzen Anfrage mit anfangs 14 Token bei etwa 0,0018 US-Dollar liegen. Wenn sich der Chat jedoch auf 260 Durchläufe summiert hat, kostet dieselbe Anfrage 2,41 US-Dollar – was einer Kosteninflation von etwa dem 1.339-Fachen entspricht.
Um die Token-Kosten im Griff zu behalten, wenden Sie drei Dinge an:
- Erstellen Sie im Projektstammverzeichnis eine
.claudeignore-Datei und schließen Sie node_modules, Build-Artefakte, Protokolldateien und Verzeichnisse mit statischen Bildern vollständig von der Suche aus.
- Tragen Sie
claudeMdExcludes-Muster in die .claude/settings.json einer Monorepo-Umgebung ein, um das Laden von Markdown-Konfigurationsdateien in unnötigen Unterpaketen zu blockieren.
- Setzen Sie die Sitzung bei jedem Aufgabenwechsel komplett zurück und delegieren Sie die Analyse großer Dateien an Unteragenten, um die Effizienz des Prompt-Caches aufrechtzuerhalten.
Bereits durch diese Einstellungen können Sie die API-Token-Kosten um bis zu 70 Prozent senken.
5. Integration lokaler Tests und statischer Analysetools
Allein durch Erklärungsdateien liegt die Regelkonformitätsrate des Agenten nur bei etwa 70 Prozent. Um eine verbindliche Einhaltung der Regeln zu erzwingen, müssen Sie eine deterministische Shell-Ausführungs-Hook-Pipeline anbinden.
Das Hook-System von Claude Code empfängt bei auftretenden Ereignissen JSON-Daten, führt ein Validierungsskript aus und entscheidet über den Exit-Code, ob der Tool-Aufruf erlaubt wird oder nicht. Mit einer automatisierten Validierungspipeline lässt sich der Zeitaufwand für manuelle Code-Reviews und das Debuggen vor dem Deployment halbieren.
So läuft der Aufbau einer Self-Healing-Pipeline ab:
- Registrieren Sie einen
PreToolUse-Matcher im hooks-Block der Konfigurationsdatei .claude/settings.json, um destruktive Befehle und unbefugte Änderungen an Konfigurationsdateien zu blockieren.
- Konfigurieren Sie Hook-Befehle beim
PostToolUse-Ereignis so, dass direkt nach der Dateimodifikation durch den Agenten statische Analyse-Linter und Unit-Tests ausgeführt werden.
- Wenn ein Test fehlschlägt, konfigurieren Sie es so, dass die Fehlerausgabe wieder in den Kontext des Agenten eingespeist wird. Dadurch wird ein Feedback-Loop vervollständigt, bei dem sich der Code ohne direkten Eingriff des Entwicklers selbst korrigiert.