Entrenamiento de Modelos de Lenguaje para Generar Código de Calidad con Retroalimentación de Análisis de Programas
Training Language Models to Generate Quality Code with Program Analysis Feedback
May 28, 2025
Autores: Feng Yao, Zilong Wang, Liyuan Liu, Junxia Cui, Li Zhong, Xiaohan Fu, Haohui Mai, Vish Krishnan, Jianfeng Gao, Jingbo Shang
cs.AI
Resumen
La generación de código con modelos de lenguaje de gran escala (LLMs), a menudo denominada *vibe coding*, está siendo cada vez más adoptada en producción, pero no logra garantizar la calidad del código, particularmente en aspectos de seguridad (por ejemplo, vulnerabilidades de inyección SQL) y mantenibilidad (por ejemplo, anotaciones de tipo faltantes). Los métodos existentes, como el ajuste fino supervisado y el procesamiento posterior basado en reglas, dependen de anotaciones laboriosas o heurísticas frágiles, lo que limita su escalabilidad y efectividad. Proponemos REAL, un marco de aprendizaje por refuerzo que incentiva a los LLMs a generar código de calidad para producción utilizando retroalimentación guiada por análisis de programas. Específicamente, REAL integra dos señales automatizadas: (1) análisis de programas que detectan defectos de seguridad o mantenibilidad y (2) pruebas unitarias que aseguran la corrección funcional. A diferencia de trabajos anteriores, nuestro marco es independiente del *prompt* y no requiere referencias, permitiendo una supervisión escalable sin intervención manual. Los experimentos en múltiples conjuntos de datos y escalas de modelos demuestran que REAL supera a los métodos más avanzados en evaluaciones simultáneas de funcionalidad y calidad del código. Nuestro trabajo cierra la brecha entre la creación rápida de prototipos y el código listo para producción, permitiendo que los LLMs ofrezcan tanto velocidad como calidad.
English
Code generation with large language models (LLMs), often termed vibe coding,
is increasingly adopted in production but fails to ensure code quality,
particularly in security (e.g., SQL injection vulnerabilities) and
maintainability (e.g., missing type annotations). Existing methods, such as
supervised fine-tuning and rule-based post-processing, rely on labor-intensive
annotations or brittle heuristics, limiting their scalability and
effectiveness. We propose REAL, a reinforcement learning framework that
incentivizes LLMs to generate production-quality code using program
analysis-guided feedback. Specifically, REAL integrates two automated signals:
(1) program analysis detecting security or maintainability defects and (2) unit
tests ensuring functional correctness. Unlike prior work, our framework is
prompt-agnostic and reference-free, enabling scalable supervision without
manual intervention. Experiments across multiple datasets and model scales
demonstrate that REAL outperforms state-of-the-art methods in simultaneous
assessments of functionality and code quality. Our work bridges the gap between
rapid prototyping and production-ready code, enabling LLMs to deliver both
speed and quality.