AI时代程序设计算法竞赛的危机
一份2026年名单,不等于一组学校发生率
2026年8月30日,一条关于2026年百度之星程序设计大赛初赛的 X 帖子公开了两张表:一张标为作弊名单,另一张标为违规名单。帖子称,今年首批发现49位作弊、63位违规,而前一年同期只有30位涉及作弊或违规。附图实际能看到49条作弊记录和57条违规记录;违规表显示了第1–25条和第32–63条,第26–31条没有出现在图片中。它可以作为事件信号,但不是完整、独立核验过的数据集。原帖
按附图可见内容,106条记录涉及87所学校。作弊表是49条、45所学校;可见违规表是57条、50所学校。大多数学校只出现一次,作弊表出现最多的三所学校合计6/49条,违规表出现最多的三所学校合计8/57条。这个分布更像多地区、多学校同时出现异常,而不是少数学校贡献了全部问题。
表中同时出现了中学、高校和职业院校。一所学校出现3条,不等于这所学校的作弊率最高:我们不知道它有多少人参赛,是否统一组织考试,也不知道每条记录对应的违规类型是否相同。要比较学校,必须有参赛人数分母和稳定的“违规”定义。
规则正在从“不能用ChatGPT”转向追问来源
Codeforces在2024年的 AI 规则中划了一条实用边界:可以做直接翻译,也可以提供小范围语法补全;但不能让 AI 生成核心算法、理解子问题,或根据错误反馈修复被判错的方案。规则还把代码相似度和代码是否在赛前公开,作为调查时可以参考的证据。Codeforces AI规则
AtCoder最近的规则调整更进一步:生成式 AI 规则覆盖 AGC,禁止 AI 代码补全和用生成式 AI 做语言转换,也限制故意使用 AI 生成的搜索摘要。AtCoder给出的理由很直接:如果允许 AI 补全,就很难划清界线,高级建议可能在用户没有明确操作的情况下越过允许范围。AtCoder规则调整
这就是第一层危机。旧的输入—输出模型默认参赛者是唯一的解题主体;到了2026年,竞赛必须说明自己评判的是一个人、一个人加工具链,还是一个包含远程模型的团队。“我没有使用 AI”的勾选框不是审计记录。
机器几年前就越过了旧基线
2022年,Google DeepMind报告称,AlphaCode在10场较新的 Codeforces 比赛上达到了大约人类参赛者中位数水平,这些题目晚于它的训练数据。它会大规模生成候选程序,通过运行结果筛选、聚类,再提交少量候选方案。它的工作方式与学生从零敲出一份代码并不相同。DeepMind的AlphaCode介绍
DeepMind在2023年的 AlphaCode 2 技术报告中称,AlphaCode 2 在十次尝试内解决了43%的评测题,早期 AlphaCode 是25%;按其估算,平均表现超过85%的参赛者。这不是“模型理解了所有竞赛题”,但足以击穿一个旧假设:高分榜成绩不再天然等于未经辅助的人类推理能力。AlphaCode 2技术报告
基准评测也遇到了类似问题:公开题目可能进入训练数据。LiveCodeBench因此持续收集 Codeforces、AtCoder 和 LeetCode 的新题,并把代码生成、代码执行、自修复和测试输出预测放到同一套评测框架里。它的仓库列出了截至2025年4月发布的 v6 版本,共1055道题,并记录了旧基准上的强表现不一定能迁移到新题上的现象。LiveCodeBench仓库 LiveCodeBench论文
教育场景也有同样的难题。学生可以背模板、查旧题解、调用库,或者让 AI agent 代办一串步骤。这些行为并不完全相同,但都迫使竞赛回答一个过去可以回避的问题:分数到底衡量算法发明、实现速度、信息检索、工具编排,还是它们的混合物?
三种危机被混在了一起
测量危机
只有在生产条件大体相同的时候,线上排名才有可比性。如果一个参赛者使用本地模型,另一个使用云端 agent,第三个人完全独立作答,单一排名会掩盖资源差异。若比赛禁止所有工具,却不能验证运行环境,规则就只是在表达愿望,而不是定义测量协议。
执行危机
AI生成的代码不是一种可以一眼识别的“物种”。代码风格、注释、变量名和格式都只能提供很弱的证据。代码相似度、提交时间、编辑器遥测、进程日志,以及赛后的口头或书面答辩可以辅助调查,但都可能误伤。检测分数应该触发复核,而不应该单独成为裁决。
教育目的危机
算法竞赛过去常被当作软件能力的简洁代理。这个代理正在变弱,因为真实开发越来越包含需求澄清、测试设计、调试、代码审查、依赖判断和负责任地使用工具。能解释不变量、设计对抗测试,并拒绝一个看似合理但不安全的模型答案的学生,可能比只会快速敲出未经理解的代码的人更适合生产环境。
一套可以落地的改造方案
竞赛至少可以拆成三种模式:
- 纯人类模式:使用一台受控设备,公布明确的编辑器功能白名单,保留可复现的环境日志,赛后做代码相似度复核,并提供申诉流程。规则要写清楚翻译、自动补全、本地文档和赛前模板是否允许。
- AI协作模式:披露模型、版本、工具、提示词、生成代码、人工修改、测试,以及适用时的成本和延迟。评分同时看最终程序、算法解释、失败分析和验证质量。
- 学习模式:赛后允许使用 AI,但要求学生标记模型提出了什么、哪里错了,以及自己如何证明和测试最终方案。
2026年全国大学生数学建模竞赛的 AI 试行规定,已经把大语言模型、生成式 AI、代码辅助工具和 AI agent 都纳入范围。这个词汇变化很关键:AI使用早已不是打开一个聊天窗口这么简单。2026年数学建模竞赛AI规定
Codeforces最近关于第三方代码的规则变化也暴露了来源问题。它区分了赛前已经发布的代码,以及赛前已经发布的工具生成的代码。这对模板库可能是合理的,但它也让“你的代码”取决于工具和输出何时进入公共世界。Codeforces第三方代码规则
应该保留下来的东西
危机是真实的,但“算法竞赛结束了”是一个过于省事的结论。把模糊题意变成形式化模型,寻找不变量,证明复杂度上界,构造对抗测试,并在时间压力下作出判断,这些能力仍然有价值。
正在结束的是“一场线上考试、一个总榜就能回答学生全部能力”的想法。下一代竞赛应公开运行条件,记录解题过程,分开发布纯人类和 AI 协作成绩,并奖励能够经受恶意测试的解释。AI时代最好的参赛者不只是会产出代码,还知道代码什么时候错、为什么错,以及如何证明修正后的版本。