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
Вопрос представления: К генерации абстрактного кода на основе графов
Большинство современных больших языковых моделей (LLM) хорошо справляются с генерацией исходного последовательного кода, однако исследований в области генерации графического абстрактного кода крайне мало. Графический абстрактный код инкапсулирует важную логику в предопределённых узлах, при этом рёбра определяют поток выполнения. Такая форма кода широко распространена в языках визуального программирования и важна в случаях, когда исходный код недоступен для пользователей и обучающих наборов LLM. В данной работе предлагаются и оцениваются методы JSON-представления графов для достижения высокоточной генерации графического абстрактного кода. Авторы оценивают эти методы на ScratchTest — небольшом эталонном наборе, основанном на переимплементации Scratch на Python. Исследование показывает, что при правильном представлении графа LLM действительно могут выполнить указанную задачу за одну генерацию без использования специализированных или сложных конвейеров. Различные методы представления приводят к значительно отличающимся показателям точности, что подчёркивает критическую роль представления в данной задаче генерации.
Современные LLM в области генерации кода в основном сосредоточены на генерации исходного последовательного кода, который организован линейно по строкам. Однако многие практические сценарии требуют генерации графического абстрактного кода, такие как:
Языки визуального программирования: Scratch, Unreal Engine Blueprints, n8n и другие
Высокоуровневые библиотеки и фреймворки: детали реализации инкапсулированы, пользователи могут работать только через предопределённые интерфейсы
Широкое применение: графические языки программирования широко используются начинающими разработчиками, разработчиками игр и инженерами
Дефицит обучающих данных: новые библиотеки и фреймворки испытывают недостаток обучающих данных, сталкиваясь с теми же проблемами абстракции, что и графический код
Нелинейные отношения: графические языки вводят сложные нелинейные отношения между узлами, которые традиционное контекстное обучение не может решить
Предложены методы JSON-представления узлов: позволяют современным LLM генерировать графы кода с максимальной синтаксической и логической точностью
Предложены методы JSON-представления графов кода: дополнительно повышают точность представления графов, выводимых LLM
Построен эталонный набор ScratchTest: основан на переимплементации Scratch на Python, специально разработан для оценки способности к генерации графического абстрактного кода
Подтверждена важность представления: доказано, что при правильном представлении в рамках однооагентной LLM-архитектуры можно значительно повысить точность генерации
Важность информации о типах: добавление информации о типах портов значительно повышает точность, предотвращая несовместимые соединения
Ограниченная ценность описаний: описания на естественном языке не могут значительно повысить производительность и только увеличивают потребление токенов
Критическая роль структуры представления: разделённое представление графа значительно превосходит встроенное представление
Повышение согласованности: предложенный метод демонстрирует более стабильную производительность при множественных запусках
Три другие модели (qwen3-32b, deepseek-r1-distill-llama-70b, llama-3.3-70b-versatile) показали значительно худшую производительность по сравнению с gpt-oss-120b, в большинстве случаев с более низкой точностью и более высокой частотой ошибок.
Способности генерации кода: современные LLM хорошо справляются с традиционной генерацией кода
Методы улучшения: обучение с подкреплением, цепочка мышления, обучение заполнению пропусков, декодирование с ограничениями
Различия в производительности: существуют значительные различия в способности генерации для разных языков и фреймворков, в основном определяемые доступностью обучающих данных
Статья цитирует 54 связанные работы, охватывающие генерацию кода LLM, графические нейронные сети, языки визуального программирования и другие области, обеспечивая прочную теоретическую основу для исследования.
Общая оценка: Это пионерская работа, которая первой систематически решает проблему генерации графического абстрактного кода. Хотя в методах оценки и теоретическом анализе есть место для улучшения, предложенный метод представления простой и эффективный, закладывая важную основу для этого нового направления исследований. Работа обладает сильной практической ценностью и вдохновляющим значением, и ожидается, что она будет способствовать дальнейшему развитию соответствующих областей.