PlayCoder: LLM-gegenereerde GUI-code speelbaar maken
PlayCoder: Making LLM-Generated GUI Code Playable
April 21, 2026
Auteurs: Zhiyuan Peng, Wei Tao, Xin Yin, Chenhao Ying, Yuan Luo, Yiwen Guo
cs.AI
Samenvatting
Grote taalmodellen (LLM's) hebben sterke resultaten behaald in codegeneratie, maar hun vermogen om GUI-applicaties, met name games, te genereren is onvoldoende bestudeerd. Bestaande benchmarks evalueren voornamelijk correctheid via testgevallen, wat ontoereikend is voor GUI-applicaties omdat deze systemen interactief, gebeurtenisgestuurd zijn en correcte toestandsovergangen vereisen bij reeksen gebruikersacties. Hun evaluatie moet daarom interactieflussen en UI-logica in overweging nemen in plaats van alleen geslaagd/mislukt-resultaten. Om dit probleem te bestuderen, introduceren we PlayEval, een repository-aware benchmark opgebouwd uit 43 meertalige GUI-applicaties in Python, TypeScript en JavaScript. In tegenstelling tot eerdere GUI-benchmarks die moeilijk aan te passen zijn aan desktopomgevingen, dekt PlayEval zes grote GUI-applicatiecategorieën en ondersteunt het direct de evaluatie van codegeneratie. We stellen verder Play@k voor, een metriek die meet of ten minste één van de *k* gegenereerde kandidaten van begin tot eind speelbaar is zonder logische fouten. Om betrouwbare evaluatie te ondersteunen, ontwikkelen we PlayTester, een op LLM's gebaseerde agent die taakgerichte GUI-doorlopen uitvoert en logische schendingen automatisch detecteert. Experimenten met 10 state-of-the-art code-LLM's tonen aan dat ze, ondanks hoge compilatiesuccessen, een bijna-nul Play@3 scoren, wat grote zwaktes onthult in het genereren van logisch correcte GUI-applicaties. Om deze beperking aan te pakken, presenteren we PlayCoder, een multi-agent, repository-aware raamwerk dat GUI-applicatiecode genereert, evalueert en iteratief repareert in een gesloten lus. PlayCoder verbetert zowel de functionele correctheid als de semantische afstemming aanzienlijk voor open-source en closed-source modellen, met scores tot 38,1% Exec@3 en 20,3% Play@3. Casestudies tonen verder aan dat het stille logische bugs kan ontdekken die door traditionele metrieken worden gemist en deze kan herstellen via gerichte bewerkingen.
English
Large language models (LLMs) have achieved strong results in code generation, but their ability to generate GUI applications, especially games, remains insufficiently studied. Existing benchmarks mainly evaluate correctness through test cases, which are inadequate for GUI applications because these systems are interactive, event-driven, and require correct state transitions across sequences of user actions. Their evaluation therefore should consider interaction flows and UI logic rather than only pass/fail outcomes. To study this problem, we introduce PlayEval, a repository-aware benchmark built from 43 multilingual GUI applications in Python, TypeScript, and JavaScript. Unlike prior GUI benchmarks that are difficult to adapt to desktop environments, PlayEval covers six major GUI application categories and directly supports code-generation evaluation. We further propose Play@k, a metric that measures whether at least one of *k* generated candidates can be played end-to-end without logical errors. To support reliable evaluation, we develop PlayTester, an LLM-based agent that performs task-oriented GUI playthroughs and detects logic violations automatically. Experiments on 10 state-of-the-art code LLMs show that, despite high compilation rates, they achieve near-zero Play@3, revealing major weaknesses in generating logically correct GUI applications. To address this limitation, we present PlayCoder, a multi-agent, repository-aware framework that generates, evaluates, and iteratively repairs GUI application code in a closed loop. PlayCoder substantially improves both functional correctness and semantic alignment for open-source and closed-source models, reaching up to 38.1% Exec@3 and 20.3% Play@3. Case studies further show that it can uncover silent logic bugs missed by traditional metrics and fix them through targeted edits.