Scaling Agentic Verifier for Competitive Coding
作者: Zeyao Ma, Jing Zhang, Xiaokang Zhang, Jiaxi Yang, Zongmeng Zhang, Jiajun Zhang, Yuheng Jing, Lei Zhang, Hao Zheng, Wenting Zhao, Junyang Lin, Binyuan Hui
分类: cs.CL
发布日期: 2026-02-04
💡 一句话要点
提出Agentic Verifier,通过主动测试用例生成提升代码竞赛问题求解能力
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 代码竞赛 程序验证 强化学习 测试用例生成 大型语言模型
📋 核心要点
- 现有基于执行的重排序方法在代码竞赛问题中面临测试用例生成困难和随机采样效率低下的挑战。
- Agentic Verifier通过主动推理程序行为并生成针对性测试用例,有效区分候选解决方案的优劣。
- 实验结果表明,该方法在多个代码竞赛基准上显著提升了性能,Best@K准确率提升高达10-15%。
📝 摘要(中文)
大型语言模型(LLMs)在代码能力方面表现出色,但仍难以一次性正确解决代码竞赛问题。基于执行的重排序是一种有前景的测试时扩展策略,但现有方法受限于困难的测试用例生成或低效的随机输入采样。为了解决这个限制,我们提出了Agentic Verifier,一个基于执行的智能体,它主动推理程序行为,并搜索具有高度区分性的测试输入,以揭示候选解决方案之间的行为差异。通过与代码执行环境的多轮交互,验证器迭代地改进候选输入生成器,并产生有针对性的反例,而不是盲目地采样输入。我们训练验证器,通过结合大规模数据合成、拒绝微调和智能体强化学习的可扩展pipeline来获得这种区分性输入生成能力。在五个代码竞赛基准上的大量实验表明,相对于强大的基于执行的基线,性能得到了一致的提高,在Best@K准确率方面实现了高达+10-15%的绝对收益。进一步的分析揭示了清晰的测试时扩展行为,并突出了验证器在重排序之外的更广泛潜力。
🔬 方法详解
问题定义:论文旨在解决代码竞赛问题中,大型语言模型生成的多个候选代码解决方案的排序问题。现有基于执行的重排序方法依赖于测试用例来区分候选方案,但这些方法要么难以生成有效的测试用例,要么采用低效的随机采样,导致排序效果不佳。
核心思路:论文的核心思路是设计一个智能体(Agentic Verifier),该智能体能够主动地与代码执行环境交互,通过分析候选代码的行为,生成具有区分性的测试用例。这些测试用例能够有效地揭示不同候选方案之间的差异,从而实现更准确的排序。
技术框架:Agentic Verifier的整体框架包括以下几个主要模块:1) 候选输入生成器:负责生成初始的测试用例;2) 代码执行环境:用于执行候选代码和测试用例,并返回执行结果;3) 行为分析器:分析代码执行结果,识别候选方案之间的行为差异;4) 奖励函数:根据行为差异,为输入生成器提供奖励信号;5) 强化学习算法:用于训练输入生成器,使其能够生成更具区分性的测试用例。整个流程是一个多轮交互的过程,验证器不断地改进输入生成器,直到找到能够有效区分候选方案的测试用例。
关键创新:该方法最重要的创新点在于提出了一个主动的测试用例生成框架。与传统的随机采样方法不同,Agentic Verifier能够根据候选代码的行为,有针对性地生成测试用例,从而更有效地揭示代码中的错误。这种主动测试的思想可以应用于各种代码质量评估任务。
关键设计:Agentic Verifier的关键设计包括:1) 使用大规模数据合成来预训练输入生成器;2) 使用拒绝微调来过滤掉无效的测试用例;3) 使用强化学习算法(如PPO)来优化输入生成器,使其能够生成更具区分性的测试用例;4) 设计合适的奖励函数,鼓励生成能够揭示候选方案之间差异的测试用例。具体的参数设置和网络结构细节在论文中有详细描述。
🖼️ 关键图片
📊 实验亮点
实验结果表明,Agentic Verifier在五个代码竞赛基准上均取得了显著的性能提升,相对于强大的基于执行的基线,Best@K准确率提升高达10-15%。这表明该方法能够有效地生成具有区分性的测试用例,从而提高代码竞赛问题的求解能力。此外,实验还验证了该方法具有良好的测试时扩展性,能够随着候选方案数量的增加而保持性能。
🎯 应用场景
Agentic Verifier具有广泛的应用前景,可用于代码竞赛、软件测试、代码调试等领域。它可以帮助开发者更有效地发现代码中的错误,提高代码质量。此外,该方法还可以应用于教育领域,帮助学生更好地理解代码行为,提升编程能力。未来,该方法有望扩展到更复杂的代码场景,例如大型软件系统的测试和验证。
📄 摘要(原文)
Large language models (LLMs) have demonstrated strong coding capabilities but still struggle to solve competitive programming problems correctly in a single attempt. Execution-based re-ranking offers a promising test-time scaling strategy, yet existing methods are constrained by either difficult test case generation or inefficient random input sampling. To address this limitation, we propose Agentic Verifier, an execution-based agent that actively reasons about program behaviors and searches for highly discriminative test inputs that expose behavioral discrepancies among candidate solutions. Through multi-turn interaction with code execution environments, the verifier iteratively refines the candidate input generator and produces targeted counterexamples rather than blindly sampling inputs. We train the verifier to acquire this discriminative input generation capability via a scalable pipeline combining large-scale data synthesis, rejection fine-tuning, and agentic reinforcement learning. Extensive experiments across five competitive programming benchmarks demonstrate consistent improvements over strong execution-based baselines, achieving up to +10-15% absolute gains in Best@K accuracy. Further analysis reveals clear test-time scaling behavior and highlights the verifier's broader potential beyond reranking.