大数跨境

竞赛编程Agent进入全球前十!南大、清华新模型CF rating超3500

竞赛编程Agent进入全球前十!南大、清华新模型CF rating超3500 新智元
2026-07-08
1

【导读】大语言模型在代码生成能力上虽日益增强,但在复杂算法竞赛场景中,仍常因算法选择失误、边界条件遗漏或测试覆盖不足而失败。由南京大学、清华大学等机构联合推出的 Solvita,是一款面向竞赛编程的智能体框架。它通过 Planner、Solver、Oracle、Hacker 四个角色构建闭环系统,并利用可训练的图结构知识网络持续积累经验,实现了从“单次生成”到“持续进化”的跨越。

竞赛编程不仅是将题面转化为代码,更是一个涵盖自然语言理解、数学抽象、算法范式选择、复杂度估算、代码实现及边界排查的复杂过程。当前 LLM 在此类任务中面临四大核心挑战:

LLM 攻克竞赛编程的四大难点

1. 算法选择高度依赖题目结构

同类问题(如图论、动态规划)在不同约束下往往对应截然不同的算法。若模型仅凭表面相似度检索样例,极易陷入“形似神不似”的误区,导致策略选择错误。

2. 样例测试覆盖不足

许多错误解法能通过公开样例,却在隐藏测试中失败。边界条件、复杂度极限、多答案校验及精度问题等,难以通过常规自测完全覆盖。

3. 失败经验难以复用

现有 Coding Agent 多在失败后重新生成或调试,但任务结束后,这些失败教训并未转化为长期策略。系统缺乏“避坑”机制,无法从历史错误中真正学习。

4. 多 Agent 框架缺乏动态记忆

AlphaCodium、MapCoder 等方法虽将解题流程阶段化,但多为固定流程,缺乏随历史经验更新的长期记忆与动态路由机制。

针对上述痛点,研究者提出了 Solvita。这是一个面向竞赛编程的 Agentic Evolution 框架,其核心在于不微调底层大模型,而是在外部构建可训练的图结构知识网络,让系统在解题、测试、攻击和修复的全过程中持续积累并复用经验。

代码仓库:https://github.com/NJU-LINK/Solvita

论文链接:https://arxiv.org/pdf/2605.15301

Solvita 的设计理念模仿人类选手的成长路径:变强并非依靠每题从零开始,而是积累“何种题型适用何套路”、“何种实现易出错”、“何种测试能暴露漏洞”等隐性知识。

Solvita 的核心工作机制

Solvita 将竞赛编程求解组织为一个闭环系统,由四个具备独立知识网络的 Agent 协同工作:

1. Planner:题目抽象与策略路由

Planner 负责将自然语言题面转化为形式化的数学描述,剔除无关信息,提取变量、约束及输入输出结构。基于内部知识网络记录的历史题目结构与标签,Planner 能预测最佳算法范式和实现思路,而非仅靠 Prompt 临场发挥。

2. Solver:代码生成与局部修复

Solver 根据策略生成 C++ 代码并进行验证。与“失败即重写”不同,Solvita 采用 Patch-based Repair 机制:若程序失败,Solver 仅生成 SEARCH/REPLACE 形式的局部补丁。这种方式保留了正确逻辑,集中修复错误点,避免了全量重写可能引入的新错误。

3. Oracle:构建可靠内部监督

Oracle 专注于构造可信的测试环境,包括生成 testlib 基础的 generator、validator、checker 及 reference solver。只有当测试输入、期望输出及认证比例满足严格标准时,生成的测试才会被采纳,从而为解法提供高质量的“监督信号”。

4. Hacker:主动攻击与漏洞挖掘

Hacker 扮演“对拍高手”角色,分析候选代码潜在漏洞,生成结构化漏洞报告,并通过语义攻击、压力测试、抗哈希冲突等手段构造反例。成功挖掘的 Bug 不仅用于当前修复,更作为负样本反馈至各 Agent 的知识网络,防止重蹈覆辙。

可训练的图结构知识网络

Solvita 的创新核心在于为每个 Agent 配备了可训练的图结构知识网络(Graph-structured Knowledge Network)。以 Solver 为例,其网络分为三层:

  • Q Layer:记录历史题目描述与元信息;

  • M Layer:记录解法分解、失败对比及元认知分析;

  • S Layer:记录可复用的算法技能与 C++ 模板。

当新题出现时,系统通过检索相似 Q 节点,沿 Q→M→S 路径激活相关技能。不同于传统 RAG 的静态文本检索,Solvita 的边权会根据历史成败动态更新:成功路径被强化,失败路径被削弱或生成对比节点。这使得记忆从“静态检索”升级为“可训练的策略路由”。

Oracle 与 Hacker 的互补效应

测试能力是解题的关键。Solvita 将测试职能拆分为两个互补方向:

Oracle:保守的可靠监督

侧重构造 reference solver 和验证器,旨在生成能稳定判断程序正确性的内部测试,保护正确解法不被误杀。

Hacker:激进的漏洞发现

侧重寻找边界输入、复杂度极限及结构性反例,旨在暴露候选代码中隐藏的深层错误。

实验表明,二者结合在错误检测、正确解法保留及强测试确认上取得了最佳平衡。

实验结果与性能评测

研究团队在 CodeContests、APPS、AetherCode 及近期 Codeforces 轮次中对 Solvita 进行了全面评测。结果显示,在 15 个 backbone-benchmark 组合中,Solvita 在 14 项中取得最高的 pass@1。

以 GPT-5.4 为基座模型,Solvita 相比 single-pass 方法实现大幅跃升,并在多个基准测试中超越 AlphaCodium、MapCoder 等现有框架。值得注意的是,这一提升并未显著增加 Token 消耗,其成本与开源 Agent 框架相当。

消融实验:验证模块有效性

消融实验证实,从 single-pass 切换到多 Agent 闭环结构本身已带来显著提升。在此基础上,引入 Solver、Oracle 和 Hacker 的知识网络后,性能随训练数据量(1.5k 至 4.5k)增加而持续增长。三个网络分别提升了算法路由、监督质量及攻击能力,形成了互补叠加效应。

Patch-based Repair 的优势

对比 Full Regeneration(全量重写)与 Patch Repair(局部修复),后者在相同迭代预算下通过率更高,且平均迭代次数更少、Token 更节省。这证明在长链路解题中,精准修补优于推倒重来。

Codeforces 真实比赛表现

在 12 场 Codeforces 真实比赛(共 76 题)的评估中,搭载 Solvita 框架的模型(基于 GPT-5.4、Claude Opus 4.6 等)均进入 Legendary Grandmaster 区间,而同基座的裸模型表现则远低于此。这证明了 agentic loop、知识网络及对抗验证机制带来的系统性增强。

总结与展望

Solvita 通过三大核心贡献推动了 AI for Code 的发展:

1. 构建 solve–certify–attack–repair 闭环

将策略选择、程序生成、测试认证和对抗攻击整合为有机整体。

2. 引入可训练图结构知识网络

利用反馈信号动态更新边权,使 Agent 能在不微调底层 LLM 的前提下持续积累经验。

3. 竞赛编程性能显著提升

在多项权威基准及真实比赛中展现卓越性能,超越现有主流框架。

Solvita 的研究表明,未来更强的 Coding Agent 不仅源于更大的模型参数,更取决于更优的经验组织方式。真正的代码智能体需具备规划、验证、自我攻击及从失败中学习的能力,标志着 AI 编程从“一次性生成”迈向“持续进化”的新阶段。

参考资料:

https://arxiv.org/pdf/2605.15301


编辑:LRST



【声明】内容源于网络
0
0
新智元
智能+中国主平台,致力于推动中国从互联网+迈向智能+新纪元。重点关注人工智能、机器人等前沿领域发展,关注人机融合、人工智能和机器人革命对人类社会与文明进化的影响,领航中国新智能时代。
内容 16400
粉丝 0
新智元 智能+中国主平台,致力于推动中国从互联网+迈向智能+新纪元。重点关注人工智能、机器人等前沿领域发展,关注人机融合、人工智能和机器人革命对人类社会与文明进化的影响,领航中国新智能时代。
总阅读284.0k
粉丝0
内容16.4k