跳转至

FrontierSmith: Synthesizing Open-Ended Coding Problems at Scale

会议: NeurIPS 2026
arXiv: 2605.14445
论文: https://arxiv.org/abs/2605.14445
代码: https://github.com/FrontierCS/FrontierSmith
领域: 代码智能
关键词: 开放式编程, 数据合成, 想法发散度, 强化学习, 智能体

一句话总结

本文提出 FrontierSmith 自动化合成系统,通过三维目标变异将闭式算法竞赛题转化为缺乏多项式最优证书的开放式问题,并提出双阶段想法发散度过滤与测试/验证双智能体交叉验证协议,高效合成高质量连续评分编程问题,在 Qwen3.5 模型上取得与甚至超越人类精标数据的强化学习提升。

研究背景与动机

近年来大语言模型在形式明确的闭式编程任务中取得了突破性进展,在国际大学生程序设计竞赛(ICPC)等竞赛编程基准中已达到金牌选手水准,并在 SWE-bench 验证集上修复了超过 80% 的实际软件工程缺陷。这类闭式任务的共同特征是正确性具有离散二元性(通过/失败)且能在多项式时间内高效判定。然而,真实的工业界软件工程与算法挑战(如超大规模集群作业调度、复杂路径规划与启发式组合优化)多属于开放式任务(Open-Ended Coding):在目标规模下通常不存在可判定的最优性证书,不同实现方案在延迟、吞吐或能耗等连续指标上表现出连续梯度的质量差异。

这种开放式与闭式任务的能力割裂在现存基准中尤为显著。在 FrontierCS 算法赛道上,人类专家平均得分高达 95.41,而顶尖模型 Gemini 3.0 Pro 仅能获得 29.37;在启发式竞赛基准 ALE-bench 上,前沿大模型同样落后于人类普通参赛选手的平均表现。该瓶颈的根源在于严重的数据不对称:Codeforces 与 LeetCode 积累了数十万道具有可验证标准解的闭式题库,支撑了基于可验证奖励的强化学习(RLVR);而开放式高质量评测集(如 FrontierCS 仅 240 题、ALE-bench 仅 40 题)完全依赖高昂的人力手工编撰。每道题不仅需要设计严谨的优化目标与连续评分验证器,还需专家审校以确保不会退化为单一贪心策略支配的伪开放式任务。

现有的代码数据合成工作(如 AutoCode、SWE-smith 等)均聚焦于二元正确性环境的测试用例生成,无法直接迁移至无已知最优解的连续评分场景。针对这一挑战,本文提出利用体量庞大且结构多样的闭式竞赛题库作为演化种子,通过系统化变异打破多项式最优解的可行性,并引入量化指标筛选出真正激发解题策略多样性的开放式问题。核心 idea:以闭式竞赛题为三元组表征,沿变换目标、约束输出和泛化输入三轴实施变异使其最优化在目标规模下不可解,通过两阶段「想法发散度」过滤筛选出能诱发多元算法解题思路的候选,并由测试用例与验证器双智能体互验构建鲁棒的连续奖励环境。

方法详解

整体框架

FrontierSmith 将开放式问题表征为三元组 \((\mathcal{O}, \mathcal{C}_{I}, \mathcal{C}_{O})\),其中 \(\mathcal{O}\) 为计算目标(决策、判定、性质满足或最优化目标),\(\mathcal{C}_{I}\) 为合法输入实例空间,\(\mathcal{C}_{O}\) 为输出合法性约束。系统整体执行循环演化流水线(Algorithm 1):首先从种子池中采样闭式竞赛题,通过大语言模型实施三维定向变异生成开放式候选题;随后通过粗筛 LLM 裁判过滤不合规问题;接着利用基于解法语义比较的大模型判定器计算第一阶段想法发散度(Idea Divergence),截取排名前 \(N_{\text{div}}\) 的高潜力候选;继而由测试用例智能体与验证器智能体进行交叉互验,构建连续评分运行环境;最后利用执行得分向量的距离重算执行级想法发散度,重排选出前 \(N_{\text{final}}\) 道高质量题目扩充回种子池,供下一轮演化复用。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["闭式竞赛编程种子池<br/>三元组表征 (O, CI, CO)"] --> B["三维定向变异<br/>变换目标 / 约束输出 / 泛化输入"]
    B --> C["粗粒度裁判初筛<br/>无已知最优 / 策略多元 / 可连续评分"]
    C --> D["两阶段想法发散度过滤<br/>语义比较截断 + 执行得分向量精排"]
    D --> E["测试用例与验证器双智能体互验<br/>生成多分布算例与归一化连续评分函数"]
    E --> F["验证通过的开放式题库<br/>回灌种子池迭代演化 & 驱动 GRPO 强化学习"]

关键设计

1. 三维定向变异机制:系统化破除多项式最优证书

为了将原本具备快速精确解的闭式算法题转化为解空间宽广且无法判定全局最优的开放式问题,本文定义了三种正交的变异算子: - 变换目标(\(\mathcal{O} \to \mathcal{O}'\)):将二元判定或精确计数目标转换为容许梯度表现的最优化目标。例如经典的 2-SAT 判定问题在线性时间内可解,变异为 Min-True 2-SAT 后,在保持输入和合法输出格式不变的前提下,要求寻找满足约束且赋值为 True 的变量数最少的解,直接转变为 NP-hard 问题。 - 约束输出(\(\mathcal{C}_{O} \to \mathcal{C}_{O}'\)):在保持优化目标不变的前提下,对合法输出引入或收紧额外约束。例如最小生成树(MST)可通过 Kruskal 贪心算法在近线性时间内精确求解,通过引入各节点度数上限约束(Degree-Constrained Spanning Tree),使问题在目标规模下变为 NP-hard,促使求解器必须在多项启发式逼近算法间权衡。 - 泛化输入(\(\mathcal{C}_{I} \to \mathcal{C}_{I}'\)):放宽输入实例的结构性假设,扩大输入域。例如二分图上的最大独立集问题可通过 Kőnig 定理转化为多项式最大流/最小割求解,而将图拓扑结构泛化至任意非结构化图后,即还原为经典的 Karp NP 完全问题,在大输入规模下迫使模型探索局部搜索与模拟退火等连续优化策略。

2. 两阶段想法发散度过滤:量化算法求解策略多样性

如果一个变异问题虽无多项式精确解,但被某种特定的简单贪心策略绝对支配,其本质仍会退化为闭式任务,无法为强化学习(如 GRPO)提供丰富多样的梯度对比信号。为此,本文形式化定义了想法发散度(Idea Divergence)指标 \(d(c)\),即针对候选问题 \(c\),独立抽样的两个解法 \(s_i, s_j \sim \text{Solver}(c)\) 采用不同核心算法策略的理论概率: $\(d(c) \coloneqq \mathbb{P}_{s_{i},s_{j}\sim\text{Solver}(c)}\bigl[\text{strategy}(s_{i})\neq\text{strategy}(s_{j})\bigr]\)$

由于理论值不可直接计算,本文设计了计算高效的两阶段估计漏斗: - 大模型语义估计:针对每个候选题抽取 \(n\) 个独立解,利用 LLM-as-a-Judge 对解法两两配对进行策略同异判定,不同策略记为 1,相同策略记为 0,取平均经验概率: $\(\hat{d}(c) \coloneqq \frac{1}{\binom{n}{2}}\sum_{i<j}\texttt{LLM-as-a-Judge}(s_{i}, s_{j})\)$ 通过分组批处理将两两比较开销降低,在无需生成任何测试代码的情况下快速保留前 \(N_{\text{div}}\) 个候选。 - 执行表现距离估计:在后续构建完测试用例 \(\mathcal{T}_c=\{t_1,\dots,t_m\}\) 与连续验证器 \(\mathcal{V}_c\) 后,计算各解法在算例上的得分向量 \(\mathbf{q}_i = (\mathcal{V}_c(s_i, t_1), \dots, \mathcal{V}_c(s_i, t_m))\),利用归一化欧氏距离衡量行为表型分歧: $\(\hat{d}(c) \coloneqq \frac{1}{\binom{n}{2}}\sum_{i<j}\frac{1}{\sqrt{m}}\left\lVert\mathbf{q}_{i}-\mathbf{q}_{j}\right\rVert_{2}\)$ 两阶段互为补充:前者识别语义宏观差异(如贪心 vs. 动态规划),后者捕捉测试集上的微观行为权衡(如精度 vs. 运行效率),最终依据联合得分选取最优的 \(N_{\text{final}}\) 题。

3. 测试用例与验证器双智能体交叉互验协议

开放式问题缺乏标准输出参考(Ground-truth Output),必须依赖健壮的连续评分验证器与对抗性测试用例。本文设计了由测试用例智能体与验证器智能体组成的互验协议: - 对抗性测试生成:测试用例智能体编写多参量生成脚本,构建稀疏/稠密图、均匀/偏态分布等不同结构的输入算例 \(\mathcal{T}_c\);同时以第 2 步抽样的 \(n\) 个解法为输入,针对性构造能使特定启发式算法失效的对抗算例。 - 相对增益连续评分验证器:验证器智能体将优化目标 \(\mathcal{O}\) 转化为 \([0, 1]\) 范围内的相对增益评分程序 \(\mathcal{V}_c\)。以简单启发式基线 \(s^*\) 为参考,定义目标极性参数 \(\sigma_{\mathcal{O}} \in \{+1, -1\}\)(最大化为 \(+1\),最小化为 \(-1\)),得分公式为: $\(\mathcal{V}_{c}(s,t)=\max\!\left(0,\;\sigma_{\mathcal{O}}\cdot\frac{\mathcal{O}(s,t)-\mathcal{O}(s^{*},t)}{\max\{\mathcal{O}(s,t),\,\mathcal{O}(s^{*},t)\}}\right)\)$ 崩溃、超时或输出格式非法的解直接赋值 0 分。 - 循环互验闭环:测试用例智能体运行解法并由验证器判定,若出现非法解析或无故崩溃,则判定该输入无效并自我修正;验证器智能体根据解法得分分布排查,若所有解法得分高度坍缩至窄区间或违背相对优劣常识,则反向重修验证打分逻辑。两者在多轮交互收敛后方可通过(实验中约 10% 候选成功通过互验),确保了全自动生成题目的高执行可靠性。

损失函数 / 训练策略

系统采用基于强化学习的组相对策略优化(GRPO, Group Relative Policy Optimization)对基础模型进行后训练。实验中设置 rollout 批次大小为 8,分组大小(Group Size)为 8,学习率在 Qwen3.5-9B 上设为 \(10^{-6}\),在 Qwen3.5-27B 上设为 \(5 \times 10^{-7}\)。每个候选解在题目生成的测试集上由连续验证器评定绝对得分,在组内进行相对优势归一化后计算策略梯度更新,共训练 100 步。

实验关键数据

主实验

在 FrontierCS(172 道纯本地算法题)和 ALE-bench(10 道启发式竞赛题)两大权威基准上,对 Qwen3.5-9B 和 Qwen3.5-27B 进行全面评测,对比基础模型(Base)、人类精选题库训练(FrontierCS / ALE-bench)、闭式竞赛题训练(HardTests)以及虚假随机奖励对照(Random Reward)。

模型与训练数据 FrontierCS (Avg@5) FrontierCS (Best@5) ALE-bench (Avg@5) ALE-bench (Best@5)
Qwen3.5-9B
Base (无 RL) 1.80 5.00 327.22 327.22
FrontierCS (172 题, 人类精选) 11.17 16.29 558.49 762.28
ALE-bench (40 题, 领域内精选) 10.64 15.70 657.40 750.15
FrontierSmith (200 题, 本文合成) 10.62 15.73 633.58 782.30
HardTests (200 题, 闭式二元奖励) 5.38 11.19 397.18 512.83
Random Reward (172 题, 随机奖励) 3.04 6.93 376.82 466.73
Qwen3.5-27B
Base (无 RL) 7.70 13.91 352.52 498.00
FrontierCS (172 题, 人类精选) 13.98 21.92 543.80 843.80
FrontierSmith (200 题, 本文合成) 19.82 29.38 661.64 938.10
HardTests (200 题, 闭式二元奖励) 11.20 18.37 529.12 922.50

消融实验

针对想法发散度过滤模块与粗筛模块的有效性,在 Qwen3.5-9B 上使用 200 道合成题进行消融对比,并评估粗筛裁判在闭式与开放式题库上的分类混淆矩阵。

训练配置 / 过滤配置 FrontierCS (Avg@5) ALE-bench (Avg@5) 说明
FrontierSmith 完整流水线 10.62 633.58 包含粗筛 + 两阶段发散度过滤
无发散度过滤 (No Filter) 8.57 564.40 跳过两阶段过滤直接构建测试验证
仅闭式题目基准 (HardTests) 5.38 397.18 变异前的原始闭式竞赛题种子
粗筛裁判准确率评估 拒绝率 (Reject %) 通过率 (Pass %) 判定性质
作用于 100 道 HardTests 闭式题 91% 9% 假阳性率仅 9%(成功剔除绝大多数闭式题)
作用于 100 道 FrontierCS 开放题 19% 81% 假阴性率 19%(倾向保守保留高质量题)

关键发现

  • 合成数据超越人类昂贵标注:在 27B 模型上,仅使用 FrontierSmith 合成的 200 道题目进行 GRPO 训练,在 FrontierCS 上得分达到 19.82,大幅超越直接使用 172 道人类精选题目训练的 13.98(提升 +5.84 分);在 ALE-bench 上达到 661.64,超越人类题目训练的 543.80。这表明自动合成题目覆盖的问题表述更加多样、泛化能力更强。
  • 想法发散度过滤是质量保障核心:去掉两阶段发散度过滤后,模型在 FrontierCS 上表现从 10.62 跌落至 8.57(下降 2.05 分),在 ALE-bench 上由 633.6 跌至 564.4。这证明未经筛选的变异问题易坍缩至单一简单策略,无法为策略模型提供有效的相对梯度激励。
  • 激发长程智能体行为(Long-Horizon Behavior):在借助 Harbor 框架对 Claude SDK (Sonnet 4.6)、Codex (GPT-5.5) 与 Kimi Code (K2.6) 的评测中,FrontierSmith 合成的题目使智能体展现出与 ALE-bench 人类竞赛题一致的高交互轮次和高 Token 消耗特性(例如 Claude SDK 达到 113 轮交互与 \(6.3 \times 10^6\) Token 消耗),显著脱离了闭式题目的短程模式。

亮点与洞察

  • 闭式逆向破界思想:将传统上被视为与开放式对立的闭式算法题作为丰富种子,通过目标最优化、输出加约束、输入扩充拓扑三类结构化变异打破多项式解法边界,以极低成本解决了开放式问题从 0 到 1 的冷启动难题。
  • 解法发散度作为开放度量化代理:创新性地提出了基于采样求解集差异概率的「想法发散度」指标,并通过语义裁判与执行向量欧氏距离两阶段分流,既控制了 \(O(n^2)\) 计算复杂度,又精准过滤了「伪开放、真单调」的退化题目。
  • 测试-验证对偶互验机制:在无真实输出标签的开放式环境下,通过测试用例智能体与验证器智能体的双向试错与一致性博弈,以 10% 的高标准收敛率构建了稳定可运行的自动化评测沙箱。

局限与展望

  • 环境仅局限于纯算法黑盒输入输出:当前流水线运行于纯文本标准输入、标准输出的局部算法环境,尚未覆盖依赖 GPU Kernel 优化、大规模分布式系统调度或跨多文件工程级仓库修改的开放式软件工程任务。
  • 后训练受限于单轮强化学习:由于计算预算约束,实验仅针对单轮补全展开了 100 步 GRPO 训练,未能将环境与模型的多轮交互反馈(Agentic RL)完全整合进训练回环中,未来结合多轮工具调用的交互式强化学习具有广阔探索空间。

相关工作与启发

  • vs HardTests / CodeContests+: 传统代码合成工作均以闭式二元正确性测试为核心,虽然在用例生成上实现了扩展,但无法为无最优解的连续优化问题提供学习信号;FrontierSmith 填补了从二元判别到连续评分开放式任务的合成空白。
  • vs NP-Engine: NP-Engine 局限于人工预定义的 10 类经典 NP-hard 实例与手工规则验证器,题型拓展受限;FrontierSmith 通过大语言模型自动变异与双智能体互验,实现了从任意闭式题库自动化无界演化的开放式生态。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首次提出以闭式竞赛题为种子三向变异合成开放式问题的方法,并形式化提出想法发散度度量。
  • 实验充分度: ⭐⭐⭐⭐⭐ 在两大多元开放式基准上对比了 9B 与 27B 尺度、人类真题与多种基线,消融与长程智能体行为分析完备。
  • 写作质量: ⭐⭐⭐⭐⭐ 框架架构清晰,数学公式严密,三元组变异与双阶段过滤阐述透彻。
  • 价值: ⭐⭐⭐⭐⭐ 为大模型代码能力从做题家走向工业界长程启发式优化开辟了高效、低成本的合成数据路径。