Leveraging LLMs for Multi-File DSL Code Generation: An Industrial Case Study
Diese industrielle Fallstudie bei BMW zeigt, dass das Fine-Tuning von codeorientierten LLMs mit einer strukturierten, Pfad erhaltenden JSON-Repräsentation von Repository-Hierarchien die Baseline-Prompting- und One-Shot-Learning-Ansätze bei der Generierung genauer, mehrdateiliger DSL-Artefakte, die nachgelagerte Codegenerierung vorantreiben, deutlich übertrifft.
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 sind ein Meisterarchitekt, der für ein riesiges Bauunternehmen (BMW) arbeitet. Ihre Aufgabe ist es, neue Gebäude (Marktkonfigurationen) für verschiedene Städte zu entwerfen.
In der alten Arbeitsweise mussten Sie jeden einzelnen Bauplan, jeden Elektroplan und jedes Rohrleitungsschema manuell auf separaten Papierbögen ausarbeiten. Wenn Sie ein neues Fenster in die Küche einfügen wollten, mussten Sie sich daran erinnern, den Elektroplan, den Rohrleitungsplan und den Statikplan alle perfekt synchron zu aktualisieren. Wenn Sie ein winziges Detail übersehen, konnte das gesamte Gebäude nicht gebaut werden, und die Baumannschaft (der Code-Generator) würde stecken bleiben.
Diese Arbeit beschreibt, wie man einem superintelligenten Roboterassistenten (ein Large Language Model, oder LLM) beibringt, diese manuelle Büroarbeit für Sie zu erledigen. Doch es gibt einen Haken: Der Roboter hat Ihre spezifischen Baupläne noch nie gesehen, und er muss mehrere miteinander verknüpfte Papiere gleichzeitig basierend auf nur einem einzigen Satz Ihrer Anweisungen aktualisieren.
Hier ist, wie die Forscher dem Roboter beigebracht haben, dies zu tun:
1. Das Problem: Das „Eine Anweisung, Viele Dateien"-Rätsel
Normalerweise ist KI gut darin, eine einzelne Geschichte oder ein einzelnes Code-Stück zu schreiben. Aber in diesem Unternehmen erfordert eine einzelne Anfrage wie „Füge einen neuen Darlehentyp für den deutschen Markt hinzu" Änderungen in Dateien in fünf verschiedenen Ordnern. Wenn der Roboter die Hauptdatei ändert, aber vergisst, die Datei zu aktualisieren, die alle Darlehentypen auflistet, bricht das gesamte System zusammen.
2. Die Lösung: Abflachen der Bibliothek
Um dem Roboter zu helfen, das gesamte Projekt auf einmal zu verstehen, gaben die Forscher ihm nicht Datei für Datei. Stattdessen nahmen sie die gesamte „Bibliothek" von Bauplänen (die Ordnerstruktur) und flachten sie zu einem einzigen, riesigen, organisierten Buch (einem einzigen JSON-Dokument) ab.
- Die Analogie: Stellen Sie sich vor, Sie nehmen einen unordentlichen Schreibtisch mit 20 verschiedenen Ordnern und legen jede einzelne Seite auf einen riesigen Tisch, halten sie aber in sauberen Reihen, damit Sie wissen, welche Seite zu welchem Ordner gehört. Jetzt kann der Roboter den gesamten Tisch auf einmal betrachten und sagen: „Okay, ich sehe, wo die Änderungen hinmüssen."
3. Das Training: Drei Wege, dem Roboter beizubringen
Die Forscher versuchten drei verschiedene Methoden, dem Roboter diese spezifische Aufgabe beizubringen:
- Der „Kaltstart" (Zero-Shot): Sie gaben dem Roboter einfach die Anweisung und das abgeflachte Buch und sagten: „Repariere es."
- Ergebnis: Der Roboter war okay darin, die Seiten in der richtigen Reihenfolge zu halten, aber er erfand oft falsche Details oder überließ winzige Verbindungen. Es war wie ein Schüler, der das Alphabet kennt, aber noch keine Grammatik gelernt hat.
- Das „Beispiel" (One-Shot): Sie gaben dem Roboter die Anweisung, das Buch plus ein Beispiel einer zuvor korrekt erledigten Aufgabe. „So haben wir das letzte Mal ein Fenster hinzugefügt; machen Sie es so."
- Ergebnis: Dies half dem Roboter, die Struktur richtig zu bekommen (die Seiten blieben in den richtigen Ordnern), aber er hatte immer noch Schwierigkeiten mit den spezifischen, kniffligen Details der neuen Anfrage.
- Der „Intensivkurs" (Fine-Tuning): Sie nahmen den Roboter und zeigten ihm hunderte Beispiele von „Vorher"- und „Nachher"-Bauplänen. Sie zeigten es ihm nicht nur; sie passten das innere Gehirn des Roboters an (unter Verwendung einer Technik namens QLoRA), damit er die spezifischen Regeln der Baupläne dieses Unternehmens lernte.
- Ergebnis: Dies war der Gewinner. Der Roboter wurde zum Experten. Er konnte eine Anfrage betrachten und einen perfekt synchronisierten Satz von Änderungen über alle Dateien hinweg produzieren.
4. Die Ergebnisse: Hat es funktioniert?
Die Forscher testeten den Roboter mit realen Aufgaben und ließen menschliche Experten die Arbeit überprüfen.
- Struktur: Der feinabgestimmte Roboter war fast perfekt darin, die Dateien in den richtigen Ordnern zu halten und keine falschen Ordner zu erfinden. Er erhielt eine perfekte Punktzahl (1,0) dafür, die „Form" des Projekts korrekt zu halten.
- Details: Er war sehr gut im eigentlichen Inhalt, wobei etwa 66 % der Änderungen exakt richtig und 84 % der Änderungen „nahe genug" waren, um nützlich zu sein.
- Die „Beinahe"-Realität: Der Roboter war so gut, dass, wenn er scheiterte, es normalerweise nur ein kleiner Tippfehler oder eine falsche Zahl war, keine fehlende Datei. Es war wie ein Koch, der ein perfektes Essen zubereitet, aber versehentlich Salz statt Zucker verwendet. Die Struktur war richtig; der Geschmack war nur leicht falsch.
5. Was die menschlichen Experten sagten
Die Forscher baten vier Seniorarchitekten (Entwickler), die Arbeit des Roboters zu überprüfen.
- Urteil: Sie liebten es. Sie gaben ihm hohe Noten für Lesbarkeit und Struktur.
- Zeiteinsparung: Sie schätzten, dass der Roboter für kleine, einfache Projekte 40 % bis 80 % ihrer Zeit sparen könnte. Für massive, komplexe Projekte war der Roboter jedoch immer noch ein „Helfer", der einen Menschen benötigte, um die endgültigen Details zu überprüfen.
- Der Haken: Der Roboter war manchmal verwirrt darüber, welche spezifische Art von Bauteil in einem komplexen Szenario zu verwenden war, was einen Menschen erforderte, eine schnelle Korrektur vorzunehmen.
Das Fazit
Diese Arbeit beweist, dass man einer KI beibringen kann, komplexe, mehrdateilige Projekte zu verwalten, wenn man:
- Die Dateien in ein einziges, leicht lesbares Format organisiert.
- Ihr einen spezifischen „Intensivkurs" (Fine-Tuning) zu Ihren spezifischen Regeln gibt.
Sie wird die menschlichen Architekten noch nicht ersetzen, aber sie kann die schwere Arbeit des Entwurfs der Baupläne übernehmen, ihnen Stunden an mühsamer Arbeit sparen und ihnen erlauben, sich auf die kreativen Teile zu konzentrieren.
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.