ChatPaper.aiChatPaper

Код-A1: Состязательное развитие кодовой LLM и тестовой LLM с помощью обучения с подкреплением

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

March 16, 2026
Авторы: Aozhe Wang, Yuchen Yan, Nan Zhou, Zhengxi Lu, Weiming Lu, Jun Xiao, Yueting Zhuang, Yongliang Shen
cs.AI

Аннотация

Обучение с подкреплением для генерации кода опирается на проверяемые вознаграждения, основанные на прохождении модульных тестов. Однако качественные наборы тестов редки, существующие наборы данных предлагают ограниченное покрытие, а статические вознаграждения не адаптируются по мере улучшения моделей. Недавние методы самодостаточной игры объединяют генерацию кода и тестов в одной модели, но сталкиваются с inherent дилеммой: белый ящик приводит к самообману, когда модель создает тривиальные тесты для легкого вознаграждения, тогда как черный ящик дает общие тесты, которые пропускают специфичные для реализации ошибки. Мы представляем Code-A1, соревновательный коэволюционный фреймворк, который совместно оптимизирует Code LLM и Test LLM с противоположными целями. Code LLM получает вознаграждение за прохождение большего количества тестов, в то время как Test LLM поощряется за выявление большего количества дефектов. Это архитектурное разделение устраняет риски самообмана и безопасно позволяет генерацию тестов с белым ящиком, где Test LLM может анализировать кандидатный код для создания целенаправленных соревновательных тестов. Мы также вводим механизм «Книги ошибок» для воспроизведения опыта и составное вознаграждение, балансирующее валидность тестов с соревновательной сложностью. Эксперименты на моделях Qwen2.5-Coder демонстрируют, что Code-A1 достигает производительности генерации кода, сопоставимой или превосходящей модели, обученные на тестах с человеческой разметкой, при этом значительно улучшая способность к генерации тестов.
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