ChatPaper.aiChatPaper

Codice-A1: Evoluzione Adversaria di Code LLM e Test LLM tramite Apprendimento per Rinforzo

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

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

Abstract

L'apprendimento per rinforzo per la generazione di codice si basa su ricompense verificabili provenienti dai tassi di superamento dei test unitari. Tuttavia, suite di test di alta qualità sono scarse, i dataset esistenti offrono una copertura limitata e le ricompense statiche non si adattano al miglioramento dei modelli. I recenti metodi di self-play unificano la generazione di codice e di test in un unico modello, ma affrontano un dilemma intrinseco: l'accesso in white-box porta a una collusione interna, in cui il modello produce test banali per ricompense facili, mentre la restrizione in black-box genera test generici che non colgono bug specifici dell'implementazione. Introduciamo Code-A1, un framework di co-evoluzione avversaria che ottimizza congiuntamente un LLM per il Codice e un LLM per i Test con obiettivi opposti. Il LLM per il Codice viene premiato per superare più test, mentre il LLM per i Test viene premiato per individuare più difetti. Questa separazione architetturale elimina i rischi di auto-collusione e consente in sicurezza la generazione di test in white-box, dove il LLM per i Test può ispezionare il codice candidato per creare test avversari mirati. Introduciamo inoltre un meccanismo di Libro degli Errori per l'esperience replay e una ricompensa composita che bilancia la validità del test con la difficoltà avversaria. Esperimenti condotti su modelli Qwen2.5-Coder dimostrano che Code-A1 raggiunge prestazioni di generazione del codice pari o superiori a modelli addestrati su test annotati da umani, migliorando significativamente al contempo la capacità di generazione dei test.
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.
PDF101March 24, 2026