著名人工智能学者Rich Sutton曾强调:「人工智能系统仅能在其自我验证的能力边界内创造并维系知识。」同样,爱因斯坦与英费尔德在其合著《物理学的进化》中阐述:「提出一个新颖问题往往比解决它更为重要,因为解决方案可能仅依赖于数学或实验技巧。然而,构思新问题、探索新可能性,或以全新视角重新审视旧问题,则需要创造性想象力,这正是科学实质性进步的标志。」
随着大型语言模型(LLM)向通用能力演进,并以实现通用人工智能(AGI)为终极目标,评估其生成问题的能力变得日益关键。特别是在将LLM应用于高级编程任务时,因为未来LLM编程能力的发展及其经济整合将需要大量验证工作。
首先,为编程竞赛设计题目需要比解决问题更深入的算法理解。
例如,基础问题可能被简化为可识别的模板,用简单技巧即可解决;许多标准编程问题也常允许提交部分正确或模式化的解决方案,这可能掩盖错误的推理过程。而竞赛编程题目则设定严格标准,旨在评估对底层算法设计原则、数据结构及复杂性权衡的更深层把握。验证海量可能解法并全面覆盖各种捷径或边界情况极具挑战,但这对于竞赛编程题目而言必不可少。因此,出题不仅涵盖解决问题的所有挑战,甚至超越了它。
其次,更强的出题能力将催生更严谨的竞赛编程基准测试。由于像Codeforces和AtCoder等顶级平台的官方测试数据未公开,研究人员目前依赖合成数据集,如CodeContests+、TACO和HardTests。
然而,分析表明,现有测试数据集可能同时存在高误报率(FPR)和高漏报率(FNR)。例如,一个时间复杂度较差的贪心算法可能通过一系列小规模随机测试,但在专门设计以暴露其缺陷的对抗性案例中失败。这一关键弱点导致评估环境扭曲,奖励了那些发现捷径的模型。
第三,成功提出新颖挑战可能为模型自我完善和AGI铺平道路,同时验证模型在复杂软件栈中的部署情况。
那么,我们能否像训练AI解决问题一样,训练它提出高质量、甚至人类未曾想到的新问题呢?最近,LiveCodeBench Pro团队给出了肯定回答:AutoCode。这是一个系统性框架,可在闭环、多角色系统中使用LLM,以自动化竞赛编程问题创建和评估的全生命周期。
值得注意的是,该团队包含来自十个机构的研究者,共有5位共同一作。此外,作者名单中还包括谢赛宁等著名研究者。
整体而言,这项研究做出了两大贡献:
该团队的测试用例生成过程是一个结构化框架,旨在实现最大程度的严谨性和覆盖率。
如图1所示,该框架始于验证器(Validator),它是整个系统的基石。其功能是确保任何给定输入都严格遵守问题描述中指定的所有约束。验证器对于最小化漏报率(FNR)至关重要,因为它能防止正确程序在格式错误的数据上失败。
接下来,生成器采用多样化策略创建广泛输入,旨在减少误报率(FPR),即错误或低效程序被误判为正确。生成器产生的任何无效案例都会被验证器过滤,从而确保获得一套高质量输入。
最后,为了评估参赛者输出,检查器会将其与参考解法的输出进行比较。
而对于交互式任务,交互器(Interactor)会与参赛者程序进行多轮对话以给出最终判决。
由于该团队的一个突出目标是为RLVR(来自验证结果的强化学习)提供高质量验证器,他们特别关注降低误报率(FPR)。该团队将测试用例(输入-答案对)与测试数据区分开来,后者还包括评估所需的检查器和交互器程序。
为了严格评估该团队的测试用例生成框架,他们建立了两个不同基准。
主要基准包含7538个问题,来源于著名现有数据集的交集:CodeContests+、CodeContests、HardTests和TACO。
值得注意的是,这个大规模集合不包含交互式问题,并且由于这些数据集固有的筛选,其测试数据生成的平均难度略低于典型Codeforces比赛。
为应对此问题并在更具挑战性的真实条件下测试新系统,该团队创建了第二个基准,包含720个来自Codeforces的近期、有评分比赛问题。这个集合完全未经过滤,包括那些以难以处理著称的交互式问题和需要复杂、结构化测试数据的问题。该团队表示,无法在这个较新基准上评估先前方法,因为它们的数据生成代码库未公开。
该团队的评估基于三个关键指标:
该团队在包含7538个问题的基准上,将AutoCode与四个领先基准进行评估。
如表1所示,该团队的框架与官方判决的一致性达到91.1%。这标志着一个重大飞跃,因为先前方法的一致性未超过81.0%。至关重要的是,AutoCode将误报率(FPR)大幅降低至仅3.7%,漏报率(FNR)降低至14.1%,这代表这两项指标相较于当前最先进技术均减少约50%。
图2展示了错误判决的分布,显示大多数问题的判决与地面真实判决一致。
为进一步测试该系统稳健性,该团队还整理了一个更具挑战性的基准,包含720个近期、未过滤的Codeforces问题,包括复杂交互式任务。
如表2所示,AutoCode保持了其卓越性能,实现了98.7%的一致性。这一结果验证了该团队方法在现代、困难问题上的有效性,而先前方法无法在这些问题上进行评估。
该团队也通过消融实验验证了方法的有效性。
在建立起如此强大的测试用例生成能力之后,研究人员便将目光投向更具创造性任务:直接生成全新高质量问题。
该团队新提出的问题生成框架建立在前述稳健测试生成框架(如图1所示)之上,但引入一个关键双重验证协议,以确保在没有人工干预的情况下实现正确性。
每个生成的问题都由顶尖人类竞赛程序员根据一个6级量表进行评分。该团队咨询8位人类专家出题人,他们都表示在创作新问题时,常会基于某个特定现有问题。通过对这样一个“种子问题”的某些条件进行添加、删除或修改,他们可以创造新的、通常更困难的、需要新颖洞察力的问题。
受他们见解启发,该团队的方法是首先随机选择一个Codeforces问题(难度评分低于2200)作为“种子问题”。LLM的任务是通过增、删、改这个种子问题的某些条件来生成一个新问题,并同时提供一个高效的参考解法(std.cpp)和一个暴力解法(brute.cpp)。
brute.cpp通常时间复杂度更高,但基本不可能出错,因此该团队利用它来压力测试问题的有效性。使用该团队增强的测试用例生成技术,该团队构建了一套全面的测试数据,完全覆盖小规模案例。然后brute.cpp和std.cpp都在这个数据集上运行。只有当对于每一个测试用例,两个程序的输出(其中暴力解法可能因超时而合法地无法完成)都被检查器成对地验证为一致的答案和输出时,一个问题才被认为是正确的。
这种设计的巧妙之处在于,它利用了“虽然慢但几乎绝不会错”的暴力解法,为“虽然快但可能存在逻辑漏洞”的高效解法提供了一个无需人工干预的、绝对可靠的“事实标准”,从而实现了自动化的正确性校验。
这个双重验证协议(其中brute.cpp作为初始地面真实,并且经过验证的参考解法还要再经过一个完整的测试生成周期)成功地过滤掉了27%的易错问题,将LLM提供的参考解法的正确率从86%提高到了94%。
经过筛选后,超过80%的问题被标注为具有足够质量,可以作为模型的训练数据,并且23%的问题涉及新颖或创造性的设计。该团队在图3中展示了详细的评分标准和分数分布。
接下来,该团队总结了关于LLM在问题生成方面表现的几个关键发现。
总而言之,这些发现为我们描绘了当前LLM在创造性任务上的清晰画像:LLM是强大的“知识重组者”,而非一个真正的“原创思想家”。
在这项工作中,LiveCodeBench Pro团队提出了AutoCode,一个利用LLM作为竞赛编程出题人的闭环多角色框架。
通过将验证器-生成器-检查器(及交互器)框架与双重验证协议相结合,AutoCode在测试用例生成方面实现了最先进的可靠性,并超越了先前方法,能够生成全新的、达到竞赛质量的问题。
在超过7,500个问题和近期的Codeforces基准上的大量实验表明,AutoCode大大减少了误报和漏报,与官方判决的一致性超过98%,并成功地产生了经专家程序员验证的全新问题。除了测试生成,该团队的分析还揭示了LLM在创造性问题创作方面的优势和劣势。
虽然模型擅长算法知识的重组,但它们难以引入真正新颖的推理范式或无懈可击的样例设计。
尽管如此,该团队表明,难度和难度增益可以作为问题质量的可靠智能体信号,为实现自我博弈提供了一条可扩展的路径。
本文由主机测评网于2026-01-11发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20260116635.html