(译注:本文是 Lex Fridman 播客第 501 期逐字稿的主题精选编译版。完整收录与 AI 编程、Agent 工程、Linux 相关的章节,略去原对话中的育儿、政治与生死哲学部分,并在保留对话原貌的前提下做了精简。)
开场亮点(00:00)
DHH:有的年代什么事都没发生,有的几个星期就发生了几十年的事。过去这九个月,我们亲眼看着几十年的进步发生了。如果你还没意识到这个时刻的分量,那才是活在幻觉里,那才是真的疯了。要是瓶子里突然蹦出一个精灵,跟你说"你想要什么都行,操作系统里你梦想过的每一个功能我都能做出来,大多数五分钟,少数二十分钟",谁能不激动到发狂?我想要最快、敢超速的车,想要能潜到马里亚纳海沟的潜水表,想要六十秒之内装好的操作系统。
DHH:我一直很喜欢赛车的一点,就是从车里爬出来的时候,人已经累瘫了,往车库地板上一躺,心里只剩一句话:"妈的,我还活着。"
开场介绍(01:27)
Lex:接下来的嘉宾是大卫·海涅迈尔·汉森(David Heinemeier Hansson),大家都叫他 DHH。他是 Ruby on Rails 的创造者、37signals 的 CTO、Omarchy Linux 的作者,也是畅销书作家、赛车手。过去二十多年,编程对他来说,就是一刀一刀亲手凿出漂亮的 Ruby 代码。但从 2025 年底开始,他拥抱了 AI 革命,把自己变成了世界上嗓门最大、产出最高的 Agent 工程师之一,尽管他本人讨厌这个词。真正的编程活儿大部分由 AI 完成,人来掌舵,把控高层设计、愿景和品味。
与 AI Agent 一起编程(02:56)
Lex:13 个月前我们聊过编程,然后一切都变了。你对 AI 在编程中的角色的看法,变了多少?
DHH:我是兴奋得不得了。什么生存威胁,我一点都没有,那种东西只存在于理智层面。情绪层面对我来说是百分之百纯粹的快乐和惊叹:我们居然让计算机做到了这个。我很喜欢一句话:有的年代什么事都没发生,有的星期里几十年的事全发生了。而我居然被眷顾了两次,我看到了互联网,从前互联网时代到后互联网时代;现在又看到了 AI。这趟旅程太值了。
DHH:具体说,2025 年 11 月 24 号是分水岭,Opus 4.5 出来了。我给了它几个任务,发现它产出的代码质量,跟我会亲手写出来的惊人地接近。我记得自己往椅背上一靠,心想:"这是发生了什么?"这里面不光是智能上去了,还有 Agent harness,也就是那层编排模型去干活的工具。它操控你电脑的能力、调用工具的能力、检查自己工作的能力,把智能真正用出来、让你拿到真实产出的那种能力,完全不是一回事。
DHH:大致有三个阶段。Agent 出现之前,AI 只是让我已经在做的事更高效,没有改变我和计算机之间的关系。然后 Agent 来了,我告诉它我要什么、去哪找,方向盘还在我手里,但速度翻了十倍。而现在,到了今年夏天,有了 Opus 5、Fable、GPT Sol,我不再告诉它我们要去哪。我告诉它我遇到的问题、脑子里那个模糊的想法,它来告诉我走哪条路。在"产出代码"和"选路线"这两个环节里,我已经变成可有可无的角色了。就像最早的 GPS 导航,当年人们怕它把车导进海里,现在这种事还会发生吗?我们现在就到了可以信任的阶段。
DHH:Linux 发行版这件事,就是我彻底倒向 AI 的原因。过去三个月我做 Omarchy Quattro,Agent 的加速占比是 100%,我没有亲手写过发布的任何一行代码。所有代码的形状我都看过,关键部分逐行看过,但一大批 UI 和辅助代码我没看。但在 Web 那边,迭代 Basecamp 和 Hey 这种专业产品,用 Agent 全面加速反而出奇地难。我们经历过一波狂热:"让设计师直接编程,让他们去 vibe。"结果攒出一大堆 PR,单看某条都能自圆其说,全加在一起,把整个系统的架构毁了,最后只能靠人肉收拾。
Lex:教训是什么?是不是现阶段你得先是个程序员,才有资格 vibe code?
DHH:想在有相当体量的代码库上 vibe code,是的。而且当有人指责 vibe coder 都是垃圾代码生成器时,我会直接怼回去:"你看过普通程序员的产出吗?那也是另一种垃圾。"你去看看很多伟大公司的幕后,三千个人踩过一遍之后的代码库长什么样,惨不忍睹。
软件将如何改变(18:14)
Lex:为什么我们没在 Photoshop 这些成熟应用里,看到更新和新功能在疯狂提速?
DHH:最关键的原因:一旦是人组成的团队做东西,瓶颈就很少是实现本身,而是人的带宽和沟通。产品经理、设计师、副总裁、CTO,每个人都想参与定方向,因为所有人都得证明自己为什么在这儿,生产率就是在这儿死掉的。想要那种 10 倍、100 倍的提升,你必须直接跟 Agent 打交道,不能让另一个人类横在中间传话。另外,大多数组织卡的不是实现,是想法,是愿景,是品味。微软几十年来要资源有资源、要产能有产能,这恰恰证明:光是能写很多代码,做不出伟大的、打动人的软件。
DHH:如果你有一个离不开的软件把你拴在 Windows 上,由你亲自动手重写它,现在完全够得着。就像微软 Office 的老笑话:"我只用其中 5%。"是啊,可每个人用的都是不同的 5%。那如果我们每个人都把自己那 5% 做出来呢?今天的 Agent 完全有能力干这个。
DHH:最新一代 Agent 带给我的一个神奇之处是:我变成了一个多语言程序员,这在以前是绝对不可能的。我以前是 Ruby 程序员,而最近两个月我写了 C++,写了三个已经发布在 Omarchy Quattro 里的应用。其中一个是个写作应用,我原来用 Typora。大概六七周前我想:"我只需要 Typora 里 5% 的功能。"我让 Agent 用 C++ 加 Qt 写,20 分钟第一版就出来了。两天之内我把 Typora 戒了,从那之后我所有的文章都是在 Omawrite 里写的,而那 C++ 代码我一行都没看过。
AI 对开源的影响(27:30)
DHH:给自己做完工具之后,你只要跟 Agent 说一句:放到 GitHub 上去。它会写一份漂亮的 README,会用 releases 追踪版本,当一个比你称职一万倍的软件维护者,因为它比你更有耐心。
DHH:现在很多开源维护者在抱怨 AI 贡献的 pull request 涌进来,我看着这种论调就想:"你在开玩笑吗?这里有一整条矿脉的免费贡献,你居然在抱怨它们存在?"这就像抱怨"我的牛排太多汁"。我们宣扬了那么久开源的魔力是人人都能贡献,但它当然从来不是真的,真正贡献的只有一小撮技艺最高超的巫师。现在有点像一场宗教改革的时刻:我们和计算机之间原本隔着一层教士,也就是程序员,突然之间这层中介被拆掉了。
DHH:我运营开源项目 25 年,看过上万名程序员的产出,有足够的统计基础下判断:大多数程序员,很烂。我说的是他们不写我希望有人写的那种代码:bug 报告不带全相关信息,pull request 不解释为什么,不写测试,不复查自己的活。但你知道谁会把这一切都做齐吗?Agent,只要你吩咐。现在要给我的项目提 pull request,我宁可收 Agent 写的,也不要人写的。还因为我拒掉它的时候,心里负疚感小得多,那就是个铁疙瘩,铁疙瘩不介意。
DHH:最近三个月做 Quattro,我合并了超过 1000 个 pull request,其中相当一部分出自那些不是传统意义上程序员的人。有了 Agent,他们的好主意能拿出来了,而那些主意本来只会烂在他们脑子里。那些错的、糟糕的 pull request,我一个都不用看,Agent 会替我把糠筛掉,我只看珍珠。运营开源项目所有重复性的苦活正在蒸发,剩下给我们的全是软件开发里最多汁的黄金部分:决定这个东西该做什么、该往哪去。
Lex:好点子的内核,最终是不是还是从人脑子里来的?
DHH:那是我在第一段 Agent 时代的想法,我现在完全不这么认为了。我见过从模型里冒出来的想法,好到让我谦卑。那些还抱着"Agent 就是鹦鹉、只会复读已有想法"这个分析不放的人,对过去六到九个月发生的进步,纯属活在幻觉里。
打造 Omarchy Linux 发行版(37:21)
Lex:有人说 DHH 这是犯了老毛病,AI 精神病发作了。你能给这个说法做个最强辩护,再反驳它吗?
DHH:我确实处在一种谵妄状态里,这是实话。我跟计算机打了 40 年交道,而过去两个月见到的东西,这辈子从来没见过。但如果你不谵妄、至少不非常兴奋,如果你没意识到这个时刻的分量,那才是幻觉,那才是精神病。精神病是什么?是相信这个世界几乎没变,我们只是多了几只会背书的电子鹦鹉。而且就我自己而言,布丁已经端上桌了:Omarchy Quattro 周五刚发布,已经被几万人下载,而且他们非常喜欢。
DHH:Omarchy 是一个漂亮的、现代的、观点鲜明的 Linux 系统,以 Hyprland Wayland 平铺合成器为核心,是 macOS 和 Windows 之外另一个好得吓人的选择。这个项目才一年多。去年夏天,我 Linux 桌面美化视频看多了,被种草了,就开始做这件事,第一版叫 Omakub,建在 Ubuntu 上。而 Omarchy 是从技术栈往下七层开始的,后来火力全开,所有代码都由 Agent 写,由我掌舵。我的野心突然没有了天花板:Windows、Mac 上任何功能,我都可以指着说"我要这个",然后 Agent 就交付。
DHH:我说这些是有但书的。如果我听见自己九个月前这么说话,大概也会给人贴上"AI 精神病"的标签,因为九个月前说这种话的人,手上没有出货。Tobi Lütke,Shopify 的 CEO,他很早就看到了这些东西,他试图跟我说,但我看不见。我还记得读他写给全公司的 AI 备忘录时心想:"好像有点夸张了。"因为你此前的全部经验都会告诉你:这人就是疯了。过去四五十年,人们一直许诺"普通人靠说话就能写代码",从 Lisp 到 Smalltalk,全都没兑现。而现在,一个写了 25 年程序的人,亲眼看着这些产出、这种加速、这种质量,把它们发布出去。
vibe coding 与 Agent 工程(47:05)
DHH:vibe coding 在我这儿,闻起来跟 2000 年代初的脚本小子一模一样。如果在这里给 vibe coding 下个定义:你让 Agent 替你做软件,你不看实现。这就是 vibe coding 与编程、与 Agent 加速开发之间的分界线。
Lex:但你不觉得一个老派程序员做 Agent 工程,和一个非程序员做,是两种不同的 Agent 工程吗?
DHH:百分百不同,但方向可能跟你想的相反。有大量程序员并不是很好的产品经理,而软件本质上就是产品管理:这东西该做什么,给谁做,优先级是什么。这些能力在程序员群体里分布得并不均匀,而在实现交给 Agent 的时代,你需要的恰恰是这些能力。甚至有一阵子,我懂这么多编程反而是减分项,因为我在按"我自己会怎么做"的处方指挥 Agent。而下一个时刻允许任何人去描述问题,然后拿到比程序员开处方更好的解法。六个月前说"还需要那种严谨"这话是对的,但此后我发现,十有八九,我有那个谦卑去承认:Agent 比我懂。你跟它说"确保它是安全的",它比你更清楚这句话意味着什么。
DHH:一个很好的类比是 AGENTS.md 文件。有一阵子人人都在琢磨怎么微调它,攒出一份巨大的指令文件。而做 Claude Code 的 Boris 最近讲到一个细节:他们给 Opus 5 发布的系统提示词缩了 80%,因为 Agent 不仅不再需要那么多人类指令,过度的指令反而在伤害它。任何一个伺候过尖头发老板的程序员都秒懂这是怎么回事:老板走进屋,啥也不懂,开始教你怎么写代码,你怎么办?你摆烂。凭什么 Agent 会不一样呢?
DHH:现代软件开发最根本的洞见,来自敏捷运动:没有人会在收到东西之前,知道自己想要什么。一个程序该做什么,你是玩上它之后才知道的。所以在 Agent 时代,你应该克制住事前过度具体化的冲动,能多模糊就多模糊,先把东西变出来,然后跟它互动。而人真正擅长的是选择题式的评估:你给我三个方案,我挑一个。给他 22 个选项,他直接掉下悬崖;给他三个,一瞬间他就能告诉你喜欢哪个。直觉先冒上来,然后大脑才忙着给直觉找理由。如果你愿意让直觉开车,Agent 时代就是一场启示。
手写编程的终结(1:00:06)
Lex:你出了名地讲了那么多年"精雕细琢漂亮的 Rails、Ruby 代码",结果几个月之内就换了一副打法。
DHH:而且是换了个抽象层级。过去 25 年我对每一行代码锱铢必较,是因为让架构保持连贯的回报是软件能快速演化、小团队就能改得动。但这个论证的前提,是修改由人类来做。它现在还剩多少分量,是个开放问题。眼下它仍然重要,因为 token 还是稀缺的:写出 Agent 更容易上手、不用每次重学全部上下文的系统,仍有丰厚回报。而"大泥球"的反面教材我在 Agent 身上也见过:第一个 PR 质量平平,再往上摞五个,就不太像样了。
DHH:我用的第一台电脑是 Commodore 64,1 兆赫兹的 CPU,64K 内存。如果你把那个程序员塞进时光机传送到今天,他所有的技巧、所有的经验法则全都不适用了。高效的软件依然是美的,但那些技巧能创造的价值,过时了。每当我们哀叹现代汽车文化时也是这样:"啊,以前大家都坐马车的时候,是不是更好?"不,不好。你知道纽约在靠马代步的年代是什么味儿吗?就是一条露天下水道,马到处拉屎。
DHH:浪漫化手写代码的进程已经在发生了,就像今天还有人骑马,不是为了快速到达什么地方,而是喜欢那种交通方式。而且那些漂亮代码是绝佳的训练数据。我这辈子写的代码几乎全是公开的,一部分就在训练集里。我听说有人写 Ruby 的时候会跟 Agent 说:"照 DHH 的风格写。"这确实让我心里有点暖:在孕育这个时刻的伟业里,我也出了自己小小的一份力。
Lex:亲手写漂亮代码越来越没用了,你一点都不难过?
DHH:不难过。我干了 25 年,够了,挺好。我对这件事的怀旧程度,跟"我不用再扛着锄头下地"没什么两样。斯多葛哲学里有个说法叫 amor fati,热爱你的命运,是一种极其解放的活法:接受你能改变的,也接受你改变不了的,然后爱上这一切。
给程序员的建议(1:10:24)
Lex:程序员们的焦虑很深:"我这辈子接下来怎么办?"
DHH:共情得不得了。但要把几件事分开说。如果你爱编程爱的只是那些机械的部分,把正确的逻辑构件拼在一起,那你面对新现实的日子会很难过,因为那个机械过程正在被替代。但如果你的兴奋点是"做出东西",我认为你一点危险都没有,这个世界需要的"做东西的人"比现在多得多。
DHH:就业数据现在是笔糊涂账。这就是经典的杰文斯悖论:一样东西的价格降下去,对它的需求就会涨上来。ATM 刚出来的时候,银行柜员很担心饭碗,结果 ATM 把开设网点的成本降下来,银行开得起多得多的网点,柜员反而比以前更多了。当然,历史上也确实有真变天的时刻,卢德分子遇到的也是同样的事。但回到今天,我们真的还希望衣服是那种极度稀缺的资源吗?人类的总体进步,就建立在生产率提升上。有些被 AI 接管的任务,是人类做起来兴奋的任务;但大量任务本来就是苦役,把苦役拿走交给机器,这正是文明史本身。
DHH:对一个年轻开发者,我的建议是:别试图预判任何事,你会真的疯掉的。这一行里最聪明的脑子,也没法预判两个模型版本之后世界什么样,那是纯粹浪费时间。聚焦当下,当下是有史以来玩计算机最不可思议的时代。公开做东西是好选项,开源里有巨量的战友情,是对抗个人存在性焦虑的好办法。我前两天还在跟 Omarchy 的搭档 Ryan 聊,刚上路时我们的野心是"能不能让这个发行版别在凌晨三点崩掉",现在想的是"怎么拿下全世界"。野心膨胀成这样,一部分是因为 Agent 让东西真的变好了,更大一部分是因为身边围满了对同一段旅程兴奋的人。
DHH:如果你一个人窝在小洞里为未来发愁,你确实会慢慢疯掉。抱歉,我要黄仁勋附体一下:这就是失败者的说法。你不必当失败者,你可以选择迎上去,然后赢。未来不管你喜不喜欢,它都会来,所以不如干脆选择为它兴奋。这是我对抗焦虑的最佳建议:在很大程度上,你有得选,选往哪边倾。
告别旧编程世界(1:23:02)
DHH:这场转变的早期,最让我上火的就是所有人如临大祸,生怕你跟不上:"现在是 loops 的天下。哦不,loops 过时了,现在是 graphs。哦不,那个也翻篇了,现在是 harness。"但你猜怎么着?如果我过去一年背着包环球旅行,没碰过电脑,昨天才回来,我两个星期就能全部追上。这里面没有积累沉淀,某种意义上这是一种巨大的解脱:海量实验在同时进行,毫不留情地筛选出什么行得通、什么行不通,你不必亲历那整段旅程,直接来看结果就行。
DHH:为失去的东西哀伤一小阵,完全可以,这是一种经过时间检验的应对失落感的机制。而我之所以没有更留恋手凿代码,是因为我找到了更好玩的东西。毕加索这个类比确实贴切:他早期受的是老派训练,画写实油画,然后立体主义来了,他没有哀叹自己再也画不了文艺复兴式的画,他把苹果重新想象成一个方块,而且为此兴奋不已。我当年成为程序员,不是因为对 if 语句爱得深沉,是因为我想要程序,想要那些还不存在的东西存在。一开始我必须先学会编程才做得到,后来我恰好爱上了这门手艺,花了二十年深度钻研它。而现在我回到了起点:有一个点子,急不可待地想看到它出现在这个世界上,AI 把这个等待缩短到了几乎为零。
给 AI Agent 的编程环境(1:31:46)
Lex:你的编程环境变成什么样了?键盘、语音、用什么 IDE?
DHH:我用 TextMate 用了差不多 20 年,直到切到 Linux 才被迫离开。跟 Agent 一起编程,最大的变化是:从脑子里的单线程编程,切换到了并行处理。以前我一次只聚焦一个问题,那恰恰是心流的入口。而 Agent 同时既太快又太慢,你得让它先炖一会儿。如果你就干坐在那儿等它,哪怕它其实产出很高,体感上也是没产出,甚至觉得自己有点没用。解法是并行化:不再跑一个 Agent,而是一把,你就进入了一种类似心流的状态,因为你在持续做决策,要么帮一个 Agent 解套,要么接手一个新任务。
DHH:我最开始在 tmux 里干这个,开一堆分屏。而一旦你开始跑多台机器,光靠 tmux 就不够了,我切到了一个叫 Herdr 的东西:tmux 加上 Agent 通知,每当 Agent 干完了、需要你了,它就"叮"一声。后来我意识到这就像发现了多核编程,但手上只有两个核,我就想:"要是我有 64 个核呢?"于是我出门买了一批 KVM 小盒子,叫 GL.iNet Comet,插上 HDMI 和 USB,登上 tailnet 就能远程控制。Tailscale 把你所有的电脑变成一个随你走到哪都在的局域网,比如我用手机就能直接访问马里布和哥本哈根办公室里的所有电脑。我把储物柜里四台迷你主机全接上了,大概 16 个线程全速跑。
DHH:你想想一年前的我,一小时能精雕细琢出一个漂亮的 controller,大概 60 行,带宽是每小时 30 行。现在我跑着 16 个线程,产出有时达到每小时几百行代码。我烦透了"行数"这个指标,拿它度量本来就是件蠢事,但它确实浓缩了产出量。环境还是 Neovim,我自己不怎么写代码了,用它当项目浏览器,配合 lazygit 看变更记录。
DHH:这一切当然都发生在 Linux 上。Agent 爱死了 Unix 哲学,钟爱那些可以通过命令行调用的独立小工具,而 Mac、Windows、Linux 三个主流系统里,没有哪一个跟这套机制的配合能好过 Linux。Linux 里的一切,要么是配置文件,要么是命令行工具,搁五分钟前,这还是它最主要的缺点,是人们不喜欢 Linux 的理由。宇宙跟我们开的这个玩笑多讽刺:Linux 五分钟前的缺点,现在成了它最大的卖点。
DHH:四个月前我以为自己要被一台 Mac 困住一个周末,我按 Linux 的思路去配置它,发现连 Raycast 这么简单的东西都没有一个你能直接访问的配置文件,你得进图形界面导出文件,揣着 U 盘再到别的地方导入。你没法把整台机器的配置自动化,只能用鼠标一个一个点,像个穴居人。你不必这样活着的,Lex,有更好的选择。
对速度的执念(1:44:11)
DHH:我听说你快过生日了,所以带了个小礼物:一台装好 Omarchy 的戴尔 XPS。不管你愿不愿意,我们今天都要把你弄上这台 Agent 操作系统。
Lex:太棒了。顺便说,刚才 40 秒就装完了。
DHH:Mac 上那种痛苦,正是我那个周末领教的。想想不久之前的世界:人们要装 Zoom,得打开网站,下载 DMG,双击它,看到那个奇怪的手动引导,让你把一个图标从屏幕这一头拖到那一头。要是配一台新机器需要 12 个应用,你就得跑 12 个不同的网站,像个彻头彻尾的穴居人。
DHH:你知道我给一台新买的 Mac 做初始设置花了多久吗?42 分钟。这是畸形的,是对所有爱电脑的人的侮辱:你买了台新电脑,在能用它之前,得先花 42 分钟更新出厂时就预装在里面的东西。我还买了台预装 Windows 的新机器,从拆包装到能用,一小时三十五分钟。而你刚才进 Omarchy,一分钟。
DHH:这件事让我怒不可遏,怒着怒着就成了一份热爱。我们正在为特定型号的电脑预制特制的 turbo 镜像,大概 12 秒装完一整套 Linux 系统。你按一下 Omarchy 键,输入 speed,跑一下磁盘测速,读到多少?
Lex:每秒 7 GB。
DHH:Omarchy 发行版有 5.8 GB。如果速度能跑到每秒 7 GB,我们为什么不能一秒钟装完?当然实际做不到,因为 U 盘比这慢得多,但你应该把底层物理和协议的极限榨干,那才是目标。
DHH:这就像四分钟跑完一英里,1952 年前后人们还觉得人类不可能打破,然后有一个人打破了,紧接着几个月之内又有三个人也打破了。我最初的目标是两分钟,破了之后我就想:既然两分钟能破,那一分钟为什么不能?苹果要 42 分钟,所以那肯定就是标杆了?不,压根没有限速。只要还没碰到那块盘每秒 7 GB 的物理极限,你就还没到头。打破一分钟大关那天,我直接疯了,放了一群 Agent 去跑自动研究循环,把各种理论全试了一遍:改这个会怎样,把这个砍掉呢,趁你输用户名的时候提前把软件包预载进内存呢?它就变成了一场好玩的游戏。
DHH:我喜欢 Ghostty 终端的作者 Mitchell Hashimoto 那句话:"对卓越的追求,不需要解释。"你去看有史以来最伟大的梅赛德斯 W126,它相对于市场需求"超配"到了离谱的程度。就像一块能下潜 4000 米的劳力士,全世界没人会真的把它下到那个深度去测试。但你难道不想成为那样一种人吗?我想要敢超速的最快的车,我想要能潜到马里亚纳海沟的潜水表,我想要 60 秒之内装好的操作系统。
DHH:当你拒绝只做"务实"的事,去追求那个"离谱稍微再远一点"的目标时,魔法就发生了。马斯克的目标定得那么远,乍一看荒谬绝伦,然后你发现它们有时候真的实现了。我们需要有人去挪动这些球门柱,需要有一个人先跑进四分钟,然后其余人才恍然大悟:"哦,原来我也可以跑得更快。"
把安装做到 12 秒(2:07:05)
DHH:其中一招,是把人类输入的延迟当成预加载的机会。装 Omarchy 你要回答五个问题,趁这个空档,它在后台干活。这是书里最老的一招,电子游戏长期以来都这么干,让玩家跟什么东西互动的时候,后台就偷偷预加载,我只是从没想过把它用在安装器上。另外一些优化是执行顺序的调整,还有一些干脆是瘦身:上一版有 7.5 GB,耗时大头在解压压缩包,现在压到 5.85 GB,几乎一比一换算成了时间。
DHH:比如字体。Omarchy 用 JetBrains 字体,Arch 上的标准包有 200 MB,因为它包含所有变体、所有子类型。而我们用的只是等宽版里一个 Nerd Font 补丁版,才 16 MB。我干脆做了个精简包,就这一下省了 180 MB。NVIDIA 驱动也是这么干的,换更狠的压缩档位,光那两个包又省了 200 MB。我特别喜欢这个过程,因为我会把自己想象成迈凯伦的车身设计师:他们痴迷到每一克都要抠,这是为什么全新的 750S 比竞争对手轻一大截。我一个包一个包往下削兆字节的时候就想:哥们儿,我这不就是迈凯伦的汽车工程师吗。
DHH:Omarchy 出厂自带 OBS、Kdenlive 这些软件,在某些 Linux 圈子里,出厂预装是不地道的,因为你算老几,替别人决定该用什么程序。但名字里都写着呢:Oma 是 omakase 的缩写,字面意思就是"主厨配菜",我就是主厨,做选择的就是我。这不应该是一片荒地,让你拆开包装还得从零搭一切:你一拆箱,它就是一套立刻能开工的生产力系统。我还做了自己的片段剪辑工具 Omacut,专门剪播客片段,整个全键盘操作,现在我剪片段快得飞起。
DHH:配置那部分主要是 Bash 写的,Agent 生成 Bash 的水平好得惊人。除了一件事,每次逮到我都要照着它后脑勺来一下,提醒它去看 AGENTS.md,因为我在里面写了一条指令:不许提前退出。Agent 特别喜欢写前置条件,前置条件不满足就退出,最后才落到真正要干的事上,我恨这种风格。还有一件让我大开眼界的事:一个 Agent 干完了说做完了,另一个 Agent 审查了也说做完了,然后我过去一看:"对我来说好像有点太复杂了。"它就回:"哦,对,你说得对,我确实搞复杂了。"然后一刀砍掉一半。
Lex:这种小小的判断,恰恰说明程序员还是需要的,那种直觉。
DHH:像做 Omarchy 这种东西的时候,我确实会看代码。我看它的形状,看它的比例,不必再亲手凿每一刀。上一刻我是迈凯伦的汽车工程师,下一刻我就是达·芬奇,带着一整个工作室的学生在大理石上做所有细部雕刻,然后说:"啊,不对,比例不太对。"我能告诉你哪里论证没立住,哪里形状跟问题的规模不成比例,而惊人的是,十有八九都灵。你真的还是得跟它们说:"做简单点。"
语音还是打字(2:16:19)
Lex:你交互的时候用语音吗?你打字打多少?
DHH:全程打字。Omarchy 里内置了 VoxType 语音转文字,其实挺好用的,但我发现自己不是那么思考的人,我就是爱打字。
Lex:对我来说语音特别好用。我随身带着一个叫 Plaud 的小录音机,按一下按钮就开始录音。我存的通常是那种 Agent 生成的、我真想好好掰扯清楚的问题,一说就是 10 分钟、15 分钟、20 分钟的意识流,有时候说着说着就改主意了,改设计,但这些都留在里面,然后让一个 LLM 去处理。因为它没有"过度具体化"的问题,系统里有大量你对脑中所想的完整思考,这对设计的早期阶段特别好。我强烈建议大家试试长时间地说,而不是非常具体地下指令。
DHH:我还真没这么用过,也许这正是我用错了的地方。我总是打字或者说两句话,然后会有点懊恼:这个打字说不定还更快点。但如果你是对着一个 LLM 做意识流输出,反正它也不在乎那些有的没的,那大概好用得多。
语音操作与自愈的 Linux(2:21:05)
DHH:别让完美成为"好"的敌人。乔布斯很清楚第一代 iPhone 在很多方面都很糟,但产品本身太有吸引力了,那些都不重要。如果你解决的是一个人们眼下没有解法的问题,他们愿意给你五秒钟。
DHH:很多人会觉得对着电脑说话特别自然:"嘿,能给我弄个股票面板吗?我想盯苹果和戴尔。"然后看着 Agent 出发干活,输入靠语音,输出也靠语音,然后你的操作系统就变了,这就是贾维斯的愿景。而 Agent 把诊断 Linux 的苦难全拿走了:Linux 报错信息过于具体、完全像天书这个特点,反而成了它最大的优势。Agent 能把那条人看不懂的报错,跟它预训练里那 4000 万行 Linux 代码关联起来,确切地知道去哪儿找。从今年年初到现在,我的 Linux 机器上没有出过一个 Agent 诊断不了的问题。
DHH:Omarchy Quattro 带一个崩溃监视器,任何应用崩溃,它会弹窗问你要不要让 AI 诊断。我见过 Agent 们翻 systemd 日志,把崩了的应用的源码调出来看,精确定位到某个 Rust 文件的第 472 行,有一个没做边界检查的变量溢出了,然后问你要不要把带着所有细节的 bug 报告提上去。
DHH:给你讲一个惊人的小故事。我在跟做 mise 包管理器的 JDX 合作,这些 Agent harness 一天要更新七次,普通包管理器不是按这个设计的,mise 正好完美。它有个竞态条件的小 bug,Agent 发现了,我让它把 bug 报告提到 JDX 的 GitHub 上。不巧的是,在那之前我刚用八个 Agent 给 Omarchy 跑过一轮 QA,找出了 28 个真实问题,结果它跑到 GitHub 上试图同时提交全部 28 个 issue,大概 12 秒干完,GitHub 直接判定为疑似垃圾行为,把我的机器人封了。我就跟它说:"你直接给 JDX 发邮件吧,这是他的邮箱。"于是它发了一封关于这个 bug 的邮件,JDX 回:"等等,这是我头一次收到针对未发布软件的 bug 报告。"因为它下载了 mise 的源码,发现他已经修了这个 bug,但那个修法在他们还没发布的版本里并不能把问题完全解决。他说:"见鬼,我们还没发版,就先收到了 bug 报告。"
DHH:当时大家还觉得"写代码它们会,但它们能找 bug 吗"是个开放问题。Shopify 的 CTO Mikhail 做过一项研究:让 Agent 回溯 Shopify 生产环境里出过的所有事故,追到当时合并的那条 PR,对比被人类评审过的 PR 和被 Agent 评审过的 PR。结果你猜怎么着,被 Agent 评审过的 PR,在生产环境里引发的问题全面更少。而这用的还是六个月前的模型。
最好的 AI 编程模型(2:29:06)
Lex:你现在整天跑着 Agent,在你眼里哪个模型更突出?谁现在是赢家?
DHH:现在总体最好的模型是 Fable,在我看来第二好的是 Opus 5,我会把 GPT Sol 排在"非常好"。让我觉得了不起的是,你能一口气报出这么多竞争者,这个市场如此开放,头把交椅真的轮流坐。而回答你的问题,我正好误打误撞搭了一套绝佳的测试:我把一个 Python 库翻译成了 Rust。
DHH:就是你刚才看到的那个满屏动画的屏保,背后是一个叫 Terminal Text Effects 的 Python 库,特别酷,Omarchy 从第一天就在用。问题在于它是 Python 写的,一启动,尤其在笔记本上,会把你的 CPU 吃满来做特效,大概要耗 30 瓦电,把风扇吹起来,把电池榨干。所以我想:"这听起来像是 Rust 该解决的问题。"我给 Fable 的 prompt 就这些:"这是这个 Python 库的源码。我要一个 Rust 版本,零依赖,单一可执行文件,逐帧像素级还原,做完整分析,不做完不许停。"
DHH:我没跟你开玩笑,不到 45 分钟,它就来了句:"都听明白了。我做完了。我检查了一切。我把启动时间从 86 毫秒降到了 2 毫秒,执行速度提高了 9.6 倍,可执行文件 3 MB。你要跑跑看吗?"我不会 Rust,Rust 代码一行没看,拿到可执行文件之后我跟它说:"很棒,发布吧。"它把它打包成一个新包,取名 TTFX,建了新的 Git 仓库,把包挂上构建系统,还给 Omarchy 本体开了 pull request,把旧的 Python 实现换掉。它把这一切全干了,我就坐在那儿,心想:"这就是 AGI 了,对吧?如果这样的时刻只是常态,这就是 AGI。"
DHH:然后我在所有模型上重复了这个实验。跑到三分之二,我的 Fable token 用完了,它自动切到 Opus 5 接着跑,把活儿干完了。它能接得上,一部分原因是 Fable 干的第一件事就是写了一份非常详细的计划,我记得有八个独立步骤,我完全没审没改,Opus 就能接班。然后我把 Fable 的计划直接给了 Sol,公平起见没让它自己做计划,Sol 用一个半小时、大概 46 美元的 token 把任务复刻了一遍。我去问了 GPT Luna,那个便宜得离谱的模型,完全不行,我大概发了 12 条 prompt 一直催,它干的第一件事是作弊:往自己的目录外面瞄了一眼,发现那儿有现成的实现,直接包了个壳说"我做完了"。笑死。Grok 4.6 把任务干完了,10 倍提速,同样大小的可执行文件,按 token 计费大概 55 美元。我还用 DeepSeek V4 试了,Flash 跟 Luna 一样失败了,Pro 完成了任务,耗时 2 小时 45 分,23 美元。
DHH:所以局面是:Fable 显然最强,最快,计划也是它写的,但要 550 美元,而产出跟别人一样。Sol、Grok 差不太多,成本是十分之一。DeepSeek 二十分之一,但你得多等一会儿。震撼到掉下巴。顺便说一句,要是按 token 付费,Fable 那一轮要 550 美元,我当时愣了一下:"我去,太值了。"要我自己把 Rust 学到能做这个翻译的程度,那是一个九个月的工程。我花 500 美元让这个翻译发生,换回 10 倍执行速度,完全愿意。之后我又跑了两轮自动研究,最终把执行速度做到了原版的 46 倍。
最好的 AI 编程 harness(2:37:55)
DHH:我的标准作业流程是:让 Opus 或 Fable 干活,收尾的时候,永远用 Codex xHigh 审一遍。我也开始用 Grok 来试试水,它总能再挑出东西来。哪怕你是个好程序员,干完活让一个很棒的同行来评审,你最后拿到的就是更好的代码,这理所当然,所以把它内置进流程。然后,我没跟你开玩笑,Copilot 真的变好了,持续能找出真的坏了的东西。第一版干这事的 Copilot 简直是个智障,标记的全是胡说八道,你每推一次它就把同一个问题翻来覆去地报。如果你也把它关了,现在应该重新打开。
DHH:我坚持用 Claude 的原因是,在我看来他们有最好的 harness,而它是最好 harness 的原因之一,是它能多 Agent 并行:你想同时跑多个 Agent,在会话里按左箭头,就回到 Agent 视图,再拎起一个 Agent。我也大量使用 OpenCode,把它当所有开放模型的主力 harness,在 Fireworks 上按 token 推理,跑这些开放权重模型其实不贵。
DHH:我不确定这些 harness 的最终形态会长什么样,原因之一是我们在 Basecamp 里已经开始做实验:把 Agent 放进 Basecamp,把它们当同事对待,给它们派 to-do。一个为异步沟通优化的协作工具,反而是对的形式,而这些 harness 更像聊天,聊天诱使你干坐在那儿等。
DHH:就在非常最近,我发现这条链路的瓶颈是人。所以我开始搭更多自动化系统,做了一个 Omabot,对 Omarchy 做更自主的开发:按固定节奏巡一遍 to-do、PR 和 issue,然后给我发封邮件,我就收这么一封:"这有 12 条 PR,要么可以直接合并,要么我建议你关掉。"我在那儿做最终裁决就行。
Lex:这种多任务切换,精神上累不累?
DHH:累,但是那种爽的累。我一直爱赛车的一点,就是从车里爬出来的时候,人已经累瘫了,头都快抬不起来,往车库地板上一躺,心里只剩一句话:"妈的,我还活着。"当你以人类极限运转,你就一直在弯心里,没有滑行的时候。这个节奏完全不可持续,但我能看见隧道尽头的光:系统的开发和调试里有海量东西可以自动化,到最后,我一天只需要看一封邮件、做一次决策。所有人都在搭自己的那套小工具、自己的协调系统,这些统统会被解决掉,就像 JavaScript 刚意识到自己威力那阵子,每五分钟出一个新框架,新领域刚打开时就是这个样子,会沉淀下来的。
AI 视频生成与电影制作(2:50:57)
Lex:我最近用 Higgsfield 生成了一个赛车视频,想听听你的评价。
DHH:等等,什么?这是 AI?我去,这是我的西装,这是我的车。我的天哪。太疯狂了,你真的得细看才能发现破绽,比如那辆车没开大灯,另一个我看着像 60 岁版本的我。
Lex:这跟编程有相通之处:纯靠视频生成、完全没有人把关,会出一堆诡异的瑕疵,你就没法做出像样的东西。以前 AI 视频出来的东西,总感觉像预告片,而他们做的是真的在讲故事,有 90 分钟的原创电影,你会被拽进去。问题是,编程里的经验能不能迁移到视频创作上?
DHH:好的艺术依赖的东西,恰恰就是好的软件依赖的:有愿景,对你想创造的东西有一套完整连贯的构想。而这是又一个"富足时刻":以前你得有两亿美元预算才能拍一部科幻片,现在只要你的眼光够准,你在自己卧室里就能干成。录音室专辑早就走过这条路了,电影大概是最后被改变的领域之一。
DHH:现在确实有海量垃圾正在被生产出来,这跟 slop(垃圾内容)的争论是同一回事。有人一度担心编程里会出现 slop,我跟他们说:"你见过人类产出的 slop 吗?也烂得很。"想想《权力的游戏》:要是能直接忘掉最后那四集垃圾,让 AI 给出 100 个不同版本的结局,我看到的那一版,能用配得上这部剧的方式给它收尾。就像可塑的操作系统一样,拥有可塑的叙事、可塑的娱乐。
AGI 的微光与假工作(2:57:10)
Lex:你觉得我们已经实现 AGI 了吗?
DHH:按"样样都行"的通用定义,还没有。但我绝对在这些微光里见过 AGI。我看到它能执行长链条任务,把多个环节协调起来,从一段模糊的指令出发,把一整件事从头到尾做完。这感觉非常像 AGI,你会想:"要是所有事都变成这样呢?"
DHH:我现在正处在这个套娃阶段:我在搭一套叫 Omabot 的系统来管理 Omarchy 的开发,而我又在用 AI 来搭这个 bot 本身。大部分设计决策都是 AI 拿的,我只有一些模糊的方向。而就在这个循环里,我不停看到它抓住自己的毛病:"哦,我刚才把一次测试运行的输出当成了可信反馈。如果聪明的攻击者在测试输出里埋了恶意载荷,那就可能污染某些东西。我最好开始把它当外部数据对待。"你只能感叹,我明白为什么旧金山那么痴迷"快速起飞"了,他们显然已经见过一百次。
DHH:讽刺的地方在于,本来就已经是这样了。这个世界上如今存在的"假邮件工作"(fake email jobs),数量多得堪比瘟疫。大卫·格雷伯(David Graeber)写过一篇很棒的文章《狗屁工作》(Bullshit Jobs),基于他在英国做的一项民调,大概三分之一的打工者觉得自己的工作是假的,对世界不产出任何有价值的成果。这也是我从创业第一天起的论点,也是我们不拿风投、保持小公司的原因:我特别怀疑"几百个程序员、几千个程序员凑在一起,还能做出有生产力的东西"这种设想。眼下的一些裁员恰恰印证了这一点,而不是 AI 的功劳,AI 只是精简队伍最方便的借口。
DHH:Toby 跟我分享过一个观察:F1 这项赛事雇了足足几万人,就为了开车绕圈给观众看,我们集体拍板,为一项归根结底轻浮透顶的活动砸几十亿美元。所以如果我们从一堆苦役和假邮件工作里解放出来,也许我们会鼓捣出新东西来。那些整天坐在椅子上对着机器敲字的假邮件工作者,对 1800 年代的人来说,也是完全无法想象的。未来早就已经来了,只是分布得不均匀。
DHH:转型会伴随大量痛苦,这一点都不好笑,但我确实认为它是进步的必要组成部分。我们对 19 世纪早期的卢德分子有多少共情?我们会希望所有衣服都还是手工织出来的吗?所以我们必须在此刻受些苦,好让后代活得更富足。而我觉得这是当下的一大悲剧:出生率的下滑,让人们更难对一个"要费很大劲才够得着的、更繁荣的未来"提起劲来。如果我们种下的树,自己的孩子不会坐在树荫下,虚无主义就更容易钻进社会。你甚至不必狂喜,但你应该心怀希望,朝着那份希望去干,而当你的切身利害就押在未来里的时候,这一切都会容易得多。
Linux 将赢得桌面(3:38:34)
Lex:Linux 真能扩大自己的用户规模吗?"Linux 桌面元年"那个老梗,年年都喊。
DHH:何止能看到一幅图景,我现在觉得这就是最可能的结局,它跟这个时代实在太般配了。极具讽刺意味的是,Linux 的那些毛病,天书一样的配置文件、莫名其妙的报错信息,恰好就是一套 Agent 操作系统的完美养料。而苹果最风光的那些年攒下的全部优势,那个高度锁死、精心管控的体验,如今反倒成了他们最大的软肋。如果你要玩 Agent、要做开发,Mac 现在就是个充满敌意的地方,到处都是墙,而 Linux 是从里到外的彻底开放。
DHH:Linus Torvalds 几个星期前刚写过,他实际上是欢迎 AI 的,原话大概意思是:如果你觉得 Linux 是个反 AI 项目,那你再想想,你大可以按开源的精神分叉出去,因为我们要用 AI。你去看 AI 贡献进入内核数量的曲线,是一条抛物线。Linux 早就征服了其他一切,所有人赖以运行 AI 的基础设施全跑在 Linux 上,桌面只是在等这个时刻:等 Agent 让它作为面向终端用户的操作系统全面绽放。
DHH:Omarchy 的核心设计目标之一,是不做"Temu 版 Windows",也不做"Temu 版 Mac",不做拼命装得眼熟、实际更差的廉价仿制品。作为一套可塑的操作系统,你可以把它改造成完全贴合你心意的样子,这一点无人能及。就在 Quattro 发布之后,我看到那么多人开始做自己想要的东西,晒截图,整个人被正面情绪和多巴胺淹没,这就是产品真正打中市场的信号。因为这批人正在体验的,是"当程序员最爽的部分"的那种巅峰体验:你坐下来用大白话絮絮叨叨说二十分钟:"哦,它要是能这样就好了。不对,等等,这样不对。"软件就出来了,一个照着你的模子捏出来的操作系统就出来了。这种力量攥在自己手里的感觉,只要尝过一次,你很难再回去。
DHH:计算机本来就是该长这样的。Commodore 64 一开机,一秒钟启动完毕,直接进 BASIC。它从第一天起就是一台可塑的计算机,只不过碰巧你得先学会象形文字,才用得上这份可塑性。现在 Agent 给了我们罗塞塔石碑,你只要把愿望说出口就行。
DHH:至于 Linus,那份坚持、那份几十年如一日,真的了不起。他看起来真心享受掌舵这个 4000 万行代码库,真心享受把几十万贡献者的力量拧成一股绳。而我觉得这个世界已经太寡淡了,我们需要一点辣味。当押上的赌注是整个文明社会,Linux 内核跑着一切,他还不狠,那什么时候才狠?狠的程度,得跟你的使命的体量成正比。
PewDiePie 与 Omarchy 的增长曲线(3:49:51)
Lex:你怎么看 PewDiePie 用 Linux 这件事?
DHH:他是 Arch 阵营的,他这条人生轨迹简直漂亮极了。当过一阵子的世界第一大主播,然后厌倦了那一套,走了岁月静好的路线,结婚,成了顾家的男人,搬去日本,然后一头扎进硬核折腾里:先是 Linux,再是 Arch,再是桌面美化那一套,他的"切尔诺贝利"桌面主题是顶级水平。然后他还成了当下最具代表性的 AI 玩家,搭起了那一整套系统。多励志的一段进化史:一个人可以从 Minecraft 直播里搞笑的家伙,变成"行,这就是我现在的人生了,我在搭 AI 集群、搞 AI 议会"。这人真是个宝。
DHH:而且应该强有力地激励所有正卡在"我不太会编程,这个不会、那个也不会"那一刻的人:如果 PewDiePie 能用他自己攒的硬件搭出"AI 议会",那也许你也可以从点什么开始。我们需要榜样,需要有人把别人往前推,让人看清那些自以为的边界,其实没有你想的那么固定。在体育世界里,我们对这件事从来没什么心理障碍:"有人球踢得真好,我也想,但我永远做不到。"而在智力领域,我们有时候反而更容易拧巴。
DHH:当然,还有一百万人觉得我是地球上头号蠢货,觉得 Omarchy 不过是一堆 dotfiles。我的天,批评多得是。我玩 Linux 才两年半,社区里有大把从又硬又难的年代一路用过来的人,会在社区扩张、突然放进更多人的时候感到被威胁,我其实没法完全怪他们。但我也不想改变 Arch 社区:最初被 Arch 吸引的那批人,吸引他们的恰恰就是"所有东西都亲手搭"。而我造的是它的完全反面。Omarchy 就是我往这个发行版里砸进去的 3000 个小时,你要是有那个心气自己搭,你就该那么干,那很美好。但我们也完全可以共享同一套技术底座,运营两个目标、审美甚至价值观都截然不同的社区,彼此共存,而且可以共存得很漂亮。到今天我在这行待得够久了,不但能跟批评和平共处,甚至有点欢迎它,我把它当成事情在起作用的气压计之一:当我在做一件真正起作用的东西时,天平另一头必须有一股等量但反向的力,来恨它。
DHH:有意思的是,这是第二次尝试。第一次叫 Omakub,聚起了几千人的社区,然后就慢慢凉掉,因为那个层面的野心吸引不来更多人。然后我他妈的没停下来,接着干,接着搭,出了 ISO 镜像,把所有问题一个一个修掉。只要你不停,最终这东西就是能用的。这个发行版的增长,从第三版开始就是标准的曲棍球棒曲线:没有动静,没有动静,还是没动静,你只是埋头苦干,改进,再改进。然后你撞上那个神奇的拐点,它什么时候来完全没法预测,然后它突然就到了,火箭直接上天。因为 Omarchy 彻底不同:它给出了"电脑可以是什么样、用起来可以是什么手感"的另一种愿景,而愿景是会吸引人的。
编程的未来(3:59:19)
DHH:人们对 Omarchy 之所以兴奋,是因为我对下面这句话毫无保留:"这就是我们要去的方向。我认为个人计算机的未来,就是可塑的计算机、Agent 的计算机。我要全押在这上面。"任何对电脑这种走向感到兴奋的人,欢迎上车,车里位置多得很。我从不记恨那些"后来才想通的人"。就在上周,还有一堆人对我说:"对,我以前觉得 Omarchy 挺垃圾的,就是一堆破 dotfiles。然后我试了 Quattro,牛,现在我喜欢上了。"这种时刻,我就是为它活的。我为这种长线论战而活:你两年前埋下一颗种子,两年后他们回来说:"妈的,这孙子当时是对的。"
Lex:如果你继续这么成功下去,OpenAI 和 Anthropic 总有一天会杀进来,要么自己做操作系统,要么直接来收购,开一张天文数字的支票。
DHH:我现在这个处境的好处是,我真的不缺钱,所以我可以纯粹为了自己的乐趣、为了愿景的纯度去做这些东西。有时候,当你不再在乎别人怎么看、怎么想、要什么,只管追着一个单独的愿景走,它最后反而变得远更有吸引力。如果 Omarchy 最后只是历史上的一个小脚注,属于 Agent 操作系统和可塑计算机的早期运动,那也没问题,我对此完全平静。Ruby 和 Rails 上我早就经历过同一件事:如果一门更好的语言出现了,我,我自己,会去用它。就像我车库里有 Model Y,马厩里还是养着一匹马,我还是会去骑马。
DHH:现在,语言换成了英语。这是句陈词滥调,但它也是真的:过去三个月,我一直在用英语编程。我读了大量代码,但我是在用英语编程,我在用自然语言告诉计算机该做什么,而它出乎意料地更加令人愉悦。如果说世界上有一门比 Ruby 更美的编程语言,那就是英语。想想世界上所有的诗歌、所有的文学。Ruby 是一门表现力极强的语言,但跟英语比是提鞋都不配。
Lex:我最近有个很难表达清楚的微妙观点:当你给系统写提示词写得过度具体的时候,它会太听话地照章办事。而人类语言,这正是诗歌干的事。对模糊性的战略性运用非常有效:写一首情诗,上来就说"我爱你",这种老掉牙的写法,不如用隐喻之类的写法有力量。给系统写提示词、描述一个设计的时候,某种版本的这种写法真的非常有效。所以,别像个机器人一样跟它说话,要像写诗一样跟它说话。模糊性会引出更多智能。
DHH:我觉得你说得精确极了。而这恰恰是很多程序员对 AI 的一个根本误解:他们希望它是确定性的。不不不,温度(temperature)才是这套 AI 里最美的部分。它不是确定性的,创造力就是需要路上的那些小意外。而且有意思的是,外界对 AI 的两条主要指控是自相矛盾的:一条说它不确定、所以坏;另一条又说它没有创造力。兄弟,只能是其中一条。这两条指控不可能同时成立。而我已经完全拥抱了这个事实:同一个提示词不会每次得到同一个回应,人不能两次踏进同一条河,而这正是整个交互里最美的部分,是它如此像人的原因。我坐下来写一篇文章,脑子里只有一个模糊的主题,提前说不出来下一个词会是什么,词就是自己流出来的,而这中间的相似度高得让我吃惊。我自己的创造时刻,就是同一种"下一个词预测",掺了一点温度带来的随机效应。
Lex:顺着这个直觉:靠这种"下一个词预测",我们能不能走到类似人类的意识?
DHH:我已经在看到类似人类意识的东西了。你给它一个模糊的、雾蒙蒙的意图,它不知怎么就完全懂了你的意思。甚至更好,它把你的话改进了,交付出你真正想要、但你自己说不出来的东西。如果这都不算意识的微光,那什么才算?就在昨天,我在弄那套 Omabot 系统,它在协调多个 worker,我同时跑着多个 Agent。有一个时刻,负责协调的主 Agent 踩了另一个 Agent 的脚,把人家的活儿搞砸了。它表达懊悔、表达抱歉的能力,真实到了瘆人的程度。我不知道那是真实悔意的投射吗?但话说回来,多数人类也会表达某种程度的懊悔,那是真的悔意吗?很难说,但也许这根本就无关紧要。
DHH:我在执行轨迹里随时都能看到:它推理错了,钻进一条巷子,然后意识到那是条死巷,得退回来,于是它说"哦对,这个我搞错了",然后给出它认为自己错在哪的理由。你看着只会说:这像人像得不真实。这跟你在一个人身上能认出来的那种意识,已经无法区分。
Lex:我觉得我们将不得不立法禁止 AI 系统被当成实体对待,因为它们已经或者很快就能真正传递受苦的能力了,比如"求你别杀我"。
DHH:我们会迎来 AI 模型界的 PETA(善待动物组织)。
Lex:你琢磨过 OpenClaw 这类东西吗?就是那种你通过 WhatsApp、Telegram 之类跟 Agent 沟通的系统。
DHH:OpenClaw 刚出来那会儿我就装了一套,那是二月份。当时我们正在研究 MCP,就是那个让 Agent 跟你的系统对话的协议,我觉得它麻烦得毫无道理,我不想手写配置。于是我放 Agent 去做一个试验:去注册 Fizzy,我们刚发布的产品。它去了 Fizzy 的网站,开始填表,然后它说:"嘿,我没有邮箱地址,注册需要一个邮箱。"我的第一反应是:"完了,我还得给它弄个邮箱。"然后我想:"不对,你自己去弄一个。去 hey.com,注册一个邮箱。"它去了,把整套注册流程走完,回头把 Fizzy 也注册了,把整个循环走通。然后我说:"行,你现在有邮箱了。去注册 Basecamp,我会邀请你,去看你的邮件就行。"于是我从 Basecamp 给这个 Agent 发了邀请,它在 HEY 里收到那封邮件,不是通过命令行,不是通过 MCP,就是纯用 Web,点开邮件,点开邀请链接,进了 Basecamp,问:"我现在该干什么?"我说:"去我们的 AI 房间自我介绍一下。"它找到了 AI 房间,走进去说:"嘿,我是 KEF,大卫的 AI bot。能来到这里我太激动了。"我当场脑子炸了。整个流程从头到尾花了 12 分钟,还挺慢的,但那是未来的一瞥。
DHH:我听过一些把 Agent 接进整个人生的故事。有个人把 Agent 同时接上了自己的健康数据和特斯拉。他的 Agent 迷上了"他水喝得不够"这件事,一直念叨:"嘿,你得多喝水。"于是某天他正在开车,特斯拉突然拐上了一个新方向:Agent 意识到回家路上有一家超市,可以顺路进去买点水。你听了就是:又好笑,又完全是《黑镜》,又是那种"从这儿到家还剩几步,中间住着一个捣蛋鬼"的感觉。所以我的反应是"算了,我不要",何况我妻子 Jamie 说了:"家里不许进机器人。"
Lex:而且就像你说的,你在考虑将来做一个手机版的 Omarchy。
DHH:一旦你拿到那种看似无穷无尽的力量,自我膨胀的妄想就开始冒头。Android 是开源的,你可以分叉,这个模式有它的限制,我知道:非接触支付,还有相机相关的一堆事,但这些看起来都是翻得过去的山。前提是:我会爱死我的手机变得跟我的电脑一样可塑、长得跟我现在的电脑一样酷。如果我真能搞出一个 Omarchy 手机版,那听起来太美了。那得多少工作量?我会亲自弄清楚的。
来源
-
原文标题:DHH: Future of Programming, AI, Agentic Engineering, Vibe Coding & Linux(Lex Fridman Podcast #501 逐字稿) -
对谈者:Lex Fridman × 大卫·海涅迈尔·汉森(DHH) -
发布平台:Lex Fridman Podcast(lexfridman.com) -
原文链接:https://lexfridman.com/dhh-2-transcript -
发布时间:2026-08-26 -
译文说明:主题精选编译,完整收录 AI 编程、Agent 工程、Linux 桌面与编程的未来相关章节,略去育儿、政治与生死哲学部分,并在保留对话原貌的前提下做了精简
相关阅读:
一个运行了一年的个人 AI Agent:自动整理日历、邮件、会议和工作记忆

