ChatPaper.aiChatPaper

Código-A1: Evolución Adversaria de Code LLM y Test LLM mediante Aprendizaje por Refuerzo

Code-A1: Adversarial Evolving of Code LLM and Test LLM via Reinforcement Learning

March 16, 2026
Autores: Aozhe Wang, Yuchen Yan, Nan Zhou, Zhengxi Lu, Weiming Lu, Jun Xiao, Yueting Zhuang, Yongliang Shen
cs.AI

Resumen

El aprendizaje por refuerzo para la generación de código depende de recompensas verificables basadas en tasas de aprobación de pruebas unitarias. Sin embargo, los conjuntos de pruebas de alta calidad son escasos, los conjuntos de datos existentes ofrecen cobertura limitada y las recompensas estáticas no se adaptan a medida que los modelos mejoran. Los métodos recientes de autojuego unifican la generación de código y pruebas en un solo modelo, pero enfrentan un dilema inherente: el acceso de caja blanca conduce a una autocolusión donde el modelo produce pruebas triviales para recompensas fáciles, mientras que la restricción de caja negra genera pruebas genéricas que pasan por alto errores específicos de la implementación. Presentamos Code-A1, un marco de coevolución adversarial que optimiza conjuntamente un Modelo de Lenguaje de Código (Code LLM) y un Modelo de Lenguaje de Pruebas (Test LLM) con objetivos opuestos. El Code LLM es recompensado por pasar más pruebas, mientras que el Test LLM es recompensado por exponer más defectos. Esta separación arquitectónica elimina los riesgos de autocolusión y permite de forma segura la generación de pruebas de caja blanca, donde el Test LLM puede inspeccionar el código candidato para diseñar pruebas adversariales dirigidas. Además, introducimos un mecanismo de Libro de Errores para la reproducción de experiencias y una recompensa compuesta que equilibra la validez de las pruebas con la dificultad adversarial. Los experimentos con modelos Qwen2.5-Coder demuestran que Code-A1 logra un rendimiento en generación de código que iguala o supera a los modelos entrenados con pruebas anotadas por humanos, mientras mejora significativamente la capacidad de generación de pruebas.
English
Reinforcement learning for code generation relies on verifiable rewards from unit test pass rates. Yet high-quality test suites are scarce, existing datasets offer limited coverage, and static rewards fail to adapt as models improve. Recent self-play methods unify code and test generation in a single model, but face a inherent dilemma: white-box access leads to self-collusion where the model produces trivial tests for easy rewards, yet black-box restriction yields generic tests that miss implementation-specific bugs. We introduce Code-A1, an adversarial co-evolution framework that jointly optimizes a Code LLM and a Test LLM with opposing objectives. The Code LLM is rewarded for passing more tests, while the Test LLM is rewarded for exposing more defects. This architectural separation eliminates self-collusion risks and safely enables white-box test generation, where the Test LLM can inspect candidate code to craft targeted adversarial tests. We further introduce a Mistake Book mechanism for experience replay and a composite reward balancing test validity with adversarial difficulty. Experiments on Qwen2.5-Coder models demonstrate that Code-A1 achieves code generation performance matching or exceeding models trained on human-annotated tests, while significantly improving test generation capability.
PDF91March 18, 2026