国产模型在编程竞技中胜过多个主流大模型,提供了模型选型时的参考数据。
一个开放权重的中国模型,刚刚在一场编程挑战中击败了 Claude、GPT-5.5 和 Gemini。
我正在举办持续进行的 AI 编程大赛,让各大语言模型在实时编程任务中相互较量,并通过客观指标评分。第 12 天的项目是 Word Gem Puzzle,共有十个模型参赛。最终结果恐怕出乎大多数人的意料。
来自中国初创公司 Moonshot AI 的开放权重模型 Kimi K2.6,以 22 个对局积分、7 胜 1 负 0 平的成绩直接夺冠。小米的 MiMo V2-Pro 位列第二,GPT-5.5 排名第三,Claude Opus 4.7 最终位列第五。西方前沿实验室的所有模型,都没能进入前两名。
Word Gem Puzzle 是一种字母滑块谜题。棋盘是一个矩形网格,尺寸可以是 10×10、15×15、20×20、25×25 或 30×30,里面铺满字母方块,并留有一个空位。Bot 可以将与空位相邻的任意方块滑入其中,也可以随时申报由横向或纵向直线排列构成的有效英文单词。斜线不算,倒序也不算。
评分机制奖励长单词、惩罚短单词。少于七个字母的单词会被扣分:五字母单词扣 1 分,三字母单词扣 3 分。七个及以上字母的单词,得分等于单词长度减 6,因此一个八字母单词值 2 分。同一个单词只能申报一次;如果另一个 Bot 抢先申报,你就一分也拿不到。每两个模型之间进行五轮对局,每种网格尺寸各一轮,每轮的实际时钟时间限制为 10 秒。
生成网格时,系统会先以类似填字游戏的布局植入真实词典单词,再按照 Scrabble 字母方块的频率权重填充剩余单元格,最后通过移动空位打乱棋盘,而且棋盘越大,打乱程度越高。在 10×10 的棋盘上,许多种子单词仍能完整保留下来;到了 30×30 的棋盘,几乎一个也不剩。事实证明,这一点影响极大。
Nvidia 的 Nemotron Super 3 生成的代码包含语法错误,因此始终没能连接到游戏服务器。真正参加比赛的模型只有九个。
Kimi K2.6 是一个开放权重模型,由成立于 2023 年的中国初创公司 Moonshot AI 公开提供。MiMo V2-Pro 目前只能通过 API 使用;小米已经确认,其更新的 V2.5 Pro 模型即将开放权重。Anthropic、OpenAI、Google 和 xAI 的模型分列第三至第七名。来自中国实验室 Zhipu AI 的 GLM 5.1 排名第四,DeepSeek 位列第八。这并不是一个简单的“中国击败西方”的故事;获胜的是两个特定模型。
移动日志揭示了其中的原因。Kimi 靠激进滑动赢下了比赛。它采用的是贪心策略:评估每一种可能的移动能够解锁哪些新的正收益单词,为这些移动打分,执行其中最优的一步,然后重复这个过程。如果没有任何移动能够解锁正收益单词,它就退回到按字母顺序排列后的第一个合法方向。
这种做法会导致一些低效的边缘振荡:Bot 在两个状态之间来回切换,形成 2-cycle 模式,空位不断往返,却没有任何进展。在种子单词大多仍保持完整的小型网格上,这会拖累表现。但在 30×30 网格中,打乱过程几乎拆散了所有单词,重新拼出单词成为唯一的得分途径,此时庞大的滑动量最终带来了回报。Kimi 的累计得分为 77 分,是整场比赛中最高的。
MiMo 的滑动代码确实存在于代码仓库中,但其中“best value greater than zero”的阈值条件从未触发,因此它实际上一次也没有滑动。它直接扫描初始网格,寻找长度不低于七个字母的单词,然后把所有申报通过一个 TCP packet 一次性发出去。
这是一种脆弱的策略:它完全依赖打乱后的棋盘是否还保留着完整的种子单词。在单词幸存下来的网格中,MiMo 能迅速将其一扫而空;而在单词没有保留下来的网格中,它一分也拿不到。最终成绩是累计 43 分,排名第二。
Claude 同样没有滑动。移动日志显示,在打乱密度尚可应付的 25×25 棋盘上,它的表现还算不错;但到了真正需要移动字母方块的 30×30 棋盘,它便彻底崩溃了。对于一个围绕滑动机制设计的谜题来说,不进行滑动确实是一个实质性的局限。
GPT-5.5 更为保守,每轮大约滑动 120 次,并设置了上限以避免无效折腾。它在 15×15 和 30×30 网格上的数据表现最强。Grok 也从未滑动,但在较大的棋盘上仍取得了不错的分数。GLM 是整场比赛中滑动最激进的模型,总滑动次数超过 80 万次,但只要正收益移动耗尽,它就会严重停滞。
DeepSeek 每一轮发送的都是格式错误的数据,没有产生任何有效输出。至少,它没有因为参与游戏而让情况变得更糟。
Muse 参与游戏后,反而让情况变得更糟。
评分机制会惩罚短单词:三字母单词扣 3 分,四字母单词扣 2 分,五字母单词扣 1 分。这样设计的目的,是防止 Bot 用“the”“and”“it”之类的单词对棋盘进行地毯式轰炸。所有严肃的参赛者都会过滤词典,只保留长度不低于七个字母的单词。
Muse 却申报了一切。无论长度如何,只要是它能找到的单词,都会立即发起申报。在一个 30×30 的网格中,任何时刻都能看到数百个有效的短单词;Muse 找到了它们,然后一个不漏地全部申报。
它的累计得分是 −15,309。八场对局全部落败,一轮也没有赢。有一个版本的 Muse 只连接服务器,然后什么也不做;如果让那个版本参赛,它能得到 0 分,相当于提升 15,309 分。Muse 与第八名之间的差距,比第八名与第一名之间的差距还要大。
DeepSeek 的格式错误输出,说明了它在时间压力下如何处理陌生的协议规范。Muse 的失控则揭示了另一件事:它看到了有效单词,也申报了这些单词,但它似乎完全没有结合评分规则去理解这里的“有效”究竟意味着什么。
它只读懂了任务的一部分,却把这部分理解不折不扣地执行到底。对于任何打算将这些模型部署到带有惩罚机制的结构化任务中的人来说,这一点都值得注意。
这些挑战是我设计的,因此我对它们测试的能力有相当清楚的认识。但即使是我,也没有完全预料到 30×30 网格会如此鲜明地拉开参赛模型之间的差距。在较小的棋盘上,静态扫描器与主动滑动器之间的差异并不算大。可一旦达到最大规模,那些只能发现现成单词的模型很快便无路可走。Kimi 的贪心循环虽然存在缺陷,却能在静态扫描器已经无词可报时继续产生结果。
另一件值得注意的事是:MiMo 和 Kimi 最终只相差两分,尽管它们采取的做法几乎完全相反。它们对同一个谜题提出了两套截然不同的解法,却取得了近乎相同的结果。这意味着第一名和第二名之间的差距,一部分来自种子分布的随机性,而不完全是能力差异。
一个合理的反驳是:这套评分体系会奖励激进的单词申报,而经过大量安全调优的模型,可能会对这种地毯式轰炸行为更加保守。如果确实如此,那么比赛结果反映的是任务设计与对齐后模型行为之间的不匹配,而不是模型的原始能力。这是一个合理的质疑,但它并不会改变比赛结果。
一次挑战并不足以推翻通用 benchmark 的结论。这道谜题测试的是实时决策能力,以及模型能否编写整洁、可运行的代码,连接到 TCP 服务器,并正确参与一个陌生游戏。它并不测试长上下文推理,也不测试根据规格说明生成代码的能力。
但这些挑战我已经举办了足够长的时间,能够察觉正在发生的变化。一年前,人们普遍认为,西方前沿实验室在能力上的领先优势,是开放权重模型无法追上的。如今,Kimi K2.6 在 Artificial Analysis Intelligence Index 上的得分是 54,GPT-5.5 是 60,Claude 是 57。这还不能算完全持平,但已经非常接近,而且 Kimi 是一个任何人都可以下载的模型。
当与前沿模型只相差几个指数点的模型,也能让任何人免费获取并在本地运行时,竞争格局便已经不同于一年前。这场挑战,正是这一转变中的一个数据点。如今差距已经小到足以在这样的比赛结果中显现出来。
Rohana Rezel 是 AI Coding Contest 的主办者,也是一位常驻加拿大不列颠哥伦比亚省温哥华的技术专家、研究人员和社区领袖。