南大清华竞赛编程智能体CF评分超3500进入全球前十
南京大学与清华大学提出Solvita框架,通过Planner、Solver、Oracle、Hacker四类Agent与可训练图结构知识网络,实现竞赛编程的闭环进化。系统在解题、测试、攻击与修复中持续积累经验,在CodeContests等基准及Codeforces真实比赛中取得领先,CFrating超3500,跻身全球前十。
竞赛编程从来不是简单的“把题目翻译成代码”。一个正确的解法背后,往往需要经历一整套复杂流程:理解自然语言描述、提炼数学结构、选择合适的算法范式、评估时间复杂度、实现代码、构造测试用例、处理多解输出、排查隐藏边界条件——任何一个环节出错,最终结果都可能偏离预期。
虽然大语言模型在代码生成方面进步迅速,但在这种高难度场景下,依然容易出现问题。主要挑战集中在以下几个方面:
1. 算法选择高度依赖题目结构
同样是图论、动态规划或字符串问题,约束条件不同,适用的算法可能天差地别。如果模型仅凭表面相似度去匹配过往解法,很容易选到“看起来像但本质不对”的套路。
2. 样例测试远远不够
许多错误解法能够通过官方样例,却在隐藏测试中一败涂地。边界条件、复杂度极限、多答案校验器、精度问题——这些陷阱仅靠普通自测几乎无法覆盖。
3. 失败经验难以复用
现有的不少代码智能体,失败后会重新尝试、重新生成、重新调试,但一次任务结束后,那些失败教训并不会真正改变后续解题策略。系统并没有学会“下次遇到类似结构,要避开哪些坑”。
4. 多Agent框架仍然偏静态
像AlphaCodium、MapCoder这些方法,已经把解题拆成多个阶段,但更像固定流程。每个阶段可以调用模型,却缺少一个能随着历史经验持续更新的长期记忆与路由机制。
来自南京大学、清华大学等机构的研究者,带来了一套名为Solvita的方案。这是一个面向竞赛编程的Agentic Evolution框架。它不微调底层大模型,而是在Planner、Solver、Oracle、Hacker四类Agent外部构建可训练的图结构知识网络,让系统能够从解题、测试、攻击和修复过程中持续积累经验。

代码仓库:https://github.com/NJU-LINK/Solvita
论文链接:https://arxiv.org/pdf/2605.15301
Solvita的出发点和人类选手刷题变强的逻辑完全一致:高手之所以越来越强,不是因为每道题都从零开始摸索,而是因为他们会积累“什么题该用什么套路”“什么实现容易出WA”“什么测试最容易击穿错误程序”这些经验。

Solvita是如何工作的?
Solvita的核心设计,就是把竞赛编程求解组织成一个闭环系统,并且让每个环节都配备可训练的知识网络。整个系统由四个Agent组成:
1. Planner:负责题目抽象与策略选择
Planner首先把原始题面转化成更形式化的数学描述,剔除故事背景和无关信息,提取变量、约束、目标和输入输出结构。随后会预测可能的算法标签、实现思路和复杂度。它背后的知识网络会记录历史题目的形式化结构、预测标签和最终结果。遇到新题时,Planner不是单纯靠prompt临场发挥,而是会参考结构相似问题的历史经验。
2. Solver:负责生成代码与局部修复
Solver根据Planner的策略生成C++程序,并在样例和Oracle生成的测试上进行验证。和很多“失败后整段重写”的方法不同,Solvita强调patch-based repair:如果程序失败,Solver会尽量生成SEARCH/REPLACE形式的局部补丁,而不是完全重新生成整份代码。这样做的好处是保留已经正确的部分,集中修改真正出错的局部,避免每次重写都破坏前面已经满足的条件。
3. Oracle:负责构造可靠内部测试
Oracle的任务不是写最终答案,而是为解法构造“可信的监督”。它会生成testlib-based generator、validator、checker和reference solver,并检查reference solver能否复现公开样例输出,再生成更多测试输入并进行认证。对于多答案问题,Oracle还需要提供custom checker的证据。只有当测试输入、期望输出、认证比例等条件满足要求时,Oracle生成的测试才会被接受。
4. Hacker:负责主动攻击候选程序
Hacker更像一个对拍高手。它会分析候选代码的潜在漏洞,生成结构化vulnerability report,然后选择semantic、stress、antihash等攻击路线,尝试构造能击穿错误程序的输入。如果某条攻击路线失败,系统还会沿着fallback chain继续尝试。成功hack到的bug不只用于当前题修复,还会作为失败经验传播给Planner、Solver、Oracle和Hacker的知识网络。

可训练的图结构知识网络
Solvita最重要的设计不是“多了几个Agent”,而是每个Agent都配有一个可训练的graph-structured knowledge network。
以Solver为例,它的知识网络分为三层:
- Q Layer:记录历史题目描述和元信息;
- M Layer:记录解法分解、失败对比和元认知分析;
- S Layer:记录可复用算法技能和C++模板。
当新题到来时,系统会先检索相似的Q节点,再沿着Q→M→S的两跳路径激活相关技能。
不同路径的边权不是固定的,而是会根据历史成功与失败进行更新。成功路径会被强化,失败路径会被削弱,或生成新的对比节点。这和传统RAG有本质差异。
传统RAG更像“找到相似文本塞进prompt”,而Solvita的知识网络更像“学习什么问题结构应该路由到什么算法技能”。记忆不再只是静态检索,而变成了可训练的策略路由。

Oracle和Hacker
在算法题中,测试本身就是能力的一部分。一个Agent能不能解题,很大程度上取决于它能不能判断自己的解法是否真的正确。
Solvita将测试能力拆成两个互补方向:
Oracle关注“可靠监督”
它更倾向于构造reference solver、generator、validator和checker,目标是生成可以稳定判断程序正确性的内部测试。
Hacker关注“发现漏洞”
它更倾向于寻找边界输入、复杂度极限、结构性反例或哈希冲突等攻击样例,目标是暴露候选代码中隐藏的错误。
二者的功能并不重复。Oracle更保守,能较好保护正确解法不被误杀;Hacker更激进,更擅长发现隐藏bug。论文实验也显示,二者结合后,在错误解法检测、正确解法保留和更强测试确认上都取得了更好的平衡。

实验结果
论文在CodeContests、APPS、AetherCode以及近期Codeforces rounds上评测了Solvita,并与single-pass、Codex CLI、Claude Code、AlphaCodium、MapCoder等方法进行了比较。
主实验结果显示,Solvita在15个backbone-benchmark组合中,有14个取得最高pass@1。
以GPT-5.4 backbone为例:

可以看到,Solvita相比single-pass几乎实现了大幅跃升;相比已有agent framework,也在多个benchmark上保持稳定领先。更重要的是,这种提升并不是靠无限增加token换来的。论文的成本分析显示,Solvita的平均token消耗与开源agent framework处于相近区间,并没有接近部分商业CLI agent的高消耗水平。
消融实验
论文进一步做了additive ablation,用来区分两个问题:
第一,Solvita的收益是不是只是因为多Agent流程更复杂?
第二,可训练知识网络是否真的带来了额外提升?

结果显示,从single-pass切换到没有训练的多Agent框架,本身已经能显著提升性能。这说明solve–certify–attack–repair的闭环结构确实更适合复杂算法题。
但在此基础上,加入Solver/Oracle/Hacker knowledge network后,性能还能继续提升,并且随着训练问题数量从1.5k到3k再到4.5k,收益持续增长。
在GPT-5.4上,完整系统最终达到的指标显示:这三个网络不是互相替代,而是互补叠加。Solver network主要提升算法技能路由与实现修复;Oracle network提升内部监督质量;Hacker network提升对隐藏漏洞的攻击能力。完整系统将三类经验整合起来,最终取得最强表现。
Patch-based Repair:为什么不要每次都重写?
论文还专门比较了Solver内部的两种修复方式:full regeneration和patch repair。
Full regeneration是每次失败后重新生成完整代码;
Patch repair则只针对诊断出的错误位置生成局部补丁。
在相同最大迭代预算下,patch repair不仅通过率更高,而且平均迭代次数更少、token节省更多。
以GPT-5.4为例:

这说明在长链路解题中,“推倒重来”并不总是好策略。很多时候,候选解法已经有大部分逻辑正确,真正需要的是精准修补,而不是重新生成一份可能引入新错误的代码。
Codeforces真实比赛评测
除了离线benchmark,论文还在近期Codeforces rounds上进行了更接近真实比赛的评估。
评测选取12场post-cutoff Codeforces rounds,共76道题。每场比赛都在官方时间限制内完成,不允许赛后修改,约束与真实选手一致。结果显示,使用GPT-5.4、Claude Opus 4.6、DeepSeek V4 Pro作为backbone的Solvita版本,最终都进入Legendary Grandmaster区间;而相同backbone的bare model则停留在较低区间。
这说明Solvita的收益不只是底层模型本身带来的,而是来自agentic loop、知识网络和对抗验证机制的系统性增强。

总结与展望
Solvita是一个面向竞赛编程的Agentic Evolution框架。它试图回答一个重要问题:如何让代码Agent不只是“多试几次”,而是真正从过去的成功和失败中积累经验?
该研究的核心贡献可以概括为三点:
1. 提出solve–certify–attack–repair闭环
Solvita将算法题求解拆解为Planner、Solver、Oracle、Hacker四个角色,让策略选择、程序生成、测试认证和对抗攻击形成闭环。
2. 引入可训练的图结构知识网络
每个Agent都拥有自己的知识网络,通过pass/fail verdict、测试认证质量和adversarial vulnerability等反馈信号更新边权,在不微调底层LLM的前提下持续积累经验。
3. 在竞赛编程任务上取得显著提升
Solvita在CodeContests、APPS、AetherCode和Codeforces真实比赛评测中均展现出强性能,在多数backbone-benchmark组合上超过已有agent framework。
从更大的角度看,Solvita传达了一个很重要的观点:
未来更强的coding agent,不一定只来自更大的模型,也可能来自更好的经验组织方式。
真正可靠的代码智能体,需要会规划、会验证、会攻击自己的答案,也需要能把失败转化为下一次成功的经验。
对于AI for Code研究而言,Solvita提供了一种新的思路:从一次性代码生成,走向持续进化的代码智能体。
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:南大清华竞赛编程智能体CF评分超3500进入全球前十要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点最近留意到一款AI聊天机器人构建工具——Craftman,它的核心思路很有意思:让企业或个人能用自己已有的数据来训练ChatGPT,然后直接嵌入到网站上做智能客服或问答助手。简单来说,就是把通用大模型变成你的专属知识库响应系统。什么是Craftman?Craftman是一个AI聊天机器人构建平台,允
如果告诉你,现在借助AI技术就能一键生成时长16秒、分辨率达1080P的高清视频,并且画面流畅自然、物理规律真实可信,你是不是觉得有些不可思议?事实上,这就是Vidu——由中国生数科技与清华大学联合打造的全球首个长时长、高一致性、高动态性视频大模型。它采用独创的Diffusion与Transform
想象一下,你拥有一个庞大而复杂的知识库,里面堆满了各类文档、PDF文件以及YouTube视频教程。过去想要查找某份资料,往往需要翻遍目录、反复尝试关键词搜索,效率低下令人困扰。如今,借助Hansei这款知识库管理工具,一切变得轻松高效——你只需像与朋友聊天一样,用自然语言提出需求,AI助手就能从你的
Blinkn是基于ChatGPT的智能电商购物助手,具备语义理解、精准产品推荐与比较、多语言支持等功能,可与主流平台无缝集成并个性化定制,提供7×24小时实时客服,高效解决购物疑问,显著减少决策摩擦,提升转化率与用户体验。
- 日榜
- 周榜
- 月榜
热点快看
