Automatisierte CPG-Pipeline für sichere KI-Codeerstellung
Claude generierte in nur 38 Minuten 47 Dateien und 1.900 Codezeilen – inklusive Refactoring und Migration. Die Geschwindigkeit von KI übertrifft die menschliche Überprüfungsrate, was zu technischem Schuldenberg führt, wenn keine automatisierten Sicherheitsmaßnahmen greifen.
Die CPG-Pipeline löst dieses Problem: Sie analysiert jeden Commit, liefert Kontext aus dem Codegraph vor der Generierung und bewertet Risiken in Pull Requests. So wird riskantes KI-Coding in einen kontrollierten Prozess verwandelt.
Hauptprobleme beim ungezügelten KI-Coding
Ungeprüfte KI-Generierung führt zu wiederkehrenden Schwächen:
- Logik-Duplikation statt gemeinsamer Module – steigert Codevolumen und Verzweigungen.
- Unsichtbare Aufrufgraphen: Änderung einer Datei wirkt sich auf Dutzende Abhängigkeiten aus.
- Dokumentationsdrift: Diskrepanzen zwischen Textangaben und Codezahlen – 14 Fälle wurden bei Audit gefunden.
Architektur der CPG-Pipeline
Die Pipeline nutzt Claude Code Hooks über fünf Phasen:
- Sitzungsstart: Projekt-Snapshot – Methodenanzahl, Dateizahl, durchschnittliche cyclomatische Komplexität.
- Prompt-Verarbeitung: Kontextextraktion pro Klasse (Position, Methodenkomplexität, eingehende/ausgehende Aufrufe).
- Vor-Edit-Warnungen: Hohe Komplexität, TODOs in Datei, öffentliche Endpunkte.
- Nach-Commit-Analyse: Qualitätsbewertung und Auswirkungsradius.
- Sitzungsende: Nachanalyse von Komplexitäts- und Volumenänderungen.
Details zur Commit-Analyse: commit_analysis.py
Der Schlüsselhook commit_analysis.py läuft nach git commit:
- Prüft CPG-Frische via Commit-Hash vs HEAD.
- Inkrementeller Update:
gocpg update. - Qualitätsanalyse: cyclomatische Komplexität, TODO/FIXME, Debug-Code, veraltete Methoden.
- Auswirkungsanalyse: aufrufende Methoden, Zugriffsschnittstellen.
Das Modell erhält Bericht: «4 Dateien geändert, 12 Methoden betroffen, Komplexität stieg von 8 auf 12, 8 Aufrufer gefährdet».
Vorteile des Kontexts vor der Generierung
CPG-Kontext vor Prompting verändert das Modellverhalten. Ohne ihn: blinde Änderungen. Mit ihm: Bewusstsein über Komplexität (8), Aufrufe (8 direkt), TODOs, Schnittstellen (CLI, nicht REST).
Dies reduziert Kompatibilitätsrisiken und steigert die Genauigkeit der Generierung.
Git-Hooks für aktuelle Graphen
CPG verliert mit jedem Commit an Aktualität. Die Hooks post-commit, post-merge, post-checkout führen asynchron gocpg update aus:
- Vollparse: 85 Sekunden.
- Inkrementell für 2 Dateien: 2–5 Sekunden.
- Für 10–20 Dateien: 5–12 Sekunden.
Der Entwickler muss nicht warten – der Graph aktualisiert sich im Hintergrund.
Integration in CI/CD
In CI: Build von GoCPG, Cache-Wiederherstellung, Synchronisation von Basisbranch, Publikation im PR-Kommentar + SARIF-Anmerkungen.
Reviewer sieht:
- Anzahl geänderter Dateien und Graphknoten.
- Cache-Hits.
- Risiken und Sicherheitsfundstellen.
Claims_validator.py für Dokumentationsintegrität
Validator scannt Markdown auf numerische Aussagen (z. B. «95 Handler») und kreuzt sie mit SQL-Abfragen gegen CPG. Erkennt Diskrepanzen in Sekundenschnelle.
Fallstudie: Validierung von User Stories
Aufgabe: Überprüfung der Abdeckung von 83 Stories über 5 Schnittstellen (CLI, REST, TUI, MCP, ACP).
KI generierte StoryValidationRunner (450 Zeilen, 39 Tests – alle grün).
Erster Durchlauf: 0 Abdeckung wegen Bugs (Windows/Unix-Pfadbehandlung, interaktiv vs Batch-Modus).
Nach Korrekturen: 46 vollständig, 32 teilweise, 2 nicht gefunden, 3 nicht anwendbar.
Nächste Runde: Falschpositive durch Regex (erster Pfadsegment, fehlende Stopwörter). Genauigkeit verbessert; «vollständige Abdeckung» sank von 49 auf 46 – ein Zeichen besserer Präzision.
Unit-Tests erfassten echte Graph-Probleme nicht.
Erweiterte Checks im Code-Review
Pipeline erweitert auf 13 Prüfungen:
- Warnungen für öffentliche Methoden (CLI/REST/MCP).
- Registrierung neuer Handler.
- Querverbindungen zwischen Modulen.
- Git-Diff-Analyse.
- Spezialisiertes Go-CPG.
- Testvalidierung für neue Dateien.
- Transitive Aufrumanalyse.
- Story-Abdeckungsdelta.
Qualitätsverlauf in DuckDB gespeichert
Snapshots nach Analyse: Methoden, Komplexität, TODOs, toter Code. Wöchentlich: +46 Methoden, stabile Komplexität, schwere Methoden ↓.
Schlüsselerkenntnisse
- CPG-Kontext vor der Generierung reduziert Fehler noch vor dem Schreiben durch KI.
- Inkrementelle Graphaktualisierungen dauern Sekunden.
- Automatisierte PR-Berichte lenken Reviews auf Risiken.
- Nummern-Validierung in Dokumenten verhindert Faktenverschiebung.
- DuckDB-Metriken zeigen Projekttrends auf.
— Editorial Team
Noch keine Kommentare.