tourist,IOI六块金牌,全球独一人,今年输给了AI

tourist,IOI六块金牌,全球独一人,今年输给了AI

本文核心观点
Codeforces是全球最大的编程竞赛网站,高手们在上面打比赛、攒积分,积分决定段位。段位最高的一档,原本叫"传奇特级大师"。

tourist,IOI六块金牌,全球独一人,今年输给了AI

计算机竞赛传奇人物

Codeforces是全球最大的编程竞赛网站,高手们在上面打比赛、攒积分,积分决定段位。段位最高的一档,原本叫"传奇特级大师"。

2024年8月30日,网站创始人Mike Mirzayanov发了一篇帖子:

这是竞赛编程史上第一次。我本人和整个Codeforces团队,祝贺Gennady tourist Korotkevich取得这个不可思议的成就!

那天,一个网名叫tourist的白俄罗斯人,积分过了4000。网站当天就在"传奇特级大师"上面,为他新加了一档段位。

名字就叫Tourist。

Mike在帖子里说,这个名字以后也许会换成中性一点的,请大家出出主意。网友提了一堆名字,挂出来投票。留下"Tourist"的票数,是第二名的三倍。

新段位的颜色也跟别人反着来。传奇特级大师的名字,是首字母黑、后面全红。到了他这里,首字母红,后面全黑。

那一天,整个网站只有一个人的名字是这个颜色。

滑雪板上的名字

tourist本名叫Gennady Korotkevich,1994年生在白俄罗斯的戈梅利。

这个网名,他不到十岁就起好了。那会儿他的滑雪板上印着tourist这个单词,他挺喜欢,就拿来用了。

爸爸妈妈都是程序员,在当地大学教书。他8岁开始学编程,教他的主要是爸爸。父子俩一起拆题,爸爸用他听得懂的方式讲。他说:

从来没有人逼我"去练一会儿"。反倒常听到的是,"去歇会儿吧"。

2006年,他11岁,读五年级,第一次去参加IOI。那是中学生的编程世界赛,一个国家一年只派四个人。

颁奖时先发银牌,再发金牌。他一直等,一直没等到自己的名字。最后,他是倒数第二个上台领银牌的。

很多年后他说起那一天:

失败也会推动胜利。要是那次拿了金牌,我可能就骄傲了,后面什么都不干了。

从2007年起,他在IOI上再没拿过金牌以外的颜色。连着六届,六块金牌,其中三届是全球第一,一届是满分。IOI办了三十多年,拿到六块金牌的,只有他一个。

14岁那年拿第一,IOI的赛报采访了这个男孩。他说:

我不是天才,我只是擅长这个。

每拿一块IOI奖牌,白俄罗斯总统就接见他一次。握了六次手,他回忆,来的人太多,总统每次只来得及说一句:"谢谢你,Gena。"

一直在赢,也一直在输

2012年9月,他最后一次打IOI。那时他已经在俄罗斯圣彼得堡的ITMO大学读大一了。这一次,他输给了一个美国选手,拿了第二。他后来说:

连赢三次之后拿第二,很疼。但也很快过去了。该证明的,我都证明了。

大学生也有编程世界赛,叫ICPC,三人一队,每人一辈子只能打两次总决赛。

2013年,他大一,总决赛刚好就在圣彼得堡办。最后一小时,官方封了榜,所有人都悬着。闭幕式上滚动揭晓名次,冠军是东道主ITMO。他们举起奖杯时,台上的歌手正唱着皇后乐队的《We Are The Champions》。

2015年,摩洛哥,他的第二次也是最后一次总决赛。前一天晚上他食物中毒,肚子疼得几乎没合眼,早上吃了活性炭才缓过来。那一场,他们队把13道题全部做了出来。ITMO说,这是总决赛历史上第一次有队伍把题做完。

两次机会,两个冠军。

谷歌办的编程大赛Code Jam,他从2014年起连拿七届冠军。2021年,连胜断了,他只拿了第六。那年的冠军是中国选手王修涵,第三名叫Scott Wu,几年后成了他的老板。

2022年,他把冠军拿了回来。那也是Code Jam的最后一届总决赛,之后谷歌停办了这个比赛。

有人问他打算比到什么时候。24岁的他说:

如果我不再赢了,也许就退役了。但目前我还行。

等了八年的4000分

4000分,他其实"到过"一次。

2016年,Codeforces的积分算法出了个bug,他的分数一路涨到了4126。Mike查出问题,把分数改了回来,在公告里写:这个bug让tourist每拿一次第一,都等于多打赢了一个非常强的对手,他自己。

真正的4000,他又追了八年。

2022年1月,他打到3979,只差21分,下一场又掉了下去。2023年底,他连着几场没打好,分数跌到了五年来的最低点。

然后是八个月的反弹。冲线前的最后三场比赛,他场场第一。

第三个第一,就是2024年8月30日那一场。

北京时间晚上10点35分开赛,两个半小时,六道题。咬得最紧的是两个人:他,和中国选手jiangly。两个人六道题都做了出来,一次都没错。

第120分钟,jiangly先做完了最后一道,排到第一。

第134分钟,tourist也做完了最后一道,反超。

最后的分差是5分。有网友逐题算过,其中一道题只要他晚交1秒,第一就是jiangly的。

赛后,他的积分从3947跳到了4009。

北京时间凌晨3点52分,他在社交媒体上发了一句话,配了一张积分榜的截图:

Topcoder停赛了,所以我只好来拿另一个4000。

Topcoder是另一个编程竞赛网站,他在那边的积分,早就过了4000。

五个月后

Mike那篇祝贺帖下面,有条评论得了几十个赞:

要是哪天jiangly上了4000,tourist反而掉下来,那就好玩了:会出现一个"Tourist段位"的jiangly,和一个不是Tourist段位的tourist。

2025年1月20日,这件事发生了。

又是一场Codeforces比赛。第2小时56分,离结束不到4分钟,jiangly交对了最后一道题,排名第一,积分冲到4039。第二名是tourist。

jiangly的段位先是显示成了Tourist,没多久,改成了他自己的名字jiangly。有网友评论:jiangly成了tourist,tourist却不再是Tourist了。

jiangly叫蒋凌宇,来自重庆西南大学附属中学,在NOI拿过两块金牌。NOI是全国青少年信息学奥林匹克竞赛,这门学科的全国决赛。

他和tourist之间,已经有过三次这样的前两名。2022年Code Jam最后一届总决赛,tourist第一,蒋凌宇第二。4000分那一夜,tourist第一,蒋凌宇第二。这一次,反了过来。

人类胜利奖

2024年12月,tourist加入了一家叫Cognition的公司,那里在做一个会自己写代码的AI程序员,叫Devin。公司里打过竞赛的人很多:从2006年到2025年,每一届IOI上,都至少有一个现在的Cognition员工在参赛。

2025年4月,他发了一条推:

AI还不是世界上最强的竞赛程序员,但我们已经在好好用它了。

2026年7月,东京,AtCoder世界巡回赛总决赛。AtCoder是日本的编程竞赛网站,这是它一年里最顶级的比赛,决赛只有12个人。tourist是其中积分最高的一个。

OpenAI的AI也来了,以表演身份参赛,和人类选手做同一套题。主办方为此专门加了一个奖,叫"人类胜利奖",奖金60万日元:人类选手里拿了冠军,而且分数比AI高,这个奖就归他。

解说席上坐着Petr Mitrichev。tourist说过,自己刚开始学编程的时候,一直以Petr为榜样。

七个小时的比赛。AI做出了全部5道题。人类选手里最好的,做出3道。有两道题,12个人里没有一个做出来。

tourist排在人类第5。

颁奖的时候,大屏上"人类胜利奖"那一栏,本该写一个人类选手的名字。

打出来的是OpenAI。

微信二维码

扫码备注【NOAI】加交流群