A Matter of Representation: Towards Graph-Based Abstract Code Generation
Iskandar, Bedri, Tsen
Most large language models (LLMs) today excel at generating raw, sequential code with minimal abstractions and custom structures. However, there has been little work on graph-based abstract code generation, where significant logic is encapsulated in predefined nodes and execution flow is determined by edges. This is relevant for visual programming languages, and in cases where raw source code is inaccessible to users and LLM training sets. In this work, we propose and evaluate JSON representations for graphs to enable high accuracy graph-based abstract code generation. We evaluate these representations on ScratchTest, a mini-benchmark based on our custom Python re-implementation of Scratch, which tests the LLM in code graph space. Our findings demonstrate that LLMs can indeed perform the aforementioned generation task in a single pass without relying on specialized or complex pipelines, given the correct graph representations. We also show that different representations induce significantly different accuracies, highlighting the instrumental role of representations in this generation task. All in all, this work establishes the first steps towards representation learning for graph-based abstract code generation.
academic
Eine Frage der Repräsentation: Hin zur graphenbasierten abstrakten Codegenerierung
Die meisten großen Sprachmodelle (LLMs) zeigen hervorragende Leistungen bei der Generierung von rohem, sequenziellem Code, aber es gibt wenig Forschung zur graphenbasierten abstrakten Codegenerierung. Graphenbasierter abstrakter Code kapselt wichtige Logik in vordefinierten Knoten ein, wobei Kanten den Ausführungsfluss bestimmen. Diese Codeform ist in visuellen Programmiersprachen verbreitet und wichtig in Szenarien, in denen der ursprüngliche Quellcode für Benutzer und LLM-Trainingssätze nicht zugänglich ist. Dieses Papier schlägt JSON-Repräsentationsmethoden für Graphen vor und evaluiert diese, um hochpräzise graphenbasierte abstrakte Codegenerierung zu ermöglichen. Die Autoren evaluieren diese Repräsentationsmethoden auf ScratchTest, einem kleinen Benchmark basierend auf einer Python-Neuimplementierung von Scratch. Die Forschung zeigt, dass LLMs unter der richtigen Graphenrepräsentation die genannte Aufgabe tatsächlich in einer einzigen Generierung bewältigen können, ohne auf spezialisierte oder komplexe Pipelines angewiesen zu sein. Unterschiedliche Repräsentationsmethoden führen zu deutlich unterschiedlichen Genauigkeitsraten und unterstreichen die kritische Rolle der Repräsentation bei dieser Generierungsaufgabe.
Aktuelle LLMs konzentrieren sich im Bereich der Codegenerierung hauptsächlich auf rohe, sequenzielle Codegenerierung, bei der Code in linearer Weise in Zeileneinheiten angeordnet ist. Viele praktische Anwendungsszenarien erfordern jedoch graphenbasierte abstrakte Codegenerierung, wie etwa:
Breite Anwendung: Graphische Programmiersprachen werden von Anfängern, Spieleentwicklern und Softwareingenieuren weit verbreitet verwendet
Knappheit von Trainingsdaten: Neue Bibliotheken und Frameworks verfügen über unzureichende Trainingsdaten und sehen sich denselben Abstraktionsherausforderungen wie graphenbasierter Code gegenüber
Nichtlineare Beziehungen: Graphische Sprachen führen komplexe nichtlineare Beziehungen zwischen Knoten ein, die traditionelles kontextabhängiges Lernen schwer bewältigen kann
Graphgenerierungsmethoden: GraphRNN, GraphGAN usw. konzentrieren sich auf allgemeine Graphgenerierung und sind nicht für funktionale Code-Graphen geeignet
Graph Foundation Models (GFMs): GNN-basierte Methoden haben schlechte Skalierbarkeit, LLM-basierte Methoden sind überabhängig von fragiler natürlicher Sprache
Codegenerierungsmodelle: Hauptsächlich auf sequenziellen Code ausgerichtet, mit großen Unterschieden in der Unterstützung verschiedener Sprachen/Frameworks
Vorschlag einer JSON-Repräsentationsmethode für Knoten: Ermöglicht es aktuellen LLMs, Code-Graphen mit höchster syntaktischer und logischer Genauigkeit zu generieren
Vorschlag einer JSON-Repräsentationsmethode für Code-Graphen: Verbessert weiter die Genauigkeit der Graphenrepräsentation von LLM-Ausgaben
Konstruktion des ScratchTest-Benchmarks: Basierend auf einer Python-Neuimplementierung von Scratch, speziell zur Evaluierung der Fähigkeit zur graphenbasierten abstrakten Codegenerierung
Validierung der Bedeutung der Repräsentation: Nachweis, dass unter einem Single-Agent-LLM-Framework die richtige Repräsentation die Generierungsgenauigkeit erheblich verbessern kann
Bedeutung von Typinformationen: Das Hinzufügen von Port-Typen verbessert die Genauigkeit erheblich und verhindert inkompatible Verbindungen
Begrenzte Wertigkeit von Beschreibungsinformationen: Natürlichsprachliche Beschreibungen können die Leistung nicht wesentlich verbessern und erhöhen stattdessen den Token-Verbrauch
Kritische Rolle der Repräsentationsstruktur: Getrennte Graphenrepräsentation ist deutlich überlegen gegenüber eingebetteter Repräsentation
Verbesserte Konsistenz: Die vorgeschlagene Methode zeigt stabilere Leistung über mehrere Läufe hinweg
Die anderen drei Modelle (qwen3-32b, deepseek-r1-distill-llama-70b, llama-3.3-70b-versatile) zeigen deutlich schlechtere Leistungen als gpt-oss-120b, mit in den meisten Fällen niedrigeren Genauigkeitsraten und höheren Fehlerquoten.
Allgemeine Graphgenerierung: GraphRNN, GraphGAN konzentrieren sich auf das Lernen von Graphverteilungen und sind nicht für funktionale Code-Graphen geeignet
Graph Foundation Models: GNN-basierte Methoden haben schlechte Skalierbarkeit, LLM-basierte Methoden sind abhängig von fragiler natürlicher Sprache
LLM-Graphverständnis: Bestehende Arbeiten evaluieren hauptsächlich mathematisches Graphverständnis, nicht logische Codierungs-Graphen
Leistungsunterschiede: Erhebliche Unterschiede in der Generierungsfähigkeit zwischen verschiedenen Sprachen/Frameworks, hauptsächlich durch die Verfügbarkeit von Trainingsdaten bestimmt
Das Papier zitiert 54 verwandte Arbeiten, die LLM-Codegenerierung, Graphenneuronale Netze, visuelle Programmiersprachen und andere wichtige Arbeiten in mehreren Bereichen abdecken und eine solide theoretische Grundlage für die Forschung bieten.
Gesamtbewertung: Dies ist eine bahnbrechende Arbeit, die sich erstmals systematisch mit dem Problem der graphenbasierten abstrakten Codegenerierung befasst. Obwohl es noch Verbesserungspotenzial in Evaluierungsmethoden und theoretischer Analyse gibt, ist die vorgeschlagene Repräsentationsmethode einfach und effektiv und legt eine wichtige Grundlage für diese neue Forschungsrichtung. Diese Arbeit hat hohen praktischen Wert und Inspirationskraft und wird voraussichtlich weitere Entwicklungen in verwandten Bereichen fördern.