Code2UML: Agentic LLMs with context engineering for scalable software visualization
Dieser Beitrag stellt Code2UML vor, ein agentic LLM-System mit einer deterministischen Context-Engineering-Schicht, die eine skalierbare, hochwertige automatisierte Generierung von UML-Diagrammen aus großvolumigen Quellcode-Repositories ermöglicht und dabei eine stabile Leistung über unterschiedliche Projektgrößen und Programmiersprachen hinweg gewährleistet.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie besitzen eine riesige Bibliothek von Büchern (eine Software-Codebasis) und möchten eine einfache Karte (ein UML-Diagramm) erstellen, die zeigt, wie die Räume miteinander verbunden sind, wo die Ausgänge liegen und wie sich die Menschen zwischen ihnen bewegen.
Das Problem besteht darin, dass die Bibliothek so riesig ist, dass, wenn Sie versuchen, das Ganze auf einmal einem einzigen Experten (einer KI) zu beschreiben, dieser überfordert ist, anfängt, Dinge zu erfinden, oder einfach mitten im Satz aufhört. Dies ist das „Kontextlimit"-Problem, das die Arbeit adressiert.
Die Autoren, Code2U, haben ein intelligentes Team aus KI-Assistenten aufgebaut, um dies zu lösen. Anstatt eine einzelne riesige KI zu bitten, alles zu erledigen, schufen sie eine Hierarchie aus fünf spezialisierten Agenten (denken Sie an ein Bauunternehmen mit spezifischen Aufgaben) und ein cleveres Datenkompressionssystem.
So funktioniert ihr System, aufgeschlüsselt in einfache Konzepte:
1. Der „Context Engineering"-Filter (Der Bibliothekar)
Bevor das KI-Team überhaupt den Code betrachtet, fungiert ein spezielles Werkzeug wie ein superschneller Bibliothekar.
- Das Problem: Die vollständige Bibliothek des Codes ist zu groß, um in das „Arbeitsgedächtnis" der KI (ihr Kontextfenster) zu passen.
- Die Lösung: Dieses Werkzeug verwendet keine KI, um zu entscheiden, was behalten werden soll. Stattdessen nutzt es strikte, vorab geschriebene Regeln (deterministische Logik), um den Code schnell zu scannen und einen maßgeschneiderten „Schnappschuss" für die spezifische Karte zu erstellen, die Sie zeichnen möchten.
- Die Analogie: Stellen Sie sich vor, Sie benötigen eine Karte des U-Bahn-Systems einer Stadt. Der Bibliothekar fragt die KI nicht: „Was ist wichtig?" Stattdessen wirft der Bibliothekar sofort alle Straßennamen, Gebäudeadressen und Parkdetails weg und behält nur die U-Bahn-Stationen und -Gleise. Dieser Schnappschuss ist winzig, passt perfekt in das Gedächtnis der KI und entsteht in Millisekunden, ohne dass irgendeine KI-Rechenleistung benötigt wird.
2. Die Fünf-Agenten-Mannschaft
Sobald der Bibliothekar den richtigen Schnappschuss erstellt hat, übernimmt ein Team aus fünf spezialisierten KI-Agenten. Sie arbeiten zusammen wie ein gut geöltes Uhrwerk:
- Der Planer (Der Architekt): Betrachtet den Schnappschuss und entscheidet: „Okay, wir müssen dieses große Projekt in kleinere Abschnitte aufteilen. Lassen Sie uns drei separate Karten für die verschiedenen Abteilungen erstellen."
- Der Analytiker (Der Detektiv): Für jeden Abschnitt liest dieser Agent die spezifischen Dateien und fasst die wichtigsten Interaktionen zusammen (wer spricht mit wem). Er ignoriert das Rauschen und konzentriert sich auf das Signal.
- Der Diagramm-Agent (Der Künstler): Dieser Agent nimmt die Zusammenfassung und zeichnet tatsächlich die Karte (indem er den Code für das Diagramm schreibt).
- Der Korrektor (Der Lektor): Der Künstler könnte kleine Fehler machen (wie einen Tippfehler in der Kartenlegende). Dieser Agent liest die fertige Karte, prüft sie gegen die Regeln und behebt sofort alle Fehler.
- Der Abhängigkeits-Analytiker (Der Lieferkettenmanager): Dieser Agent schaut über den Hauptcode hinaus, um zu sehen, welche externen Tools oder Bibliotheken das Projekt verwendet, und stellt sicher, dass die Karte auch diese Verbindungen enthält.
3. Die Ergebnisse: Was haben sie herausgefunden?
Das Team testete dieses System an 12 verschiedenen Open-Source-Softwareprojekten (von winzigen Apps bis hin zu riesigen Systemen), die in vier verschiedenen Sprachen (Java, Python, JavaScript, PHP) geschrieben waren. Sie versuchten, 7 verschiedene Arten von Karten zu generieren (wie Klassendiagramme, Flussdiagramme und Bereitstellungspläne).
Hier ist, was passierte:
- Hohe Genauigkeit: Die Karten waren fast immer syntaktisch korrekt (etwa 91,5 % waren sofort perfekt; für einige Arten wie „Komponenten"- und „Bereitstellungs"-Karten lag es bei 100 %).
- Intelligente Zusammenfassungen: Das System versuchte nicht, jedes einzelne Stück Code aufzulisten (was die Karte unlesbar machen würde). Stattdessen konzentrierte es sich auf die wichtigsten Teile. Es erfasste etwa 31 % der Code-Entitäten, aber es waren die richtigen.
- Konsistenz: Es funktionierte genauso gut bei einem kleinen Projekt mit 30 Codezeilen wie bei einem riesigen Projekt mit über 4.500 Zeilen. Die Qualität nahm nicht ab, als das Projekt größer wurde.
- Keine Halluzinationen: Die Karten erfanden selten falsche Verbindungen zwischen Code-Teilen. Wenn die Karte sagte, dass zwei Dinge verbunden sind, waren sie es tatsächlich.
4. Warum dies wichtig ist
Die Arbeit argumentiert, dass frühere Versuche, dies mit KI zu tun, scheiterten, weil sie versuchten, die gesamte Codebasis auf einmal der KI zu übergeben.
- Alter Weg: „Hier ist die ganze Bibliothek, bitte zeichnen Sie eine Karte." (Ergebnis: Die KI wird verwirrt und macht Fehler).
- Code2U-Weg: „Hier ist ein winziger, perfekt gefilterter Schnappschuss von genau dem, was Sie für diese spezifische Karte benötigen. Zeichnen Sie sie jetzt." (Ergebnis: Eine saubere, genaue und gültige Karte).
Zusammenfassung
Die Arbeit stellt ein System vor, das die Erstellung von Software-Blueprints automatisiert. Es gelingt, indem es nicht versucht, ein „All-in-One"-Genie zu sein, sondern als spezialisiertes Team agiert, das die Daten zuerst intelligent komprimiert und dann zusammenarbeitet, um genaue, gültige Diagramme zu zeichnen. Es beweist, dass man hochwertige Software-Karten für riesige Codebasen generieren kann, ohne dass die KI überfordert wird.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.