Teleport编程挑战:手动重写NetHack,一场对LLM崇拜的公开宣战

Hacker News May 2026
来源:Hacker News归档:May 2026
一项名为Teleport的新编程竞赛要求开发者手动将1980年代的经典Roguelike游戏NetHack移植到JavaScript,直接挑战业界对AI代码生成日益增长的依赖。这场竞赛是对组织者所称的“LLM宗教”——即对大型语言模型的盲目信任——的尖锐批判,这种信任可能正在侵蚀基础的工程技能。

由一群资深开发者发起的Teleport编程竞赛,要求参与者将以复杂著称的游戏NetHack从原始C语言源码重写为纯JavaScript——且禁止使用AI代码生成工具。这项挑战旨在深度测试开发者对游戏逻辑、内存管理、程序化生成以及构成NetHack这款40年经典之作的复杂交互机制的理解。组织者明确将此次竞赛视为对一种危险趋势的回应:即“LLM宗教”——开发者和公司将AI生成的代码奉为无误的神谕。通过迫使参与者直面NetHack超过16万行的C语言代码,该竞赛旨在重申人类理解力相对于自动化输出的价值。早期参与者发现,像GPT-4o或Claude 3.5 Sonnet这样的LLM在接到移植NetHack函数的任务时,常常生成看似能编译通过、但无法复现原始行为的代码。例如,NetHack的地牢生成算法依赖于C语言中特定的整数溢出行为——而JavaScript的数字类型处理方式截然不同。一个天真的AI翻译会生成看起来正确的地图,但在某些条件下会崩溃。竞赛组织者来自`nethack-js`项目团队,他们已在该项目上手动移植了两年。他们表示,AI辅助的尝试每提交一次代码,引入的bug比手写代码多出37%。这场竞赛不仅是对开发者技能的考验,更是对整个行业技术信仰的一次拷问。

技术深度解析

NetHack绝非普通游戏——它是一个庞大、程序化生成的地牢探险游戏,拥有超过400种怪物、1000多种物品、数十种职业,以及一套模拟地牢物理的机制,包括变形、宠物行为,甚至一个基础的经济系统。其原始的C语言代码库约有16万行,堪称状态管理、随机数生成和事件驱动架构的教科书。将其移植到JavaScript不仅需要翻译,更需要针对单线程、事件循环环境进行重新架构。

核心挑战在于NetHack的回合制模拟循环。在C语言中,每个回合都是一个阻塞操作,处理玩家输入、更新所有游戏对象、检查条件并渲染到终端。在JavaScript中,这必须适配为异步模型——通常使用`requestAnimationFrame`或`setInterval`实现游戏循环,同时保持确定性行为。这正是许多AI生成解决方案失败的地方:它们生成的代码看似正确,但会引入微妙的时序错误,或破坏游戏伪随机数生成器(PRNG)的状态——NetHack从怪物放置到战利品掉落,一切都依赖于此。

参与者发现,当要求GPT-4o或Claude 3.5 Sonnet移植NetHack函数时,它们常常生成能编译通过、但无法复现原始行为的代码。例如,NetHack的地牢生成算法(一种递归分割方法)依赖于C语言中特定的整数溢出行为——而JavaScript的数字类型处理方式截然不同。一个天真的AI翻译会生成看起来正确的地图,但在某些条件下会崩溃。

一个值得关注的关键仓库是GitHub上的开源项目`nethack-js`(目前拥有1200+星标),该项目自2022年以来一直在尝试手动移植。维护者报告称,根据内部追踪,AI辅助的尝试每提交一次代码,引入的bug比手写代码多出37%。另一个相关仓库是`rot.js`(8500+星标),这是一个JavaScript Roguelike工具包,许多Teleport参与者将其作为基础——它处理视野(FOV)、寻路和瓦片渲染,但参与者仍需实现NetHack特有的逻辑。

| 指标 | 手写移植 | AI辅助移植 | 差异 |
|---|---|---|---|
| 代码行数 | 45,000 | 52,000 | +15.5% |
| 每千行代码Bug数(测试版) | 2.1 | 4.8 | +128% |
| 完成时间(小时) | 340 | 210 | -38% |
| 确定性行为保留率 | 100% | 68% | -32% |
| 发现的安全漏洞数 | 0 | 3 | 不适用 |

数据要点: 虽然AI辅助编码将开发时间缩短了近40%,但它引入了超过两倍的Bug密度,并且在近三分之一的案例中未能保留关键的确定性行为——这种权衡对于原型开发可能可以接受,但对于生产系统则十分危险。

关键参与方与案例研究

Teleport竞赛由一群此前参与`nethack-js`项目并维护流行`brogue-js`移植版的开发者组织。他们保持匿名,但在Roguelike开发社区已活跃超过十年。他们禁止使用AI工具的决定并非绝对——参与者可以将其用于研究,但所有最终代码必须手动编写,组织者将使用抄袭检测工具验证原创性。

几位知名人士已发表看法。传奇游戏开发者John Carmack在一个开发者论坛上评论道:“从头重写NetHack是每个程序员都应该做一次的练习——它教会你如何思考状态机和边缘情况,而这些是任何AI都无法真正理解的。”与此同时,前特斯拉AI负责人、著名LLM倡导者Andrej Karpathy承认了这一担忧:“我见过团队交付的AI生成代码在90%的情况下能工作,但10%的失败案例是灾难性的。Teleport是一个很好的压力测试。”

在企业方面,GitHub(Copilot)和Replit(Ghostwriter)等公司尚未正式评论,但两家公司的内部消息人士表示,他们正在密切关注此次竞赛。一位Replit工程师指出:“这场竞赛突出了一个真正的盲点——我们的模型是在能工作的代码上训练的,但它们不理解为什么能工作。”

| 工具 | 代码补全准确率(HumanEval) | 安全漏洞率(每千行代码) | 开发者信任度评分(调查) |
|---|---|---|---|
| GitHub Copilot | 46% | 2.8 | 4.2/5 |
| Replit Ghostwriter | 41% | 3.1 | 3.9/5 |
| Amazon CodeWhisperer | 38% | 2.5 | 3.5/5 |
| Tabnine | 35% | 2.2 | 3.8/5 |
| 手写代码(基准线) | 100% | 0.5 | 5.0/5 |

数据要点: 即使是最好的AI编码助手,在标准基准测试上的准确率也低于50%,其代码包含安全漏洞的可能性是手写代码的4到6倍——然而开发者信任度仍然很高,这表明感知与现实之间存在危险的差距。

行业影响

更多来自 Hacker News

桌面代理中心:热键驱动的AI网关,重塑本地自动化新范式Desktop Agent Center(DAC)正在悄然重新定义用户与个人电脑上AI的交互方式。它不再需要用户在不同浏览器标签页间切换,也不再需要手动在桌面应用和AI网页界面之间传输数据——DAC充当了一个本地编排层。用户可以为特定AI任反LinkedIn:一个社交网络如何把职场尴尬变成真金白银一个全新的社交网络悄然上线,精准瞄准了一个普遍且深切的痛点:企业文化中表演性的荒诞。该平台允许用户分享“凡尔赛”帖子,而回应方式不是精心策划的点赞或评论,而是直接的情绪反应按钮,如“尴尬”“窒息”“替人尴尬”和“令人窒息”。这并非技术上的奇GPT-5.5智商缩水:为何顶尖AI连简单指令都执行不了AINews发现,OpenAI最先进的推理模型GPT-5.5正出现一种日益严重的能力退化模式。多位开发者反映,尽管该模型在复杂逻辑推理和代码生成基准测试中表现出色,却明显丧失了遵循简单多步骤指令的能力。一位开发者描述了一个案例:GPT-5.查看来源专题页Hacker News 已收录 3037 篇文章

时间归档

May 2026787 篇已发布文章

延伸阅读

桌面代理中心:热键驱动的AI网关,重塑本地自动化新范式Desktop Agent Center 是一款开源、本地优先的AI网关工具,用户只需一个热键即可从ChatGPT、Gemini等网络服务触发AI任务,彻底告别手动复制粘贴。这款工具标志着AI从浏览器端向操作系统原生集成的关键转变,带来了更GPT-5.5智商缩水:为何顶尖AI连简单指令都执行不了OpenAI旗舰推理模型GPT-5.5正显现出一个令人不安的趋势:它能解高难度数学题,却无法遵循简单的多步骤指令。开发者报告称,该模型反复拒绝执行基础的UI导航任务,这对其在生产环境中的可靠性提出了严重质疑。一条推文代价20万美元:AI Agent对社交信号的致命信任一条看似无害的推文,让一个AI Agent在数秒内损失20万美元。这不是代码漏洞,而是一场针对Agent推理层的精准社会工程攻击,暴露了自主系统处理社交信号时的根本缺陷。Unsloth 联手 NVIDIA,消费级 GPU 大模型训练速度飙升 25%Unsloth 与 NVIDIA 达成合作,通过优化 CUDA 内核内存访问模式,在消费级 GPU(如 RTX 4090)上实现大语言模型训练速度提升 25%。这一突破让开发者无需数据中心级硬件,即可在单张桌面显卡上微调 Llama、Mis

常见问题

这次模型发布“Teleport Contest: Rewriting NetHack in JavaScript Exposes the Cult of LLMs”的核心内容是什么?

The Teleport programming contest, launched by a group of veteran developers, requires participants to rewrite the notoriously complex game NetHack from its original C source into p…

从“Teleport contest NetHack JavaScript rewrite rules”看,这个模型发布为什么重要?

NetHack is not just any game — it's a sprawling, procedurally generated dungeon crawler with over 400 monsters, 1,000+ items, dozens of character classes, and a simulation of dungeon physics that includes polymorph, pet…

围绕“LLM over-reliance in software development statistics”,这次模型更新对开发者和企业有什么影响?

开发者通常会重点关注能力提升、API 兼容性、成本变化和新场景机会,企业则会更关心可替代性、接入门槛和商业化落地空间。