DHH宣布“铅笔放下”:那个最顽固的手写代码捍卫者,为什么第一个投降了?

2026.09.25 18:40
Ruby on Rails 创始人 David Heinemeier Hansson 在 Rails World 2026 上宣布,自2026年3月起再也不手写代码。从2025年7月公开表示“宁愿退休也不把键盘交给AI”,到2026年8月单人用AI产出15万行生产代码,DHH在不到一年内完成了从最顽固反对者到最激进布道者的彻底转身。这不仅是个人选择,更是一个信号:AI编程已跨过经济可行性的临界点。

如果你在2025年夏天告诉David Heinemeier Hansson,一年后的他会站在Rails World的舞台上,对着台下数百名Ruby开发者宣布自己再也不手写代码了——他会觉得你疯了。

这不是修辞。2025年7月,DHH坐在Lex Fridman的播客里,用一句掷地有声的话给AI编程热潮浇了一盆冷水:“我宁愿退休,也不会把键盘永久交给AI。”那时的他,还在用“Vibe Coding就是将不愉快的编程体验藏到椅子底下”的比喻,嘲讽那些急着让AI代劳的程序员。Ruby on Rails的缔造者、37signals的CTO、写了25年代码的老派程序员——这个形象坚如磐石。

然后,2025年11月24日。DHH后来将这一天称为“我们的柯达布朗尼时刻”——就像19世纪的肖像画家看到第一台便携相机时那样,世界以一种不可逆的方式被扳动了。到了2026年3月,他再也没有手写过一行代码。2026年8月,他一个人用AI生成了15万行生产代码——是他此前年均产量(约3万行)的5倍。2026年9月23日,在Rails World开幕主题演讲中,DHH正式宣布:37signals“铅笔放下”(Pencils Down),手写代码不再是公司的正常状态,而是一种“例外状态”。

“英语是比Ruby更好的编程语言。”DHH对全场说。

语气里没有哀悼,只有一种近乎狂热的乐观。

从“最顽固的反对者”到“最激进的布道者”

要理解这个反转的冲击力,必须先理解反转前的那个人。

2025年5月13日,DHH写了一篇题为《Coding should be a vibe!》的博客。他承认AI是“卓越的结对编程伙伴”,承认自己“全天候与LLM对话”来查API、理概念、问蠢问题。但最后一行写得斩钉截铁:“我宁愿退休,也不会永久性地把键盘交给AI来驱动代码。”

那时的DHH,把编程视为一种纯粹的手艺乐趣。Ruby on Rails的核心理念是“程序员幸福”——这一点DHH坚守了二十年。他不喜欢Vibe Coding,因为在他看来,这本质上是“把编程的不愉快部分藏到椅子底下”,而不是真正享受编程本身。他的态度很明确:AI是工具,不是替代品。

这种立场在当时并不孤独。2025年上半年,整个行业对AI编程的信任度仍然处于观望期。Devin等AI编程助手虽然在演示中惊艳,但实际落地效果参差不齐。Gartner在2025年8月预测,到2026年底才约有40%的企业应用会集成AI Agent——这个数字在2025年初不到5%。行业对“AI写代码”的期望,远未达到“可信赖”的程度。

转折点:2025年11月24日——“柯达布朗尼时刻”

DHH在Rails World 2026演讲中给出了一个精确的时间锚点:2025年11月24日,Anthropic发布了Claude Opus 4.5。

他将这天类比为摄影史上的“柯达布朗尼时刻”——1900年,柯达推出了一台售价1美元的布朗尼相机,让摄影从昂贵的工作室特权变成了任何人都可以按下的快门。在此之前,肖像画师是唯一能“记录人脸”的人;在此之后,摄影成了一种大众行为。今天,每年有超过两万亿张照片被拍摄。

“2025年11月24日,”DHH说,“前沿AI变得人人可及。这是我们这个时代的柯达布朗尼时刻。”

这个时间点之后,AI能力突然跨过了一个隐形的门槛:从“可以辅助”变成了“可以托付”。

AI Agent的全面爆发

DHH并非唯一感受到这个变化的人。2025年底到2026年,AI Agent市场发生了质变。

2024年11月,Anthropic发布了MCP协议,为AI Agent的工具调用提供了统一标准。到2025年12月,MCP已拥有1万个以上活跃公共服务器,月SDK下载量超过9700万次,获得OpenAI、AWS、Google、Microsoft、Cursor、VS Code全面支持。2026年1月,DHH在博客中写道:“AI Agent在去年底真的活了过来。部分原因是模型变得更好了,但更重要的原因是,我们给了它们工具,让它们的能力超越了纯粹的推理。”全球AI Agent市场在2026年预计达到109至120亿美元,年复合增长率44%至46%。

DHH的转变不是特立独行,而是踩准了一个更大的浪潮。他的独特之处在于:他是行业内最核心的参与者中,第一个公开承认“手写代码已经过时”的人。

Rails World 2026:金句制造机

2026年9月23日,DHH在Rails World 2026开幕主题演讲中,用一连串金句完成了从“反对者”到“布道者”的最后一步。

最具冲击力的数据:过去20个月,DHH写的代码量等于此前21年总和的一半。仅2026年8月,他一个人用AI生成了15万行生产代码——对比之下,他此前手写代码的长期年均产量是约3万行。

“手写代码,对于绝大多数公司里绝大多数程序员来说,已经不再是一种经济上可行的生产方式。这是今天的事实。到今年年底,它将适用于几乎所有领域、几乎所有程序员、几乎所有公司。所以,我们最好习惯这一点。我们最好接受——我们拥有了一段美妙的旅程,用双手雕琢代码的日子,但它结束了。”

他提出了一个终结“10倍程序员”争论的概念——“1000倍程序员”。在DHH看来,使用AI Agent编码的程序员和不使用AI Agent编码的程序员之间的效率差距,已经不是10倍,而是接近1000倍。

他还透露了37signals更有野心的计划:HEY不再是一个Web应用,而是正在被重建为6个由AI Agent编写的原生应用,邮件服务器核心用Rust重写——CPU消耗降低99%、内存占用减少95%、10台服务器纯粹用于冗余,峰值流量甚至可能“在一台树莓派上跑通”。

“没有人为这个蓝图准备好,”DHH在台上说,“但你有幸现在就站在这里,和我们一起定义这些东西。这是计算史上发生过的最大的事情。”

DHH为什么投降了?

DHH的转变不是性格软弱的结果。恰恰相反,他的投降可能是最有力的证据——证明AI编程已经跨过了那个决定性的临界点。

成本结构彻底改变了

DHH的核心论点非常冷酷:手工编码在经济上不再合理。

这个论点来自一个深刻理解成本的CEO。37signals是一家极度节俭、反VC、反烧钱的公司。DHH和Jason Fried写过一本叫《It Doesn't Have to Be Crazy at Work》的书,核心观点就是不烧钱、不加班、不做亏本生意。当一个如此在意成本的人告诉你“手工编码不再经济”,你应该认真听。

DHH的推导很简单:AI Agent可以把一个程序员一天的产出从“写几段代码”变成“合入十几个PR”。他提到在Omarchy Linux项目中,三个月内合入了超过1000个PR。他还在演讲中展示了一个更具体的案例:用AI将一段Python代码翻译成Rust,45分钟内完成,执行速度提升了46倍。

换算成经济账:如果AI Agent让个人效率提高了数十到数百倍,那么手工编码等同于每天把大把生产力扔掉。对于一个理性的企业管理者来说,这是一个无法拒绝的算术。

技术成熟度跨过了拐点

2025年下半年到2026年,AI编程领域发生了关键转变。

第一,MCP协议统一了工具调用标准。以前AI Agent是个“只会说不会做”的聊天机器人;MCP让它能操作终端、运行测试、搜索文档、调用API。行业生态迅速跟上——到2025年底,Cursor和VS Code已全面支持MCP。

第二,AI Agent从“单次推理”进化到了“循环反馈”。DHH描述的Agent工作流是这样的:Agent写代码,运行测试,发现失败,修改代码,重新测试——直到通过。这就是“人类in the loop”变成了“测试in the loop”。

第三,模型本身的能力达到了一个临界质量。Claude Opus 4.5(2025年11月)、以及后续Fable 5、Mythos、GPT-6 Astra和DeepSeek-4-1 Flash等模型,在2025年底到2026年完成了质的飞跃。推理能力、代码生成质量、长上下文理解——每一个维度都跨过了“勉强可用”到“值得信任”的门槛。

DHH自己的体验提供了最好的证据:他不亲手写代码,但他在写更多代码。2026年8月他一个人用AI产出了15万行——等于以前5年的手写产量。

37signals的真实世界实验

DHH和37signals的转变并非没有波折。恰恰相反,这次波折是这个故事中最有价值的教训。

在开发Basecamp 5的过程中,37signals做了个实验:让设计师直接用Vibe Coding在现有代码库中添加功能。结果是一场灾难。

“很多PR单独来看可能在某个热点上是有道理的,但合在一起,它们把系统的架构变成了瑞士奶酪。”DHH在演讲中回忆。

这个教训非常关键:对于已有的大规模代码库,AI生成的代码如果不经过架构师级别的审查,会导致架构退化。这不是技术不够好,而是缺少了“架构判断”这个环节。

37signals如何解决这个问题?他们没有退回手写编码,而是调整了工作流:AI Agent仍然写代码,但由有经验的工程师负责架构层的判断。AI负责“施工”,人类负责“设计图纸”。Basecamp 5在调整后已经成功发布。

DHH从Basecamp 5的教训中提炼出了一个更广泛的判断:传统软件架构的抽象层在Agent时代正在失去价值。当AI Agent是修改代码的主体时,“不要重复自己”这类原则的性价比在重新评估——因为“重复”对AI来说是零成本的。他坦承:“没有人为这个蓝图准备好。”

编程的“去神圣化”

DHH的演讲中最被忽略的一句话可能是:“你最好习惯这一切——我们拥有了一段美妙的旅程,用双手雕琢代码的日子,但它结束了。”他说这番话时没有苦涩,反而像个刚刚卸下重担的人。

这触及了一个更深的真相:编程作为一种“手艺”的神圣感,正在被系统性瓦解。当一个“写了25年代码、创造了全球最流行的Web框架之一、至今仍在写生产代码”的人说手写代码结束了——这不是一个外行的判断,这是行业内部最核心的参与者给出的诊断。

DHH把“程序员”重新定义为“专业的事物制造者”,引导着“直到片刻之前还只存在于科幻小说中的智能”。这个新定义里,写的语言是英语,不是Ruby。

“英语是比Ruby更好的编程语言。我从没想过这会是真的,但确实如此。”DHH在台上说,“用英语写程序是一种极其令人满足的体验。”

这不是对Ruby的背叛——而是对编程本质的重新定义。如果他是对的,那么整个软件行业的底层假设都需要重新审视:大学怎么教编程?代码审查怎么做?软件架构怎么设计?什么是“基本功”?

投降之后

对行业的三重影响

第一,编程教育的逻辑需要重建。如果DHH的判断是正确的,那么“从零手写代码”作为教学方式的价值正在急剧下降。更重要的是教会程序员“如何与AI协作”,而不是“如何手写每一行”。

第二,软件开发流程需要重写。37signals的《Shape Up》方法论——那个定义了“两个月开发周期”的经典工作法——已经被DHH自己承认需要重写。“因为AI加速让那个时间线显得太慢了。”

第三,Rails的悖论。最有讽刺意味的是:DHH在宣布手写代码死亡的同时,也在说Rails的“约定优于配置”理念在Agent时代更有价值——因为减少决策就是减少Token消耗。Rails Foundation与Evil Martians合作的Agent Eval,第一个基准测试已经达到了95%的完成率。但问题在于,如果“英语是更好的编程语言”,那么Rails的意义究竟何在?这是一个DHH尚未回答的问题。

谁危险了?

最危险的群体是那些把“手写代码的技艺”当作全部身价的老牌程序员。DHH的转变是一个信号:如果连他都放弃了,你凭什么认为你能守住?

最“安全”的群体是那些理解架构、能设计系统、知道“什么值得做”的人。AI会写代码,但AI(目前)不会决定写什么。DHH在演讲中提出了一个具体的要求:“如果你的应用没有命令行界面,我想在下周五之前看到它。”

最有趣的群体是那些刚进入行业的初级程序员。DHH承认,AI对初级程序员的影响最复杂:一方面,他们失去了“通过写低级代码积累经验”的传统路径;另一方面,他们获得了前所未有的杠杆——一个刚毕业的程序员配上AI Agent,可能做到以前需要5年经验才能做的事。

批判性视角:DHH说的是真的吗?

必须指出,DHH的故事存在一个无法忽视的盲区。他的“15万行代码”和“45分钟Rust翻译”是极其惊人的数据,但这是他自己公司的案例。37signals是一个特殊的公司:工程文化极强、技术栈高度统一、团队规模不到200人。在这样一个环境下,AI Agent的有效性和在一个拥有数万工程师、数十个技术栈、繁重的合规流程的大公司中的有效性,可能是两回事。

此外,DHH提到的“1000倍程序员”和“经济上不再合理”是基于效率的单一维度分析。在实际生产环境中,代码的可维护性、安全性、合规性等维度同样重要。Hacker News上的讨论中已经有人指出:当一个人一个月能产出15万行代码,但没有人真正读过这些代码时,“瑞士奶酪”就不再是一次性的安全事件,而会成为默认状态。

但即便如此,DHH的转变本身就是一个无可辩驳的信号:一个写了25年代码、创造了全球最流行的Web框架之一、以“程序员幸福”为核心理念的人,选择放弃手写代码。在这个行业里,还有谁的立场比他更不可能动摇?如果连他都投降了,那么“手写代码”可能真的不是未来。

在计算史上,最顽固的手写代码捍卫者用他自己的投降,画下了最清晰的分界线。在这条线的一边,是25年雕琢代码的手艺;在另一边,是一个用英语编程的未来。DHH做出了他的选择。而整个软件行业,正在被同一个算术推动着,走向同一个方向。

作品声明:内容由AI生成