Konfiguration, um die Analyse von 500k Zeilen Legacy-Code an einem Tag abzuschließen und pünktlich Feierabend zu machen
Behebung von Scan-Fehlern in internen Sicherheitsnetzwerken und großen Repositorys
Wenn terminalbasierte Entwicklungstools in einer internen Firewall- und Proxy-Umgebung ausgeführt werden, treten Netzwerkblockierungsfehler auf. Die Ursache ist das Fehlschlagen der Validierung des internen Stammzertifikats. Dies liegt daran, dass das Tool aufgrund seiner Laufzeiteigenschaften das Standardzertifikatsverzeichnis des Betriebssystems umgeht.
Die Konfiguration muss direkt im Terminal-Profil vorgenommen werden. Geben Sie die interne Proxy-Adresse in den Variablen HTTP_PROXY und HTTPS_PROXY ein. Legen Sie für die Variable NODE_EXTRA_CA_CERTS den Pfad zur internen Stammzertifikatsdatei fest. Wenn Sie ANTHROPIC_BASE_URL auf den lokalen Ollama-Endpunkt setzen und den Wert von CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC auf 1 belassen, wird der externe Datenverkehr blockiert. Dadurch werden Firewall-Vorgaben eingehalten, Scan-Fehler beseitigt und die Einrichtungszeit verkürzt.
Das Ausführen eines vollständigen Scans in einem monolithischen Repository mit über 500.000 Zeilen dauert 30 Minuten oder schlägt fehl aufgrund von Heap-Speicherfehlern. In einer Umgebung mit 16 GB RAM muss ein lokales Modell mit 14B oder 20B verwendet werden, damit der Scanner stabil läuft. Erstellen Sie eine .understandignore-Datei im Projektstamm.
Das Anwenden von Ausschlussmustern ist denkbar einfach. Erstellen Sie die Datei im Hauptverzeichnis und tragen Sie die Pfade **/node_modules/, **/target/, **/build/ und **/src/test/ ein. Erhöhen Sie das Node.js-Heap-Speicherlimit, indem Sie den Befehl NODE_OPTIONS="--max-old-space-size=8192" in das Terminal eingeben. Da sich die Anzahl der zu analysierenden Dateien verringert, verkürzt sich die Dauer des anfänglichen Scans auf unter 3 Minuten.
Verhinderung fehlerhafter Antworten durch Einschränkung des Anfragebereichs
Wenn Sie Fragen an das gesamte, riesige Repository stellen, werden zehntausende Knoten im Wissensgraphen gleichzeitig geladen. Dies führt zu Halluzinationen. Das Tool verwechselt alte und neue Zahlungsklassen und ruft Methoden auf, die nicht existieren. Der Bereich der Geschäftslogik muss eingegrenzt werden.
Das Vorgehen zur Beschränkung des Anfragebereichs auf ein bestimmtes Verzeichnis sieht wie folgt aus: Wenn Sie sich eine einzelne Datei ansehen möchten, fügen Sie den relativen Pfad der Zieldatei hinter den Befehl. Um den Domain-Fluss zu verstehen, führen Sie einen Befehl aus, der nur Knoten innerhalb einer bestimmten Domain-Grenze extrahiert. Geben Sie auch bei der Verwendung von Chat-Befehlen den zu überprüfenden Verzeichnispfad an und schließen Sie den Test-Ordner aus. Durch die reduzierte Anzahl an Knoten erhöht sich die Genauigkeit der Codesuche.
Es ist riskant, den Code blind auf Basis der von der KI gelieferten Ergebnisse zu ändern. Sie müssen die Ausgabe des Wissensgraphen direkt mit dem tatsächlichen Quellcode abgleichen. Öffnen Sie die Dateisuche Ihrer IDE, um zu prüfen, ob die von der KI genannte Methode tatsächlich existiert. Überprüfen Sie die Aufrufbeziehungen, den Transaktionsbereich und die Zuordnungsdateien. Führen Sie vor der Codeänderung einen Befehl zur Analyse der Auswirkungen aus.
Autonome Extraktion von System-Flussdiagrammen mit der Tour-Funktion
In Legacy-Systemen, in denen der zuständige Entwickler das Unternehmen verlassen hat und keine Dokumentation vorhanden ist, müssen Dutzende von Dateien durchsucht werden, um auch nur eine einzige API zu verstehen. Mit den Tools von Understand-Anything wird eine Tour erstellt, die Sie vom Einstiegspunkt aus schichtweise in der Reihenfolge der Abhängigkeiten durch das System führt. Sie müssen nicht jedes Mal den Senior-Developer fragen.
So rufen Sie das Anfrage- und Antwort-Flussdiagramm ab: Starten Sie nach Abschluss der Wissensgraphen-Analyse die Dashboard-UI. Wählen Sie die Tour-Funktion im Menü aus oder geben Sie den Befehl direkt ein. Visualisieren Sie den Ausführungsfluss, indem Sie den Knoten vom API-Einstiegspunkt über die Backend-Dienste bis hin zur Datenbank nacheinander folgen.
Bei Eingriffen in Legacy-Code müssen Seiteneffekte im Voraus kalkuliert werden. Führen Sie nach der Codebearbeitung und vor dem Commit einen Befehl aus, der die geänderten Dateien in Graphenknoten umwandelt. Die verbundenen Knoten werden umfassend ermittelt. Erkennen Sie im Voraus, welche Auswirkungen die Änderungen auf bestehende APIs oder Batch-Jobs haben werden.
Exportieren Sie die analysierten Assets als Markdown und registrieren Sie sie im internen Wiki. Tilgen Sie die Dokumentationsschulden, indem Sie die nach Abschluss des Scans generierte Wissensgraphendatei committen. Verwalten Sie große Dateien mit Git LFS. Richten Sie das Tracking für große Dateien ein, laden Sie die Konfigurationsdatei in das Repository hoch und nutzen Sie sie als Onboarding-Leitfaden. Wenn Sie bei jedem Commit eine inkrementelle Pipeline einrichten, können Sie den aktuellen Architekturbustand aufrechterhalten, ohne jedes Mal einen vollständigen Scan durchführen zu müssen.