DHH 震撼发声:手写代码时代落幕,Agent 正重塑软件工程

发布于 · 2,156 字 · 约 5 分钟#Agents#CLI原文链接
DHH 震撼发声:手写代码时代落幕,Agent 正重塑软件工程 封面图
  • 37signals 已将 Agent 设为默认执行者,只有 Agent 无法完成时才回到手写代码
  • DHH 把 Opus 4.5 视为 Agent 时代的 Brownie 时刻,软件生产成本由此跨过拐点
  • Rails 的约定优于配置适合 Agent,框架团队正通过真实任务 Evals 持续改进体验
  • 应用应提供 CLI 等机器接口,让用户自己的 Agent 调用能力,而不是内置孤立聊天框
  • 代码生成变廉价后,方向选择、架构判断、安全边界和产品品味会更加稀缺

在 Rails World 2026 的开场演讲中,David Heinemeier Hansson(DHH)难掩对「AI 狂喜」的兴奋。他坦言,这是自己投身计算机领域数十年来见过的最激动人心的变化。

37signals 是 DHH 长期参与经营的软件公司,也是项目管理工具 Basecamp 和邮件服务 HEY 背后的开发团队。这场演讲最有分量的部分,来自这家公司已经发生的工作流变化。团队正式进入「放下铅笔(Pencils down)」阶段,不再把亲手编写生产代码作为默认选项。从 Basecamp 5 探索、HEY 原生客户端重写,到后端架构迁移和桌面工具开发,Agent 已经全面进入执行层。

DHH 的判断很明确。软件行业已经跨过一个历史性拐点,代码生产成本正在快速接近零,程序员的核心价值也会从「如何敲代码」转向制定方向、评判结果和设计系统。

历史重演,摄影未消灭绘画,Agent 也不会终结编程

DHH 用 19 世纪的摄影技术发展史作类比。1900 年前后,柯达 Brownie 相机让普通人也能轻松记录现实,精准描摹从此不再是画家的专属能力。画家没有因此消失,他们摆脱写实的束缚,转向印象派、立体主义等新的艺术表达。

DHH 用柯达 Brownie 相机类比 Agent 技术的普及拐点
DHH 用柯达 Brownie 相机类比 Agent 技术的普及拐点

这段历史与 DHH 本人还有一层联系。他的高祖父 Laurits Tuxen 是丹麦画家,亲历了皇室肖像走向大众摄影的转折。摄影改变了他的职业,艺术仍然继续向前。

Agent 技术正在制造编程领域的「Brownie 时刻」。AI 把底层编码技能变成廉价供给以后,程序员必须寻找新的价值,更多精力会流向系统工程、产品判断和创造性的技术选择。

跨越拐点,从「10 倍程序员」走向「1000 倍效能」

DHH 把 2025 年 11 月 24 日,也就是 Claude Opus 4.5 发布的那一天,视为个人的分水岭。足够强的智能第一次以普通人负担得起、也能驾驭的形态出现。开发者开始从操作者转向结果的提出者和验收者。

业界长期推崇的「10 倍程序员」已经不足以描述这次变化。Agent 让一个开发者同时推进多项工作,其中一些项目过去需要整支团队才能启动。Rails 当年那句「看看那些我不必做的事情」,如今被拉到了更高的抽象层。开发者描述目标、提供上下文、划定边界,随后审视结果。

这也解释了 DHH 为什么愿意把手写代码放下。他关心的始终是软件能否解决问题。实现过程可以交给 Agent,方向和判断仍然留在人手里。

37signals 的激进实践,放下铅笔,拥抱原生与重构

在 37signals 内部,DHH 已经明确叫停把手写代码视为默认工作方式的习惯。「放下铅笔」意味着人类动手以前,必须先让 Agent 尝试完成任务。

DHH 在演讲中提出 Pencils down,不再默认手写代码
DHH 在演讲中提出 Pencils down,不再默认手写代码

这项变化首先改写了技术选型的成本。

  • 破除语言壁垒。 HEY 客户端曾因人力限制采用 Web 技术。如今,Agent 可以把同一套产品意图转译成 Swift 或 Kotlin,原生重构终于成为现实选项。
  • 重估后端架构。 过去为了降低人类维护成本,团队会建立抽象、共享服务和代码复用。Agent 能够低成本生成并同步多份实现以后,这些旧取舍需要重新计算。

DHH 没有声称自己已经找到新架构的标准答案。组件应该多大、抽象放在哪里、开发周期如何安排,这些基础问题都需要重新实验。软件工程正在进入一段没有现成蓝图的时期。

框架随之进化,英语正在成为更高层的编程语言

Agent 能写许多语言,Ruby 和 Rails 并不会因此失去意义。Rails 的「约定优于配置」给 Agent 提供了清晰、一致、低猜测成本的环境。同一个需求在不同 Rails 项目里通常有相近的实现位置,这种可预测性很适合自动化推理。

Rails Foundation 正与 Evil Martians 合作建设 Agent Evals,用真实任务衡量不同模型处理 Rails 项目的能力,再根据失败结果改进框架、文档和工具。

Rails Agent Evals 展示不同模型完成真实 Rails 任务的表现
Rails Agent Evals 展示不同模型完成真实 Rails 任务的表现

作为 Rails 的创造者,DHH 现在最喜欢的「编程语言」却是英语。自然语言成了更高层的接口,开发者负责说清目标、限制和验收标准,再把字符级实现交给机器。他愿意带着喜悦从手写代码中退休,把精力放回软件创造本身。

这不等于思考变少。自然语言很容易含糊,开发者需要更准确地表达目标,更快地识别偏差,也要知道什么时候不能接受 Agent 给出的答案。

机器接口与性能复兴,让软件重新轻盈

DHH 给出了一个很具体的产品建议。每个应用都应该提供 CLI。

他不看好给每个产品硬塞一个独立聊天框。用户已经有自己的 Agent,应用真正需要提供的是稳定、可组合、可观察的机器接口。Agent 可以通过 CLI 调用 HEY、Basecamp 和其他工具,把不同产品连接成完整工作流。

HEY CLI 在终端中连接 Claude Code 和 Codex 等 Coding Agent
HEY CLI 在终端中连接 Claude Code 和 Codex 等 Coding Agent

Agent 也降低了性能优化的成本。过去,工程师时间远比节省几 MB 体积或几秒等待更贵,许多体验问题只能被搁置。现在,模型可以持续分析、重写和测试,原本「不值得投入人力」的优化重新进入可行范围。

DHH 用 Omarchy 展示了这种变化。它的完整安装时间从 3 分 33 秒缩短到 35 秒,实验室版本甚至达到 9 秒。

Omarchy 安装完成界面显示总耗时 3 分 33 秒
Omarchy 安装完成界面显示总耗时 3 分 33 秒

他还用 Agent 制作了计算器、写作应用、视频剪辑工具,以及为本次演讲临时开发的 Hype。Hype 使用 Markdown,带有完整的可视化界面,最终二进制只有约 0.5 MB。

DHH 展示用 Agent 开发的 Markdown 演示软件 Hype
DHH 展示用 Agent 开发的 Markdown 演示软件 Hype

当实现与优化都变便宜,软件不必继续在开发速度和运行效率之间重复过去的取舍。轻量、快速、专注的本地应用,可能会重新成为主角。

告别末日焦虑,把筹码押在判断力上

面对 AI 带来的安全风险和未知变化,DHH 拒绝陷入末日叙事。他用 P(bloom) 回应人们常说的 P(doom),前者代表技术带来繁荣、富足与创造力增长的概率。

他的乐观不等于风险为零。Agent 会扩大攻击面,软件团队仍然需要隔离机制、权限边界和新的防御工具。区别在于,人类并非只能等待结果。我们可以用同样的智能修补漏洞、构建防御,并调整错误方向。

DHH 还提到 ATM。自动取款机出现时,人们担心银行柜员会迅速失业。网点运营成本下降后,银行反而开设了更多分支,柜员数量和工作内容也随之变化。这个例子无法证明 AI 不会带来失业,却足以提醒我们,面对重大的技术变化,简单的线性外推很少可靠。

新的生存法则

DHH 最后向程序员发出了一次近乎挑衅的号召。拥抱变化,不要把手写代码与自身身份绑在一起。

这场演讲留下了五条可以立刻带回工作的原则。

  1. 先定义结果,再讨论实现。
  2. 把 Agent 设为默认执行者。
  3. 重新审视基于人类成本建立的旧架构。
  4. 为产品提供机器接口,尤其是 CLI。
  5. 守住判断力。

代码生成正在变成廉价劳动力。方向如何选择,系统怎样设计,安全边界画在哪里,产品是否真正好用,这些能力会越来越贵。

DHH 对未来的判断可能过于乐观,具体数字和时间点也需要继续观察。但他已经用 Basecamp、HEY、Omarchy 和 Hype 押下自己的筹码。软件开发的重心正在移动,程序员以后既要交付代码,也要给出更准确的目标、更清楚的边界,并对最终结果负责。

评论互动

© 2026 王若风的技术博客 · Powered by Astro