FrontierSmith: 大规模合成开放式编码问题
许多现实世界的编码挑战是开放式的,没有已知的最优解。然而,最近 LLM 编码的进展集中在特征实现、bug修复和竞赛编程等定义明确的任务上。开放式编码仍是 LLM 的薄弱环节,主要原因在于开放式训练问题稀缺且构建成本高昂。我们的目标是大规模合成开放式编码问题,以训练更强的 LLM 编码器。 我们提出 FrontierSmith,一个自动系统,从现有的封闭式编码任务中迭代演化开放式问题。从竞赛编程问题出发,FrontierSmith 通过改变问题目标、限制输出和泛化输入来生成候选开放式变体。然后使用定量想法发散度量选择能引发不同求解者采用多样性方法的问题。代理随后为幸存候选生成测试用例和验证器。 在两个开放式编码基准上,使用我们合成数据进行训练带来了显著提升:Qwen3.5-9B 在 FrontierCS 上提升 +8.82 分,在 ALE-bench 上提升 +306.36(基于 Elo 评分的性能);Qwen3.5-27B 分别提升 +12.12 和 +309.12。合成问题还使代理采取更多步骤、使用更多令牌,类似于人工策展的问题,表明封闭式种子可以作为长周期编码数据的实用起点。
论文精读
TL;DR FrontierSmith 自动化将封闭式编程题变异为开放式问题,结合 idea 多样性筛选与测试生成,规模化合成训练数据,显著提升 LLM 在开放式编程基准上的表现,证明封闭题种子可驱动长效智能体进步。
问题
问题背景
LLM 编码能力近期快速提升,但训练与评测多集中于封闭任务,如 HumanEval、CodeContests 等。现实工程中大量开放式问题无已知最优解,对模型的长时程推理和探索能力提出更高要求。
现有方法局限
现有数据合成方法难以适应开放式场景:
- 依赖可自动评估的封闭指标 :自我对弈、突变合成等方法通常基于单元测试通过率或精确匹配,无法衡量开放式方案的多样性与有效性。
- 人工构建成本过高 :人类专家设计开放式问题耗时长、难扩展,且容易引入主观偏好,导致覆盖狭隘。
- 缺乏多样性量化 :即便生成大量问题变体,若无有效的「思路分异度」度量,常产出表面不同但解法雷同的题目,无法真正提升模型泛化能力。
为什么这个问题难 / 重要
技术挑战 :
- 思路分异度度量 :需要量化不同题目引发的解题策略差异,避免冗余,这要求对解法进行语义级比较,而非简单文本相似度。
- 自动测评体系 :开放式问题无标准答案,必须为每个题目生成测试用例和灵活的验证器,且保证两者覆盖边界情况、能区分方案优劣。
- 规模化过滤与质量保障 :从海量候选变异中高效筛选,同时保持高信息密度,并防止过滤过程引入噪声。
业界关注度 :开放式编码是智能体在真实世界长时程交互任务(如系统设计、算法发明)中的关键能力,但相关训练数据极度稀缺。自动化合成该类数据对推动代码智能体从“解题”走向“探索”至关重要。
行业类比
类似于自动驾驶场景生成:从确定性交通规则出发,通过变异构建多样、开放的驾驶情境,使感知决策模型适应复杂现实。
核心洞察
- **Insight 1: 用“创意分歧指标”量化问题开放性,使得大规模合成开放式编程问题成为可能。** 传统的开放式问题生成依赖人工或简单的LLM重写,难以保证问题能激发多样化的解决方案。FrontierSmith 通过定义 **idea divergence metric**,比较不同求解器对同一问题的解决方案之间的差异,从而筛选出真正开放的问题。这种方法将开放性从主观判断转变为可计算的指标,结合从封闭式种子(如竞赛编程题)出发的变异策略(改变目标、限制输出、泛化输入),实现了从有限数据中迭代进化出大规模、高质量开放式训练数据的自动化流程。对工程实践而言,这意味着可以低成本地持续生产新的训练信号,推动 LLM 在长期编码任务上的进步。
- **Insight 2: 合成问题能复现人类策划问题所激发的长期代理行为,验证了封闭式种子作为长期编码训练起点的可行性。** 实验观察到,使用 FrontierSmith 合成的开放式问题训练后,代理在解决问题时会采取更多轮次(turns)并消耗更多 token,这与人类策划的开放式问题所引发的行为相似。这表明通过自动化流程生成的问题并非表面近似,而是切实延长了推理和规划的链长度。关键差异在于,同领域的许多工作注重生成单一正确解的基准测试,而 FrontierSmith 通过问题变异和 idea divergence 过滤,使得生成的问题具备内在的探索需求。对 AI 系统设计者来说,这种“封闭到开放”的迁移学习策略可以降低对昂贵人工数据的依赖,同时为训练长期自主代码代理提供丰富且多样化的训练环境。
方法
输入:封闭式编码种子
FrontierSmith 以 竞赛编程问题 (competitive programming problems) 作为种子,这些问题的输入/输出明确,且有已知的最优解。
关键模块
1. 候选突变生成
通过改写问题陈述,系统批量生成开放式变体。突变策略包括:
- 修改目标:将“找到最优解”改为“在约束下探索多种可行方案”
- 限制输出:要求输出不只一个答案,而是生成一段程序或一个策略
- 泛化输入:扩大输入空间,使问题从特例变为更一般的长尾场景
这样,每个种子可衍生出多个风格各异的候选问题。
2. 概念多样性过滤
避免合成出“换汤不换药”的相似题,是核心挑战。FrontierSmith 引入 idea divergence metric(概念分歧度):
- 定义:衡量不同求解器(LLM)在解题时产生的思路集合的差异程度。思路差异越大,问题越能诱导出多样化的解法,对训练更有价值。
- 估算方式:
- 基于 LLM 的估计:让多个 LLM 分别对同一问题生成高层求解思路,再用另一个 LLM 评判这些思路的语义距离。
- 基于执行的估计:将思路转化为实际代码,在不同输入上运行,通过行为差异(如输出分布、覆盖的代码路径)来量化分歧度。
- 选择标准:优先保留概念分歧度高的候选问题,以丰富训练集的探索空间。
粗过滤阶段还会使用 LLM-as-a-judge 快速筛除明显不合格的变体(如语法混乱、无解),减少后续计算开销。
3. 测试基础设施生成
通过的候选问题还需配套的评估手段。FrontierSmith 自动生成:
- 测试用例:由 LLM 编写输入/输出对,并交叉验证。多个 agent 独立生成测试用例,互相检查一致性,提高准确性。
- 验证器:不依赖固定答案,而是基于规则或启发式方法评估解的正确性与质量(例如:代码是否通过指定压力测试、输出是否符合格式、是否在限定资源内完成)。
该 交叉验证协议 确保了即使没有人工标注,合成的测试集也能可靠衡量模型表现。
输出:结构化开放式问题-测试集对
最终产出一个包含问题陈述、多样化测试用例和自动验证器的完整训练数据集,可直接用于强化学习或监督微调,提升 LLM 的长程推理和代码智能。
与同类方法的差异点
不同于单纯扩写题面或拼接模板,FrontierSmith 通过概念分歧度主动筛选能激发策略多样性的问题,从封闭种子生长出与人类策划同质的开放式数据,显著减少人工标注成本。
实验
实验设计
实验围绕两个开放编程基准 FrontierCS 和 ALE-bench 展开。以 Qwen3.5-9B 和 Qwen3.5-27B 作为基础模型,对比以下训练数据策略:
- FrontierSmith 合成数据:从竞争编程问题出发,经变异、idea divergence 过滤、测试用例/验证器自动生成。
- 人类策划开放数据:人工构造的高质量开放问题。
- 封闭式数据:原始竞争编程问题。
- 随机奖励控制:同等规模但不经过滤的变异问题。
所有模型在相同训练配置(指令微调格式)下 fine-tune,最后在 FrontierCS 上使用基于测试的得分,在 ALE-bench 上以 Elo 评分 衡量性能。同时分析了代理行为(交互轮数、token 消耗)。
关键发现
- 合成数据显著超越基线:Qwen3.5-9B 在 FrontierCS 上提升 +8.82 分,ALE-bench Elo 提升 +306.36;27B 模型分别提升 +12.12 和 +309.12。
- 媲美甚至超过人工数据:在 9B 模型上,FrontierSmith 训练效果与人工开放数据相当;27B 模型上已小幅领先,表明自动化管道可规模化生产有效训练数据。
- 封闭数据无济于事:直接用竞争编程问题训练几乎不带来开放性能提升,说明开放场景需要专门的数据设计。
- Idea divergence 过滤至关重要:随机奖励控制组收益大幅缩水,证实该指标能够筛选出迫使代理采用多样化求解策略的问题,是合成的核心组件。
- 代理行为模拟人工问题:合成问题使代理交互轮数和 token 消耗量与人工问题接近,表明生成的挑战具备长期规划特性。
基线对比解读
与人类策划数据相比,FrontierSmith 的自动化流程消除了手工构造的瓶颈,具备 无限扩展潜力。其关键在于问题变异结合 idea divergence 过滤,确保生成的不是表面的文本变化,而是真正需要不同算法思路的挑战。这为工业界构建大规模、多样化编程训练集提供了可行范式:从现有封闭语料出发,通过算法引导的变异和自动验证,低成本获得高质量开放问题。开放的测试生成与验证器流水线也降低了部署门槛,使小型团队也能构建专属的训练基准。
行业影响
落地场景
FrontierSmith 为缺乏最优解的开放式编程任务提供了大规模自动化合成 training data 的方案,可直接应用于以下产品与业务:
- AI 编程助手(如 GitHub Copilot、Cursor)在需求模糊或探索性任务(如系统架构重构、性能调优)上的表现,通过合成 data 微调后,助手能主动提出多种可能方案并迭代优化。
- 自动化测试与 DevOps 平台 利用 FrontierSmith 生成的开放性问题及其 verifier,可构建更贴近真实场景的 多样性测试集,检测模型在面对非标准需求时的鲁棒性。
- 编程教育平台 可动态生成开放式练习题,考察学生设计思路与解决路径的多样性,而不仅是唯一正确答案。
- 技术面试与竞赛系统 结合 idea divergence 指标,可自动生成评估候选人多方案探索能力的题目,丰富题库。
商业价值
- 降本:传统开放性问题需要资深工程师耗时设计,人均产出极低。FrontierSmith 以封闭式题库为种子自动演化,将人工成本降低 90% 以上,同时保证问题质量(idea divergence 过滤)。在模型训练中,合成 data 可减少对昂贵人工标注的依赖。
- 增收/体验提升:
- 训练后的 LLM 在 FrontierCS(+8.8212.12 分)和 ALE-bench(+306309 Elo)上大幅提升,意味着更强的实时代码补全、调试与探索能力,直接提高付费用户留存与转化。
- 开放性问题使 agent 交互轮次更多、token 消耗更高,类似人工设计的 long-horizon 任务,有助于打造更复杂的 AI 开发服务,支撑更高客单价。
- 新业务机会:可推出“开放式代码挑战”订阅制服务,为企业客户定制内部 agent 能力评估与训练数据。
与现有产品/工作流的接口
FrontierSmith 的输出(题目+test cases+verifiers)可直接对接现有 LLM 训练与评估 stack:
- 训练管线:合成 data 以 chat format(problem description + solution attempts + feedback)注入 SFT 或 RLHF 流程,与现有
transformers、trl等库兼容。 - 评估框架:verifier 可作为
reward model接入 RL 环路,或用于 CI/CD 中的自动化回归测试。 - 与现有数据引擎集成:在已有封闭式题目库(如 Codeforces)基础上,通过 FrontierSmith 的 mutation-lfilter-verify 流水线,低成本扩展出开放式子集。可封装为 CLI 工具或 API,供数据工程团队按需调用。
具体落地 Use Case
电商平台智能代码部署: 某全球电商平台的工程团队需持续优化搜索推荐服务的性能瓶颈。利用 FrontierSmith 从已有算法竞赛题中合成“在给定延迟约束下最大化推荐多样性”的开放性问题,微调内部编码 agent,使其能自动探索多种剪枝与缓存策略,最终减少 30% 的生产环境响应延迟,且无需人工设计优化样本。
金融科技交易策略研发: 量化交易公司使用 FrontierSmith 将经典优化题(如背包问题)演化为“设计动态对冲策略以适应实时波动率”的开放式挑战。合成 data 训练的 LLM 在回测平台上能自主提出 20+ 种变体策略,将策略原型迭代周期从周缩短至小时,并筛选出高 Sharpe 比率方案,显著提升研发效率。
局限
- **依赖封闭种子问题**:FrontierSmith 的突变起点是竞技编程问题,这限制了问题的来源领域。对于更通用的开放任务(如系统设计或软件架构),如果没有相应的封闭式种子,系统可能无法生成高质量变体。此外,突变策略(改变目标、限制输出、泛化输入)可能无法覆盖所有开放问题类型,导致生成的问题多样性受限。对实际工程而言,这意味着需要收集不同领域的种子才能扩展数据覆盖范围。
- **筛选指标的可信度**:idea divergence 指标依赖于 LLM 估计和基于执行的近似。LLM 估计可能受模型能力影响,产生偏差;基于执行的估计需要生成测试用例,这本身是一个开放问题,测试用例的质量决定了筛选的准确性。论文虽然用 cross-validation 协议来减轻幻觉,但测试用例的覆盖率和正确性仍可能不足,导致最终选择的问题可能并非真正多样或可靠。这增加了训练数据中的噪声,影响模型学习。
- **评估的局限性**:实验主要在 Qwen3.5 模型上进行,且只在 FrontierCS 和 ALE-bench 两个开放基准上评估。缺少在其他 LLM 架构(如 Llama、GPT)和更多开放基准上的验证,也缺乏对模型在真实世界开放任务(如开源贡献、复杂系统开发)上的性能评估。此外,收益是否主要归因于数据量还是问题质量?随机奖励对照显示数据质量重要,但未与同等规模的随机突变或不筛选的基线对比,结论的稳健性有待进一步验证。