2025代码降临节:AI退位,传统为王!

48 阅读8分钟

2025年代码降临节迎来重大变革:谜题减至12个,取消全球排行榜,并禁止AI解题。社区普遍支持,认为更具可及性,但对AI使用态度不一。

译自:2025's 'Advent of Code' Event Chooses Tradition Over AI

作者:David Cassel

准备好编程了吗?今天,世界各地的程序员开始倒计时,等待12月1日以及2025年一年一度的“代码降临节”(Advent of Code)活动。

而今年有一些新变化——这是首次发生重大变革的一年。在10年间每年用25个分两部分谜题吸引程序员后,活动创建者Eric Wastl在10月份一个简短而精炼的公告中解释了正在发生的变化以及原因。

但同样重要的是社区的反应。

AI可能正在改变编程世界,但一些人类的节日传统仍在继续。当数十万程序员朝着又一年的节日主题谜题——就像驯鹿飞越北极暴风雪——冲刺时,很高兴看到他们共同的兴奋感将再次延续一年。

2025年代码降临节:更少谜题,更高可及性

人们对这个网站的广泛喜爱是毋庸置疑的。根据其统计页面,去年有284,977人解决了第一个谜题。(完成一个谜题会获得一颗“星”,Wastl宣布自网站于2015年上线以来,已颁发了23,170,305颗星。)实际上,有779名用户每年都解决了所有谜题,赢得了全部500颗星。

多年来,超过一百万人至少收集到了一颗星。

但去年在C++大会CppNorth上发言时,Wastl承认一年内解决所有25个谜题很难。“我尽量把开头的谜题做得简单,把后面的做得难。”

这意味着,虽然有263,746人解决了去年第一个谜题的两个部分,但只有17,088人征服了最后一个谜题。

来自代码降临节网站的截图 - 2024年谜题完成统计数据

因此,2025年,Wastl将谜题数量从25个减少到12个。“每年运营代码降临节都会占用我大量空闲时间,”Wastl在网站的常见问题解答中写道,“而制作谜题占据了大部分时间。”

“在保持十年(! )稳定日程后,我需要做出改变。”

社交媒体上的回应普遍表示支持……

Eric Wastl宣布2025年代码降临节谜题数量减少后,BlueSky上的回应截图 “说实话,这让参与变得更容易了,”一位后端服务开发人员发帖称。“随着假期临近,我从来都无法每天坚持下去,要做的事情太多了!”

一位洛杉矶的工程经理补充说,这个活动“对我们所有人来说都是一份厚礼,无论你给我们什么都是一种福气!我很高兴你能够找到一个适合你的平衡点。”

在Reddit上,Wastl确认他仍然计划每个谜题分两个部分(开玩笑说“我保留有一天推出37个部分的谜题的权利!”)。

但这会影响谜题的难度吗?

“我还在调整中,”Wastl在Reddit上发帖说。“我现在的希望是有一个更浓缩的25天复杂度曲线版本,也许在曲线中部稍微偏向更简单的方向?如果我能做到,我仍然希望有适合每个人的东西,而不会让初学者进展过快。”

全球排行榜被移除,AI使用政策出台

该活动还将正式取消显示最快完成时间的全球排行榜,Wastl写道,这是“对我、对基础设施以及对许多用户来说最大的压力来源之一。……2015年开始时一个有趣的功能,变成了一个不断增长的问题。”

其中一个问题是“人们把事情看得太认真,远远超出了比赛的精神;有些人甚至诉诸DDoS攻击等手段。”但他似乎尤其困扰于全球最快时间的公布方式,似乎让其他人对自己的编程技能感到气馁。

一位Hachyderm用户对这一变化表示欢迎,称排行榜“给极少数人(也许是前100名?)带来了很多多巴胺,却给其他人带来了很多恐惧。”

另一位用户表示,他们欢迎这些变化,因为他们发现这项活动“到最后总是占用太多时间。”(而且“我认为全球排行榜无论如何几年前就该取消了,当时大型语言模型(LLM)开始兴起。”)

事实上,网站的常见问题解答现在也明确告知用户,在解决谜题时,他们不应该使用AI。“如果你让朋友替你去健身房,你会期望自己变得更强壮吗……?”

“如果你想练习提示AI,几乎肯定有其他为此设计的更好练习。”

常见问题解答甚至针对那些希望在私人排行榜上与他人竞争时使用AI的用户,敦促他们首先向管理排行榜的人询问他们的政策和期望。

社区对代码降临节变化和AI的反应

代码降临节周边商品有助于支持网站的运营成本(可在网站的商店链接购买)。

那么社区的反应如何呢?

随着比赛临近,一位粉丝发起了一场Reddit讨论,强调Eric Wastl禁止使用AI的告诫——并找到了其他同意者。“今年使用AI来完成代码降临节,就像你自己摆好棋盘,拿走所有一种颜色的棋子,然后宣布自己赢了,”一位Reddit评论者开玩笑说。“是的,没有人阻止你这样做……但你能从中得到什么呢?”

并非所有人都同意。一位评论者回应道:“我今年会毫无愧色地使用AI,因为我想学习Golang。我计划获得专门针对每个谜题的互动训练。”另一位写道:“我的计划是使用AI来编写输入解析代码。我一直讨厌那部分。之后,我打算把它关掉。”

具有讽刺意味的是,OpenAI在官方的代码降临节subreddit上购买了广告。(“Codex通过直截了当的摘要让你快速上手,从而让你能够持续进步。所有这些都由ChatGPT提供支持……”)

但程序员Jeroen Heijmans每年都会发布一份针对数千名参与者的非官方调查,自2023年以来,他一直在增加一个额外的问题:你对AI/LLM(大型语言模型)有什么看法?

“我没有预料到这些回答的数量如此之大,以及普遍需要进行内容审核,”Heijmans在Reddit上宣布2024年调查结果时表示。超过62%的受访者表示他们使用了“零”AI——这与2023年的比例大致相同(当时Heijmans首次提出这个问题)。

允许多选,有31.8%的人选择了“AI对代码降临节有害”(高于2023年的27.0%)。此外,21.8%的人选择了一个更强烈的选项——“AI对代码降临节非常糟糕”——这比2023年底选择该答案的15.4%有了大幅增长。

有39.2%的人选择了“不要再提AI了”——这比2023年选择该答案的40.7%略有下降,而0.6%的人选择了“不知道AI/LLM是什么意思”(低于2023年的1.0%)。

并非所有人都避免使用AI:2024年有15.7%的受访者表示他们在解决谜题时使用了“一些”AI(另有0.5%的人表示他们使用了“大量”AI)。但这一数字略低于2023年报告使用“一些”AI的14.1%和使用“大量”AI的0.7%。

但在2024年,只有7.6%的人选择了“AI对代码降临节有益”,2.4%的人选择了“AI对代码降临节非常棒”——这比2023年选择这些答案的人(分别为10.8%和3.6%)略有下降。

编程趋势与持久的代码降临节传统

但大多数情况下,社区似乎只是感激他们的12月传统得以延续。

今年,一位Reddit用户甚至提出了一项新挑战——尝试在不使用if-then语句或其他“流程控制”关键字(如while循环)的情况下解决所有谜题。

那么,今年的活动会是什么样子?根据Heijmans的非官方调查,多年来,解决谜题最受欢迎的编程语言——迄今为止——似乎是Python,2024年近40%的受访者表示他们使用了Python。(自2018年他的调查开始以来,每年都有40%的人表示相同。)Rust一直稳居第二,在过去三年中每年都有超过16%的参与者使用。

根据调查结果,过去七年,超过30%的解题者使用Linux操作系统,而Windows用户的份额从2022年的40.5%下降到2023年的35.86%,然后到2024年的33.239%。Heijmans指出,2024年Linux的Windows子系统又获得了7.2%的响应,这意味着Linux和WSL的总用户数超过了纯Windows用户。

在过去四年中,超过40%的人报告他们使用VS Code作为他们的代码编辑器。

Eric Wastl在Hachyderm上庆祝夏令时的截图

Eric Wastl在Hachyderm上庆祝夏令时的截图。

当他们倒计时到午夜(美国东部时间,或太平洋时间晚上9点)前的最后几个小时时,一些热切的程序员甚至可能会在比赛主页的源代码中发现Eric的秘密问候。

“为了构建这个东西付出了很多努力,”他告诉网站访客,并补充道,“我希望你们享受它,就像我享受为你们制作它一样!”