19 Punkte von letaem77a 2025-04-14 | 8 Kommentare | Auf WhatsApp teilen

"In diesem Artikel wird überprüft, wie präzise ein LLM Fragen zu einer Codebasis beantworten kann, wenn eine TypeScript-Codebasis mit vielen Dateien per Bundling in eine einzige JavaScript-Datei komprimiert und anschließend an das LLM übergeben wird."

  • Eine NestJS-basierte Webserver-Codebasis vorbereitet
  • Code mit esbuild komprimiert (gebündelt)
  • Der komprimierte Code wird in den Prompt eingefügt
  • Prompt an ChatGPT o3-mini übergeben
  • Überprüft, wie präzise Fragen zur Codebasis beantwortet werden
  1. Test zur Swagger-Erstellung: In den meisten Versuchen wurden mehr als 19 von 21 Endpunkten erfolgreich korrekt dokumentiert
  2. Test zur Anforderung von Beschreibungen für API-Endpunkte: Handbücher für Nicht-Entwickler und Entwickler wurden erfolgreich erstellt
  • Es gibt Einschränkungen
  • Fazit

"Um die gesamte Codebasis für ein LLM per RAG verfügbar zu machen, wurde ein Test entworfen, bei dem die gesamte Codebasis zu einer Datei komprimiert und an das LLM übergeben wird.

Wenn die Codebasis mit existierenden Bundling-Tools unverändert komprimiert wurde, konnte das LLM API-Dokumentation für die gesamte Codebasis erstellen oder detaillierte Handbücher für bestimmte APIs verfassen.

Es wird erwartet, dass sich der beim Komprimieren der Codebasis entstehende Informationsverlust durch zusätzliche Semantic Search auf den Originaldateien ergänzen lässt."

8 Kommentare

 
mendong 2025-04-14

Kann man es als RAG bezeichnen, wenn man gebündelte Dateien in den Prompt einfügt oder an die Anwendung anhängt und damit das LLM abfragt? Ich frage mich, welcher Teil davon als Retrieval gilt.

 
labeldock 2025-04-14

Ich habe einen ähnlichen Gedanken.

 
bejunth 2025-04-14

Holt sich das LLM auf Basis der gebündelten Datei nicht per Retrieval den ursprünglichen Code zurück?

 
winterjung 2025-04-14

Interessant. Offenbar erkennt es sogar minifiziertes JS bis zu einem gewissen Grad recht gut. Ich denke, es wäre auch gut, Tools wie die unter https://de.news.hada.io/topic?id=19552 oder https://de.news.hada.io/topic?id=19540 vorgestellten zu nutzen, um die Verzeichnisstruktur als zusätzlichen Kontext bereitzustellen.

 
apkas 2025-04-14

Da ich in letzter Zeit so viel mit LLMs und Coding arbeite, mache ich mir ständig Gedanken darüber, wie man Informationen effizient übermittelt, daher vielen Dank für dieses interessante Experiment.

Im Ausland gab es auch Versuche, die Syntax einer Codebase als Graph zu extrahieren und darauf Abfragen auszuführen,
aber Bundling scheint eine Methode zu sein, die sich allgemeiner und einfacher anwenden lässt. (Wenn die Sprache Bundling unterstützt)
https://x.com/daniel_mac8/status/1908332949251948808

Allerdings ist Gemini in letzter Zeit so gut geworden, dass ein Vergleich mit o3 noch interessanter wäre.

 
unqocn 2025-04-14

Fand ich sehr interessant. Dass sich aus gebündeltem Sourcecode die Business-Logik in diesem Maß extrahieren lässt … die Kosten für Reverse Engineering von als SPA geschriebenen Web-Apps dürften sich dadurch ebenfalls drastisch senken lassen.

 
xguru 2025-04-14

Oh, ich wollte es gerade lesen, aber der Blog liefert derzeit einen 500-Fehler.

 
letaem77a 2025-04-14

Mein Blog scheint instabil zu sein. Wenn Sie nicht darauf zugreifen können, können Sie den Inhalt hier auf gist.github.com lesen.