PlayCoder: Tornando o Código de Interface Gráfica Gerado por LLM Jogável
PlayCoder: Making LLM-Generated GUI Code Playable
April 21, 2026
Autores: Zhiyuan Peng, Wei Tao, Xin Yin, Chenhao Ying, Yuan Luo, Yiwen Guo
cs.AI
Resumo
Os grandes modelos de linguagem (LLMs) obtiveram resultados robustos na geração de código, mas sua capacidade de gerar aplicações com interface gráfica (GUI), especialmente jogos, permanece insuficientemente estudada. Os benchmarks existentes avaliam principalmente a correção através de casos de teste, que são inadequados para aplicações GUI porque estes sistemas são interativos, orientados a eventos e exigem transições de estado corretas ao longo de sequências de ações do utilizador. A sua avaliação deve, portanto, considerar fluxos de interação e lógica de interface, e não apenas resultados de aprovação/reprovação. Para estudar este problema, introduzimos o PlayEval, um benchmark com consciência de repositório, construído a partir de 43 aplicações GUI multilingues em Python, TypeScript e JavaScript. Ao contrário de benchmarks GUI anteriores, que são difíceis de adaptar a ambientes de desktop, o PlayEval abrange seis grandes categorias de aplicações GUI e suporta diretamente a avaliação de geração de código. Propomos ainda o Play@k, uma métrica que mede se pelo menos um dos *k* candidatos gerados pode ser executado de ponta a ponta sem erros lógicos. Para suportar uma avaliação fiável, desenvolvemos o PlayTester, um agente baseado em LLM que executa playthroughs GUI orientados a tarefas e deteta violações de lógica automaticamente. Experiências com 10 LLMs de código state-of-the-art mostram que, apesar de altas taxas de compilação, eles atingem um Play@3 próximo de zero, revelando grandes fraquezas na geração de aplicações GUI logicamente corretas. Para superar esta limitação, apresentamos o PlayCoder, uma framework multiagente e com consciência de repositório que gera, avalia e repara iterativamente o código de aplicações GUI num ciclo fechado. O PlayCoder melhora substancialmente tanto a correção funcional como o alinhamento semântico para modelos de código aberto e proprietários, atingindo até 38,1% de Exec@3 e 20,3% de Play@3. Estudos de caso mostram ainda que ele pode detetar bugs lógicos silenciosos ignorados por métricas tradicionais e corrigi-los através de edições direcionadas.
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.