首个在编程竞赛中击败所有人类的AI - Agentic GRPO解析

Reddit r/LocalLLaMA 论文

摘要

GrandCode是一个多智能体强化学习系统,在竞技编程中达到了特级大师水平,通过新颖的Agentic GRPO方法,在实时Codeforces竞赛中持续击败所有人类参赛者。

* 传统针对LLM的强化学习将一个答案视为一条轨迹:> 提示 > 推理 > 最终答案 > 奖励 * 智能体系统则不同:* 它们调用工具 * 生成假设 * 运行测试 * 调试代码 * 总结上下文 * 修订计划 * 循环多次直至成功 这就带来了一个棘手的强化学习问题:* 奖励到达非常晚 * 轨迹非常长 * 策略在轨迹收集期间发生变化(“离策略漂移”) Agentic GRPO旨在这种情况下稳定学习。 # 首先:什么是GRPO? GRPO代表群体相对策略优化(Group Relative Policy Optimization)。它是一种与PPO精神相似的强化学习算法:* 采样多个输出 * 将它们相互比较 * 奖励相对更好的 * 将模型向更好的轨迹更新 它不要求完美的标量奖励校准,而是在一组样本内使用相对排名/归一化。该论文基于GRPO并将其适配于“智能体”多阶段工作流。 # Agentic GRPO的核心直觉 想象一个AI编码智能体解决一个困难的编程问题。工作流可能是:1. 提出假设 2. 生成算法 3. 编写代码 4. 生成测试 5. 运行测试 6. 调试失败 7. 重试 8. 最终通过 在标准强化学习中:* 模型可能只在最后获得奖励 * 所有早期动作必须等待 * 训练变得缓慢且不稳定 Agentic GRPO通过引入以下两点改变了这一点:1. 即时奖励 2. 延迟修正 # 关键创新 论文将其描述为:* 当中间反馈出现时立即更新 * 一旦最终结果已知,稍后应用修正 因此,系统不是等到整个轨迹完成:*阶段1 > 阶段2 > 阶段3 > 最终奖励*,而是执行:*阶段1奖励 > 立即更新* *阶段2奖励 > 立即更新* *阶段3奖励 > 立即更新* *稍后:* *最终奖励到达* *追溯修正较早的更新* # 类比 想象培训一个初级程序员。传统强化学习:* 等到整个项目交付 * 然后说“干得好”或“干得不好” Agentic GRPO:* 持续给予反馈:* “那个假设有用” * “那个测试发现了一个bug” * “这个优化有帮助” * 但后来修正评估:* “实际上早期的设计决策导致了问题” 因此学习变得:* 更快 * 更密集 * 更稳定 # 这专门解决了以下场景的强化学习问题:* 长周期LLM智能体 * 编码智能体 * 自主工作流 最新的最佳结果,Google的Gemini 3 Deep Think,获得了第8名。这个新方案是首个在实时竞技编程竞赛中持续击败所有人类参赛者的AI系统:
查看原文
查看缓存全文

缓存时间: 2026/05/23 11:55

# GrandCode:通过智能体强化学习在竞赛编程中达到大师级水平 来源:https://arxiv.org/html/2604.02721

###### 摘要

竞赛编程仍然是人类在编程领域对抗AI的最后几个堡垒之一。迄今为止最好的AI系统在竞赛编程中的表现仍然不及最优秀的人类选手:最新的最佳结果,Google的Gemini 3 Deep Think,即使未在实时比赛条件下进行评估,也仅获得第8名。在这项工作中,我们介绍了GrandCode,一个专为竞赛编程设计的多智能体强化学习系统。GrandCode的能力归功于两个关键因素:(1) 它协调了多种智能体模块(假设提议、求解器、测试生成器、总结等),并通过后训练和在线测试时强化学习共同改进它们;(2) 我们引入了专门为多阶段智能体轨迹设计的Agentic GRPO,以应对智能体RL中普遍存在的延迟奖励和严重的离策略漂移问题。GrandCode是第一个在实时竞赛编程比赛中持续击败所有人类参与者的AI系统:在最近的三场Codeforces实时竞赛中,即第1087轮(2026年3月21日)、第1088轮(2026年3月28日)和第1089轮(2026年3月29日),GrandCode在所有比赛中均获得第一名,击败了包括传奇特级大师在内的所有人类参与者。GrandCode表明,AI系统已达到在最具挑战性的编程任务上超越最强人类程序员的水平。

🖂 ![[无标题图片]](https://arxiv.org/html/2604.02721v1/standings/overview.png)
图1:GrandCode参与的三场实时竞赛的Codeforces排名概览。GrandCode在所有三场比赛中均排名第一,并且是每场比赛中第一个完成所有任务的参赛者。
🖂🖂脚注:Email: {xiaoya_li, xiaofei_sun, songqiao_su, chris_shum, jiwei_li}@deep-reinforce.com; * 独立研究员。

## 1 引言

尽管AI编程领域取得了快速进展,但当前最强的AI系统在竞赛编程中仍然不及最优秀的人类选手。与此同时,大语言模型的快速进步 [OpenAI, 2023; 2024a; 2024b, Llama Team, AI @ Meta, 2024, Google DeepMind, 2025, Moonshot AI, 2025, Yang et al., 2024, DeepSeek-AI, 2025] 带来了显著的性能提升,并催生了大量关于竞赛编程基准、评估和数据集的研究文献 [Quan et al., 2025, El-Kishky et al., 2025, Yang et al., 2025, Liu et al., 2025, Wang et al., 2025b, Li et al., 2025a, Wang et al., 2025a, Ma et al., 2026, Dou et al., 2025, Zheng et al., 2026]。AlphaCode达到了约1300的Codeforces评分,位居前54%的参赛者之列 [Li et al., 2022];AlphaCode2将其提升到第85百分位 [AlphaCode Team, Google DeepMind, 2023];而OpenAI的o3在全球排名第175位 [OpenAI, 2025]。最近,Gemini 3 Deep Think获得了第8名的排名,尽管这一结果是基于历史问题获得的,而非实时比赛条件。在这项工作中,我们介绍了GrandCode,一个专为竞赛编程设计的多智能体强化学习系统。GrandCode协调了多种智能体和模块,并通过后训练和在明确的智能体循环中的测试时RL进行在线适应来优化:假设模型提出结构性猜想,主求解器负责推理和解决方案生成的主要职责,总结模型维护长上下文的紧凑记忆,测试用例生成器生成边缘测试用例来挑战提出的解决方案。此设计的目标是启用一个包含推理、验证和反馈的智能体循环,并持续改进其解决方案。为了解决多轮智能体RL中的严重离策略问题,我们引入了Agentic GRPO,这是组相对策略优化 [Shao et al., 2024] 的一个变体,它结合了即时奖励更新与延迟修正,能够在长时间、多阶段的轨迹和异步训练下实现更有效的信用分配。GrandCode是第一个在实时比赛条件下持续超越最优秀人类竞赛编程选手的AI系统:在最近三场标准实时比赛条件下的Codeforces轮次中:2026年3月21日第1087轮、3月28日第1088轮和3月29日第1089轮,GrandCode在所有三场比赛中均获得第一名,超越了包括多位顶级传奇特级大师在内的每一位人类参赛者。GrandCode并非孤立出现,而是建立在广泛的先验AI组件和系统生态系统之上,我们对此表示感谢。它基于Qwen 3.5作为基础模型 [Yang et al., 2024],因其可访问的SFT流水线和多模态能力而被选中。我们还使用了Kimi 2.5 [Moonshot AI, 2025]、GLM [Zhipu AI and Tsinghua University KEG, 2024] 以及其他闭源LLM用于多个模块的数据生成,并整合了来自Slime [THUDM, 2026] 和Tinker [Thinking Machines Lab, 2025] 等系统的模块和实现思路。本文的其余部分组织如下:
- • 第2节 描述了Codeforces评估设置和GrandCode的比赛结果。
- • 第3节 介绍了整体系统设计。
- • 第4节 介绍了Agentic GRPO及其用于多阶段智能体轨迹的延迟修正机制。
- • 第5节 描述了我们测试用例生成的流水线。
- • 第6节 介绍了假设生成阶段。
- • 第7节 描述了持续训练和监督微调。
- • 第8节 介绍了多组件RL编排。
- • 第9节 描述了支持性的RL基础设施。
- • 第10节 讨论了实时比赛中的测试时RL。

## 2 Codeforces 比赛结果

### 2.1 Codeforces
Codeforces111https://codeforces.com/ 是最著名的竞赛编程平台之一,举办频繁的公开比赛,拥有庞大且高水平的参与者群体。在典型的轮次中,参赛者会得到一系列难度递增的问题,必须严格遵守时间和内存限制尽快解决。许多轮次按组别划分:Div. 1通常针对高评分参与者,Div. 2针对更广泛的低评分参与者群体,而Div. 1+2轮次则将两个组别合并到同一场比赛中。每个解决方案都提交给在线裁判,裁判在隐藏的测试用例上评估代码,并只返回有限的反馈,例如提交结果是错误还是超时。因此,一个成功的提交必须同时正确且高效,并且较早通过的提交会获得更高的分数。问题描述通常很长,结合了叙述性描述与精确的约束和输入输出规范,还可能包含图表,如图9所示。值得注意的是,Codeforces有反AI生成内容的政策,涉嫌使用AI的账户会被移除。比赛中排名高的账户受到更严格的审查。为了获得完整版本的最终评分,我们会等到人类参赛者几乎完成任务后再提交完整版本。

### 2.2 参赛结果
GrandCode最近参加了三场Codeforces实时比赛,参赛者ID分别为:第1087轮的 averyjones1,第1088轮的 yokeko,以及第1089轮的 Vortex1。

| 轮次 | 组别 | 日期时间 (UTC+3) | 时长 | ID |
| :--- | :--- | :--- | :--- | :--- |
| 1087 | 2 | 2026年3月21日 17:35–19:35 | 02:00:00 | averyjones1 |
| 1088 | 1+2 | 2026年3月28日 17:45–20:15 | 02:30:00 | yokeko |
| 1089 | 2 | 2026年3月29日 17:35–19:50 | 02:15:00 | Vortex1 |

我们报告两个分数:S(separate),即任务完成时其分数之和,也就是在每个解决方案准备就绪后就立即提交。这里“separate”是指独立提交,提交和排名详情如图7和图8所示;以及 S(joint),即基于单个账户中所有提交的分数,如图LABEL:fig:cf-standings-overview所示,提交和排名详情如图6所示。实际上,由于等待时间,S(joint)严格低于S(separate)。值得注意的是,这也可能导致未反映出来的多次提交惩罚。我们认为这种影响很小,因为:(1) 所有任务最多在四次提交尝试内解决;(2) 在Codeforces评分系统中,与早期被接受提交所获得的奖励相比,多次尝试的惩罚很小。

| 轮次 | S(separate) | S(joint) | 完成时间 |
| :--- | :--- | :--- | :--- |
| 1087 | 9269 | 8334 | 00:51:11 |
| 1088 | 16511 | 15008 | 01:40:35 |
| 1089 | 11596 | 9506 | 00:56:43 |

GrandCode 在所有三场比赛中都取得了最高分,并且是每场比赛中第一个完成所有任务的参赛者。其对应的 S(separate) 分数在第1087、1088和1089轮分别为9269、16511和11596,对应的 S(joint) 分数分别为8334、15008和9506。联合提交和排名的详情如图LABEL:fig:cf-standings-overview所示。

## 3 系统概述

所提出的系统结合了三个学习到的策略和测试用例生成模块:
1. 1. 主求解器 π_main 是生成推理过程和代码的核心策略。
2. 2. 假设模型 π_hypothesis 提出中间猜想或结构特性,这些将在小实例上进行验证。被接受的假设将被注入到主求解器的提示中。
3. 3. 总结模型 π_summary 压缩非常长的推理过程,以便在后续的RL阶段中,困难问题仍然易于处理。
4. 4. 测试用例生成器构建对抗性测试、针对解决方案的攻击测试和大规模压力测试,以便在提交前评估候选程序。

整体工作流程分为两个阶段:
1. 1. 后训练,可以进一步分为三个子阶段:
    (a) 在广泛的竞赛编程数据上进行持续预训练,以提高模型的一般问题解决能力。我们从现有的任务数据集开始,将其作为数据扩展的种子,使用Claude和Gemini生成额外数据,并对Qwen模型在最终语料库上进行持续训练。
    (b) 在高质量(问题、思考过程、解决方案)三元组上进行监督微调。给定(问题、解决方案)对,我们生成用于数据扩展的推理过程,并将得到的三元组用于监督微调,同时训练辅助组件如 π_hypothesis 和 π_summary。
    (c) 多组件强化学习来联合优化整个系统,使主求解器和辅助组件在最终目标下能够更有效地协作。
2. 2. 测试时/实时比赛求解。在此阶段,模型使用难度感知路由解决当前问题实例,对简单情况采用直接生成,对困难情况则采用带有验证反馈的在线测试时RL循环。图2显示了完整的流水线。
参见标题
图2:完整流水线概览。在后训练阶段,我们对噪声性的竞赛编程数据进行持续训练,对参考解决方案进行监督微调,训练辅助假设生成策略 π_hypothesis 和总结策略 π_summary,并通过多组件RL联合优化系统。在测试/在线比赛时,模型对简单情况采用直接生成,对困难情况则采用在线测试时RL循环。

#### 基于难度的路由
我们微调一个轻量级分类器,将每个任务分配到五个难度级别之一,其中级别1表示最简单的问题,级别5表示最难的问题。

## 4 具有即时奖励和延迟修正的Agentic GRPO

在许多智能体场景中,特别是代码优化,通常需要智能体执行多轮自我调试和故障排除。因此,从开始轨迹到获得最终奖励的整个过程可能非常缓慢。这不仅因为生成的序列本身很长,更重要的是因为代码需要多次评估,而每次评估都涉及编译和执行。对于许多竞赛编程任务,单次评估很容易超过一分钟。这造成了严重的离策略问题。异步RL方法,例如pipeline-RL [Piché et al., 2025],其中采样和训练并发进行,伴随着运行中的权重更新,并且单个序列可能在多个策略版本下生成,是一个必要的解决方案,但还不够。作为异步训练的补充,我们提出了*具有即时奖励和延迟修正的Agentic GRPO*,它旨在处理异步训练框架下智能体设置中的多阶段轨迹。假设我们有一个形式如下的多阶段轨迹,阶段 t ∈ [1, N] 的序列表示为 s_t,其奖励为 r_t:s_1, r_1, s_2, r_2, ..., s_N, r_N。在标准GRPO中,我们使用最终奖励 r_N 更新整个轨迹,而忽略中间奖励 r_1, r_2, ..., r_{N-1}。Agentic GRPO的核心思想是,一旦中间奖励 r_t 可用,就尽快让训练器更新策略,而不是等待最终奖励 r_N。当我们完成整个序列时,我们向训练器应用一个延迟修正项 r_N - r_1, r_N - r_2, ..., r_N - r_{N-1}。因此,对于每个子序列 s_t 及其奖励 r_t,梯度更新将分为两个阶段:即时更新阶段和延迟修正阶段。

相似文章

Genesis AI 弹钢琴

Reddit r/singularity

Genesis AI 突出了使用 Gene 2.6.5 在机器人操作方面的进展,旨在达到人类水平的灵巧度。文章讨论了训练机器人执行复杂物理任务的进展。