【竞赛编程难题待解】
大语言模型在代码生成能力上不断增强,然而在复杂算法题,特别是竞赛编程场景中,仍易因算法选择错误、边界条件遗漏、复杂度判断失误或隐藏测试覆盖不足而失败。竞赛编程并非简单的「把题面翻译成代码」,一个正确解法需历经理解自然语言题面、抽象数学结构、选择合适算法范式等多个复杂环节。
【LLM面临的典型困难】
对于LLM来说,竞赛编程任务存在几个典型困难:一是算法选择高度依赖题目结构,不同约束下的同类问题可能对应不同算法,模型易选到「看起来像但本质不对」的套路;二是样例测试远远不够,很多错误解法能通过样例,却在隐藏测试中失败,普通自测难以覆盖边界条件等问题;三是失败经验难以复用,现有coding agent失败后重新尝试,却不会改变后续任务的求解策略;四是多Agent框架仍然偏静态,如AlphaCodium、MapCoder等方法虽将解题拆成多阶段,但缺少随历史经验更新的长期记忆与路由机制。
【Solvita闪亮登场】
来自南京大学、清华大学等机构的研究者提出了Solvita,这是一个面向竞赛编程的Agentic Evolution框架。它不微调底层大模型,而是在Planner、Solver、Oracle、Hacker四类Agent外部构建可训练的图结构知识网络,让系统从解题、测试、攻击和修复过程中持续积累经验。其出发点在于,人类选手刷题变强是因为积累了「什么题用什么套路」等经验。
【Solvita如何工作】
Solvita把竞赛编程求解组织成闭环系统,每个环节都具备可训练的知识网络,系统由四个Agent组成:1. Planner负责题目抽象与策略选择,将原始题面转化为数学描述,预测算法标签等,参考历史经验;2. Solver负责生成代码与局部修复,根据Planner策略生成C++程序,采用patch - based repair,保留正确部分;3. Oracle负责构造可靠内部测试,为解法构造「可信监督」,生成相关工具并认证测试;4. Hacker负责主动攻击候选程序,分析潜在漏洞,构造攻击输入,成功的bug经验会传播给知识网络。
【可训练的图结构知识网络】
Solvita重要设计是每个Agent都配有可训练的graph - structured knowledge network。以Solver为例,其知识网络分三层:Q Layer记录历史题目描述和元信息;M Layer记录解法分解等;S Layer记录可复用算法技能和C++模板。新题到来时,系统检索相似节点,边权根据历史情况更新,与传统RAG有本质差异。
【Oracle和Hacker的互补功能】
在算法题中,测试能力很重要。Solvita将测试能力拆成两个互补方向:Oracle关注「可靠监督」,构造内部测试;Hacker关注「发现漏洞」,寻找攻击样例。二者功能不重复,结合后在错误解法检测等方面取得更好平衡。
【实验结果惊艳】
论文在CodeContests、APPS等平台评测Solvita,并与多种方法比较。主实验结果显示,Solvita在15个backbone - benchmark组合中,有14个取得最高pass@1。以GPT - 5.4 backbone为例,相比single - pass大幅跃升,相比已有agent framework稳定领先,且平均token消耗与开源agent framework相近。
【消融实验见真章】
论文做了additive ablation,区分两个问题:一是Solvita的收益是否因多Agent流程更复杂;二是可训练知识网络是否带来额外提升。结果表明,多Agent闭环结构适合复杂算法题,加入知识网络后性能继续提升,三个网络互补叠加。
【Patch - based Repair优势明显】
论文比较了Solver内部的full regeneration和patch repair两种修复方式。在相同最大迭代预算下,patch repair通过率更高,平均迭代次数更少、token节省更多,说明「推倒重来」并非好策略。
【Codeforces真实比赛评测结果佳】
论文在近期Codeforces rounds上进行接近真实比赛的评估,选取12场post - cutoff Codeforces rounds的76道题。结果显示,使用GPT - 5.4等作为backbone的Solvita版本进入Legendary Grandmaster区间,而相同backbone的bare model停留在较低区间,说明Solvita的收益来自系统性增强。
【总结与展望】
Solvita是面向竞赛编程的Agentic Evolution框架,试图解决代码Agent如何积累经验的问题。其核心贡献有三点:提出solve–certify–attack–repair闭环;引入可训练的图结构知识网络;在竞赛编程任务上取得显著提升。它传达了未来更强的coding agent可能来自更好的经验组织方式的观点,为AI for Code研究提供了新的思路。那么,未来Solvita还会在哪些方面取得突破呢?