Rails World 2026 开幕主题演讲

查看原文 HN 讨论

文章摘要

说明:原始链接(V9SxpJpHuus)是大会直播录像,现已设为私享视频。HN 上 dang 已把帖子链接换成官方剪辑版 vDjW_dRyKXY(《Rails World 2026 Opening Keynote - DHH》,约 63 分钟)。本文根据剪辑版的官方简介、章节列表和英文字幕整理。

这是 Ruby on Rails 创造者、37signals 联合创始人 David Heinemeier Hansson(DHH)在得克萨斯州奥斯汀 Rails World 2026 上的开幕主题演讲。官方简介的概括是:一场关于 AI 智能体时代的演讲,讲 37signals 为什么对手写代码「放下铅笔」,为什么 Rails 的约定优于配置正适合这个时刻,以及为什么剩下唯一的选择是彻底的乐观。

开场:「AI 谵妄」。 DHH 一上台就自嘲:看到有人为这个时刻兴奋得手舞足蹈,第一反应可能是诊断为「AI 精神病」,他更愿意叫它「AI 谵妄」或「AI 狂喜」。他承认这件事既让人兴奋也让人不安,因为没人知道终局是什么,任何预测大约 20 分钟后就会过时。

肖像画家的教训。 为了安抚这种不安,他把时钟拨回 18 世纪:那时画一幅肖像要坐上好几个小时,画家再花几个月完成,比如 Joshua Reynolds 1781 年的《瓦尔德格雷夫三姐妹》,还有 Goya 为西班牙王室画的群像,只有上层资产阶级和王室才负担得起。接着他讲到自己的高祖父、丹麦画家 Laurits Tuxen:1886 年画丹麦王室全家像花了三年。然而 1840 年相机问世,1900 年柯达推出约一美元的 Brownie 相机,摄影普及了,「尽可能完美地再现现实」不再是一门能养家的手艺。画家们随之转向:毕加索走向立体主义,丹麦斯卡恩画派走向印象派,技术变革带来了一次创造力的爆发。画中穿粉色裙子的女士 Yvonne Tuxen 是 DHH 的曾祖母,而 Tuxen 晚年也欣然让新技术为自己拍了照。他还用自己童年只有寥寥几张照片的经历说明,技术总是走走停停:Brownie 之后几乎 80 年没有大变化,直到手机让拍照变得毫无摩擦,如今全世界每年拍约 2 万亿张照片。

2025 年 11 月 24 日:我们这个时代的 Brownie。 DHH 把这一天定为分水岭:Opus 4.5 发布,让很多人第一次负担得起、也第一次体验到和一种新智能结对写软件的感觉。「此前是一切,此后是另一切。」随后是开放权重模型的跟进(他很喜欢以每秒 200 token 的「快速模式」运行 Kimi K2.5),接着是 2 月到 5 月的「幻灭低谷」:新模型似乎不进反退,有人抱怨「Opus 4.6 是什么东西,把旧的还给我」,某次 OpenAI 新模型在基准上没进步多少,市场就惊呼「完了」。但低谷只持续到 6 月,Fable 5 和 Mythos 发布后,他从「可以让智能体帮我做点事」变成了「它做出来的东西我想合并」。9 月的 GPT-6 Astra 打破了 Anthropic 可能垄断前沿智能的担忧,一周后的 DeepSeek-4-1 Flash 又证明前沿智能不会永远只属于几家美国大公司。

从 10 倍程序员到 1000 倍程序员。 「10 倍程序员」的说法源自 1968 年 ACM 上的一项研究,业界为它争了 45 年。DHH 认为这场争论已经结束,而且今天说「不用这些工具的最差程序员」和「用这些工具的最好程序员」之间差 100 倍并不算争议,差 1000 倍也「听起来差不多」。他说过去 20 个月他写的代码相当于此前 21 年的一半。

「看看那些我没在做的事」:Rails 时刻。 他播放了自己 2005 年在巴西演讲的片段:当年他兴奋地展示 Rails 的约定如何省掉大量配置,一再说「看看那些我没在做的事」。他说如今这句话更贴切:他已经大约 5 个月没写代码,却修好了所有想修的东西,每个梦想、每个小烦恼、每个无关紧要的功能都突然触手可及。

37signals「放下铅笔」。 几周前 37signals 决定:手写代码不再是常规做法,而是一种异常状态,就像 Sentry 里出现一个 bug,意味着「哪里出了问题,为什么智能体没能做出我们想要的东西」。临时手写一下可以,但之后要「修好机器、修好工厂」。他当场调查,问还在每周手写大量代码的人举手,结果只有大约 5 个人。他也讲了失败的尝试:今年春天 Basecamp 5 收尾时,他们让一批设计师用 vibe coding 做最后的功能,单个 PR 看起来都还行,二三十个合在一起,架构就像被戳穿的瑞士奶酪。他们当时的结论是技术还没准备好,于是回到人工审查。他现在认为这个结论是错的,「再等五分钟 Fable 就出来了」,而如今唯一重要的问题是如何从这场智能爆炸中榨取最多。

HEY 不再是 Web 应用。 新版 HEY(名字未定)的第一步就是不再做 Web 应用。DHH 说 HEY「从来就不想当一个 Web 应用」,之所以是 Web 应用,只是因为那是小团队保持生产力的方式;过去让一个小团队维护 6 个原生应用简直荒谬,这也是 React Native 和 Hotwire Native 存在的原因。现场演示的是一周前才启动的 6 个原生应用。第一版 Windows 应用「还不太能发布」,20 分钟后的修改版就已经像样了。他预言,很多因为必要、方便、程序员偏好或团队规模而做成 Web 的应用,很快都会变成原生应用,因为开发成本「几乎降到零」。他也提到 Shopify 刚用一个小团队把 Shop 应用从 React Native 重写成原生。

后端:我讨厌 Rust,但我爱 Rust。 DHH 说 Rust 在他看来是近 40 年来最丑的编程语言,让人类去写它「毫无人道」。但如果他永远不用看它,只需享受快 30 到 100 倍的应用、极小的可执行文件和亚毫秒级的启动,那他爱 Rust。「智能体喜欢 Rust,我告诉你做什么,你用 Rust 写,我永远不用看,多好的分工。」前端全部原生化之后,后端不再需要渲染 HTML,剩下的其实就是一个邮件服务器。用 Rust 重写后,CPU 占用减少 99%,内存减少 95%,之所以还要 10 台主机只是为了冗余;他们粗略估算,HEY 的峰值流量大概一台树莓派就能扛住。他还提到在 Basecamp 里用异步方式给智能体派任务,像对待同事一样交代完就走,回头再审查结果。

Ruby 和 Rails 往哪里去? 他的回答是:HEY 的答案是「前端原生、后端 Rust」,但很多应用不是这种形态。Web 是个奇妙的平台,因为它从不要求任何人安装任何东西,上百万家企业建立在这个前提上,Rails 在那里仍然很有位置。约定优于配置直接带来 token 效率,「单人框架」的定位也正契合智能体时代让一个开发者走得更远的需求。Evil Martians 代表 Rails 基金会做了智能体评测,第一版很快就被模型做到 95% 的完成率,只好换更难的版本。他提醒懂太多计算机原理的人不要对智能体过度规定,要保持初学者心态,在更高层次上提问:「我完全不懂 Rust,我认为这是一个特性。」他把 Rust 当黑盒,从外部评估,就像历史上任何雇程序员干活的老板一样。

15 万行与「英语」。 过去 21 年他超过一半的工作是写 Ruby 代码,今年大约只有 3%。以前每年写约 3 万行生产代码,今年 8 月一个月就「写」了 15 万行,约为长期平均的 60 倍,他也承认其中很多是冗长的 Rust。他说自己发现了一门比 Ruby 更喜欢的编程语言:英语,它比 Ruby 更有表现力,虽然更模糊、更不确定。

快乐地退休。 他宣布自己已经「从职业程序员退休」,时间大约在 3 月。他说自己花了四分之一个世纪手工雕琢代码,享受每一刻,大家应该带着喜悦而非遗憾回望这段时光,然后接受它已经结束:对绝大多数公司的绝大多数程序员来说,手写代码已不再是经济上有效率的事,到年底几乎所有领域都会如此。另一边是一份新职业:「专业的造物者」,驾驭不久前还只存在于科幻小说中的智能。「我有时候想,要是赶上了打孔卡时代该多酷。」

重新思考软件架构。 他认为「我们以为自己懂的软件架构」都要重新审视。抽象是长期以来最主要的工具,他自己也很爱抽象和命名,但当成百上千个进程同时在修改一个应用时,抽象就成了瓶颈;而且我们做抽象的部分原因是避免重复,如今重复的代价和保持同步的代价都已接近于零。开发方法论、迭代周期、谁来写规格,这些都在变,「没人有蓝图,欢迎来一起想清楚」。

每个应用都该有 CLI。 他不想用各家塞进应用的聊天机器人「礼宾」,他有自己的「私人管家」,能通过 CLI 把 Basecamp、HEY 和其他上百万个应用连起来。「如果你的应用还没有 CLI,下周五之前我要看到。」他举例说,HEY 的 Elasticsearch 搜索只是勉强能用,而智能体通过 HEY CLI 按概念而不是关键词搜索,几分钟就找到了一封五年前、他连对方是谁、哪一年都不记得、只记得「和球鞋、播客有关」的邮件。

Omarchy 与一次成型的应用。 他花了三个月在 X 上只谈 Omarchy(他的 Linux 发行版项目),称其已融资约 2000 万美元。去年在 Rails World 展示时安装要 3 分 33 秒,上周 AMD 的一位工程师用 35 秒装好,实验室里已经做到 9 秒。有人问为什么 3 分钟还不够快,他借用 Mitchell Hashimoto 的话回答:「追求卓越不需要理由。」他展示了自己用智能体做的一系列应用:和 Omarchy 主题配套的计算器(一次成型,他并不会 C++ 和 Qt,提示后 7 分钟就能用,15 分钟后推到公开仓库并打进新 ISO);替代 iA Writer 的写作应用(一行代码都没看过);一个剪视频的小工具;以及这次演讲用的幻灯片软件 Hype,基于 Markdown,二进制文件只有半兆,「差不多能装进一张软盘,稍微压缩一下就行」。他说过去 20 年计算机的进步都被花在了人的生产力上,导致应用又慢又臃肿,比如 Spotify 的音乐播放器有 1.2GB;现在任何优化都触手可及,模型跑一晚就能带来 10 到 30 倍的提升。

担忧与 P(bloom)。 他承认担忧值得讨论,比如安全:「有什么东西要来了,我们得准备好。」但他认为经济学家连半年后的股市都预测不了,更别说范式转移之后的社会。他举了 ATM 的例子:1950 年代美国人担心 3 万名银行柜员会失业,结果开网点的成本降低后,银行开了更多网点,到 2010 年左右柜员增加到约 4 万人(他把这归到杰文斯悖论名下)。他还引用了杜鲁门对奥本海默的态度,说连奥本海默都预测不到原子弹之后世界会怎样,我们也该对预测多一点谦逊,「多一点 P(bloom),少一点 P(doom)」。针对安全问题,他提到 Rails 前不久一个与 C 图像库有关的严重 CVE,以及会上另一场演讲将介绍的隔离方案 HotCell。结尾他说,既然没人知道未来,理性的选择就是为它高兴,这是「纯粹的博弈论,只有一种打法:彻底的乐观」。「你是 Rails 程序员,是精英中的精英」,他最后说「黑药丸是给失败者的,别当失败者」。

HN 评论精华

这是本周最热的帖子之一,425 分,抓取到近 400 条评论(Algolia 统计 474 条)。讨论主要有三条线:这场演讲是不是在给 Rails 办葬礼;什么语言、框架适合智能体时代,以及原生与 Web 之争;AI 带来的是生产力还是裁员。此外,关于 DHH 个人政治立场的争吵占了相当大的篇幅。

「这是 Rails 的葬礼吗?」 ksec 一开头就说,本来期待听到 Rails 9.0 的消息,结果感觉像是 Ruby on Rails 的终结:HEY 连 Rails 应用都不是了,用 Rust 重写砍掉大部分 CPU,等于间接承认 Ruby 慢。提交者 an0malous 附和说 Ruby 是为人类书写而设计的,而 DHH 宣告了手写代码的终结。hitekker 转述了 YouTube 上的置顶评论:「这是我经历过的最令人困惑的葬礼。」usef- 的分析比较冷静:RoR 的卖点是开发者体验,如果代码不再由开发者写,这个优势就弱了,而性能较差、静态检查较少的代价反而更显眼;他还提到 fly.io 这种同样以开发者体验为卖点的平台也面临类似处境。

但也有人认为大家没看完演讲就下结论。andrewmutz 说 DHH 并不反对 Rails,他只是非常支持智能体编程:HEY 的用户一直想要原生应用,过去团队养不起 6 个原生应用,只能做混合方案;现在有了智能体,后端变得小而简单,用 Rust 重写可以省服务器钱。对大多数不需要原生应用的项目来说,Rails 仍是智能体编程的好选择,Rails 官方还发布了各模型构建 Rails 应用的评测(rubyonrails.org/ai)。dmix 补充说 DHH 明确表示依然热爱 Ruby,也认为 Rails 适合 AI 编程的未来。Lio 回应说,63 分钟里他只用了大约 4 分钟讲这一点,「如果他真这么想,应该会讲得更久」。stefanlindbohm 给出了一个技术上的保留:那些性能数字说明不了什么,因为他们把一个高度交互应用的渲染从服务器全部挪到了客户端,后端逻辑说不定用 10 台跑 Ruby 的主机也够了。

现场的声音。 oh-my-zsh 作者、Rails 咨询公司 Planet Argon 创始人 robbyrussell 说自己坐在第一排,前一天和 DHH 聊过,所以并不意外。他说现场「远非末日氛围」:我们大多数人是「修补者」,不是对着空白画布设计未来架构,而是继承多年前的决定、维护客户依赖的系统。新工具给了我们重新审视这些遗留决定的机会,比如八年前选的部署模式,或者「有些 Web 应用可能本来就希望自己是原生应用」。他的结尾是「Ruby 万岁,Rails 万岁,p(bloom)」。有人指出他本身经营 Rails 咨询业务,立场并不中立。Aurornis 的批评引起不少共鸣:人们花 699 美元门票加机票酒店来听 Rails,得到的是 AI 和 Rust,外加一句「别当失败者」,「找不到 Ruby on Rails 内容」。他说自己 Rust 写了好几年,也大量用 AI,但不想在 Rails 主题演讲上被居高临下地训话。MattyMc 说 DHH 第二天澄清:今天做新应用他仍会用 Rails,如果应用火到值得用 Rust,再重写。有人追问出处,usef- 指出日程里第二天确实有一场「AI 与 Ruby & Rails 的未来:Matz 与 DHH 对谈」,但视频尚未发布。db48x 赞同这种路线:先用 Ruby 这种替开发者做得最多的语言探索需求,等用户多了、托管成本上来了,再用更贴近机器的语言重写。

Rails 适合智能体吗? 这里分歧很大。CodingJeebus 讲了自己刚修的一个 bug:AI 生成的新 API 端点在每个子控制器里各自重新实现了 token 校验,而没有在 before_action 里统一处理,结果一个端点上线时完全没有鉴权,「这是 Rails 101」,所以他认为不审查代码简直疯了。jaggederest 认为 Rails 的很多默认假设既不常见也不显式,装一个插件就可能影响整个仓库,这类隐式行为容易让 AI 困惑,所以他写了 12 年 Ruby 后回到了 TypeScript。rapind 认为 Rails 充满智能体会漏掉的陷阱,而随着人工审查越来越少,人类也会漏掉;他同时吐槽 Rust 编译慢、吃内存和磁盘,已经在为此拆分 crate,改变架构。反方同样有实践经验:azuanrb 说他们用 Rails 维护和升级都很顺利,静态还是动态类型不再重要,只要用测试、lint 或编译器给 AI 一个清晰的反馈信号;timr 和 james_marks 说正因为 Rails 开箱即用、约定清晰,和智能体配合反而最好,「让智能体用一堆新代码和随机库拼出同样的基础,而且拼得更差,这并不吸引人」。

什么语言最适合智能体? Elixir 被提到最多。ricketycricket 同时维护 Elixir 和 Rails 应用,认为几乎所有模型处理 Elixir 都更好,他猜测是不可变的函数式风格让模型更容易推理状态,加上 BEAM 和 OTP 自带大量能力,不必引入第三方库。MatrixMan 详细解释了 BEAM 的热代码替换:可以只对某个用户的进程打补丁做「假设实验」,爆炸半径很小,也省去了智能体理解部署流程所需的大量上下文。也有人推荐 Go(「设计成傻瓜也不会出错」,编译快、格式统一)和 OCaml,tkz1312 认为唯一有实质区别的是语言有没有证明系统。vmsp 提醒,无论什么答案,目前都只是个人观点。

原生与 Web 之争。 chartered_stack 很期待原生应用的复兴,认为跨平台之所以主导,是因为小团队只能这样覆盖多平台,而智能体从根本上改变了这个约束,这与 Omarchy 降低 Linux 定制门槛的逻辑是一致的。Raed667 反驳说团队仍需要支持这些原生应用,一个只懂 TypeScript 的团队靠智能体连第一个版本都未必发得出去。copperx 补刀:「DHH 可是在为一个用他自己都读不懂的语言 vibe 出来的线上后端感到骄傲。」Raed667 接道:「我怀疑他凌晨两点会不会被报警叫起来。」ozim 指出应用商店审核、年费和随时下架的风险都是 Web 没有的负担;pmontra 说要说服用户安装应用本身就难,发布也要过商店审核。copperx 则把 DHH「应用要有 CLI」的观点推到极致:如果英语是最好的编程语言,那英语也是最好的用户界面,长远看 Web 可能只剩机器人之间的流量。

生产力还是裁员? andrewmutz 说 AI 不意味着裁员,而是团队能做更多事。didibus 回了一句:「这听起来就是裁员。」dist-epoch 用工厂打比方:工人效率提高十倍,不代表市场需要十倍的产品,他不会因为牙刷降价到一分钱就买十倍的牙刷。didibus 还指出冻结招聘其实是一种「靠自然减员实现的裁员」。lbrito 说坐拥数百万身家的人当然容易乐观,完全不用担心饭碗;nickjj 补充说对年薪 10 万美元的人来说,AI 订阅可能占收入的 2% 到 8%;farlight 说在美国以外,「每月几百美元」是他大半的工资。

对演讲内容的具体质疑。 hypfer 抓住了半兆二进制「差不多能装进软盘,稍微压缩一下」这句,指出标准 1.44MB 软盘能装下将近三个,认为这说明 DHH 已经在「用套话说话」;IshKebab 觉得这不过是演讲中的小口误。arexxbifs 认为肖像画的类比站不住:古典肖像至今仍有画家以此为生,印象派等流派在摄影普及之前就已出现;更重要的是,肖像画是富人的虚荣项目,软件却关系到核电站、飞机和医疗设备里的人命。bsaul 不同意放弃抽象:智能体和人一样容易忘记更新重复的代码,因为它们同样是在打开、阅读散落各处的文本文件,架构最佳实践背后的理由依然成立。gepardi 说大会其他演讲更有分寸,比如有一场叫「你的代码库就是你的提示词」,讲类名起得不好时 LLM 很难理解类的行为,「LLM 是基于语言的,人类的语言!」why-el 观察到 Rust 重写能否成功,与是否有设计良好的测试套件强相关(他以 Bun 的重写为例),并好奇 37signals 在 Rails 里形成的领域设计模式,比如 delegated type,在不读代码的 Rust 里会怎样延续。

关于 DHH 本人的争论。 相当多的楼层偏离了技术。robgough 开头就说「先不谈对他政治立场的担忧」,dofm 认为既然 DHH 在政治话题上故意误用事实和数据,就没理由在其他话题上认真听他的,并把这称为吉尔曼失忆症。rossriley 举了 DHH 的博文《As I remember London》,认为他混淆了肤色与出生地,把统计数据用错了。随后关于「native Brits」该如何定义、伦敦历史上的人口构成,出现了一长串激烈争论。melodyogonna 吐槽「来 Rails 大会做主题演讲,只字不提 Rails,然后走人」。culi 和 toobulkeh 则认为,Rails World 本就是 DHH 在被 RailsConf 排除之后另起炉灶办的大会,segfaltnh 因此说他是在对一群追随者讲话。

其他值得一提的。 blueSky1989 注意到 DHH 在演讲中说会怀念深度编程时的心流状态,引出了一串「除了编程还能从哪里获得心流」的讨论,答案包括演奏乐器、格斗、冥想、画画和写作。dkobia 的总结比较平衡:他没说错,所有程序员都需要听听;他很喜欢听自己说话;一两年后他会重放这段视频,承认自己在某件事上错了。MattyRad 用 Factorio 打了个比方:我们曾住在 Nauvis,美丽但贫瘠;后来不知不觉搬到了 Fulgora,资源丰富但遍地垃圾。规则变了,我们就适应,这正是游戏好玩的地方。ChrisArchitect 还贴出了同期的相关讨论《What About Rails?》。