Rails 呢?
DHH 在 Rails World 2026 主题演讲中称自己已从职业程序员退休,全面押注 LLM 生成代码,37signals 下一代 Hey 改用 Rust 构建原生应用。
中文
复制
Ruby/Rails
Rails 怎么办?
作者 Jared Norman,发布于 2026 年 9 月 24 日
不管好坏,Ruby on Rails 现在仍然由 David Heinemeier Hansson 掌舵。我倒是想不再关注他,但我用 Rails 做应用,所以他的一举一动都会影响到我和我的客户。昨天,他在 Rails World 2026 上做了开场主题演讲,阐述了他对 Rails 未来的设想。
或者说,他的演讲本该讲这些。可他的主题演讲跟 Rails 几乎没什么关系。下面是他实际讲的内容,以及这些内容对 Rails 意味着什么。
大意
我已经从职业程序员的位置上退休了。
没错,他真这么说了。但这并不意味着他要离开软件开发。他现在给自己贴的标签是“maker”。他还声称英语是最好的编程语言(因为有了 LLM),而且我们甚至未必需要去读 LLM 生成的代码。
对绝大多数公司里的绝大多数程序员来说,手写代码已经不再是一件有经济产出的事了。
他全面押注 LLM 生成代码,因此他对原生应用和 Rust 语言的立场都变了。在他看来,像 Hey 这样的产品从来就不该是 Web 应用。
多年来他一直主张,Rails 技术栈能让小团队做出有野心的产品。如今 37signals 在做下一代 Hey,却换了一套技术栈。按他的说法,瓶颈已经消失,所以他们用 LLM 为支持的每个平台构建原生应用。
服务器端他们选了 Rust。DHH 坚持认为这门语言很丑,不该让人去写,但它对 LLM 很友好。反正他也不读代码,现在倒能欣赏这门语言的性能和稳定性了。
他声称今年 8 月写了 15 万行代码,而在前 LLM 时代,他平均每年大约写 3 万行。(他承认其中很多是“啰嗦”的 Rust。)过去二十年里 Ruby 约占他工作量的一半,而今年只占他写下的代码的 3%。
新策略的出发点很简单:人类去读代码应该是例外,而不是常态,“就像在 Sentry 里看到 bug 一样”。
这是今天的情况。到今年年底,几乎所有领域、几乎所有程序员、几乎所有公司都会如此。所以我们最好习惯它。
他还希望每项服务都提供 CLI,这样他(准确地说,是“他的 agent”)不用打开 UI 就能与之交互。
我们现在可以想要一切。我们现在可以得到一切。
演讲的后半段,他谈的是自己的愿景:LLM 让每个人都能创造出心中想要的东西。他讲了自己在 Omarchy 上的工作,最后敦促听众摒弃 AI 怀疑论和末日论:
黑丸是给废物吃的。别当废物。
一个 Rails 形状的洞
DHH 在全球首屈一指的 Rails 大会的开场主题演讲上宣布,一个旗舰级 Rails 应用正在离开 Rails。关于 Rails 的部分,归结起来就是:它依然非常适合 Web 应用(比如 Basecamp),也非常适合配合 AI 来构建。
二十年来,Rails 一直被推销为“小团队、大产品”的框架。我待过很多团队,正是因为 Rails,才能用很少的人做很多的事。你大概也有同感。
Hey 过去是、现在也仍是一个 Web 应用,因为为小团队做 Web 应用,曾经就是提高产出的方式。在旧时代,也就是 5 分钟前……
他对 Rails 的定位已经收窄了。Rails 不是偏好,而是权宜之计。如今它是“不得不做的 Web 应用”的首选平台。约定优于配置被重新表述为“token 效率”。Evil Martians 的 agent 评测不过是一颗定心丸:AI 擅长 Rails,所以你不需要离开。
也可以有更善意的解读。Rails 确实是一个成熟、稳定的框架。稳定性确实有利于 agent 开发。但他告诉我们,今年他的工作里只有 3% 是 Ruby。整场演讲没有任何内容试图区分一个成熟的平台,和一个创建者已经不再关注的平台。
CLI 的要求让人摸不着头脑。37signals 靠的是有主见的 UI/UX 来区分产品,而不是靠新功能。他们把 Hey 重写成六个原生应用,理由是网页端的还原度不够好。那么 UI 重要到值得整个重写,可同时大家又只想要 CLI?如果每个产品都是被一个驱动 CLI 的 agent 使用,那 Basecamp 或 Fizzy 拿什么跟最便宜的替代品区分开?我觉得这套策略需要一次 Rework。
我不禁想问,Rails 现在的愿景到底是什么,又由谁来推动。Mosscap 因政治原因分叉,但他们的核心论点之一就是 Rails 已经做完了。它稳定,只需要维护。Hanami 有一份路线图,也有对用 Ruby 构建 Web 应用之未来的愿景。Rails 的日常工作大部分来自 Shopify 和其他地方,但愿景历来由 DHH 推动。现在,他是在把自己辩出局,还是早就离开了却没告诉屋里的人?
Rails 的作者正在把自己的一款旗舰产品从这套技术栈上撤下来。他的 Ruby 产出已经降到 3%。他相信到十二月,手写代码对几乎所有人来说都会成为历史。面对这一切,他给出的是一通恭维。
现在这也许有点吓人。也许我们要面对一点竞争了。谁怕一点竞争?你不是更强吗?你不是懂得更多吗?你当然懂。你他妈是个 Rails 程序员。你是精英中的精英。我看着这简直就是《壮志凌云》。拥抱它吧。满怀热情地。
这是安慰,不是计划。我打赌它在现场也奏效了;自信总是奏效。但它完全是空的。同样的话你可以对着满屋子的 Django、Laravel 或者他妈的 Spring Boot 开发者 一字不差 地说出来。他唯一一次直接对 Rails 开发者说话,却选择对 Rails 只字不提。
房间里那头被幻觉出来的大象
接下来说 AI 相关的主张。背景是,DHH 经营的公司做的是简单、易用的产品。它们简单到即使在 LLM 出现之前,他们也会定期把应用整个重写,做出新版本。
37signals 的成功靠的是产品和营销,而不是解决了什么硬核技术难题。我不是在黑它,很多人确实喜欢他们的应用。我只是说,他们新出的看板应用能不能成,取决于产品决策和营销。看板本身并不是计算机科学里的难题。
那么他的做法——从不看输出,只从外部评估结果——行得通吗?这些工具已经进步了很多。它们仍然会犯各种错误,但只要有人在回路里验证结果并重新提示,就没问题,至少对小型应用和简单问题来说是这样。
这场演讲里的数字很难让人当真,因为 David 一直在自己拆自己的台。整场演讲中,他把各种话题当作已有定论来呈现,却始终没能给出连贯的支撑。
他承认代码行数是个糟糕的衡量标准,也承认跨语言比较并不公平,然后拿 8 月份 LLM 生成的 15 万行代码和他自己每年平均 3 万行作比较,紧接着又让步说,他能容忍 LLM 写的 Rust 代码,而这种代码他“绝不会容忍出自自己的 Ruby 代码”。手写的简洁 Ruby 和 LLM 生成的 Rust 垃圾根本不可比。他似乎知道这一点,但还是照比不误。
过去 20 个月里,我写的代码量是之前 21 年的一半。
又是在拿苹果比橘子,而且他自己都搞不清“写”代码是什么意思。LLM 生成的 Rust 他连读都没读过。
Hey Next 的数字同样有问题。Rust 比 Ruby 性能更强,这毫无疑问,但这又是一次不公平的比较。
……我们最终得到一个 CPU 占用减少 99%、内存占用减少 95% 的后端,而它需要 10 台主机仅仅是为了冗余。事实上,我们粗略估算后认为,Hey 的峰值流量大概用一台 Raspberry Pi 就能撑住。
一个没有 Web 前端的纯 Ruby 后端,运行成本同样会远低于现有的 Rails 版本。哪些收益来自 Rust,哪些来自砍掉 Web 应用,无从得知。而这一切都支撑不了他的 agent 论点。一个喜欢写 Rust 的团队也能构建同样的系统。但他认为人类不该写 Rust。
他关于 10 倍(以及 100 倍、1000 倍)程序员的说法同样可疑。那项研究测量的是开发者工具的差异(而非开发者生产力),并且已经遭到来自多个角度的猛烈批评。“平均 10 倍”只是民间传说,连原始论文里都没有。
开发者之间巨大的生产力差异确实存在。我自己就见过。但从论文到演讲舞台的某个地方,数字从 28:1 变成了 1000:1,而唯一被确认的地方是一场只有一个人拿麦克风的主题演讲。
然后是 Basecamp 5。David 报告说它导致架构“像瑞士奶酪”。他怪模型。未经审查、缺乏协调的贡献会侵蚀架构,无论它们来自 agent 还是人。他在演讲后面论证说“重复的代价已经趋近于零”。Basecamp 5 就是非零的样子。我们已经在 DHH 自己的圈子里看到了这种失败模式。Tobi Lütke 最近哀叹说,在进行重度 agentic 开发时,“slop grenades”是一个严重危害。
David 让我们从历史中学习,从 ATM 的故事中学习。人们曾担心 ATM 会终结银行柜员。结果恰恰相反。但他的故事有个问题:所有细节都是错的。年代错了。他引用了错误的经济学家。柜员数字差了一个数量级。结局已经是反的。也许这场演讲本该有人复核一下。
“永远不要看代码”和“安全,有东西要来了,做好准备”在这场演讲中相隔十五分钟。这是一道巨大的鸿沟,而且没有桥。有人告诉我,要相信一家公司刚刚起步、重建一个相对简单的邮件产品的努力,可以外推到“几乎所有程序员、几乎所有公司,到十二月”。
最后,在应该有策略的地方,只有对乐观的恳求。
我也觉得[这些担忧]中有些可能被夸大了。我是说,也许吧,但大概不是。我是说,其中有些也许稍微多了一点。
乐观不是策略,也压不过事实。这场演讲里的事实撑不起那份乐观。我带着好奇去听,想知道 Rails 接下来要往哪走。到现在我还是不知道,我猜 DHH 自己也不知道。他甚至都没表现出他在想这件事。
这才是最让我不舒服的地方。我对他的 AI 说法持怀疑态度,但这不是问题的关键。我也不是对 Hey 的重写有意见。他想用什么工具写自己的应用是他的自由。我根本不用 Hey。
问题在于,他站在 Rails World 的台上,告诉所有人他要把自己的产品从 Rails 上搬走,而他能对还在用 Rails 的人说出的最好的话,就是我们“是最好的那一批”。谢了。
也许 Rails 真的走到头了,就像 Mosscap 项目说的那样。也许是时候把重心放在稳定性和维护上了。如果这就是计划,得有人把它说出来。如果不是,那就让我们听听接下来要往哪走。
DHH 两样都没做。他只是告诉我们未来会很棒,还警告大家不要陷入 AI 末日论。我本来只想要一两页关于 Rails 的幻灯片,这样就够了。