从怀疑到拥抱:DHH 谈 AI 革命

From Skeptic to Believer: DHH on the AI Revolution

DHH DHH · Lex Fridman 播客 · 2026-08-26 · 约 316 分钟 · 原视频 ↗

打开互动全文版(中英对照 + 朗读 + 问答)→

本期速览 · Overview

DHH 讲述他从 AI 怀疑者到热情拥抱者的转变,称代理工程领域的飞速进展是千载难逢的时代变革。

DHH discusses his transformation from AI skeptic to enthusiastic adopter, describing the rapid progress in agentic engineering as a once-in-a-lifetime epoch shift.

要点 · TL;DR

核心观点 · Key points

反共识 · Contrarian takes

本期章节 · Chapters(共 96)

全文 · Full transcript(中英对照)

开场与介绍 Opening and Introduction

Host

有些年代里什么都没发生,有些星期里却发生了十年的变化。而我们在过去九个月里,见证了十年的进步。如果你没有意识到这一刻的严重性,那才是错觉,那才是疯狂。如果突然有个精灵从瓶子里蹦出来说:“你想要什么都可以。你在操作系统里梦想过的每一个功能,我都能给你,大部分五分钟内,少数二十分钟,如果我们真的放开手脚,那得花我两个小时。”谁会不欣喜若狂呢?我想要最快的车,突破速度极限。我想要能潜到马里亚纳海沟的潜水表。我想要能在 60 秒内装好的操作系统。我一直喜欢赛车的一点是,当我从车里跌跌撞撞出来,浑身散架,几乎抬不起头,躺在车库地板上,心里想:“天哪,我还活着。”奥弗顿之窗不会自己打开。它是一点一点被人撬开的,靠的是那些冒一点险的人。一点名声,一点反弹,一点批评,或者有时候是很多名声,很多批评,很多反弹。和你爱的人一起创造生命,绝对是活在这个星球上的巅峰体验。——以下是和大卫·海涅迈尔·汉森(又名 DHH)的对话,他是 Ruby on Rails 的创造者、37signals 的 CTO、新 Omarchy Linux 操作系统的创造者、畅销书作家、赛车手,也是世界上最大胆、最多产的程序员之一。过去 20 多年里,对他来说,编程意味着精心手工打磨优美的 Ruby 代码。但最近,从 2025 年底开始,DHH 拥抱了 AI 革命,公开转变成了——再一次——最大胆、最多产的智能体式工程师之一,尽管他讨厌这个术语。所以我们不妨称他为“无论编程正在变成什么形态的实践者”,在这种形态里,AI 做大部分实际编程,人类用高层设计、愿景和品味掌舵。是的,没错,DHH 有时充满争议,但他总是无畏、才华横溢,而且聊起来很有趣。这又是一次激烈、大开眼界、疯狂的过山车式对话。这里是 Lex Fridman 播客。为了支持我们,请查看描述里的赞助商,那里也有联系我、提问、反馈的链接。现在,亲爱的朋友们,有请 DHH。

There are decades where nothing happens and weeks where decades happen. And we have seen decades of progress happen in the last nine months. If you're not recognizing the gravity of the moment, that's the delusion. That's the psychosis. Who would not get delirious if suddenly a genie pops out of the bottle and says, "You can have whatever you want. Every feature you've ever dreamed of in an operating system, I can deliver them to you, most of them in five minutes, a few in 20, and if we really go hog wild, it's gonna take me two hours." I want the fastest car breaking the speed limits. I want the diver watch that can go down the Mariana Trench. I want the operating system that can install in less than 60 seconds. One of the things I always loved about race cars was when I would stumble out of the car absolutely smashed and barely able to hold my head up, and I'd lay down on the garage floor and just think, "Holy fuck, I'm alive." The Overton window does not open itself. It opens one nudge at a time by people risking a little. A little reputation, a little pushback, a little criticism, or maybe sometimes a lot of reputation or a lot of criticism or a lot of pushback. Creating life with another human that you love is literally the peak experience of being on the planet. - The following is a conversation with David Heinemeier Hansson, also known as DHH, creator of Ruby on Rails, CTO of 37signals, creator of the new Omarchy Linux operating system, best-selling author, race car driver, and one of the most outspoken and prolific programmers in the world. For the past 20-plus years, for him, programming meant meticulously handcrafting beautiful Ruby code. But recently, since late 2025, DHH has embraced the AI revolution and has openly transformed himself into, once again, one of the most outspoken and prolific agentic engineers, even though he hates that term. So let's say practitioners of whatever programming is becoming where AI is doing most of the actual programming and the human steers the ship with high-level design, vision, and taste. Yes, it's true. DHH is at times controversial, but he's always fearless, brilliant, and fun to talk to. This was, once again, an intense, eye-opening, and wild rollercoaster ride of a conversation. This is a Lex Fridman podcast. To support it, please check out our sponsors in the description where you can also find links to contact me, ask questions, give feedback, and so on. And now, dear friends, here's DHH.

AI在编程中角色的转变 Change in AI's Role in Programming

Host

13 个月前,我们坐在这里聊编程,然后一切都变了。那时候,你对 AI 在编程过程中的作用还有点怀疑,然后我们经历了智能体式工程的快速演进。所以,先问个简单的问题:你对 AI 在编程中作用的看法发生了怎样的变化?你兴奋吗?害怕吗?是不是在情绪上坐过山车?

13 months ago, we sat down right here to talk about programming, and then everything changed. At that time, you were a bit skeptical about the role of AI in the process of programming, and then we went through this rapid evolution of agentic engineering. So, simple question to start: How has your view on AI's role in programming changed? Are you excited? Are you terrified? Are you on an emotional rollercoaster ride?

DHH

我极其兴奋。

I am incredibly excited.

Host

你一直在说“好玩”。

You've been talking about fun a lot.

DHH

完全没有那种生存威胁。对我来说,那不是一个情绪成分。它只存在于智识层面,而我的情绪层面是 100% 纯粹、不掺假的喜悦、乐观和惊叹——我们竟然让计算机做到了这个。我觉得特别有意思的是,我们 13 个月前才聊过,但感觉就像在不同的宇宙、不同的时代里聊的。我喜欢这句话,我记得是列宁说的:有些年代里什么都没发生,有些星期里却发生了十年的变化。而我们在过去九个月里,见证了十年的进步。想象一下,你在莱特兄弟起飞的那一刻。昨天《纽约时报》还写“离飞行还要一万年”,第二天我们就上了天,几年之后就有了跨大西洋的飞机。整个世界彻底变了。能身处那一刻是多么幸运。如果你把视野拉远,看整个人类历史,有多少人活在了自己出生的那个时代里?他们从没见过世界和社会的彻底改变。而我有幸经历了两次这样的改变,真是莫大的荣幸。我见证了从互联网前到互联网后,然后又从 AI 前到 AI 后。多么精彩的旅程,多么幸运。

There is none of the existential threat. That doesn't exist for me as an emotional component. It is only there as an intellectual component, and the emotional component for me is 100% pure, unadulterated joy and optimism and amazement that we've made computers do this. And I find it so interesting that we talked just 13 months ago because it's like we talked in different universes, different eras. I love this quote. I think it's Lenin. There are decades where nothing happens and weeks where decades happen. And we have seen decades of progress happen in the last nine months. I mean, imagine you're there when the Wright brothers take flight. Yesterday, the New York Times would write, "It's gonna be 10,000 years before we fly," and then the day after, we're up in the skies, and just a few years after that, there were cross-Atlantic planes. The whole world has completely changed. What a blessing to be there in that moment. If you zoom out and look at all of human history, how many humans got to live within the same epoch that they were born in? They never saw that complete change of the world and of society. And to have been blessed with two of those feels just such a privilege. I got to see the internet from pre-internet to post-internet, and then now pre-AI, post-AI. What an amazing run. How fortunate.

Host

是啊,但问题是,这件事感觉比人类历史上任何事都快。

Yeah, but the thing is, this feels like a thing that happened faster than anything else in human history.

DHH

没错。

Correct.

Host

所以我会说大概在 12 月左右,也许是 11 月底——

So I would say somewhere around December, maybe late November-

DHH

11 月 24 日。

November 24.

Host

这就是……

This is...

DHH

就是那个确切的时刻。

That's the exact moment.

Host

你知道,当人们谈论世界大战中一国入侵另一国之类的事时,就是这样——我们就是这样谈论 AI 改变一切的。是的,它真的彻底转变了。对很多优秀开发者来说,它从 AI 做一点基本的自动补全,可能写 5%、10%、15%、20% 的代码,变成了写 80% 的代码。

You know, when they talk about when one nation invades another in a world war or something like this, it-- this is how we talk about AI changing everything. Yeah, the... And it really just sh- shifted for many great developers. It shifted to where AI is doing some, basic autocomplete, maybe writing 5, 10, 15, 20% of code to writing 80% of code.

DHH

或者 100%。

Or 100.

Host

或者 100%,对,尤其是如果不是面向公众的产品。

Or 100, yeah, especially if it's not a public-facing product.

DHH

对我来说,这就是为什么即使回头看一年前的对话,我其实并没有不同的观点。我还是同样的观点。一年前,我不喜欢当时提供给我们的 AI 模式。那是自动补全模式,或者 AI 聊天机器人模式。其实聊天机器人我很喜欢,就像我们聊过的。从一开始就是很好的导师,很好的上网查资料的方式,但它不会取代我雕琢代码。但后来我们有了智能体。智能体一开始大概五分钟内还只是新奇玩意儿,然后就变得惊人,然后就变成“天哪,这是 AGI 吗?”所有这一切都发生在去年以来,甚至就在过去九个月里。我们基本上经历了这几个阶段。我们有前智能体时代的 AI。我当时很兴奋,但它并没有从根本上改写游戏规则。它没有完全改变我的工作方式。我还在雕琢代码,只是多了个小帮手、小搭档,可以和我碰撞想法,我可以更高效地上网查资料等等。它只是让我做原来在做的事更高效了,并没有改变我和电脑之间的情感连接。然后我们到了 2025 年 11 月 24 日。对我来说,Opus 4.5 就是分水岭,突然之间……我甚至 24 号都没试。我记得是 26 号试的。我给了它几个任务,然后意识到输出的质量和我自己会写的东西惊人地接近。

To me, that's why even when I look back upon our conversation a year ago, I don't actually have different opinions. I have the same opinions. A year ago, I did not like the mode of AI we were offered. It was the autocomplete mode, or it was the AI chatbot mode. Now, the chatbot I actually liked, as we talked about. Great tutor right from the get-go, great way of looking things up on the internet, not what was gonna replace me chiseling code. But then we get the agents. And the agents start out being curiosities for about five minutes, and then they get amazing, and then they get, "Oh my God, is this AGI?" And all of that happened since last year, even just within the last nine months. We have basically these few phases here. We have AI in the pre-agentic era. I was excited about that, but it was not fundamentally rewriting the rules of the game for me. It was not completely changing how I worked. I was still chiseling code, I just had a little helper, a little sidekick who could bounce ideas off, and I could look up this information online and so forth in a more efficient way. It was just a more efficient way to do what I was already doing, and it didn't change the emotional connection I had to the computer. Then we get to November 24th, 2025. Opus 4.5, to me, was the dividing line, where suddenly... I didn't even try it on the 24th. I think I tried it on the 26th. I give it a couple of tasks, and I realize that the quality of the output is uncannily close to what I would've written.

代理时代:从Opus 4.5到子代理 The Agentic Age: From Opus 4.5 to Sub-Agents

DHH

我记得当时往后一靠,心想:“刚才发生了什么?” “我们是怎么从夏天我跟你聊的那个自动补全的烂摊子,短短几个月后就走到这一步的?我们是怎么同时获得智能的提升和可用性的提升的?” 这个智能体工具的问题在于,我不知道 Opus 4.5 是否比我们夏天用的 Opus 4 聪明多少,但它操控你的电脑、使用工具、检查自己的工作、以这样一种方式运用智能从而让你能从中获得真正有意义的工作成果的能力,是完全不同的。我认为这就是几乎所有在圣诞假期关注并开始摆弄它的人所经历的重大变化。我从 Shopify 和其他拥有大量员工的地方听到的就是这样,他们突然有了喘息之机,突然有了几周时间往后一靠,看看正在发生的事情,试了一下,然后就有了同样令人震撼的体验:这些智能体和我们之前所拥有的东西属于不同的类型。

And I remember just leaning back and thinking, "What just happened?" "How did we go from this autocomplete mess that I was talking to you about in the summer to this just a few short months later? How did we get both the increase in intelligence and then also the increase in usability?" This agent harness question where I don't know if Opus 4.5 was that much smarter than Opus 4, which is what we had in the summer, but its ability to instrument your computer, to use tools, to check its own work, to apply its intelligence in such a way that you could get real meaningful work out of it, was completely different. And I think this is then the big change that happens for almost anyone who paid attention and started playing with it over the Christmas break. This is what I heard from Shopify and other places with lots of employees who suddenly had a breather, suddenly had a couple of weeks to lean back and just look at what was going on, gave it a try, and had the same mind-blowing experience that these agents were of a different genre than what we had before.

DHH

然后我们到了这个点,我已经很兴奋了。比如,到十二月,我已经在重新审视我所有的先验,心想:“哇,如果它能做到这个,那它也能做到那个吗?” “哦,是的,它能。” 而且,Opus 4.5 现在看起来像个迟钝的模型。这就是这种进步的魔力,你以为你达到了某个高度……我记得当时心想:“如果这是我们得到的最后一个模型,我就满足了。我会很高兴。” 我可以在未来 20 年里用 Opus 4.5,你不会听到我任何抱怨,因为看到一个智能体以我想要的方式完成所有这些工作,实在是太令人惊叹了。因为这不仅仅是它能解决任务,还在于我可以看着它的路径说:“是的。是的。也许不是那里,但差不多。” 它会给你两个注释。你会以我想要的方式到达我想去的地方。你能生成我想要合并的代码。如果代码是用 Ruby 写的,它看起来真的很漂亮。Rust,那就是另一回事了。但这种让智能体真正成为我工作方式的延伸的能力,是非常新颖的。

And then what we get to is, I'm already excited at this point. Like, by December, I'm already revisiting sort of all my priors and going like, "Wow, if it can do this, can it also do that?" "Oh, yeah, it can." And again, Opus 4.5 now looks like a retarded model. And this is the magic of this progress, is you think you've reached something... I remember thinking at the moment, "If this is the last model we get, I'll be set. I'll be happy." I could live with Opus 4.5 for the next 20 years and you would hear no complaints from me because it was just so incredibly amazing to see an agent do all this work in the way that I wanted it done. Because it was not just about it being able to solve a task, it was also that I could look at its path there and go, "Yep. Yep. Maybe not there, but almost," and it would give you two notes. You'll get to where I wanted to go in the way I wanted to go there. You could produce code I wanted to merge. You could produce code that actually looked beautiful if it was written in Ruby. Rust, different question. But this ability for the agents to truly become an extension of how I wanted to work was very novel.

DHH

但随后我们只等到早春,突然我们有了子智能体。我们有了能够细分任务的工具,原本需要 Opus 花相当长时间的事情,突然只花了五分之一的时间、十分之一的时间,因为它可以被切碎,突然你有八个子智能体在为你工作。但在我看来,智能体时代的这两个初始阶段,仍然感觉我必须驾驶。我可以告诉它我想要什么、去哪里找,并在它偏离时稍微引导一下,然后我们就会到达那里,而且我会快得多。但我必须坐在驾驶座上。我必须告诉它我想要什么,而且我必须成为输出的审查者和审计者。

But then we wait just until early spring, and suddenly we get sub-agents. We get harnesses that can subdivide the task, and something that would take Opus quite a while suddenly took a fifth of the time, a tenth of the time, because it could get chopped up and suddenly you got eight sub-agents working for you. But both of those two first phases of the agentic age, to me, still felt like I had to drive. I could tell it what I wanted, where to look for it, and steer it a little bit when it went off, and then we'll get there, and I would go much faster. But I had to be in the driver's seat. I had to tell it what I wanted, and I had to be the reviewer, the auditor of what was coming out.

DHH

然后终于到了现在,这个夏天,随着 Opus 5、Fable 和 Sol、GPT Sol,以及在较小程度上一些开放权重模型的出现,我们到达了一个新时代,我不再告诉它我们要去哪里。我告诉它我遇到的问题。我告诉它我那个模糊、含糊的想法。它告诉我我们要去哪里。它告诉我该走哪条路,而我仍然会看它,因为我是一个好奇的人,我喜欢电脑,我喜欢它的结果,但我真的有点不必看了。在生成代码、选择路线的那部分,我已经变得可有可无了。

And then finally now, this summer, with Opus 5, Fable, and Sol, GPT Sol, and to a lesser extent, some of the open weight models, we've arrived at a new era where I'm not telling it where we're going. I'm telling it the problem I have. I'm telling it the fuzzy, vague idea I have. It tells me where we're going. It tells me which path to take, and I will still look at it because I'm a curious person and I like computers and I like the outcome of it, but I really kinda don't have to. I've become optional in the part that produces the code that picks the route.

DHH

还记得早期 GPS 系统刚出来的时候吗?与看地图相比,它们令人惊叹,但你仍然想保持警惕。它会不会把你开进港口?我记得那些报纸文章。“啊,GPS,它们太糟糕了,因为人们不注意,他们把车开进了港口。” GPS 最后一次把人开进港口是什么时候?就像,那种事不再发生了。事实上,现在汽车都是自动驾驶了,对吧?这就是我们现在到达的地方,我可以信任它。对于我现在工作的领域,我可以信任它,并且完全确信它会支持我。它不会做蠢事,如果它做了蠢事,它也能恢复过来。

Remember when early GPS systems came out? They were amazing compared to looking at a map, but you still wanted to pay attention. Is it gonna drive you in the harbor? I remember these newspaper articles. "Ah, GPS, they're terrible because people don't pay attention, they drive in the harbor." When was the last time GPS drove anyone in the harbor? Like, that just doesn't happen anymore. In fact, the cars now just drive themselves, right? And this is where we've arrived at now, that I can trust. For the domain I'm working in right now, I can trust it, and feel completely confident that it's gonna have my back. It's not gonna do something stupid, and if it does something stupid, it's gonna be able to recover.

Host

嗯哼。我们应该提到,程序员工作的领域多种多样。

Mm-hmm. We should mention that there's all kinds of domains that programmers operate in.

DHH

没错。

Correct.

Host

有……我其实不知道,但我认为开发中最常见的领域是像 Web 开发的 CRUD。你有一个数据库。你有一个面向用户的界面,它来回做一些事情,它可以是只面向一个人的内部系统,也可以是面向多个人、少数人,或者面向全世界。我认为对于那个领域,它——我的意思是,你真的可以让 AI 写出 100% 的代码,而且如果你是一个优秀的程序员,你对幕后发生的事情有很好的直觉,你真的可以不看代码,至少那是我的经验。我不知道你需要多少编程经验才能直觉地通过观察系统的连锁反应和症状来知道幕后的事情是否正常运作。但我认为对于那个领域,它接近 100%,然后还有一些领域,比如你也在做的,就是编写 Linux 发行版。在那里,也许需要更多关注,因为你痴迷于速度之类的东西。在那里,也许你需要多看一点代码。然后也许还有安全关键系统,一直到运营核电站或自动驾驶汽车。也许你需要更仔细地查看代码。

There's... I actually don't know, but I think the most common domain in development is, like, web dev CRUD. You have a database. You have a user-facing interface, and it does something back and forth, and it could be internal to just one person, to multiple people, to a small number of people, or to the world. And I think for that, it's-- I mean, you could really get to the 100% of code written by AI and really if you're a good programmer and you have a good intuition about what's happening behind the scenes, you can legitimately not look at the code, at least that's, that's been my experience. I don't know how much prior experience with programming you need to have to kinda know that things are working correctly behind the scenes, like intuitively by observing the ripple effects, the symptoms of the system. But I think for that domain, it's close to 100%, and then there's domains like you're also operating in, which is writing a Linux distribution. There, maybe there's more because you're obsessed with speed and all that kind of stuff. There, maybe you need to look at the code a little bit more. Then there's maybe safety critical systems all the way down to operating a nuclear power plant or a self-driving car. Maybe you need to look at the code more carefully.

DHH

是的,但话虽如此,AI 在发现和修复安全漏洞方面都极其强大。这就是关于 Fable 的整个风波。这个模型太擅长发现攻击者可以利用的漏洞,以至于发布它根本不安全。所以这里的讽刺之处在于,当你审视那个领域时,我们似乎已经达到了几乎没有人能匹敌的智能水平,因为许多这些安全漏洞都是关于将组合技串联起来的。你在这里发现一个小漏洞,它本身可能不是世界上最糟糕的事情,但当你把它和其他四个结合起来,突然你就有了 RCE,远程命令执行。能够做到这一点的人类非常罕见。他们通常在政府资助的组织或其他秘密行动中工作。他们不会到处闲逛寻找东西。所以它们在这方面变得非常擅长。

Yes, but that said, AI is insanely capable at both finding and fixing security vulnerabilities. This was the whole blowup about Fable. This model was so capable of finding holes that an attacker could exploit that it was simply not safe to release. So the irony here is that when you look at that field, it seems like we've reached levels of intelligence that virtually no human can match because many of these security holes are about stringing combo moves together. You find one little vulnerability here that by itself might not be the worst thing in the world, but then you combine it with four others, and suddenly you have RCE, remote command execution. Humans who are able to do that are very rare. They usually work inside state-sponsored organizations or other clandestine operations. They're not just out and about finding things. So they've gotten so good at that.

DHH

Linux 发行版就是为什么我 100% 相信 AI。因为过去三个月我一直在做 Omarchy,这个几天前刚发布的版本叫 Quatro。几乎从一开始我就在做那个版本,智能体的加速接近 100%,而在过去两个月里它一直是 100%。Quatro 中发布的任何代码都不是我手写的。我审查了所有代码的结构。

The Linux distribution is why I've gotten 100% AI pilled. Because I've been working on Omarchy for the last three months, this version that just dropped a few days ago called Quatro. And almost right from the beginning I'm working on that version, the agent acceleration neared 100%, and in the last two months it has been 100%. I have not written any of the code that's shipped in Quatro by hand. I've reviewed the shape of all of it.

Host

真的吗?

Really?

DHH

……Quatro 中发布的任何代码都不是我手写的。我审查了所有代码的结构。

... any of the code that's shipped in Quatro by hand. I've reviewed the shape of all of it.

代理加速与Basecamp 5 Agent Acceleration and Basecamp 5

DHH

我审查了系统模型层中任何关键部分的每一行代码,但我没有看大量的 UI 代码。我也没有看大量的辅助代码,而且我没有完全手工编写任何新功能。但是,在 Web 部分,实际上,演进 Basecamp 和 Hey,这些拥有大量用户且代码库相对较大的专业产品,被证明要完全用智能体加速是出奇地棘手。我们不久前刚发布了 Basecamp 5。那是 37signals 第一款真正由智能体加速的产品。因为我们从大约二月份就进入了最后的冲刺阶段。那时,智能体已经很好了。我们有过一阵早期的热潮,觉得“问题解决了。我们可以让设计师来做编程。他们知道自己想要什么功能。他们知道想要什么形态。就让他们——让他们凭感觉来。”我们让他们凭感觉来。结果我们得到了大量的 PR,单独看每一个也许在某个瞬间是合理的,但合在一起,却摧毁了系统的架构。我们实际上不得不手动清理,用人工的手来收拾残局,才能回到一个感觉连贯一致的架构。所以我们还有一点那种——顺便说一句,那是二月份的事。现在情况已经大不相同了。

I've reviewed the individual lines of anything that's critical in the model layer of the system, and I've not looked at a bunch of the UI code. I have not looked at a bunch of the auxiliary code, and I've not written any of the new functionality entirely by hand. But then the web part, actually evolving Basecamp and Hey, our professional products that have lots of users and are relatively large code bases, have proven surprisingly tricky to fully accelerate with agents. We just released Basecamp 5 not too long ago. That was the first product at 37signals that was really agent accelerated. Because we were in this final sprint phase from around February. By then, agents were already good. And we had this early surge of, "It's solved. We can just have the designers do the programming. They know what features they want. They know what shape they want it to take. Let's just-- Let them vibe." And we let them vibe. And we ended up with a lot of PRs that individually perhaps could have been justified for a hot moment, taken all together, destroyed the architecture of the system. And we actually had to clean up manually, mop it up by hand, by human hand, to get back to an architecture that felt cohesive and coherent. So we still have a bit of that-- that was February, by the way. Things are quite different now.

Host

嗯,等一下。从中得到的教训是什么?其中一个教训是不是,在这个阶段,你必须是一名程序员才能凭感觉写代码?

Well, hold on a second. What's the lesson from that? Is one of the lessons from that that you have to be a programmer at this stage to be able to vibe code?

DHH

要在现有的大型代码库上凭感觉写代码,即使这些代码库很粗糙,如果你想保留让系统走到今天的那种架构元素,你就得是程序员。

To be able to vibe code on existing substantial code bases, even if they're crud, if you wanna retain the element of architecture that got that system to where it was.

Host

我明白了。

I see.

DHH

这也是我多次强调的一点:当人们指责凭感觉写代码的人是垃圾生成器时,我会直接反驳他们说:“你看过普通程序员的产出吗?”那也是另一种垃圾。如果你看过许多伟大公司的幕后,看看他们的代码库在经历了 3000 个人之后是什么样子,那真是糟糕透顶。绝对糟糕。

Now, that's also a point where I've stressed many times that when people accuse vibe coders of being slob generators, I go right back at them and say, "Have you looked at the average programmer's output?" That is some other slob too. If you've looked at behind the scenes of many great companies and what their code bases look like after there's been 3,000 humans through them, they're awful. Absolutely awful.

Host

你能告诉我你的直觉吗?我似乎只是退后一步,观察我们都依赖的各种应用,比如 Adobe Photoshop 这类东西。那里的开发进展似乎并没有加速。那么,为什么?你能从 Basecamp 这样成熟、拥有庞大用户基础的产品中得出什么教训?为什么我们没有看到这些成熟应用的新更新、新功能之类的东西出现超快速的增长?

Can you tell me the intuition you have? I seem to just, stepping back and observing the different apps that we all rely on, I don't know, Adobe Photoshop, all this kind of stuff. There seems to be the progress on development there has not accelerated. So why is it, what lessons can you draw from Basecamp, like well-established, huge user base? Why aren't we seeing, like, super rapid increase in, like, new updates, features, all this kind of stuff in these well-established apps?

DHH

原因有很多。我先说最关键的第一个。一旦你让人类团队一起做某件事,瓶颈很少是实现本身,而是人力的带宽和沟通。当你有一个产品经理、几个设计师、他们上面一个副总裁、再上面一个 CTO,每个人都想参与塑造过程,因为我们都在证明自己为什么在这里,那就是生产力消亡的地方。过去三个月在 Omarchy 工作的启示是,要获得那种神奇的 10 倍、100 倍,少数情况下 1000 倍的生产力提升,你必须直接与智能体互动,你不能用另一个人来中转这种带宽,因为那实在太慢了。一方面,这有点令人沮丧。我的意思是,我喜欢人类,一起工作很棒。但这也意味着,如果由人类驱动,并且你有三层审批和大公司的所有其他机制,我们需要调整对这些智能体能力的期望。实现部分只是其中一小部分。我要说的另一件事是,大多数组织不知道自己想要什么。他们不知道如何做得更好。他们的瓶颈不是实现,而是想法。他们的瓶颈是愿景,是品味。如果你的这些元素没有超过你的实现能力,那也没用。所以你可以让很多糟糕的想法成真,然后呢?你要发布那个吗?那听起来像是,我不知道,微软出来的东西。那不是我们想要复制的。那个过程实际上并不是……因为我们已经有了这个。如果你退一步想想那些庞大的组织,他们拥有数万名程序员。我的意思是,我这里是在挑微软的毛病。我有时也喜欢微软,但在这个案例中我要挑它的毛病,因为他们几十年来拥有无尽的资源、无尽的编程能力,对吧?这向我们展示了,仅仅能写大量代码并不能产生出色的、引人注目的软件。另外,我们拥有这种能力大约六个月了。在人类内化正在发生的事情的生命周期中,这并不长。而且我觉得有趣的是,对 AI 的批评是,为什么它没有更快?你在说什么?我们没有任何其他形式的进步能像 AI 一样快,而你却因为过去三个月我们没有重写整个世界,让它变成软件美好的乌托邦而不耐烦?

Multiple reasons. I'll start with the first one that's the most critical. As soon as you're having human teams work together on something, the bottleneck is rarely implementation. It's human bandwidth and communication. When you have a product manager and a couple of designers and a VP above them and a CTO above them, and everyone wants to be part of the shaping process because we're all justifying why we're here, that's where all the productivity goes to die. The revelation I've had working on Omarchy the last three months is that to get that magical 10X, 100X, in a few rare cases, 1000X productivity boost, you have to interact with the agents directly, and you cannot intermediate that bandwidth with another human because it's simply too slow. And on the one hand, that's a bit of a bummer. I mean, I like humans, and it's great to work together. But it also means we need to temper our expectations with what these agents can do if it's humans driving it, and you have three layers of approval and all the other machinery of a large corporation. The implementation part is only a small segment of it. The other thing I'd say is that most organizations don't know what they want. They don't know how to make it better. They're not bottlenecked on implementation. They're bottlenecked on ideas. They're bottlenecked on vision. They're bottlenecked on taste. And if you don't have those element in excess of your implementational capacity, it doesn't help. So you can make a lot of shitty ideas come true, then what? Are you gonna ship that? That sounds like, I don't know, something coming out of Microsoft. That's not what we're trying to replicate here. That process is not actually... Because we already had this. If you step back for a moment and think of the towering organizations we have who have had tens of thousands of programmers at their disposal. I mean, I'm picking on Microsoft here. I love Microsoft some of the time, but I'll pick on them in this case because they have had endless resources, endless programming capacity for decades, right? This is what's showing us that just being able to write a lot of code does not produce great compelling software. Now, the other thing is we've had this capacity for about six months. That's not very long in human life cycle capacity of internalizing what's going on. And I think it's actually funny that the critique of AI is, why isn't it going faster? What are you talking about? We've not had any other form of progress that has moved as fast as AI, and you're impatient because in the last three months we haven't rewritten the whole world and made it a utopia of software goodness?

Linux与创新者困境 Linux and the Innovator's Dilemma

Host

你基本上是在说,现在每个人都应该切换到 Linux。其中一个论点是,我们可以用 Linux 重写所有在 Linux 上不可用的软件。Linux 多年来一直是我一生的挚爱,但我仍然依赖 Windows 以及现在的 Mac 的原因之一是视频编辑,Premiere。

You're basically saying everybody should be switching to Linux now. One of the arguments is, like, we can rewrite all the software that's not available in Linux in Linux. Linux has been the love of my life for many years, but one of the reasons I'm still attached to Windows and now, uh, Mac is because of video editing, Premiere.

DHH

我们会解决这个问题的。但是——

We're gonna fix that. But-

Host

所以问题是,谁来为 Linux 构建 Premiere 和 Photoshop?感觉现在一个人就能做到。

So the question is, who's gonna build Premiere and Photoshop for Linux? And it feels like one person can now.

DHH

100% 一个人就能做到。

100% one person can.

Host

所以,而且我可以不耐烦。事实上,我或任何其他人,不耐烦是自己动手做的第一步,对吧?就像——

And so, and I'm allowed to be impatient. In fact, me or anyone else, impatience is the first step of doing it yourself, right? Like-

DHH

没错。

Correct.

Host

……而且有成千上万的人使用 Adobe Premiere 或 DaVinci 这些非线性视频编辑器,他们都知道这些挫败感。每个人都感同身受。你可以看看 Reddit,看看论坛。每个人都知道。呃,我不知道那是什么。可能是管理,可能是会议。你一直讨论的所有那些公司内部的官僚主义,它们拖慢了功能开发的步伐。但感觉上——如果你让一些开发者带着一堆智能体自由发挥,你就能解决所有问题。但同样,根据你所说的一切,也许做到这一点的方法是从头开始,也许通过开源,或者有人创办一家新公司,而在大公司内部,现在很难通过让开发者直接构建来真正加速进入智能体时代。

... and there's a community of tens of thousands of people that use Adobe Premiere or DaVinci, all these non-linear video editors, that know the frustrations. Everybody shares them. You can look at Reddit. You can look at the forums. Everybody knows it. Uh, I don't know what it is. It may be the management. It may be the meetings. All the things you've always discussed is the, The bureaucracy that's inside companies that's slowing everything down in the development of features. But it feels like there-- if you just let some of the developers loose with a bunch of agents, you can fix all that. But again, based on everything you're saying, maybe the way to do that is to start over from scratch, maybe through open source, or somebody launches a new company that within large companies now it's hard to, to really accelerate into the agentic era by letting developers just build.

DHH

这是经典的创新者困境。这些公司在旧方式上已经变得如此出色、如此成熟,因此它们的整个结构、管理层级、流程都是为一个不再存在的时代而调整的。

This is the classic innovator's dilemma. These companies have gotten so good, so established at the old way, and therefore their entire structure, management layers, processes are tuned for a time that no longer exists.

平台转变与代理机遇 Platform Shift and the Opening for Agents

DHH

但你没法掉头。这些是超级油轮,根本转不了弯。这就是为什么科技行业终于开始闹腾了。有一阵子,我对苹果和谷歌在移动端的双头垄断非常不满,因为移动端感觉是我们最重要的计算平台,而我看不到任何一条路能撼动谷歌或苹果坐在顶端、控制一切、收过路费。但游戏规则变了。这不再是那个最重要的平台了。手机很重要,但还有很多其他形态正在涌现,比如眼镜、耳机,或者其他什么。现在一切都还在博弈中,但计算平台本身,可能是 40 年来第一次真正处于博弈之中。看看桌面端,Linux 从 91 年就有了,在桌面上并没有起飞或接管。它接管了其他一切。你桌上的所有设备,你的冰箱、你的烤面包机,全都跑 Linux,除了你的电脑。现在,有趣的是,你的安卓其实也是 Linux,只是被包装得你根本认不出来。但现在出现了一个缺口,而这个缺口正如你所说。如果你依赖某个软件,它把你绑定在 Windows 上,那么你个人完全有能力开始重写它。也许你做不到 100% 覆盖,但这就是关于 Microsoft Office 的老笑话:“我只用 5%。”是啊,但我们每个人用的 5% 都不一样。那如果我们每个人都构建自己的 5% 呢?如果我只需要我需要的功能,然后就去实现它呢?这是一个完全不同的挑战,而智能体现在、今天就能极其出色地完成它,我已经反复做过很多次了。

But you can't pivot that. These are super tankers. It just doesn't happen. This is why we're finally getting this upset in the technology industry. For a while, I was very upset about the duopoly between Apple and Google on mobile, because it felt like mobile was the most important computing platform that we had, and I could not see a path to unseat either Google or Apple sitting on top of that, controlling everything, taking their toll booth money. But the game has changed. This is no longer the most important platform. Mobile phones are important, but there's also a lot of other form factors coming, whether it's glasses or earpieces or whatever else have you. It's all in play now, but the computing platforms themselves are in play for the first time in probably 40 years, if you look at the desktop. Linux has been around since '91. It's not taken off or taken over on the desktop. It's taken over everything else. All the devices you have on your desk, your fridge, your toaster, everything runs Linux, except for your computer. Now, funnily enough, your Android is actually Linux, but wrapped so sufficiently that you can't really recognize it. But now there's an opening, and the opening is exactly as you say it. If there's a piece of software you depended on that bound you to Windows, it is completely within reach for you personally to start rewriting it. And maybe you won't get to 100% coverage, but this is the old joke about Microsoft Office. "I only use 5%." Yeah, well, we all use a different 5%. Well, what if we all just build our own 5%? What if I just took the functionality that I need and just did that? That is a completely different challenge and one agents are incredibly capable of doing right now, today, and I've done it a lot of times over.

用代理成为多语言程序员 Becoming a Polyglot Programmer with Agents

DHH

所以,我在最新的智能体参与中发现的一件神奇的事情是,我变成了一个多语言程序员,这在以前绝对不可能。我首先是一个 Ruby 程序员,然后偶尔在需要时碰一点 Bash。而在过去两个月里,我写了 C++。我写了三个已经随 Omarchy Quattro 发布的应用。我写了一个写作应用。我之前在用一款叫 Typora 的应用,那是一款非常好的应用。

So one of the amazing things I've found with the latest agent engaged is I have become a polyglot programmer, something I was absolutely not before. I was a Ruby programmer first and foremost, and then I dabbled a little bit in Bash when I had to. And in the last two months, I've written C++. I've written three applications that have shipped in Omarchy Quattro. I wrote a writing app. I was using this app called Typora, which is a very nice app.

Host

很棒,很棒的应用。

Great, great app.

DHH

它本身又是基于另一款叫 iA Writer 的应用,那是我在 Mac 上真正钟爱的应用,用于干净、简单的 Markdown 写作环境。我所有的文章都是在那里写的。后来我转到 Linux,没法用 iA Writer,于是换到了 Typora 这个工具。它是一款共享软件,有很多我根本不需要的功能。大约六七周前,我想:“你知道吗?我只需要 Typora 的 5%。”而它已经是一款基础应用了。我直接告诉智能体开始干,我希望用 C++ 和 Qt 写,因为那会和我用 Quattro 构建的美学很契合。我想,大约 20 分钟后,它就有了第一个版本。我开始使用,发现不太对。两天之内,我就放弃了 Typora,从那一刻起,我所有的文章都是在 Omawrite 里写的。

Which in itself is based on another app called iA Writer, which was my real love on the Mac for a clean, simple Markdown writing environment. That's where I write all my essays. And then I moved to Linux, and I couldn't get iA Writer, so I moved over to this other tool called Typora. It was a piece of shareware, and it had a lot of features I just didn't need. And about six weeks, seven weeks ago, I thought, "Do you know what? I only need 5% of Typora," which is already a basic app. I literally told the agent to get going, that I wanted it written in C++ and Qt, because that would fit well with the aesthetic of what I was building with Quattro. And in, I think, about 20 minutes, it had the first version. I started using it, and it wasn't quite right. Within two days, I'd given up Typora, and I wrote and have written all of my essays since that moment in Omawrite.

从个人工具到产品:扩展建议 From Personal Tool to Product: Advice on Scaling

Host

我能请教一下你的建议和愿景吗?我发现,用智能体,你确实可以写出像 Typora 替代品这样的东西,完美地定制给你,满足你的需求。

Can I ask for your advice and your vision about something? So what I find with agents, you can actually write something like a replacement for Typora that is perfectly customized to you, to your needs.

DHH

没错。

Correct.

Host

只考虑一个用户。然后有一个版本,从一个用户开始,但扩展到更大的受众。所以我实际上写了很多只为我自己的软件,我发现这样做更容易,也更能解决我的问题。比如,我写了一个视频编辑器,只为我自己的话非常容易。我从来没有,不像你,构建过被大量人使用的东西,我觉得这有点可怕和令人生畏。所以,在这个智能体时代,你如何迈出一步,真正构建一个解决你问题的东西——我认为这是一种美丽的构建方式——同时扩展到对其他人也有用?比如,你有什么建议吗?你也看到这个问题了吗,就是为自己构建一个工具太容易了?

With just one user in mind. And then there's a version of that that starts with one user in mind but expands to a larger audience. So I've actually written a large number of software just for me, and I find it easier to do and better to get my situation done. For example, I have a video editor I've written, which is very easy to do just for me. I've never, unlike you, built something that's used by a large number of people, and I find that a bit scary and intimidating. So, like, at this, with this agentic age, how do you take a step to actually build something that solves your problem, which I think is a beautiful way to build, but also expand it to actually useful for other people? Like, is there advice you can give, and do you also see the problem of how easy it is to just build a tool for yourself?

分享的简单性与开源改革 The Simplicity of Sharing and the Open Source Reformation

DHH

是的,但比你想象的要简单。当你为自己构建完工具时,你只需告诉智能体把它放到 GitHub 上。你甚至不需要做任何其他事情。它会自己想办法把仓库放到 GitHub 上。它会写一个漂亮的 README。它会开始使用 GitHub Releases 来跟踪事情。它实际上会成为一个比你更好的软件维护者,因为它比你更有耐心,在管理开源软件的琐碎工作上比你更勤奋。而你就可以继续享受使用自己构建的软件的乐趣,并按你认为合适的方式去演进它。现在,这就进入了我们在开源界争论已久的大问题:AI 的贡献对维护者是好是坏?现在有很多维护者非常不满,因为他们突然收到大量拉取请求,来自可能不是最好程序员、甚至根本不是程序员的人的贡献。我看到这个争论,心想:“你在开玩笑吗?”这里有一条免费贡献的矿脉,你可以接受也可以不接受,但你却在抱怨它们存在?这听起来就像“我的牛排太嫩了,我的龙虾太黄油了”。你在抱怨什么?这是最神奇的事情。这是我们长期以来宣称的开源的魔力,我们都能为它做贡献,但当然,这从来都不是真的。只有一小部分人贡献开源,那就是那些技术高超的巫师。所以这是一个宗教改革的时刻。我们曾经有我们和计算机之间的去中介化,那是一群被称为程序员的牧师和神职人员,突然他们被去中介化了——是 1500 年代路德的《九十五条论纲》钉在门上的吗?其中一条非常明确地关于中介化,即你应该直接接触更高的智能。

Yes, but it is simpler than you think. By the time you're done building the tool for yourself, you simply tell your agent to put it on GitHub. You don't even have to do anything else. It will figure out how to put that repo on GitHub. It'll write a nice README. It'll start using GitHub releases so that you can track things. It'll actually be a better software maintainer than you could ever be, because it is far more patient, it is far more diligent in doing the drudgery of managing open source software than you are. And you can simply get on with the joy of using the software that you built and evolving it as you see fit. Now, this gets into the big argument we've been having in open source for a while. Is AI contributions good or bad for the maintainer? There's a lot of maintainers right now who are quite upset about the fact that they're suddenly getting a huge influx of pull requests, of contributions from people who may not be the best programmers or programmers at all towards their software. I look at that argument and go, "Are you kidding me?" Here is a vein of free contributions that you can take or don't take, but you're complaining about the fact that they're there? It sounds straight out of "My steak is too juicy and my lobster too buttery." What are you complaining about? This is the most amazing thing. This is what we proclamated for so long was going to be the magic of open source, that we could all contribute to it, but it was, of course, never true. There was only a small subset of people who contribute to open source, and that was the very highly skilled wizards. So this is a bit of a reformation moment. We had this disintermediation between us and the computer, and it was this class of clerics and priests called programmers, and suddenly they're being disintermediated here by was it the 95 theses by Luther in 1500s, nailing them to the door? And one of those was very clearly about the intermediation, that you should have direct access to the higher intelligence.

巫师角色与程序员现实 The Role of Wizards and the Reality of Most Programmers

Host

嗯。但你难道不需要巫师来保持代码库的高水准吗?

Mm-hmm. But don't you need the wizards to keep a high bar of excellence in the code base?

DHH

100% 需要,这也是开源界一直以来的事实,这是第二个真正让我恼火的论点。我运营开源项目已经 25 年了。我真的看过成千上万,甚至数万名程序员的产出。我觉得我有统计基础来断言:大多数程序员,他们很烂。我不是说听起来那个意思。这就是为什么我在这里停顿了一下。我的意思是,他们烂在不会写我想写的代码。他们不会准备包含所有相关信息的 bug 报告。他们不会在拉取请求中详细说明为什么。

100% you do, which is also something that's always been true about open source, which is the second argument that really grinds me. I've been running open source projects for 25 years. I have literally looked at the output of thousands, if not tens of thousands of programmers. I feel like I have the statistical basis to assert that most programmers, they suck. And I don't mean that in the way it sounds. That was why I paused for a hot second here. I mean, they suck in the sense that they don't write the code I want to have written. They don't prepare their bug reports with all the relevant information. They don't detail their pull requests with the why.

代理编写的PR与人类贡献 Agent-written pull requests vs human contributions

DHH

他们懒得补上必要的代码注释,不复查自己的工作,不写单元测试,也不做那些打造好软件所需的一切。但你知道谁会做这些事吗?智能体,只要你告诉它们。它们非常勤勉地遵循你的指示,大多数时候如此,有时甚至过于死板。但这实际上意味着,如果你拿普通程序员和他们对一个普通开源项目提交的拉取请求来看,他们已经被智能体超越了。我宁愿收到一个由智能体写的拉取请求,也不愿收到人类写的,这不仅是因为质量更好,还因为如果我直接拒绝它,我不会感到那么内疚。你甚至都没写它,所以我只需看看你的智能体替你写了什么,然后说:“嗯,不想要。”这在开源界一直如此,事实上,我认为这正是开源维护者的问题之一。他们背负了太多神经质和焦虑,以至于把任何贡献都视为自己的义务,必须竭尽全力让它进入代码库。这完全不对。你可以直接说“不”,或者更好的是,说“不,谢谢”。一旦你意识到你的项目可以按照你的愿景、你的路线图来存在和发展,在智能体时代拒绝你不想要的贡献就变得容易得多,因为你甚至不会给人类带来不便或伤害感情。它只是个“铁疙瘩”,而“铁疙瘩”不会介意。事实上,“铁疙瘩”的生产者,也就是那些实验室,很喜欢你白白消耗 token。他们照样收钱。所以,在我看来,这是成为开源软件维护者的绝对最佳时机。我们不仅获得了大量由智能体写就、所有选项都打勾的精彩拉取请求,还能挖掘到那些以前无法为项目做贡献的人的创造力。我运营 Omarchy 项目已经一年多了,而在过去三个月里,在开发 Quattro 的过程中,我合并了超过 1000 个拉取请求。其中相当一部分是由非传统程序员写的,或者是在其他领域工作的程序员,不是搞 Linux 操作系统或发行版开发的。他们因为智能体而能够贡献自己的好点子,而我得以从中挑选出最好的……因为那些点子就在那里。否则,这些想法只会留在他们脑子里。再说一遍,开源的目的不就是挖掘整个地球上所有人的集体智慧和创造力,并将其导向一个我们都能从所有人的共同努力中受益的公共资源吗?目前,Omarchy 上大约有 400 个未合并的拉取请求,比一周前翻了一番。所以加速是真实的,工具也是。我不再审查每一个拉取请求了,我已经有一段时间没这么做了。我让智能体替我审查,然后它们会给我一个摘要,告诉我某件事是否已经准备好做决定,人类做决定。该合并还是不该合并?我不需要看那些错误的、重复的、糟糕的拉取请求。智能体可以替我把那些糟粕筛掉。我只需要看那些珍珠……那些准备好上马的好点子,那些智能体已经替我在虚拟机里验证过的 bug 修复。复制和管理开源项目的所有苦差事正以闪电般的速度消失,我们只剩下那些金色多汁的部分,软件开发中的骨髓……决定这个东西应该做什么,以及它应该往哪里去。

They don't bother to fill in needed code comments. They don't double-check their work. They don't write unit tests. They don't do all of these things it takes to create good software. But do you know who'll do all that stuff? Agents, if you tell them to. They're very diligent at following your instructions, most of the time, sometimes to a fault. But it actually means that if you take the median programmer and their pull requests towards an average open source project, they're already getting outclassed by agents. I would rather get an agent-written pull request to one of my projects than I'd get one written by a human, and it's not just because the quality's better. It's also because I feel a lot less bad if I just reject it. You didn't even write it, so I can simply look at what your agent wrote on your behalf and go, "Eh, don't want it." That's always been true in open source, and in fact, I think this is one of the problems with open source maintainers. They have way too much ball of neuroticism and anxiety that requires them to look upon any contribution as an obligation on their part to do everything to get that to land in the code base. That's not true at all. You can simply say, "No," or even better, you can say, "No, thank you." And if you get into the mode of realizing that your project is allowed to exist and evolve according to your vision, according to your roadmap, it becomes so much easier in the agentic age to decline the contributions you don't want because you don't even inconvenience or hurt the feelings of a human. It's just a clanker, and the clanker won't mind. In fact, the producers of clankers, the labs, love when you spend tokens in vain. They get paid just the same. So, in my opinion, this is the absolute best time to ever have been an open source software maintainer. Not only do we get this wealth of glorious pull requests made by agents with all the boxes ticked, we also get to tap into a creativity of people who did not have access to contribute to a project before. I've been running the Omarchy project now for a little over a year, and in the last three months working on Quattro, I have merged over 1,000 pull requests. Quite a lot of those pull requests were written by people who were not classical programmers, or were programmers in other domains, not Linux operating system or distribution development. They were able to contribute their good ideas because of agents, and I got to cherry-pick the very best of that... because it was there. Otherwise, those ideas would just have lived inside their heads. Again, that is not the purpose of open source, that we tap into the collective intelligence and creativity of the whole goddamn planet, and we channel that towards a commons where we all benefit from the combined efforts of everyone. Now, there's currently, I think, about 400 unmerged pull requests on Omarchy, about double what it was a week ago. So the acceleration is real, but so are the tools. I'm not reviewing every pull request anymore. I haven't been reviewing them for quite some time now. I have the agents review them for me, and then they will give me a summary about whether something is ready for the decision, the human decision. Should we merge or should we not merge? I don't need to look at all the pull requests that are either wrong, duplicated, bad. An agent can sort that chaff away from me. I just get to look at the pearls... the good ideas that are ready to go, the bug fixes that the agent has validated in a VM on my behalf. All the drudgery of replicating and managing open source projects is evaporating at lightning speed, and we are left with the golden juicy parts, the bone marrow of software development... deciding what should this thing do and where should it go.

好主意源自人类吗? Do good ideas originate from humans?

Host

你觉得那些好点子,最终好点子的核心是源于人脑吗,也就是那些个体贡献者?比如,这能由智能体完成吗,还是说拉取请求最终需要人类的点子?比如如何改进 Omarchy,那些涌进来的……还是说这一切都可以只是一个智能体池?

Do you think the good ideas, ultimately the kernel of the good ideas originated in the human mind, so the individual contributors? Like, can it be done by agents, or is the PR ultimately requires a human idea? Like how to improve Omarchy, all those incoming... Or can it all just be a pool of agents?

DHH

那是我在第一个智能体时代(从 11 月 24 日到 2 月 28 日)对智能体的思考方式和模式。我以为所有点子都会源于人类。他们会告诉自己的智能体要构建什么,然后它们就出发了。我现在完全不这么认为了。我见过你们这些人无法相信的东西,从模型里涌现出的点子如此伟大,让我这个自诩有好点子的人都感到谦卑。智能体在创造性思维方面能力惊人,而那些仍然固守“智能体是鹦鹉”的分析、认为它们只是在复述已有想法的人,对过去六到九个月取得的进展是妄想。

That was the mode and the way I was thinking about agents in the first agentic age from November 24 to February 28. I thought all the ideas would originate with the humans. They would tell their agents what to build, and off they went. I don't think that's true anymore at all. I have seen things you people wouldn't believe, ideas coming out of models so great that it makes me humble... as a person who otherwise prides himself on having good ideas. The agents are incredibly capable of creative thought, and folks who are still stuck in the analysis that agents are parrots... just regurgitating the ideas that are already there are delusional about the progress that's been made in the last six to nine months.

为AI精神病论点辩护 Steel-manning the AI psychosis argument

Host

所以现在听你说话的一些人会说,DHH 患上了老式的 AI 精神病。你能为“你实际上正处于一种妄想状态,就像《飞越疯人院》里那样”这个论点做最强辩护吗,然后你能反驳它吗?

So some people listening to you right now will say DHH is suffering from the old case of AI psychosis. Can you steel man the case that you are in fact experiencing in a state of delusion, like One Flew Over the Cuckoo's Nest, and can you argue against it?

DHH

我正处于一种谵妄状态。这就是我现在的状态。因为我和电脑打交道 40 年了,我从未见过在过去两个月里看到的那些东西。整个职业生涯,整个一生都致力于对电脑的热爱,把它作为我工作时间甚至更多时间的主要焦点,突然之间被彻底颠覆,彻底重写。我当然谵妄了。看到这个现实的人谁不是呢?如果你不谵妄,或者至少不非常兴奋……实际上,我觉得这甚至都不对。如果你没有认识到这一刻的严重性,那才是妄想。那才是精神病。精神病是相信世界几乎没变,我们只是有一些电子鹦鹉在给我们背诵东西。在我看来,这个论点之所以被提出来,是因为人们看不到进步的成果。这正好呼应了你之前的观点。那些惊人的软件在哪里?为什么美国 GDP 没有以每年 12% 的速度增长?首先,给它一点时间。这还没到一年呢,天哪。但其次,我觉得就我自己而言,我确实端出了布丁。Omarchy Quattro 周五发布了,已经被数万人下载。他们喜欢它,非常喜欢。

I'm in a state of delirium. That's what the state I'm in. Because I have been working with computers for 40 years, and I've never seen the things that I've seen in just the last two months. A whole career, a whole life dedicating to the love of computers as my main focus for the working hours and then some, suddenly completely upended, suddenly completely rewritten. Of course I'm delirious. Who looking at this reality is not? If you are not delirious or at the very least very excited... Actually, I guess that's not even true. If you're not recognizing the gravity of the moment, that's the delusion. That's the psychosis. The psychosis is believing that the world is barely different. We just have some electronic parrots reciting things to us. Now, in my opinion, the reason this argument is actually brought up is because people are not able to see the fruits of the progress. That goes to your point earlier. Where is the amazing software? Why isn't American GDP running at 12% year over year? First of all, give it a minute. It hasn't even been a year, goddammit. But second of all, I feel on my own account, I have actually brought the pudding. Omarchy Quattro launched on Friday. It's been downloaded by tens of thousands of people. And they like it. They like it a lot.

介绍Omarchy与Quattro Introducing Omarchy and Quattro

Host

我们应该提一下,这里查一下 Perplexity,Omarchy 是一个高度有主见的基于 Arch Linux 的桌面发行版,以 Hyprland Wayland 平铺合成器为核心。它由 David Heinemeier Hansson(DHH)创建,作为一个精致的开发者工作站,具有统一的视觉风格,并且已经配置了许多日常工具。

We should mention that going to Perplexity here, Omarchy is a highly opinionated Arch Linux-based desktop distribution centered on the Hyprland Wayland tiling compositor. It was created by David Heinemeier Hansson, DHH, as a polished developer workstation set up with a cohesive visual style and many everyday tools already configured.

DHH

让我这么说吧。Omarchy 是一个美观、现代且有主见的 Linux 系统。它是 macOS 和 Windows 的替代操作系统,而且它简直太棒了。

Let me put it. Omarchy is a beautiful, modern, and opinionated Linux system. It's an alternative operating system to macOS and Windows, and it's freaking amazing.

Host

而 Quattro 这件事,是你在推动进入智能体时代。

And the Quattro thing is you're pushing towards the age of agents.

DHH

没错。

That's right.

Omarchy的起源与演变 Omarchy's Origin and Evolution

DHH

那是我们刚发布的最新版本,也挺有意思的。Omarchy 项目其实才刚满一年多一点。我是去年夏天在勒芒 24 小时耐力赛的间隙开始做的,当时我看了太多关于 Linux 崛起的 YouTube 视频,被那个 bug 给咬了。我开始着手这个第二次迭代,试图打造一个更好的 Linux 操作系统。上次我们聊过的第一个迭代叫 Omakub,是建立在现有系统 Ubuntu 之上的,当时觉得还行。但我能倾注到新版本 Omarchy 里的雄心,因为我从技术栈往下深挖了七层,完全不一样了,但它仍然是在一个前智能体时代完成的。一开始我手写了所有那些批处理脚本,然后我看到了中途的转折点。我做了几个版本的 Omarchy,有部分智能体加速,然后三个月前,它全速运转,100%,所有东西都由智能体编写,但由我来掌控。那最终变成了一种非常不同的体验,也是一个非常不同的操作系统,因为我突然被赋予了我野心的无限上限。我可以看着 Windows、Mac、其他 Linux 系统上的任何功能说,“我想要那个”,然后智能体就会交付。所以我想要的一切突然触手可及,这意味着我有点得意忘形了。谁不会得意忘形呢,如果突然有个精灵从瓶子里冒出来说:“你可以拥有任何你想要的东西。你在操作系统里梦想过的每一个功能——我都能给你,大多数五分钟内,少数二十分钟,如果我们真的放开手脚,那得花我两个小时。”

That's the latest version that we just dropped, which is also funny. The Omarchy project is only a year old and a little bit. I started it last summer in between sessions at the 24 Hours of Le Mans, where I had watched one too many YouTube videos on Linux Rising and got bitten by that bug. Started working on this second iteration of my attempt at creating a better Linux operating system. The first iteration we talked about last time was called Omakub, was built on top of an existing system called Ubuntu, and it was fine. But the ambition I was able to pour into the new version, Omarchy, because I started seven layers deeper down the stack, was completely different, but it was still done in a pre-agentic world. I wrote all those batch scripts by hand in the beginning, and then I got to see the midway point where things changed over. I did a couple of versions of Omarchy that had partial agent acceleration, and then three months ago, it was full throttle, 100%, everything is written by agents but steered by me. And that just ended up being a very different experience and a very different operating system because I was suddenly granted a limitless ceiling on my ambition. I could look at any feature in Windows, on Mac, on other Linux systems and say, "I want that," and the agents would deliver. So everything I wanted was suddenly within reach, which meant that I got a little delirious. Who would not get delirious if suddenly a genie pops out of the bottle and says, "You can have whatever you want. Every feature you've ever dreamed of in an operating system—I can deliver them to you, most of them in five minutes, a few in 20, and if we really go hog wild, it's gonna take me two hours."

Host

嗯哼。你看过《梦之安魂曲》这部电影吗?

Mm-hmm. Have you seen Requiem for a Dream, the movie?

DHH

所以这里有一种类似药物的效应。我个人觉得——我们会从很多层面讨论这个,但突然之间被赋予如此巨大的力量,真的让人不知所措,而且很难知道,就像《霍比特人》里那样,该怎么处理它。我发现自己真的被多任务处理压得喘不过气来,几乎快要精疲力竭了。对很多事情超级兴奋,但最终回头看,你想要专注于一件事并真正交付——我没有那种感觉。

So there's a drug-like effect here. I find it personally—We'll talk about many levels of this, but it is overwhelming how much power is placed in our hands so suddenly, and it's very hard to know, it's like with "The Hobbit" or something, what to do with it, and I find myself truly overwhelmed with the multitasking, on the verge of almost burnt out. Super excited about so many things, but ultimately looking back, you want to focus on one thing and really ship—I don't have that sense.

Host

我没有那种不知所措的感觉。我没有那种恐惧感。我没有那种扭曲感,因为我有使命。我有方向,因此,我可以把所有这些新力量引导到——

I don't have the sense of overwhelm. I don't have the sense of dread. I don't have the sense of distortion because I have a mission. I'm going somewhere, and therefore, I can channel all this new power towards—

DHH

是的,这太棒了——

Yeah, it's wonderful—

Host

……一个单一的目标和结果,创造完美的计算机。因此,我所有关于 AI 的探索都朝着那个目标。现在,我也有日常工作。我们在那里也使用智能体,那也是针对特定结果的。但通过 Omarchy 的体验,我得以直接接入我大脑的后部,增加了想法到达大脑和软件出现在屏幕之间的带宽。就像从拨号上网升级到光纤。

...a singular goal and outcome, creating the perfect computer. And therefore, all my investigations with AI are focused towards that end. Now, I also have a day job. And we also use agents there, and that's also targeted towards sort of specific outcomes. But with the Omarchy experience, I got to tap in straight in the back of my head and increase the bandwidth between ideas arriving in my brain and software emerging on the screen. It was like going from dial-up to fiber.

DHH

我想在你的播客里,Elon 谈到了 Neuralink 和其他项目试图加速的实际人类带宽。比如,我们现在交流的带宽相当低,因为我们受到认知的限制。我们受到说话速度的限制。当你和一群智能体一起工作时,你不会受到这些限制。

I think on your podcast, Elon talked about the actual human bandwidth that Neuralink and other projects are trying to accelerate. Like, the bandwidth we're communicating over right now is quite low because we're limited by our cognition. We're limited by the rate of speech. You're not limited by those things when you're working with a swarm of agents.

Host

现在,让我先说明一下,如果我九个月前听到自己这样说话,我可能会用“AI 精神病”这个标签。我觉得那很贴切,因为九个月前人们这样说话时,他们并没有在交付,我认为这是最终的区别,有些人很早就看到了这一点。我实际上并没有那么早。正如我们谈到的,我当时相当怀疑,我在某些方面使用 AI,但我不是第一个下载 Claude Code 的人。我想 Boris 是在二月底发布的。我直到九月才安装 Claude Code。所以大约有六个月的时间,先驱者们看到了未来的这些微光。它还没有完全显现,因为智能还不够。工具还不够,但他们能看到微光。我看不到。

Now, let me caveat this by saying, if I'd heard myself talk like this nine months ago, I would probably have used the label AI psychosis. I think it would be fitting because nine months ago when people were talking like this, they weren't shipping, and I think that's the ultimate difference, that there were people who saw this early. I was not actually that early. As we've talked about, I was rather skeptical, and I was using AI in certain ways, but I was not the first person who downloaded Claude Code. I think Boris released that in end of February. I don't think I installed Claude Code until September. So there was about six months there where pioneers saw these glimmers of what the future was gonna look like. It wasn't there yet because the intelligence wasn't there. The harnesses weren't there, but they could see the glimmers. I couldn't.

DHH

Tobi,Tobi Lütke,Shopify 的 CEO,现在也是我在 Omarchy 项目上的同谋,他也对 Omarchy 上瘾了。他很早就看到了这些东西,他试图告诉我,但我没有看到。我没有看到他看到的东西。

Tobi, Tobi Lütke, the CEO of Shopify and now my partner in crime on this Omarchy project in part, he's gotten pilled with Omarchy as well. He saw these things very early, and he tried to tell me, and I wasn't seeing it. I was not seeing what he was seeing.

Host

你是个黑子。

You were a hater.

DHH

是的。我还在原地。而他……他已经登上火箭,正飞向太空。我其实记得读过他给公司的备忘录,那份 AI 备忘录,当时想:“啊,似乎有点过了。”就像,你在夸大一个我还感觉不到是实际存在的东西。因为它的输出在哪里?我试着用它。它写的代码我不喜欢。它总是想打断我。你从哪里得到这些的?

Yes. I was still on Earth. And he was... He had already boarded the rocket and was heading towards space. I remember actually reading his memo to the company, the AI memo, and thinking, "Ah, seems a little much." Like, you're making a big deal out of something that I cannot yet feel is a tangible thing. Because where's the output of this? I try using it. It writes code I don't like. It wants to interrupt me all the time. Where are you getting this from?

Host

呃,所以我理解。我完全理解。如果你没见过当前智能质量能产生什么,你当然会看着某人说:“他们听起来有点疯,”因为你到目前为止的所有经验都会告诉你他们疯了。因为如果你看看计算机编程的历史,过去四五十年,人们一直在承诺普通人只要说话就能写代码。我们会有第四代语言。Lisp 曾经被提出,Smalltalk 被呈现为这些环境,让普通人编写自己的应用程序,但除了像 Microsoft Access 数据库或 Excel 电子表格之外,这些都没有实现。那些是最终用户编程环境,但和我们现在能做的完全不一样。

Uh, so I get it. I totally get it. If you've not seen what the current quality of intelligence can produce, of course you're gonna look at someone and go like, "They sound a little nutty," because all your experience up until this point would tell you that they are nutty. Because if you look at the history of computer programming, for the last 40, 50 years, people have been promising that regular people could write code just by talking. We're gonna have fourth generation languages. Lisp was once upon a time presented, Smalltalk was presented as these environments that would let regular people write their own applications, and none of it came true in the sense beyond, like, Microsoft Access databases or Excel spreadsheets. Those are end user programming environments, but it's nothing like what we're able to do now.

DHH

然后,我的意思是,我甚至不是在谈论最终用户。我是在说我自己,一个编程 25 年的人,看到输出、加速和质量,然后交付它,我认为这将很快改变整个对话。少数仍然对这是否真的有用持观望态度的人,他们仍然被困在 25 年初关于机械鹦鹉的梗里,他们只会被即将涌来的证据淹没。

And then, I mean, I'm not even talking about end user. I'm talking as me, someone who's been programming for 25 years, seeing the output and the acceleration and the quality and then shipping it, and I think that's what's gonna change the entire conversation quite quickly. The few laggards who are still on the fence about whether this is actually useful, who are still trapped in a meme from early '25 about mechanical parrots, they're simply going to be overwhelmed by the evidence that's about to flood over them.

Host

所以我希望看到,像 Omarchy 这样的项目,有几个真的展示智能体优先。

So I hope to see, projects like Omarchy, several of them that, like, really show agent first.

DHH

它来了。所有这一切都会来。

It's coming. All of it is coming.

Host

在这些领域,在我已经提到的那些傻乎乎的领域,比如视频编辑,所有像 Typora 这样的应用——

In the spaces, in the silly spaces that I already mentioned, like video editing, all these kinds of apps that are like Typora—

DHH

是的。

Yes.

Host

……这类东西。

...this kind of stuff.

DHH

它会来的,我已经看到了早期的迹象。Omarchy 一个真正巧妙的特点是它有一个更强大的插件系统,允许你扩展你的操作系统,并通过创建你自己的插件来重写它的用户界面、面板和功能,这些插件可以从我们随系统附带的工具中克隆出来。

It's gonna come, and I've already seen the early inklings of this. One of the really neat features about Omarchy is that it has a far more robust plugin system that allows you to extend your operating system and rewrite it really in terms of its user interface and its panel and its features by creating your own plugins that can be cloned off of tools we ship in the box.

Omarchy插件市场增长 Omarchy plugin marketplace growth

DHH

举个例子,假设你想要一个不同的日历。Omarchy 自带一个日历。你点击那个小时钟,就会弹出一个日历,但它不支持 iCal,也不读取你的日程。这类实现已经有大约 17 个了,而三天之内,Omarchy 插件市场上就有了 330 个插件。在我参与过的任何项目里,我都没见过这样的增长速度,没见过这么广泛的参与,也没见过这么多人能在这么短的时间内创造出对自己有意义、同时也能被别人使用的软件。这一切都源于 Omarchy 自带的一套技能,它告诉任何你带来的智能体如何为操作系统创建扩展,从而让你看到真正可塑的愿景……我差点要说智能体式了。我恨那个该死的词。我恨它的部分原因是,首先,它已经变成了营销废话。就像,什么东西都往上贴。我希望有个不同的词,就只是表示 AI 在做事。

For example, say you want a different calendar. Omarchy ships with a calendar. You click the little clock. It pops up a calendar, and it doesn't have iCal support, for example. It doesn't consume your appointments. There's about 17 implementations of that already, and in three days, we had 330 plugins on the Omarchy plugin marketplace. I have never seen growth like that with any project I've ever been involved in. I've never seen participation that broadly. I've never seen that many people be able to create software that's meaningful for them—also be usable for others so quickly. All of it is driven by the fact that Omarchy ships a set of skills that tells any agent you bring to it how to create extensions to the operating system, and therefore affording you the vision of the true malleable... I was about to say agentic. I hate that fucking word. And the reason in part I hate that word is, first of all, it's become marketing slob speak at this point. Like, it's just slapped onto everything. I wish we had a different word that just meant AI doing stuff.

Host

Vibe coding 感觉也不对。

Vibe coding feels wrong, too.

DHH

确实,因为 vibe coding 在我看来,就像 2000 年代初的脚本小子。他们应用刚从网上下载的 PHP 脚本,却什么都不懂。虽然,我是说,这在某种程度上是对的,很多 vibe coding,包括我自己 vibe coding 的项目,就像我刚才提到的,我有好几个。我用 C++ 写过东西,用 Rust 写过东西。Rust。我痛恨 Rust。Rust 对我来说,就像我不得不看代码时,往我眼睛里倒酸。

It does, because vibe coding to me smells exactly like script kiddies did in the early 2000s. People applying PHP scripts they just downloaded offline they don't understand anything of. And while, I mean, that's true in the sense that much of the vibe coding, including my own vibe coded projects, and as I just mentioned, I have several. I've written things in C++. I've written things in Rust. Rust. I hate Rust with a passion. Rust to me is like pouring acid in my eyes when I have to look at the code.

Host

等等,等等,等等。你为什么恨 Rust?

Wait, wait, wait, wait. Why do you hate Rust?

DHH

在我看来,它可能是过去 40 年里发明的最丑陋的编程语言。

It is, in my opinion, the ugliest programming language that has been invented in probably the last 40 years.

Host

所以它和 Rails 和 Ruby 正好相反。

So it's the opposite of Rails and Ruby.

DHH

是相反的。但是——

It's the opposite. But—

Host

你写过它。

You've written it.

DHH

我用 Rust 写过应用程序,因为 Rust 的输出实际上非常出色。内存安全、它是系统语言、效率极高等等,这些都令人难以置信。所以 Rust 对我来说,既可以是有史以来为人类使用而设计的最令人厌恶的编程语言,也可以是智能体式工程的绝佳平台。这两个事实在我脑子里可以轻松共存。

I've written applications in Rust because the output of Rust is actually amazing. The memory safety, the fact that it's a system language, the fact that it's highly efficient and so forth is incredible. So Rust, to me, can both be the most repugnant programming language ever devised for human consumption and a wonderful platform for agentic engineering. These two truths can coexist easily in my head.

Host

你觉得有没有可能有一天,我们干脆就把智能体式工程叫做编程?我们能不能直接改变编程的含义?因为几个月后,谁还会用老式方式编程呢?

Do you think that there can be a point at which we can just call agentic engineering programming? Can we just change what programming means? 'Cause who's actually going to be programming the old-school way in a few months?

DHH

我不认为我们应该重新使用这个词,因为对我来说,编程意味着对某些原语、循环、条件、变量的理解。编程语言的所有构造才是编程本身,而不是创建程序。因为在智能体时代之前,你可以说,你的 CEO 在编程。他雇了一堆程序员,告诉他们做什么,然后软件就出来了,他可以卖。呃,我不认为大多数人会称那个 CEO 为程序员,我也不认为我们应该称 vibe coder 为程序员。而 vibe coding,如果我们在这里定义它,就是你告诉一个智能体为你构建软件。你不看实现。对我来说,这就是 vibe coding 和编程,或者说,智能体加速开发之间的区别。

I don't think we should reuse the term because for me, programming implies an understanding of certain primitives, loops, conditions, variables. All the constructs of programming languages are what constitutes programming itself, not the creation of programs. Because you could say in the pre-agentic era, well, your CEO is programming. He's hiring a bunch of programmers, he's telling them what to do, and out comes software that he can sell. Eh, I don't think most people would call that CEO a programmer, and I don't think we should call the vibe coder a programmer either. And vibe coding, if we define it here, is you tell an agent to build software for you. You do not look at the implementation. That, to me, is what separates vibe coding from programming or, let's say, agent-accelerated development.

Host

但你不觉得,稍微反驳一下,你不觉得一个程序员,老式程序员,你,做智能体式工程,和一个非程序员做智能体式工程是不同的吗?我的意思是,如果你知道什么是 for 循环,如果你知道什么是函数式编程,如果你知道一些软件工程的基本良好原则,你做基于自然语言的智能体式工程的方式会不同,而且更系统化,而且你能实际构建的东西的规模和种类会比 vibe coder 大得多。

But don't you think, so to push back a little bit, don't you think a programmer, old-school programmer, you, doing agentic engineering is a different kind of agentic engineering than a non-programmer doing agentic engineering? What I mean is, if you know what a for loop is, if you know what function programming is, if you know some of the basic good principles of software engineering, the way you do natural language-based agentic engineering will be different and more systematic, and this, the scale and the variety of things you can actually build is much bigger than a vibe coder.

DHH

为了论证,我稍微扩展一下支持的观点。

I'm just gonna extend the pro case here a little bit just for the sake of the argument.

Host

对。

Right.

DHH

我实际上认为,有一段时间,我对编程的了解反而成了我的劣势,因为我指示智能体按照我规定的方式做事,它们非常擅长。在第一个智能体时刻,我们别叫它时代,它持续了三个月。时刻。在第一个智能体时刻,那感觉非常高效。我可以通过告诉智能体按照我会做的方式做事来获得更高的生产力,我利用了我作为程序员的所有经验来做到这一点。然后我有点晚了进入下一个时刻,下一个时刻允许我,允许任何人,描述结果,向智能体描述问题,并获得比程序员规定路径更好的解决方案。

I actually think for a while it was to my deficit to know as much as I know about programming because I was instructing the agents to do things as I prescribed them to do, and they were very good at that. And in the first agentic moment, let's not call it an era, it was something that lasted three months. Moment. In the first agentic moment, that felt very productive. I could get more productivity out of telling the agents what to do in the way I would've done it, and I used all of my experience as a programmer to do just that. Then I was a little late on the next moment, and the next moment allowed me, allowed anyone, to describe outcomes, to describe problems to the agents and get better solutions than if you had a programmer prescribe the path.

Host

看,好吧,我们在这里争论得很开心。那么你是在暗示,有些问题在智能体式工程上,程序员比非程序员更差吗?

See, okay, so we're having fun arguing here. Well so are you suggesting that there's problems for which programmers are worse than non-programmers at agentic engineering?

DHH

百分之百。我这么说,让我们在这里定义一下。我这么说的原因是,有很多程序员并不是很好的产品经理。软件就是产品管理。它应该做什么?为谁做?怎么做?看起来怎么样?我们的优先事项是什么?我们先从什么开始?第一版包含什么?所有这些技能并不是轻易或均匀地分布在所有程序员身上的。在智能体时代,你让智能体,AI,去做实现,这些才是你需要的技能。而我恰好同时属于两个阵营,这就是为什么我喜欢这个时刻。我仍然可以生活在旧世界里,看完整的实现,因为有些领域我觉得那仍然有价值,然后我也生活在未来。正如我所说,当我创建 Omawrite 时,我没有看过那 C++ 的一行代码。我实际上对自己强调,我要把它当作一个实验。这 100% 是一个黑盒。我会像任何其他用户一样对待它,他们对他们的数字打字机应该如何工作有意见,因此觉得这是一个公平的实验,就像任何其他类型的作家对软件应该如何做和如何工作有意见一样。正如你提到的,视频编辑者确切知道他们不喜欢 Adobe Premiere 的哪些地方,以及如何改进,但没有能力改进它,那会怎样。

100%. And the reason I say that, let's define it here. The reason I say that is there's a lot of programmers who are not very good product managers. Software is product management. What should it do? Who should it do it for? How should it do it? How should it look? What are our priorities? What do we start with first? What does version one include? All of those skills are not easily or equally distributed across all programmers. And in the agentic era where you are letting an agent, an AI, do the implementation, these are the skills you need. And I happen to sit in both camps, and this is why I love this moment. I still get to live a little bit in the old world where I look at the full implementation because there are domains and areas where I feel that still brings value, and then I also live in the future. And as I said, when I created Omawrite, I've not looked at a single line of that C++. I actually made it a point to myself that I was gonna treat it as an experiment. This is 100% a black box. I will treat it as though I was any other user who had opinions about how their digital typewriter should work, and therefore felt like it was a fair experiment as if a writer of any other sort who had opinions about how software should be done and how it should work. As you mentioned, video editors who know exactly where they don't like what Adobe Premiere's doing and how it could be better, but don't have the capacities to improve it, how that could be.

Host

不过,反驳一下,我认为程序员做得好的,优秀程序员做得好的,是系统化设计,比如从系统的角度思考——

The pushback, though, I think what programmers do well, good programmers do well, is systematic design, like think in terms of systems—

DHH

正确。

Correct.

Host

——以及严谨。

—and rigor.

DHH

是的。

Yes.

Host

而且我认为,可能在未来很长一段时间内,即使是基于自然语言控制智能体系统,也需要某种严谨性。不是过度结构化的严谨,而是真正非常具体地解释系统的目标,如何进行验证,什么样的安全测试。你想做所有这些事情。

And I think still, and probably for a long time to come, even natural language-based control of agentic systems will require a certain kind of rigor. Not overly structured rigor, but really explain very specifically the goals of the system, how to do the verification, what kind of security testing. You wanna do all those kinds of things.

代理最懂 Agents Know Best

DHH

虽然话又说回来,系统长期来看应该会更聪明。

Although then to push back on that, the system will... should be smart longer term.

Host

六个月前我也会这么说。

I would've said the same thing six months ago.

DHH

是啊,所以这已经变了。

Yeah, so this has changed.

Host

而且我觉得六个月前情况确实如此。但自从那以后,尤其是在过去几周用智能体加速开发 Mach-E 的过程中,我发现大多数时候,我不得不谦卑地承认,智能体最懂行。

And I think the same thing would've been true six months ago. What I have found since, especially even just the last few weeks of the agentically accelerated development of Mach-E, is that more often than not, I have the humility to recognize that the agent knows best.

DHH

你可以理直气壮地说:“确保它是安全的。”

You can legitimately say, "Make sure it's secure."

Host

没错。而且它更清楚这需要做什么。现在,你在笑——

Correct. And it would know more about what that entails. Now, you're laughing-

DHH

真是个疯狂的世界。

What a crazy world.

Host

……但这是真的。而且事实上——

...but it's true. And in fact-

DHH

天哪。

Oh my God.

Host

……一个很好的类比就是 AGENTS.md 和 CLAUDE.md 文件。有一阵子,大家疯狂追求微调这些文件。哦,你告诉你的智能体这个,告诉它那个,最后你搞出一个巨大的指令文件。Boris 在 Claude Code 团队工作,他最近接受采访时提到 Opus 5 的一件事:他们为 Opus 5 发布的系统提示词(可能 Fable 也一样)缩减了 80%,因为智能体不仅需要的人类指令少得多,而且过度指令式的人类反而会损害它。任何经历过那种“尖头发老板”的程序员都深有体会。当老板走进房间,什么都不懂,却开始教你怎么写程序、怎么编码,你会怎么做?你会闷闷不乐。如果你被迫做违背自己判断的事情,你会写出更烂的代码。为什么智能体就不会这样呢?

...a good parallel to this is the AGENTS.md/CLAUDE.md files. There was a hot moment where it was all the rage about micro-optimizing that. Oh, you tell your agent this, you tell your agent that, and you ended up with this huge file of instructions for your agent. One of the things that Boris, working on Claude Code, shared in an interview recently about Opus 5 was that the system prompt that they ship for Opus 5, and presumably also Fable, shrunk by 80% because the agent not only needed far less human instruction, it was actually being damaged by overly prescriptive humans. And any programmer who's had a pointy-haired boss knows exactly what that is like. When the boss walks into the room, doesn't know anything, starts telling you how to program, how to code. What do you do? You sulk. You write shittier code if you're mandated to do things that are against your better judgment. Why would an agent not be the same?

DHH

其实,我要反驳一下自己。我确实发现我目前正在培养的一项实际技能——在这方面,可能每个人都在努力培养的——就是不要过度指定细节,要给系统让路。

Actually, to push back against myself, I do find the actual skill I'm currently developing, which I along those lines is probably what everybody's trying to develop, is not to overspecify things, is to get out of the system's way.

Host

当然。

Of course.

DHH

就是指定足够的内容,提供一种高层次愿景和指导。

Is to specify enough to provide a kinda high-level vision and guidance.

Host

其实更好,因为你甚至不需要那样。现代软件开发的根本洞见来自敏捷软件开发运动。在 90 年代末、2000 年代初,一群聪明、诚实、勇敢的人聚在一起说:“我们过去 40 到 50 年尝试的软件开发方式没有奏效,也不会奏效。我们一直试图预先指定软件应该是什么样子。我们以为可以问人类想要什么,把它写下来,用系统思维和严谨性应用到规格说明书上,然后把规格说明书交给一群程序员,他们只实现那些内容,每个人都会满意。”结果呢?没人满意。因为没有人知道自己想要什么,直到他们得到它。你不知道程序应该做什么,直到你玩过它。所以在智能体时代,你应该抵制一开始就过度具体的诱惑。尽可能模糊地实现一些东西,然后与那个东西互动。你得到好软件的方式是,先写一点软件,然后尝试使用它。正是在使用软件的过程中,你发现自己真正想要什么。你发现什么重要,什么不重要。而智能体非常擅长让你在摸索中体验这种“意识到自己想要什么”的过程,因为你不知道自己想要什么。

It's even better because you don't even need that. The fundamental insight of modern software development came from the agile software development movement. In the late '90s, early 2000s, a group of smart, honest, and brave people came together and said, "The way we've been trying to do software development for the last 40 to 50 years has not worked, will not work. We've been trying to specify upfront what software should look like. We thought that we could ask humans what they wanted, write it all down, apply our systems thinking and our rigor to a spec sheet, hand that spec sheet over to a group of programmers who would then implement just that, and everyone would be happy." Well, guess what? No one was happy. Because no one knows what they want until they receive it. You don't know what a program should do until you play with it. So in the agentic age, you should resist the temptation to be overly specific upfront. Be as vague as you can to manifest something, then interact with the something. The way you arrive at good software is you write a little bit of software, and then you try to use it. It is in the process of using software that you discover what you really want. It's where you discover what's important and what's not important. And agents are incredible at allowing you to bumble into this experience of realizing what you want because you don't know what you want.

DHH

嗯。我确实做了类似你建议的事情,就是实现不同的设计和完全不同的实现,然后我为自己创建 HTML 页面、PHP 页面,在上面投票我更喜欢哪个,等等。它做这种迭代的事情,非常棒、非常有趣。与智能体系统的互动,如果你为自己创建一个好的界面,可以超级有趣,而且你专注于设计部分,以及设计中最有趣的部分。

Mm-hmm. And I've actually done something similar to what you suggested, which is implement different designs and totally different implementations, and then I create HTML pages for myself, PHP pages, where I vote on what I like more and so on. And it does this iterative thing, and it's very nice and fun. The interaction with the agentic system, if you create a nice interface for yourself, it can be super fun, and you're focusing on the design part and the most fun parts of the design part.

Host

没错。这正是人类真正擅长的。

Correct. And this is what humans are really good at.

DHH

是的,品味。

Yeah, taste.

Host

差异化评估。你给我三个选项,我选一个。但如果你给人类 22 个选项,他们就会崩溃。这就是选择的悖论。但如果你给他们三个选项,他们会在瞬间告诉你他们喜欢什么。有很多方法可以利用人类会做出这些快速判断的事实,这些判断实际上是前智力的,对吧?它们来自直觉,然后到达大脑,大脑试图理性化为什么直觉这么说。如果你愿意放弃一些智力上的预处理和理性化,只是让直觉驱动,智能体时代就是一个启示。

Differential evaluation. You give me three options, I pick one of them. Now, humans actually fall off a cliff if you give them 22 options. That's the paradox of choice. But you give them three options, they very quickly within a split second will tell you what they like. There are all these ways that exploit the fact that humans will make these snap judgments that are actually pre-intellectual, right? Like, they're coming from the gut, and then they arrive up in the, in the brain, and the brain tries to rationalize why the gut said what it said. And if you're willing to let go of some of that intellectual pre-processing rationalization and simply let your gut drive, the agentic age is a revelation.

Host

所以问你这个问题很有意思,因为你长期以来以细致雕琢漂亮的 Rails Ruby 代码而闻名,而现在你在几个月内就转变了,不再那样做了。那么,你目前的设置是什么样的?因为你,我猜,仍然在寻找美、雕琢、工艺,但你只是在用不同的媒介进行创作。

So this is a fascinating thing to ask you because you have sort of famously for a long time talked about, like, detailed chiseling of beautiful Rails Ruby code, and now you have switched in a matter of months to not doing that. So, like, what is your current setup look like? 'Cause you're, I assume, are still looking for the beauty, for the chiseling, for the crafting, but you're just crafting in a different medium.

DHH

而且在不同的抽象层次上。当我在写 Ruby 代码时——我们有很多 Ruby 代码,因为它遍布整个业务——我让智能体修改那些代码,我仍然会纠结细节。我逐渐意识到,这种纠结的经济回报正在迅速减少。我 25 年来如此谨慎地纠结每一行代码,是因为我知道保持架构连贯和可塑的回报是:软件能够以小团队快速变化和演进,成本不高,而且当你改动一个地方时不会引入一堆 bug。那是为什么你应该写漂亮代码的经济论据,因为漂亮的代码更容易理解、更简单、更可塑。那是基于人类进行修改的前提。我认为这在多大程度上仍然重要,是一个开放的问题。现在,它确实重要,我这么说是因为,至少目前,token 仍然稀缺。在当下,我们都受到 token 限制。好吧,不是所有人,但任何没有无限预算的人都受到 token 限制。因此,编写那些智能体更容易处理、更容易演进而不必重新学习整个上下文的系统,有巨大的回报。就像人类一样,如果他们能够在不破坏架构的情况下对代码库进行迭代和修改,他们就能以与上次相同的成本进行下一次修改。这就是经典的“泥球”问题,你最终得到一个泥球系统,因为它只是以一种没有连接的方式拼凑在一起,真是一团糟,对吧?我在智能体身上看到过这种情况,也在我们自己的代码库中看到过,比如第一个 PR 质量平庸,然后你在上面加另一个 PR,再加上五个,结果就不太好了,对吧?所以仍然有回报,但那个回报是以我们当前时刻为前提的。

And at different levels of abstraction. When I'm working in Ruby code, and we have a lot of Ruby code because it's in our entire business, and I'm asking agents to make changes to that code, I still sweat the details. What I'm coming to realize is that the economic payoff of that sweat is diminishing rapidly. The reason why I, for 25 years, was sweating every line of code so judiciously was because I knew the payoff of keeping an architecture coherent and malleable was software that could change and evolve quickly with a small team, and not exorbitant cost, and not introducing a bunch of bugs when you change one thing over the other. That was the driving economic argument for why you should write beautiful code, 'cause beautiful code is easier to understand, it is simpler, it is more malleable. That was premised on humans doing the modifications. I think it is an open question to which degree this still matters. Now, it does matter, and the reason I say that, at least for the moment, is that tokens are still scarce. At this moment in time, we are all token limited. Well, not all, but anyone who doesn't have endless budgets are token limited. So therefore, there is great payoff to writing systems that agents have an easier time dealing with and evolving without having to relearn the entire context. Just like humans, if they can make iterations and changes to the code base without wrecking the architecture, they can make the next change just as cheaply as the last one. And this is the classic ball of mud where you end up with a system that's a ball of mud because it's just put together in a way where nothing is connected and it's just a real mess, right? I've seen that with agents, and I've seen it in our own code bases where, again, the first PR is, like, mediocre of quality, and then if you add another PR on top of that, and then five more down the line, it's not very good, right? So there's still a payoff to that, but that payoff is premised on our current moment.

AI精神病与推断 AI Psychosis and Extrapolation

Host

我现在能够……顺便说一句,这就是 AI 精神病真正出现的地方,当你试图推断九个月后它会是什么样子,两年后它会是什么样子。

I am now able to... And this is, by the way, where the AI psychosis really comes in, when you try to extrapolate what nine months from now it's gonna look like. What two years from now it's gonna look like.

DHH

但作为一个思想实验,我想我用的第一台电脑是 Commodore 64。

But as an intellectual experiment, I think the first computer I used was a Commodore 64.

Host

我也是。酷。

Me too. Cool.

DHH

它有一个 1 MHz 的 CPU 和 64K 的内存。每个为那台机器写软件的人都内化了某些约束。嗯,所有的约束。那台机器除了约束什么都不是。

It had one megahertz CPU and 64K of memory. Everyone who wrote software for that machine internalized certain constraints. Well, all the constraints. That machine was nothing but constraints.

DHH

如果你把那个程序员放进时间机器,把他或她传送到 2026 年,给他们一台现代电脑,然后说:“现在给我写一个软件,”他们会迷失一会儿,因为他们所有的技术和启发式方法都会是错的。或者不是错,因为高效的软件仍然是美的。他们会过时,无法创造他们本可以创造的价值。为一台 1 MHz 的电脑制作视频游戏所需的优化量,与今天所需的优化量是完全不同的。

If you put that programmer in a time machine and teleported him or her to 2026 and gave them a modern computer today and said, "Now write me a piece of software," they'd be lost for a little bit because all their techniques and all their heuristics would simply be wrong. Or not wrong, because efficient software is still beautiful. They would be out of date with the value that they could create. The amount of optimization you have to apply for a one megahertz computer to produce a video game is just very different from what you have to apply today.

Host

想象一下那个当年在 Commodore 上编程的家伙。回想一下那些,比如编程的感觉和意义,高度受限的资源……一切是多么慢。

Just imagine that guy that was programming back then on a Commodore. Just re- remember all those, like what programming felt like and what it meant, highly constrained resources- ... how slow everything is.

DHH

在很多方面都很美。很美。

Beautiful in many ways. Beautiful.

Host

那是雕刻。但是——

It's chiseling. But-

DHH

它——

It-

Host

……想象那个人现在来了。

... imagine that person coming now.

DHH

不过,这也是浪漫的。让我们也想象一下。这是其中之一,每当我们哀叹现代汽车文化时,对吧?然后我们想:“哦,当我们都有马车等等的时候不是更好吗?”不,不是。你知道我们用马作为交通工具时纽约是什么味道吗?那是一个开放的污水沟。它们到处拉屎。

It's romantic too, though. Let's also imagine that. This is one of the things, whenever we bemoan modern car culture, for example, right? And then we think like, "Oh, wasn't it better when we all had the horse-drawn carriages and so on?" No, it wasn't. Do you know what New York smelled like when we used horses for transportation? It was an open sewer. They just shat everywhere.

Host

是啊,但你玩过《荒野大镖客》吗?你知道那些牛仔有多酷——

Yeah, but have you played Red Dead Redemption? You know how cool those cowboys were-

DHH

那是方式——

That is the way-

Host

……在马背上?

... on the horse?

DHH

……去体验怀旧的过去,当你没有那些毛茸茸的冲动和感觉时。

... to experience the nostalgic past, when you don't get the all the furry impulses and senses.

Host

所以基本上,编程,老式的手工编程有点像我们浪漫化并拍成电影的牛仔文化。

So basically programming, old school programming by hand is kinda like the cowboy culture that we romanticize and make movies about.

DHH

这已经在发生了,手写代码的浪漫化。我也有这种感觉,因为那是一个非常浪漫的时代。我很感激能活过 20 年具有经济价值的手写代码。那是一段美好的时光。

It's already happening, the romanticization of handwritten code. And I have some of it because it was a very romantic era. I'm grateful to have been alive for 20 years of economically valuable handwritten code. That was a, that was a good time.

Host

那时手写的美代码也是有价值的。

Where handwritten beautiful code was also valuable.

DHH

正确。因为手写的美代码今天和昨天一样存在。有些人故意为 Commodore 64、第二代 Mega Drive 或其他复古主机编写新的视频游戏。事实上,我最近最喜欢的视频游戏之一是 ModRetro 的。你知道 Palmer Luckey 的……副业,就是复刻旧主机。所以他复刻了 Game Boy。

Correct. Because handwritten beautiful code exists as much today as it did yesterday. There are people who willfully write new video games for the Commodore 64, or for the second Mega Drive, or for other vintage consoles. In fact, one of my favorite video games of late is ModRetro's. Do you know Palmer Luckey's- ... side geschäft, which is recreating old consoles. So he's recreated the Game Boy.

Host

不错。

Nice.

DHH

太棒了。查一下。真的很酷。但比复刻硬件和原始厚重感更酷的是,他把它更新到现代屏幕等等,现在他们又推出了 Nintendo 64。难以置信。超级酷。对细节、输入延迟和其他所有东西的疯狂关注。但还有一件很酷的事,我得挥一下。就在那里,悬停一下,然后你就能看到我在说什么。那是 Chromatic 的……俄罗斯方块重新实现。

It's amazing. Look it up. It's really cool. But what's even cooler than the fact that he recreated this hardware and the original chunkiness, but brought it up to date with sort of modern screens and so on, now they just put out the Nintendo 64 too. Incredible. Super cool. Wild attention to detail, input lag, and all the other things. But what's also very cool, that one, I have to wave. That one right there, and hover over it, 'cause then you get to see what I'm talking about. That is the Chromatic- ... Tetris re-implementation.

Host

哇。

Wow.

DHH

我在原版 Game Boy 上玩了很多俄罗斯方块。可能是我有史以来最喜欢的三个游戏之一。他们重写了它,只做了一个改动。如果你按上,方块会猛砸下来。这使游戏速度提高了大约 400%。这是一个不可思议的游戏,而且它是一个新的 Game Boy 游戏。我想 Game Boy 是在 89 年或 88 年推出的。那是一台非常老的机器。仍然有人在写新的老游戏,这太棒了,他们这样做的部分原因,现在他们这样做是因为他们想要俄罗斯方块,但有些人这样做只是出于对约束的热爱,对那种浪漫写作理念的热爱。就像还有人骑马,不是为了快速到达某个地方,而是因为他们喜欢那种交通方式,下面是一个真正的生物在推动你前进。

I played a lot of Tetris on the original Game Boy. Probably one of my top three favorite games of all time. And they rewrote it with one change. If you hit up, the brick slams. And that speeds up the game by about 400%. It is an incredible game, and it's a new Game Boy game. I think the Game Boy came out in- '89 or '88. It's a very old machine. The fact that there's still people writing new old games is awesome, and the reason they do it in part, now here they're doing it because they want Tetris, but there are people who do it just for the love of the constraints, for the love of the romantic notion of writing that. Just like there are people still riding around on horses, not to get places fast, but because they like the mode of transportation where it's a literal biological being below you propelling you forward.

Host

而且,我们还应该说,那些美丽的代码是很好的训练数据。所以在某种意义上,我们几十年来构建的美——

And also, we should say that that beautiful code is great training data. So in some sense, the beauty that we've built over a few decades-

DHH

是的

Yes

Host

……延续下去。

... continues.

DHH

我们孕育了这一刻。多么荣幸,我个人深有感触,因为我……我写过的几乎所有代码都是公开代码。我职业生涯的绝大部分时间都致力于编写开源代码,因此,其中一些代码,那些美丽的行,都在训练集中。事实上,我听说人们在写 Ruby 代码时会这样做。他们让智能体“像 DHH 那样写”。他们对结果很满意,这确实让我心里暖暖的,我以我微小的部分帮助孕育了这一刻。任何贡献过开源代码或任何智能体在过去(好吧,编程作为一门学科存在的整个时期)能够访问的代码的人,现在都是这些新智能体霸主的一部分。

We gave birth to this moment. What a privilege, and I feel that very personally because I... Almost all of the code I've ever written is public code. The vast majority of my career has been dedicated to writing open source code, and therefore, some of that code, some of those beautiful lines are in the training set. And in fact, I've heard people do this when they write Ruby code. They ask the agent, "Write it like DHH would." And they're pleased with the result, and that does warm my heart a little bit, that I helped give birth to this moment in my tiny little small part. And anyone else who contributed open source code or any code at all that the agents have had access to over the last, well, entire time programming has been around as a discipline, is now part of these new agent overlords.

Host

那么,你难道没有一点点悲伤,手写美丽代码现在越来越没用了?

So you don't have a little bit of sadness that writing beautiful code by hand is now less and less useful?

DHH

我是否悲伤,如果我明天必须找一份工作,我不太可能以我的技能被雇佣去写这些手工代码?不。我做了 25 年。我想在这里看到一些新的东西,尤其是如果我们都会永生,我希望我们不会。也许我们会谈到那个。但是,我已经做过了。足够了。没关系。我对那件事的怀旧,并不比对我不用在田里用锄头或在装配线上度过时光的事实更多。

Am I sad that if I had to get a job tomorrow, it's unlikely that I could apply my skills in such a way that I would be paid to write these manual lines of code? No. I did it for 25 years. Like, I wanna see something new here, especially if we're all gonna live forever, which I hope we don't. Maybe we'll get to that. But, like, I've done that. That's enough. That's fine. I don't feel any more nostalgic about that than I do about the fact that I don't have to spend my time in the field with a hoe or at the assembly line.

Host

嗯,等一下。你是世界上最擅长写手工美丽代码的程序员之一,是品味高雅的美感欣赏者。

Well, hold on a second. You are one of the best programmers in the world at writing handcrafted beautiful code, appreciators of beauty with great taste.

DHH

正确。

Correct.

Host

那已经被取代了。

That has been replaced.

DHH

我谦虚地说。

I say humbly.

Host

是的。那已经被取代了。就像,你现在……你只是快速进化,你能够……你一个真正伟大的品质是你能够快速改变主意并进化。但是,你不得不杀死那个另一个人。

Yeah. That has been replaced. Like, you had now... You're just fast evolving, and you're able to... One of your really great qualities is you're able to change your mind and evolve very quickly. But, like, you had to kill that other person.

DHH

我对每一个把我带到现在的时刻都心存感激,因此,我也尝试过,也许这确实需要一些练习。我承认这一点。也许我并不总是这样,但斯多葛哲学,amor fati,热爱你的命运,是一种令人难以置信的解放生活方式。你可以攻击这一点,说:“嗯,那是一种特权。”没错,但在我没有所有这些所谓的“特权”时,我也有同样的方向。所以我认为有一种生活和与世界互动的方式,你接受你能改变的事情和你不能改变的事情,并爱上所有的一切。

I am grateful for every moment that brought me to where I am right now, and therefore, I have also tried, and maybe this did take some practice. I will concede that. Maybe I wasn't always like this, but stoic philosophy, amor fati, loving your fate, is an incredibly liberating way to live. And you could attack that and say, "Well, that's a point of privilege." True, but also I had the same directional point when I didn't have all this, quote unquote, "privilege." So I think there's a way to live and interact with the world where you accept the things you can change and the things you cannot change and fall in love with all of it.

程序员焦虑与建议 Anxiety and Advice for Programmers

Host

那我们能谈谈程序员在经历同样变革时感受到的普遍焦虑吗?他们可能上了大学,主修计算机科学,梦想成为程序员,构建东西,拿高薪,而现在一切都在改变,他们深感焦虑:“我该怎么办……我的人生怎么办?”你能理解这种感受吗?他们到底该怎么做?

So can we talk about the general anxiety that programmers feel, going through the same transformation? They've maybe gone to university majored in computer science, dreamed of being programmers and building stuff, high salary, and now everything's changing, and there's deep anxiety about, "What do I do when... with my life?" Can you empathize with that, and what the hell are they supposed to do?

DHH

非常能理解。因为尽管我有这种性格,我清楚地知道这种乐观并非人人都有,不是每个人都能站在这个位置,对未来抱有这种乐观。但我确实想把事情稍微分开来看。我认为,如果你对编程的热爱仅仅在于那些机械的部分——把正确的逻辑结构拼凑起来,产出别人让你产出的东西——那你确实很难适应新的现实。因为那个机械过程正受到威胁。但如果你像你刚才提到的,对构建东西本身感到兴奋,我认为你根本不受威胁。事实上,我认为有充分的理由说明我们比现在需要更多的构建者。如果你看就业数据,其实很模糊,完全不清楚会发生什么。有些数据实际上显示职位空缺在增加,因为 AI 的出现极大地降低了程序的价格,人们想要更多的程序。这就是经典的杰文斯悖论:当某样东西的价格下降时,需求会增加。ATM 的例子也是如此。当初 ATM 刚出现时,很多银行柜员非常担心自己的工作,因为突然有了一种机器可以从人们的账户里取钱。但 ATM 所做的是降低了开设分支机构的成本,银行突然能开更多的分支机构,最终我们拥有的银行柜员比之前还多。当然,这些都不是必然的。也有事情确实改变的时刻。直到 19 世纪末,绝大多数人都在田里劳作,然后突然我们有了机械化收割工具,不再需要人拿着锄头牵着牛在田里干活了。我们有机械工具来替代。在那个时刻,有没有人感到自己的工作、生计受到威胁?有。那种威胁感合理吗?合理。英国砸毁织布机的卢德分子也经历了同样的事。我认为这可能比田间劳作的例子更贴切,因为那些人是高技能的专业人士,在相当优越的条件下做着自己喜欢的工作,而不是整天在烈日下辛苦劳作。但看看我们现在的生活,我们还希望服装成为如此稀缺的资源吗?比如,如果这件 T 恤要 400 美元呢?好吧,那我可能只有两件。我的衣柜看起来大概也就两件。但我认为人类的整体进步依赖于生产力的提高。什么是生产力提高?这非常重要,因为抽象地说,每个人都会说:“耶,生产力,那很好。”你以为这只是空谈吗?不。生产力意味着用更少的人完成同样数量或同样的工作。当然,你想要完成的工作量可能会增加,因此需要更多人,但也可能不会。可能会有一些公司只需要完成一组固定的任务,突然他们能用十分之一的人手完成。顺便说一句,这对被裁员的个人来说,当下是悲惨和困难的。但对整个经济来说,这也很惊人。突然你释放了这些资源,他们可以去从事更有生产力的事情。这就是整个经济演进和改善的方式,也是我们获得增长的方式,而增长是好事。我认为这是另一件需要大力辩护的事情:增长总体上是好事。我们不想把时钟拨回 1920 年或 1950 年。我们应该感到兴奋的是,我们发现了新技术,让我们能做更多的事情。虽然有些被 AI 取代的任务是人类喜欢做的,只是不再有经济价值,但很多任务只是苦差事。我的编程经历肯定如此。有些编程时刻我觉得很棒,那些时刻产生了我们上次谈到的“心流”状态,令人欣喜若狂。但一年中这样的时刻有多少次?如果你拿一个普通程序员来说,在 2000 小时的工作时间里,有多少时间处于心流状态?100 小时?200 小时?25 小时?我觉得这些答案对某些人来说都有可能。把那些苦差事交给机器,这就是文明的历史。

Hugely. Because just because I have this disposition, I'm keenly aware that that's not evenly distributed, that not everyone sits with this position and this optimism for the future. But I do think I wanna separate things a little bit. I think you're gonna have a hard time coping with the new reality if the only thing you loved about programming was the mechanical bits of putting the right logical constructs together to produce something other people told you to produce. Because that mechanical process is under threat. If you are, as you just mentioned, excited about building things, I don't think you're under threat at all. In fact, I think there's a great argument for us needing far more builders than what we have now, and if you look at the employment stats, it's fuzzy. It's not clear what's gonna happen at all. Some stats actually show an increase in openings because the advent of AI is so dramatically lowering the price of programs that people want a lot more programs. This is the classic, the Jevons paradox, that says when the price of something goes down, there's gonna be more demand for it. And this is the example of the ATMs too. When the ATM originally came, a lot of bank tellers were very afraid for their job because suddenly there was a machine that could dispense money from people's account. Well, what the ATMs did was lower the price of a branch, and suddenly banks could afford to open a lot more branches, and we ended up with more bank tellers than we did before. Now, none of this is guaranteed. There are also moments where things do change. The vast majority of people worked in the fields up until the late 1800s, and then suddenly we got mechanized harvesting tools, and we did not need human labor with a hoe and an ox out there. We had mechanical tools to do that for us. In that moment, are there people who were threatened that their job and their livelihood was at stake? Yes. Was that a reasonable thing to feel threatened about? Yes. The Luddites smashing the weaving machines in England had the same thing. And I think maybe that's the better parallel than people working the fields because these were actually highly skilled professionals doing a job that they liked on rather favorable conditions, not slaving outside in the sun all day. But where we live now, would we still like for clothing to be this heavily constrained resource? Like, what if this T-shirt was $400? I mean, okay, then I'd have two. Well, my wardrobe probably looks like I have two. But I think the general progress of mankind depends on productivity improvements. And what are productivity improvements? This is very important because in the abstract, I think everyone says, "Yay, productivity. That's good." What did you think, this was all just vibes? No. Productivity means fewer people to do the same number or the same job. Now, the amount of job you want done may increase, and therefore you get more people, but it also may not. There may be pockets where a company just needs a certain set of fixed tasks done, and suddenly they can do them with a 10th the number of people. This, by the way, could... is tragic and difficult in the moment for the individual being laid off. It's also amazing for the economy at large. Suddenly you've freed up these resources who can now go do more productive things. This is how the whole economy evolves and improves and how we get growth, and growth is good. I think this is the other thing to make a strong defense for, that growth in general is a good thing. We do not want to wind the clock back to 1920 or 1950. We should be excited about the fact that we've discovered new technology that allows us to do vastly more. And while some of the tasks that may be taken over by AI were tasks that humans were excited to do, and they're just no longer economically viable, a lot of the tasks were just drudgery. This is certainly true of my programming. There were moments of programming I thought were amazing. These were the moments that produced that state of flow we talked about last time, and they were ecstatic. How often did they happen out of the course of a year? If you took your average programmer, how much time out of 2,000 hours at the job did that person spend in a flow state? 100? 200? 25? I think all those answers could be plausible for someone. And taking that drudgery, handing it over to machines, that is the history of civilization.

Host

是啊,那些花在调试上的时间。编程里有太多痛苦的时刻。现在它们消失了。大部分时候,编程就只是有趣了。

Yeah, I mean, the hours spent debugging. So programming has so many painful, painful hours in it. And now they're gone. For the... I mean, for the most part, it's just fun.

DHH

在很多领域,大部分痛苦已经消失了,剩下的可能很快也会消失。所以浪漫主义也由此而来……因为当下的痛苦是艰难的、困难的、烦人的。而后视镜里的痛苦则是成就、骄傲、学习、进步,所有这些,对吧?所以我们把这一切都视为人类经验的一部分:我们讨厌当下的痛苦,但当痛苦过去五分钟,我们不记得艰辛,只记得进步时,我们又珍视它。

A lot of it is gone in a lot of domains, and the rest of it may be gone very soon. So that's where some of the romanticism also comes in ... because pain in the moment is difficult. It's hard. It's annoying. Pain in the rear view mirror is accomplishment, proud, learning, steps forward, all the things, right? So we encompass all of this as part of the human experience, that we hate pain in the moment, but we cherish it when it's five minutes past and we don't remember the hardship. We just remember the progress.

Host

所以确实,在社会层面、宏观经济层面,增长是令人兴奋的。但在个人层面,可能会有很多焦虑,甚至很多痛苦。那么作为建议,如果你是一个年轻的 DHH,或者现在年轻的开发者、程序员,你会建议他们怎么做?

So certainly at the societal level, at the macroeconomic level, growth is exciting. But the individual level, there's going to be a lot of anxiety potentially a lot of suffering. So by way of advice, if you're like a young DHH or young developer programmer now, what would you advise they do?

DHH

不要试图预测任何事。你真的会疯掉。因为即使是业内最聪明的头脑也无法预测从现在起两次模型迭代之后会是什么样子。这完全是浪费时间,而且你会因为试图推断两年后的样子而患上 AI 精神病。专注于当下,而当下是从事计算机行业最不可思议的时期。如果你投入其中,你可以让计算机做出最惊人的事情。如果你哪怕短暂地强迫自己去了解最前沿的技术,我敢打赌你不可能不为可能的事情感到兴奋。

Don't try to anticipate anything. You will literally go crazy. Because even the smartest brains in the business cannot anticipate what two model hops from here is going to look like. It's an absolute waste of time, and you will develop an AI psychosis trying to deduce what two years from now is gonna look like. Focus on right now, and right now is the most incredible time to be into computers. You can make them do the most amazing things if you lean in. If you maybe for a hot moment force yourself to learn where the state of the art is, I double dog dare you not to get excited about what's possible.

Host

那你会推荐公开构建吗?

And would you recommend building publicly?

DHH

我认为公开构建其实是可选的。这样做很好,因为你能成为社区的一部分,开源中有一些同志情谊。不只是“一些”,而是大量的同志情谊。开源是社区和同志情谊的绝佳来源,也是缓解个人存在主义恐惧的好方法。

I think it's optional actually to build publicly. I think it's nice to do because then you get to be part of a community, and there's some camaraderie in open source. Not some camaraderie. There's an enormous amount of camaraderie. Open source is an incredible source of community and camaraderie, and it's also a great way to stem some of that personal existential dread.

思维病毒与雄心 Mind Viruses and Ambition

DHH

如果你置身于其他人类之中,你可能会感染上好的思维病毒、令人兴奋的思维病毒——那些告诉你一切都会好起来的、未来一片光明的病毒,它们说如果我们齐心协力建造一堆东西,我们就能做到我们谁都不敢梦想的事。我刚才还在和 Ryan Hughes 聊天,他几乎从第一天起就是我 Omarchy 的主要搭档,我们昨天还在聊,当初一起踏上这段旅程时,我们的野心非常小。我们当时就想:“能不能让这个发行版不要在凌晨 3 点因为一个不受我们控制的 Arch 包推送而崩溃?那就太棒了,那就太好了。”现在我们往后一靠,开始想:“我们怎么才能统治世界?怎么才能让 Omarchy 登上火星?怎么才能实现我们所有的梦想?”这种野心的膨胀,一部分是因为智能体变得更好了,但很大程度上也是因为我们身边围绕着一群对同一段旅程充满热情的人。如果你只是坐在自己那个与世隔绝的小洞穴里担心未来,那你确实会有点发疯。我觉得如果说我们从新冠中学到了什么,那就是人们独自坐在自己的小洞穴里担心会发生什么,会发疯的。那和抑郁没什么区别,没完没了地反刍那些你控制不了的事。抱歉我要借用一下黄仁勋的话,但那纯粹是失败者言论。你不必当失败者。你可以选择投身其中,然后赢。而“赢”的定义非常宽泛:学到更多、赚到更多、贡献更多、参与更多。归根结底,你还有什么选择?你没得选,伙计。未来不管你喜不喜欢都会来,所以你不如选择对它感到兴奋。

If you're amongst other humans, you can get infected with good forms of mind viruses, exciting forms of mind viruses, the ones that tell you that it's all gonna be okay, and the future looks bright, and if we build a bunch of things together, we can do things none of us ever dreamed we could do. I was just talking to Ryan Hughes, who's been my main partner on Omarchy almost since day one, and we were literally talking about yesterday how when we started on this journey together, our ambitions were very modest. We were just like, "Can we get this distro to not crash at 3:00 AM because of an Arch package that just got pushed out outside of our control? That would be amazing. Then it'd be great." Now we're leaning back and thinking, "How can we take over the world? How can we make Omarchy go to Mars? How can we do everything we've ever dreamed of?" And that level of ambition inflation is partly because things have gotten better with agents, but hugely also because we've surrounded ourselves with others excited about the same journey. And if you're just sitting in your little isolated cave worrying about the future, yeah, you're gonna go a little nuts. I think if we learned anything during COVID is that people will go nuts sitting in their little cave inside by themselves worrying about what's gonna happen. That is indistinguishable from depression, ruminating endlessly about things you can't control. I'm sorry to channel some Jensen Huang here, but that's just loser talk. You don't have to be a loser. You can choose to lean in and win. And win is very broadly defined as learning more, making more, contributing more, being part of more. And at the end of the day, what are your choices? You don't have a choice, mate. The future's coming whether you like it or not, so you might as well choose to be excited about it.

规划不可能 Planning is Impossible

Host

但我的意思是,我们应该强调一个事实:有了 AI,规划几乎是不可能的。我们大多数人都会稍微规划一下自己的人生。年轻的时候,你有希望和梦想。你上大学是有原因的,背后有一个计划。

But I mean, we should emphasize the fact that planning is nearly impossible with AI. I mean, most of us plan our life a little bit. When we're younger, you have, like, hopes and dreams. There's a reason you go to college. There's a plan underlying that.

DHH

我同意。

I agree with that.

Host

但是——

But there-

DHH

这点我承认。

I'll concede that.

Host

……真的没法好好规划,这有点疯狂。因为,你根本不知道六个月后还会不会有 Claude Code、Codex 和 Cursor。也许你会对着 WhatsApp 说话。也许一切都变成开放式调用。也许一切都变成语音。也许 Omarchy 会统治世界,然后就是语音。也许操作系统都不复存在了。你就……会有一个发光球体,你直接对它说话,因为如果自然语言足以完成生活中的所有任务,那生活还有什么意义?生活中需要完成的主要任务是什么?如果你光靠语音就能做到,它帮你写好所有程序,一切都系统化了,那还需要什么工作?也许更多是服务业。也许根本就不会有程序员,比如智能体工程师。所以,是的,你专注于当下的建议是明智的,但这并不意味着这只是一趟疯狂的过山车,因为我们不知道今年 12 月或明年 1 月会是什么样子。

...it is kinda nuts that it's impossible to really plan. Because, like, you really don't know if there will even be a Claude Code, a Codex, and Cursor six months from now. Maybe it'll be you'll be talking to WhatsApp. Maybe it'll be all open call type. Maybe it'll just all be voice. Maybe Omarchy will take over the world and it'll be voice. Maybe there won't be operating systems anymore. You'll just... There'll be this glowing orb that you just talk to because if natural language is enough to accomplish all tasks in life, like, what is life about? Like, what are the major tasks you need to accomplish in life? If you can just do that with voice, and it writes all the programs for you, and all is systematized, and what, what are the jobs needed then? Maybe it's more about the service industry. Maybe there won't be programmers, like agentic engineers at all. And so yes, your advice is wise to focus on the moment, but that doesn't mean that it's just a crazy rollercoaster ride, 'cause we don't know what this December or what this January will look like.

选择信念而非焦虑 Choosing Faith over Anxiety

DHH

我们不知道,因此,我们应该选择相信它会成功。这是我对抗焦虑最好的建议:在很大程度上,你可以选择如何倾斜。你想倾向 PDoom 吗?不管你倾不倾向,PDoom 都会发生。你控制不了。

We don't know, and therefore, we should choose to have faith that it's gonna pan out. That is my best advice towards fighting anxiety, is that you have a choice, to a large degree, of how to lean. Do you wanna lean into PDoom? PDoom is gonna happen whether you lean into it or not. You don't have control.

寻找永恒 Finding Timelessness

Host

但还有实际的时间表:你做了多少学习,做了多少构建,做了多少多元化。比如,我最近穿越了中国农村,我这么做是相当刻意的,因为你在和中国农村的人交谈,那里时间流逝得慢得多,没有人讨论智能体工程。我一开始去了中国的长城。那是永恒的,跨越了几个世纪。你知道,当时有一种 FOMO 的紧张感,好像我错过了什么。但后来我非常刻意地想要找到人类存在的永恒性,真正去体会这样一个事实:好吧,在整个人类历史上,一切似乎总是在变化,但你知道,那些关于生活中什么重要的普遍真理仍然成立。我只是想保持与那种永恒的联系。

But there's also actual daily schedule of how much learning are you doing, how much building are you doing, how much diversification you're doing. And for example, I traveled across rural China recently, and I did it quite deliberately because you're talking to people in China, in rural anywhere, where time moves much slower, where there's no discussions about agentic engineering. And I started by going on the Great Wall of China. That's timeless. That spans centuries. And, you know, there was, like, this kind of tension of FOMO, like maybe I'm missing out on something. But then I very deliberately wanted to find the timelessness of human existence, really plug into the fact that, okay, it always feels like everything's changing throughout human history but, you know, the universals are still true, of what matters in life. And I just wanted to keep connected to that.

两周即可赶上 You Can Catch Up in Two Weeks

DHH

你不会错过任何东西。这是转型早期真正让我恼火的部分。每个人都那么激动,好像如果你不……现在是循环了。哦,不,不,循环已经过时了。现在是图了。哦,不,不,那个也过时了。它利用这个,对吧?他们不断在前沿翻腾,从某种意义上说这其实非常令人兴奋。这就是一个新领域开启时会发生的事。就像一个新传送门,所有东西都涌出来。这很令人兴奋。但这也意味着,如果我过去一年一直在背包旅行,没碰过电脑,没见证这个智能体时刻,然后我昨天才出现,你知道吗?我两周就能赶上。没有任何积累,这在某种程度上是一种巨大的解脱。如果你错过了过去一年,你可以在两周内赶上前沿。如果你是一个程序员,去喜马拉雅山徒步了一年,回来之后,你可以在两周内赶上。这实际上是对我们所经历的进步的巨大赞誉。我们现在同时运行着这么多实验,它们不断无情地筛选什么有效、什么无效。你不必记住甚至不必参与整个旅程。你只需要来看结果就行。

You're not gonna miss anything. This is the part that actually grinded my gears in the early phases of this transition. Everyone was so up in arms that if you didn't... It's loops now. Oh, no, no, we're done with loops. It's graphs now. Oh, no, no, we're done with that. It's, it harnesses this, right? They're constantly churning through the frontier, which in one way is actually very exciting. This is what happens when a new field opens up. It's like a new portal, and it's all spilling out. That's exciting. But it also means that if I had just been backpacking for the last year, hadn't touched a computer, hadn't witnessed this agentic moment, and I just showed up yesterday, do you know what? I would've been caught up in two weeks. There's not any accumulation, which is in some ways a great relief. If you missed the past year, you can catch up to the frontier in two weeks. If you're a programmer who was out hiking the Himalayas for a year and you come back, you can catch up in two weeks. And this is actually the great credit to the progress we're experiencing. We have so many experiments running simultaneously right now that are constantly and ruthlessly sorting what works, what doesn't work. You don't have to remember or even be part of that entire journey. You can just show up for the results.

成为新人类 Becoming a New Human

Host

但关键的一步是,当你从背包旅行回来时,要愿意成为一个全新的、不同的人,因为事情变化太快了。

But the key step there, when you come back from the backpacking journey, is to be willing to become a totally new, different human because things are changing so fast.

DHH

没错。

That's right.

Host

我的意思是,真的,如果你去年 10 月出发去背包旅行,4 月或 5 月回来……

I mean, literally, if you left for the backpacking journey in October last year and came back in April or May...

DHH

那你简直就像在冷冻舱里待了 100 年。

You might as well have been in the cryo chamber for 100 years.

Host

……就像,“什么,你什么意思?我们不再编程了?”这是一次巨大的转变。

...it's like, "What, what do you mean? We're not programming anymore?" This, it's a huge transformation.

哀悼旧世界 Grieving the Old World

DHH

这很惊人,而且我实际上……我是说,我稍微有点夸张。我也承认,短暂地悲伤一下是可以的。那不是我的性格,我不会那样做,但我接受这是一种经过时间考验的应对失落感的机制。你对曾经熟悉、也许非常喜爱的世界不复从前感到失落,这也是可以的。

It's startling, and I actually... I mean, I'm putting some of this on slightly for effect. I also recognize that it's okay to grieve for a hot moment. That's not my disposition. It's not how I do it, but I accept that that's a time-tested mechanism for coping with a sense of loss. And it's okay to have a sense of loss that the world that you knew and maybe you were very fond of is no longer the same.

Host

也许我应该大声明确地说,我确实有那种感觉,就像那个流着泪的印第安人……有一种悲伤。这是一场告别。是对旧编程世界的告别。

I maybe I should say out loud and explicitly that I do have that, the Native American with a tear rolling down my... Like, there's a sadness. It's a goodbye. It's a goodbye to the old world of programming.

DHH

这对我来说太迷人了。

That's, it's so fascinating to me.

AI之旅 The Journey to AI

DHH

我花了这么多年——但这一切都汇聚到了这一刻。对我来说,这就是让整个旅程如此有意义的原因。AI 并非从天而降,也不是某种穿越宇宙、突然出现在我们海岸上的外星科技。AI 和计算机科学一样历史悠久。在 50 年代,当时最聪明的人认为这个问题大约十年内就能解决。结果花了更长时间,而部分原因在于我们在通往 AI 和神经网络的道路上走了一些弯路,以为其他符号表示方法会胜出,结果没有。那大概让我们倒退了 15 年。所以部分原因也是我们必须经历游戏革命、3D 游戏。如果没有《雷神之锤》,没有《毁灭公爵》,没有《虚幻竞技场》,我们永远不会有 AI,因为我们永远不会有 GPU,因此也永远无法以现在的形态获得 AI。所以直到这一刻我们所做的一切,都是到达那里所必需的。

I've spent so many years—but it all amounted to this moment. That is, to me, what makes the entire journey so meaningful. AI did not arrive from the sky. It was not alien technology that blasted through the universe and suddenly showed up on our shores. AI has been around for as long as computer science has been around. In the '50s, they thought the problem was gonna be cracked in about a decade, the smartest people at the time. It took a little longer, but the reason it took a little longer was in part because we took some blind turns on the road to AI and neural networks and thought that there were other symbolic representations that were gonna carry the day, and they didn't. And that probably set us back about 15 years. So some of it was also we had to go through the gaming revolution, 3D games. If we had not had Quake, if we had not had Duke Nukem, if we had not had Unreal Tournament, we'd never have gotten AI because we would never have gotten the GPUs, and therefore we would never have been able to get AI in the shape it is now. So everything we did up until this moment was required to get there.

Host

你是其中一部分。

You were part of that.

DHH

天哪……多么幸运。能贡献自己的一份力量,无论是通过训练还是玩电子游戏,都是多么幸运。真的,你可以选择这样想。对我来说,90 年代那些花在玩电子游戏上的时间,它们——

Holy... What a blessing. What a blessing to have contributed in your small part, either by training or by playing video games. Literally, you could just choose to think of it that way. All those times you spent in, for my case, in the '90s just playing video games, they were—

Host

你在做贡献。

You were contributing.

DHH

是的,我当时就在为 AI 革命做贡献。

Yeah, I was contributing to the AI revolution right there and then moment.

Host

为人类文明的进步。

To the progress of human civilization.

DHH

没错,当然。文明随着旧事物的消亡和新事物的诞生而进步,它就这样继续着,但我觉得,悲伤的过程仍然是其中的一部分。

No, for sure. Civilization progresses with the death of the old and the birth of the new, and it continues in this way, but it's still the grieving process is a part of it, I think.

Host

花点时间。没关系。花点……

Take a moment. It's okay. Take a...

DHH

而且,你甚至不必接受一切都已消亡。比如,如果你仍然非常留恋手工雕刻,如果你一年前问我,我会预测我会更加留恋。我很惊讶——

And also, you don't even have to accept that it's all dead. Like, if you are still very attached to the hand chiseling, which if you'd asked me a year ago, I would have predicted that I would've been more attached. I'm surprised—

Host

我有点惊讶——

I'm kinda surprised—

DHH

……有点惊讶我没有更加留恋。但我觉得,我没有更加留恋的原因是我找到了更有趣的东西。如果不是这样,如果 AI 只是取代了我热爱的东西,却给了我讨厌的东西,我可能会有点痛苦。

... a little that I've not been more attached. But the reason I've not been more attached, I think, is that I found something more fun. And if it hadn't been like that, if AI had just replaced the thing I loved and gave me something I hated, I'd probably be a little bitter.

Host

我的意思是,这真的感觉……看着既好笑又精彩,也很鼓舞人心。就像毕加索突然获得了图像生成能力,变得超级兴奋,几个月内就转型了。这确实发生了。所以,就像一个欣赏优美代码的艺术家,突然你开始谈论乐趣——

I mean, this really feels... It's hilarious and awesome to watch and inspiring to watch. It's like Picasso all of a sudden like, getting access to image generation and getting super excited and switching in a matter of months. That's literally what happened. So, like, it's an artist that appreciated beautiful code, and all of a sudden you're talking about having fun—

DHH

我觉得毕加索其实是个很好的类比,因为如果你看他早期的作品,他学习技艺的时候,画的是写实画,对吧?他训练自己成为描绘现实的大师,用我们当时知道的最佳方式。然后出现了各种其他表达形式,立体主义出现了。所有这些抽象表达形式,他并没有哀叹自己不再画文艺复兴风格的画,不再只是画一个完美的苹果。他重新想象苹果,把它变成一个该死的方块,并为此兴奋不已。我感受到了那种转变,我们从一种表达模式,突然打开了大门,色彩光谱变得如此宽广。我看到了更多。这也许是因为我成为程序员的方式。我成为程序员并不是因为对 if 语句的深爱,而是因为我想要程序。我想要存在不存在的东西。起初,我必须学习编程来实现这一点。然后我碰巧爱上了编程这门手艺,接着我花了二十年深入钻研。但现在我回来了。我回到了有一个想法,就迫不及待地想看到它出现在世界上的状态,而 AI 把这段时间缩短到了几乎为零。所以这是重新发现的一种加速。

I think Picasso is actually a good parallel because if you look at his early work where he learned his craft, it was painting realistic paintings, right? Like, he was training to be a master of the old ways of depicting reality the best way we knew how, and then along comes all these other forms of expression. Cubism comes along. And all these forms of abstract expression, he's not decrying that he's not doing Renaissance paintings anymore, that he's not just painting the perfect depiction of an apple. He's reimagining the apple to be a freaking square, and he's getting excited about that. And I feel that transition, that we've gone from this one mode of expression, and we've suddenly opened the gates where the, like, the color spectrum is so much wider. I'm seeing more. And it's perhaps because the way I became a programmer. I did not become a programmer because a deep love of if statements. I became a programmer because I wanted programs. I wanted things to exist that did not exist. And at first, I had to learn how to program to make that happen. Then I happened to fall in love with programming as a craft, and then I spent two decades really diving deep on that. But now I'm back. I'm back to having an idea and being impatient beyond belief to see it exist in the world, and AI has just shrunk that down to almost nothing. So it's an acceleration of a rediscovery.

Host

我明白,这对每个人来说并非如此。有很多程序员从一开始就热爱编程,他们被逻辑结构等吸引。我在那里待了二十年,所以我理解。但我也认为,你能够发现自己的新一面——

Now, I understand that that's not true for everyone. There are plenty of programmers who just loved programming right from the beginning, and they were attracted to the logical constructs and so forth. I mean, I've been there for two decades, so I get it. But I also think that you're able to discover new sides of yourself—

DHH

……如果你让它进来。我一直在回到这个近乎“遗憾最小化”的框架,借用杰夫·贝索斯的话。两年后你会看着自己,心想“我把时间花在对现状、对行业改变这件事上发脾气,真是值得”吗?还是两年后回顾这一刻,为自己积极投入、或许有过片刻悲伤而感到自豪?再说一次,这一切都有空间。然后继续,“我要学习世界现在如何运转,我不仅要做到最好,我还要创造更多。”

... if you let it in. Again, I keep coming back to this almost regret minimization framework, to borrow Jeff Bezos's terms here. Are you gonna look at yourself two years from now and think, "Oh, I spent my time well being pissy about the present, about the fact that my industry changed"? Or would I two years from now look back upon this moment and be proud of myself for leaning in, for maybe having a moment of grief? Again, there's room for all of it. And then going, "I'm gonna learn how the world spins now, and I'm gonna make not just the best of it, I'm gonna make more of it."

Host

我的意思是,确实,很多程序员,我的很多朋友,我,显然还有你,都在享受乐趣。

I mean, it is true, a lot of programmers, a lot of friends of mine, me, obviously you, are having fun.

DHH

过去三个月里,我在电脑上获得的乐趣比以往任何时候都多。

I have had more fun with computers in the last three months than at any time previously.

Host

快速上个厕所,然后我得问问你,你现在实际上是如何与这些系统互动的。

Quick bathroom break, and then I gotta ask you about how you actually interact with the systems now.

DHH

好的。

Yes.

编程设置变化 Programming Setup Changes

Host

我得问问你,你的编程设置发生了怎样的变化?比如键盘、语音,用什么 IDE?

I gotta ask you about how has your programming setup changed? So keyboard, voice, what's the IDE?

DHH

现在想想真疯狂,但没错,我用 TextMate 差不多 20 年。我从 2005 年开始用 TextMate,我想。我帮忙推出了第一个版本,然后我就不再感兴趣了。我没有寻找替代品的需求。直到切换到 Linux,我才被迫离开我的舒适区。现在随着切换到,我们怎么称呼它?智能体式工程?

It's crazy to think about now, but yeah, I used TextMate for almost 20 years. I used TextMate starting in 2005, I think. I helped get the first version out, and then I just wasn't interested. I wasn't in the market for an alternative. And it wasn't until the switch to Linux that I was forced out of my habitat. And now with the switch to, what are we calling it? Agentic engineering?

Host

哦,我他妈讨厌这个词。我们得想个听起来像编程一样朴素,但又能体现它是与智能体一起工作的词。但是——

Oh, I fucking hate that term. We gotta come up with something that sounds as plain as programming, but encapsulates the fact that it's with agents. But—

DHH

我仍然认为,在这一点上,它应该被称为编程。

I still think it should be called programming at this point.

Host

……好吧,我们就叫它编程。

... All right, let's just call it programming.

DHH

与智能体一起编程需要不同的工具集。确实如此。主要变化在于,你从头脑中的单线程编程转向了并行处理。当我写代码时,在 TextMate 甚至 Neovim 里手工雕刻,就在不久前,我一次只专注于一个问题,有条不紊地解决它,那实际上是进入心流状态的入口。进入心流的入口是深度沉浸于单个问题,直到完成。但和智能体一起工作不是这样,部分原因是智能体既太快又太慢。对于你要求它们做的事情,它们不会像键盘输入那样立即回复。所以你必须让智能体“烹饪”一会儿——

Programming with agents requires a different tool set. It really does. And the main change here is that you're going from single thread programming in your head to parallel processing. When I was writing code, chiseling it by hand in TextMate or even Neovim, not that long ago, I would just focus on one problem at the time, and I would methodically work my way through it, and that was actually the portal to flow. The portal to flow was deep, immersion into a single problem, see it through to the end. That's not how it works with agents, in part because the agents are at once both too fast and too slow. They don't give you an immediate reply on something that you asked them to do that's the same as typing on a keyboard. So you have to let the agent cook—

Host

……一会儿,然后你意识到,好吧,如果我只是坐在那里等它们,首先,这感觉没有效率。

... for a bit, and therefore you realize, well, if I just sit around waiting for them, first of all, that doesn't feel productive.

代理工作流与扩展 Agentic Workflow and Scaling

DHH

要做到这一点,你需要不同的设置。我最初是在 tmux 里做的,就是有单独的窗格和单独的分屏。基本上,把终端想象成带标签页的窗口是个好办法。你打开一堆标签页。我想大多数人都很清楚这是怎么回事。他们不会只在一个标签页里工作。

And to do that, you need a different setup. I started first doing it in tmux and just having separate panes and having separate splits. Basically, a terminal with tabs is a good way to think about it. You open a bunch of tabs. I think most humans know exactly how that works. They don't work in just one tab.

Host

所以还是坚持用终端、命令行界面?

So still sticking to the terminal, CLI.

DHH

绝对如此。

Absolutely.

Host

所以你不用 Claude Code 应用,或者……

So you're not using Claude Code app or the...

DHH

不用。

No.

Host

……或者 Codex 应用,或者……

... Codex app or the...

DHH

我很喜欢这个事实:智能体革命是在终端里发起的,因为我本来就是 TUI(终端用户界面)和终端的超级粉丝。那感觉是一个非常好的地方。那是一个美丽的地方。现代终端就是一个看起来不错的工作场所。所以我喜欢这样。然后,拥有多个智能体这个事实,尤其是当它不只是在你自己的机器上运行多个智能体,而是你开始运行多台机器时,现在仅靠 tmux 就不足以跟踪了,这就是为什么最近我切换到了一个叫 Herdr 的东西。Herdr 基本上就是 tmux 加上智能体通知。所以每当你的智能体完成工作并且需要你时,它会“叮”一声,一个小铃铛告诉你它准备好迎接它的人类了,呃……是主人还是仆人?我不太确定。但它准备好做决定了,它还会跟踪它是否处于工作模式。所以我已经设置好了 Herdr。实际上我在多台机器上运行着多个 Herdr 设置。

I love the fact that this agent revolution was kicked off in the terminal because I was already a huge fan of TUIs, terminal user interfaces, and the terminal in general. That feels like a, a really nice place to be. It's a beautiful place to be. The modern terminal is just a good-looking place to work. So I like that. And then this fact of having multiple agents, especially once it's not just multiple agents running on your own machine, but you start running multiple machines. Now tmux alone is not enough to keep track of it, and that's why as of late I've switched to this thing called Herdr. And Herdr is essentially tmux plus agent notifications. So whenever your agent is done and needs something for you, it goes ding, a little bell telling you it's ready for its human, uh... Is it master or servant? I'm not quite sure always. But it is ready for a decision, and it also keeps track of these is it in working mode or not. So I have this Herdr set up. I have multiple Herdr setups actually running on individual machines.

DHH

就在大约一个月前,我进入了一个疯狂阶段,意识到在单台机器上做这项工作不够快。就像我发现了多核编程,但我只有两个核心。我想:“如果我有 16 个核心呢?如果我有 32 个核心呢?如果我有 64 个核心呢?”所以我立刻出去买了这些很棒的 KVM,叫做 GL.iNet Comets。它们的作用就是这个小盒子。你插入 HDMI,插入 USB,然后连接到电脑。它就像一个 KVM。所以 KVM 是一种远程控制电脑的方式,但它的特别之处在于它太容易了。你把这个东西接进去,去一个网页,登录一次,设置一个密码。现在这个东西可以跳上你的 tailnet。这对我来说是过去一年的另一场革命,就是发现这些 WireGuard 网络。呃,Tailscale 基本上把你所有的电脑变成了一个本地网络,无论你在哪里。就像现在在我的手机上,我可以直接访问我在马里布办公室的所有电脑。我也可以访问我在哥本哈根办公室的所有电脑。我可以把它们当作我就坐在它们旁边一样对待,而无需在防火墙上打洞或设置复杂的 VPN。这样做的作用就是减少了让新算力上线所需的摩擦。所以我一发现这个,就看了看我的壁橱,我意识到我有一堆之前实验用的迷你电脑,我就说:“如果我把它们都连接起来会怎么样?”然后我就把四台电脑……在壁橱里连接起来了。它们都有各自的小 Comet,突然我就可以同时在更多电脑上运行智能体了,而且我可以用 Herdr 控制它们全部。

I went on this crazy phase just about a month ago realizing that doing this work on a single machine is not fast enough. It's like I've discovered multi-core programming, but I only have two cores. I'm like, "What if I had 16 cores? What if I had 32 cores? What if I had 64 cores?" So I instantly went out and I bought these amazing KVMs called GL.iNet Comets. And what they do is it's this little box. You plug in HDMI, you plug in USB and connect it to the computer. It's like a KVM. So a KVM is a remote way of controlling a computer, but what's special about this is just how easy it was. You connect this thing in, you go to a webpage, log in once, set one password. Now this thing can hop on your tailnet. This has been the other revolution of the last year for me, is discovering these WireGuard networks. Uh, Tailscale is essentially turning all the computers you have into a local network wherever you are. Like right now on my phone, I have direct access to all the computers in my Malibu office. I also have access to all my computers in my Copenhagen office. And I can treat them as though I sat right next to them without having to punch holes in a firewall or set up complicated VPNs. And what this does is it just decreases the friction it takes to get new compute online. So as soon as I discovered this, I looked at my closet, and I realized I had a bunch of mini PCs from prior experiments, and I just said, "What if I just connected all of them?" And I just connected four of the computers... in a closet. They all had their little Comet, and suddenly I could run agents on more computers at the same time, and I could control them all with Herdr.

DHH

而且确实到了我耗尽自己处理能力的程度。我认为大约……我们怎么说呢?大约四到五台机器在运行,我不知道,三个智能体。我有大约 16 个线程。这就是我能运行的。当然,智能体运行得越快,我能运行的线程就越少,但按照目前的速度,我能运行大约 16 个线程……

And it did get to a point where I maxed out my own processing power. That I think at about... What do we want to put it? About four to five machines running, I don't know, three agents. I have about 16 threads. That's what I can run. And the faster the agents run, of course, the fewer threads I can run, but at the current pace, I can run about 16 threads...

Host

嗯哼,全速加速。

Mm-hmm, at full acceleration.

DHH

这也是为什么我从对智能体时刻感到兴奋变成了欣喜若狂的部分原因。因为我认为正如你所说,其中一些有点冲击。再说一次,我们与电脑的带宽就像拨号上网一样。我的意思是,这实际上很滑稽。所以你想,一年前我坐在这里,对吧?我在凿我的代码。是的。

And that's part of why I've gone from just being excited about the agent moment to being delirious. Because I think as you say, some of it is a little assaulting. Again, we're on a dial-up bandwidth-wise with our computer. I mean, it's actually hilarious. So you think of I'm sitting here a year ago, right? I'm chiseling my code. Yeah.

Host

我在写我的代码行。

I'm writing my lines.

DHH

然后在大约一个小时的过程中,我会写一个漂亮的控制器,一个漂亮的模型。就像,那是一个文件。而且我真的在它上面下了功夫,对吧?所以也许剩下 60 行。所以也许我此刻的带宽是,比如,每小时 30 行。我认为那甚至算高的。也许每小时 20 行。现在我运行 16 个线程。我有时每小时产生数百行代码。现在,让我在那里暂停一下。我讨厌那个指标,对吧?就像,代码行数通常是一个愚蠢的指标来衡量这些东西,我认为编程社区中有些人嘲笑 AI 精神病是正确的,当每个人都谈论他们正在编写的代码行数时,然后你问他们:“你构建了什么?”他们就说:“嗯,我……”然后就没有好的答案出来,对吧?

And over the course of, like, an hour, I will have written one beautiful controller, one beautiful model. Like, that's one file. And I've really worked on it, right? So maybe there's 60 lines left. So maybe my bandwidth at this moment is, like, 30 lines an hour. I think that's even high. Maybe it's 20 lines an hour. Now I'm running 16 threads. I'm producing at some times hundreds of lines of hour or hundreds of lines of code per hour. Now, let me pause myself there for a hot moment. I hate that metric, right? Like, lines of code is a stupid metric in general to measure these things, and I think it's right from some in the programming community to ridicule the AI psychosis when everyone talks about the number of lines of code they're writing, and then you ask them, "What did you build?" And they're like, "Well, I..." And then no good answer comes out, right?

Host

这只是一个很好的简写……

It's just a nice shorthand to...

DHH

这是一个很好的简写。它代表了或封装了有多少输出正在产生。现在,输出是好是坏……并不是对那个的评判。但我现在生产得越来越多,对吧?因此我能够保持所有这些线程运转。所以这就是设置。仍然是 Neovim,但在这一点上,我不写很多代码,所以我用 Neovim 作为项目浏览器,然后作为启动 Lazy Git 查看变更日志的方式。即使那样,我想如果 GitHub 在显示你的拉取请求方面快一点,网页可能实际上是做这件事更好的地方。我不知道。还有另一个我一直在玩的工具叫 Hunk,它以一种非常好的方式生成差异。所以你也可以看看那个。但我发现当我查看 Hunk 时,我只看到变更集,而当我审查智能体的输出时,我经常想看到周围的上下文。

It is a nice shorthand. It is a representation or encapsulation of how much output that's coming out. Now, whether the output is good or bad... is not a referendum on that. But I was producing and producing so much more now, right? And therefore I'm able to keep all these threads going. So that's the setup. It's still Neovim, but at this point, I'm not writing a lot of code, so I'm using Neovim as a project browser and then as a way to kick off Lazy Git to see the change log for what's there. And even that, I'd say if GitHub was a little faster at showing you your pull request, the web is probably actually a nicer place to do that. I don't know. There's also this other tool I've been playing with a bit called Hunk, which just produces Diffs in a really nice way. So you could look at that too. But I find that when I look at Hunk, I only see the change set, and when I'm reviewing output from an agent, I often want to see the surrounding context.

DHH

哦,是的,所以它改变了这个文件,但实际上,我们在另一个没有被触及但也许应该被触及的文件里有什么?所以这就是为什么我仍然喜欢用 Neovim 来做这件事。但顺便说一句,当然,这一切都发生在 Amachi 里。所以一切都发生在 Linux 上。这是智能体的另一个重大突破。智能体喜欢 Unix 哲学。

Oh, yeah, so it changed this file, but actually, what do we have in this other file that wasn't touched but maybe should've been touched? So that's why I still like Neovim as a way of doing it. But it's all happening, by the way, of course, in Amachi. So it's all happening on Linux. And this was the other major breakthrough with agents. Agents love the Unix philosophy.

Linux作为代理操作系统 Linux as the Agentic OS

DHH

它喜欢那些可以通过命令行调用的独立工具,而地球上主流的操作系统——我数一下,Mac、Windows、Linux 三个——没有哪个能像 Linux 那样与这种机制配合得这么好。在 Linux 里,一切都是配置文件或命令行工具。五分钟前,这曾是它最大的缺点,也是人们不喜欢 Linux 的原因——全是配置文件和命令行工具。宇宙跟我们开了个多大的玩笑:五分钟前 Linux 的缺点,如今成了它最大的卖点。

It loves individual tools that it can invoke through the command line, and there is no operating system on Earth of the majors, I'm counting three here, Mac, Windows, Linux, that works as well with that mechanism as Linux. Everything in Linux is either a config file or a CLI tool. Now, that was its main drawback five minutes ago. This was the reason people didn't like Linux. It's like it's all config files and CLI tools. What great irony that the universe has played it upon us that now the drawbacks of Linux five minutes ago are now its major selling points.

DHH

这就是四个月前我被迫与 Mac 共度一个周末时遇到的情况之一。我原以为要去的地方有一台 Linux 机器,所以没带笔记本电脑,结果到了才发现只有一台 Mac Mini。于是我打算在糟糕的情况下尽量利用它,用我一直在思考的 Linux 方式去配置我的 Mac。其实现在你能做很多事了。Homebrew 已经变得相当不错了。Homebrew 是 Mac 上缺失的包管理器,在简化设置方面,没有人比它做得更多。但即便如此,像 Raycast 这样简单的东西——我不知道你用过没有——就是没有一个你可以直接访问的配置文件。你得进入图形界面,导出一个文件,然后把这个文件,我不知道,塞进你的背包里的 U 盘上,再在别的地方导入。你无法自动化整个机器的设置过程。你完全无法自动化 Mac 默认按键绑定的配置。那必须是一个手动过程,你得像个穴居人一样用鼠标点击来设置你的机器。

This was one of the things I thought I was stuck for a weekend with a Mac four months ago. I thought I had a computer at the place I was going that was a Linux machine, so I didn't bring my laptop, and I found out when I arrived I only had a Mac Mini. So I was gonna make the best of a bad situation here and set up my Mac in some of the ways I've been thinking about with Linux. And you can actually do a lot now. Homebrew has gotten really quite good. Homebrew is the missing package manager for the Mac, and no one has done more to move the Mac forward in terms of ease of setup. But still something as simple as Raycast, I don't know if you've used that. There's no config file that you can just access. You have to go into the GUI, export a file, then take that file, I don't know, in your freaking backpack on a USB key. And then you can import it somewhere else. You cannot automate the entire setup of your machine. You can't automate at all the configuration of Mac's default key bindings. That has to be a manual process where you're clicking with a mouse like a caveman to set up your machine.

Host

我是说,总有办法绕过去的。

I mean, there's ways around it.

DHH

没有好办法。我找过,我努力试过。

Not good ones. I looked. I tried hard.

Host

所以这是我的经历。显然我是 Linux 用户,但因为 Adobe Premiere、Adobe 产品,我也是 Windows 用户,所以我经常用 WSL,即适用于 Linux 的 Windows 子系统。所以是 Windows 里的 Linux,这在智能体时代不是一种好的 Linux,因为它只是——

So here's my, been my journey. Obviously I'm a Linux person, but because of Adobe Premiere, Adobe products, I'm also a Windows person, so oftentimes I would use WSL, Windows Subsystems for Linux. So Linux inside Windows, which is... in the agentic era is not a good kind of Linux, 'cause it's just-

DHH

那是个沙盒。

It's a sandbox.

Host

……那是个沙盒,而你想要的是 Linux 被释放出来,能够做任何事情。

...it's a sandbox, and you want the Linux to be unleashed to be able to do everything.

DHH

没错。

Correct.

Host

所以我现在开始关注像 GrayCat 这样的东西,你知道,我是个键盘党。配置文件在哪?我能不能基本上做所有事情,让一个智能体为我设置一切,并保存配置,这样我就能跨系统复制,一切都自动化?所以我不得不问很多这样的问题,而很多答案都是缺失的。

And so I have now woken up to things like GrayCat, and have you know, I'm a keyboard person. Where's the config file? What, can I, can I basically do everything where an agent can set everything up for me and save the configuration so I can replicate it across systems and everything's automated? And so I had to ask a lot of those questions, and a lot of them are missing.

DHH

他们没有好的答案。

They don't have good answers.

Host

但很多时候你其实可以自己构建应用。

But oftentimes you could actually just build the app yourself.

DHH

但有一些变通方法。

But there are hacks.

Host

是啊,都是变通方法。

Yeah, they're hacks.

DHH

有变通方法。你不必这样生活,Lex。有更好的……其实,这是个好时机。

There are hacks. You don't have to live like this, Lex. There's a better... Actually, this is a great moment.

Host

除非你有个视频编辑器。

Until you have a video editor.

DHH

所以这是个好时机。

So this is a good moment.

Host

嗯。

Yep.

DHH

嗯,我听说今天是你的生日。所以我带了个小礼物。

Um, I heard it was your birthday. So I brought a little gift.

Host

不会吧。

No.

DHH

我们要让你用上智能体操作系统,不管你愿不愿意。

We are going to get you onto the agentic operating system whether you like it or not.

Host

这太棒了。

This is awesome.

DHH

我问了……我在戴尔的朋友们,他们是否有一台机器,嗯,我可以作为生日礼物送给你。

And I asked... my friends at Dell whether maybe they had a machine that, um, I could get you for your birthday.

Host

哦,不。

Oh, no.

DHH

所以这是我用的机器……也就是……嗯,和我用的是同一款,但现在它是你的了。这是一台……戴尔 XPS 14……已经预装了 Omarchy 4……随时可以为你配置。一旦你意识到你所有的……顺便说一句,我们几乎可以计时。你就能启动并运行了。你得回答大约五个问题,在一分钟内。如果你愿意,你甚至可以现场做。

So here's the machine I use... which is... well, the same one I use, but it's now yours. It's a... Dell XPS 14... already set up with Omarchy 4... ready to be configured for you. And once you realize that all your... By the way, we should almost time this. You can be up and running. You have to answer, like, five questions in about one minute. You could literally do it live if you wanted to.

Host

哦,Omarchy,DHH 出品的漂亮、现代、有主见的 Linux。好,我们开始吧。

Oh, Omarchy, beautiful, modern opinion Linux by DHH. Yeah, let's do it.

DHH

是的,我说话的时候你填。所以……正如你意识到的,Mac 上的那种痛苦是我大约一个周末的体验,我非常努力地尝试,找到了一些不错的变通方法,主要的一个是 Homebrew 现在有了图形界面应用的标签页。因为回想不久之前,人们会去网站,比如“我需要 Zoom”,他们会进入 zoom.com,找到下载链接,下载一个 DMG……双击它,看到一个奇怪的手动交互,告诉他们把一个图标从屏幕的一个地方拖到另一个地方,这就是你安装应用的方式。你会一遍又一遍地这样做,直到你拥有所有你想要的应用,如果你在设置一台新机器,有大约 12 个应用,你会像穴居人一样去 12 个不同的网站下载它们。Homebrew 解决了很多问题,但没有解决全部,而且在……方面什么也没解决。

Yeah, fill it out while I talk. So... exactly what you realized, that pain on the Mac was the exposure I got for about a weekend, and I tried really hard, and I found some decent workarounds, the main one being that Homebrew now has tabs for GUI apps. Because it's hilarious to think upon the recent past where people would go to websites, like, "I need Zoom." They would enter zoom.com, find the download link, download a DMG... double-click on that, see a weird manual interaction telling them to drag an icon from one place of the screen to the other, and that was how you installed apps. And you'd just do that over and over again until you had all the apps that you wanted, and if you were setting up a new machine and you had, like, 12 apps, you'd go to 12 different websites to download them like a total caveman. Homebrew has solved a lot of that, but it has not solved all of it, and has solved nothing in terms of the-

Host

抱歉打断一下,但你看这进行得多快。

Sorry to interrupt, but look how fast this is going.

DHH

哦,大约 40 秒就能完成。然后你就会进入 Omarchy 了。

Oh, it's gonna be done in about 40 seconds. And then you're gonna be inside of Omarchy.

Host

Super 键是你键盘上的 Windows 键或 Command 键。那么哪个是 Super 键?

Super is the Windows or Command key on your keyboard. So which one is the Super key?

DHH

是的,那是 Windows 键。哦,其实,不,不,你有一个特别版。这种电脑全世界只有大约六台。

Yep, that's the Windows key. Oh, actually, no, no, you have a special edition. There are only about six of these computers in the world.

Host

哦,有一个 Super 键。

Oh, there's a Super key.

DHH

上面写着 Super,看看键盘另一端的 Copilot 键的位置。那是 Omarchy 的标志。

It says Super, and look at where the Copilot key is on the other end of the keyboard. That's the Omarchy logo.

Host

不错。好的,酷。

Nice. Okay, cool.

DHH

这是戴尔的 Spencer Bull,我和他在很多这类事情上合作过。他们非常出色。

This was Spencer Bull at Dell, who I've been working with on a lot of this stuff. They've been incredible.

Host

他们有一段时间放弃了 XPS 品牌。

They, for a moment, let go of the XPS brand.

DHH

是的,他们去年这么做了。

Yes, they did, last year.

Host

我当时想,“这太蠢了。这……XPS 很棒。”

And I was like, "This is dumb. This is... XPS is awesome."

DHH

放弃 XPS 品牌不只是愚蠢。他们还去掉了 Escape 键,并在顶部放了电容式触摸按钮。苹果大约三年前意识到这个错误很糟糕,所有人都因此讨厌他们。但现在他们有一个了不起的团队,这其实是我为自己买的第一台戴尔笔记本电脑。因为我一直在我们的服务器上使用戴尔。戴尔是我们云退出的动力。我想我们从 2000 年代中期就开始用戴尔了。但我从未用过他们的笔记本电脑,因为与 MacBook 相比,它们对我来说不够格。2016 年或 2026 年的 XPS,配备那些英特尔 Panther Lake 芯片,是我个人真正会使用的第一批戴尔。有趣的是,当我最初对苹果生气时,我想,“你知道吗?我应该买台戴尔,”因为我们已经用了它们之类的,我买了一台戴尔,然后我想,“天哪,我做不到。我做不到。它不够好。”然后你瞧,今年他们就把一切都修好了。他们修好了电池续航。他们修好了性能。他们修好了兼容性。他们修好了重量。他们修好了屏幕。那是一块串联 OLED 屏幕——

It was not just dumb that it got rid of the XPS branding. They also got rid of the Escape key and put in capacitive touch buttons at the top. The mistake that Apple realized like three years ago was terrible, and everyone hated them for them. But now they have an incredible team, and this was actually my first Dell laptop for myself. Because I've been using Dell on our servers. Dell was what powered our cloud exit. We've been running Dell since the mid-2000s, I think. But I never ran their laptops, because compared to a MacBook, they just weren't up to the task for me. The XPS' from 2016, or from 2026, with those Intel Panther Lake chips, are the first Dells that I would personally actually use. And it's funny because when I got mad at Apple originally, I thought, like, "Do you know what? I should just get a Dell," because we already used them and whatever, and I got a Dell, and I was like, "Man, I can't do it. I can't do it. It's not good enough." And then lo and behold, this year they just fixed everything. They fixed the battery life. They fixed the performance. They fixed the compatibility. They fixed the weight. They fixed the screen. That's a tandem OLED screen-

Host

是的,那太不可思议了。

Yeah, that's incredible.

DHH

……这意味着它的技术实际上比你在 MacBook 里得到的还要好。它比 MacBook 更轻,芯片终于有竞争力了,因为英特尔花了整整五年时间开发 18A 工艺节点。花了很长时间,但现在它来了,而且简直不可思议。我们终于有了能与苹果 M 芯片竞争的产品——

...which means it's actually better tech than what you'll get in a freaking MacBook. It's lighter than a MacBook, and the chip is finally competitive because Intel spent a good five years developing the 18A process node. It took a long time, but now it's here, and it's freaking incredible. We finally have competition to Apple M chips-

Omarchy笔记本与TUI Omarchy Laptop and TUI

Host

续航时间一样长,性能也有竞争力。而且这东西有个漂亮的默认主题,然后呢?Super Space 就打开了。

that can go as long on battery and can have competitive performance. And there's a beautiful default theme to this thing, and then what is it? Super Space opens up.

DHH

其实你只要按一下 Omarchy 键,菜单就打开了。现在你从那里就能控制一切。

Actually, you can just push the Omarchy key. It opens up the menu. So now you control everything from there.

Host

哦,跟 Super 键一样。好的。酷。跟 Super Space 一样。

Oh, same thing as the Super. Okay. Cool. Same thing as Super Space.

DHH

是啊。这对我来说是个巨大的改变,我们终于有了不用找借口的 Linux 机器。我不介意找借口,因为借口其实就是权衡的另一种说法。我很喜欢上次提到的 Framework 13,我仍然喜欢它们,它们还是造好电脑。但我觉得对很多人来说,他们不想要 DIY 体验,他们想要的是开箱即用、在制造质量等方面能和 Mac 媲美的东西,现在我们终于有了。所以,生日快乐。

Yeah. So this has been a huge change for me, that we finally have Linux machines that you don't have to make excuses for. Because I don't mind making excuses because excuses are really just another word for trade-offs. I love that Framework 13 I think I talked about last time. I still like them. They still make good computers. But I think for a lot of people, they didn't want a DIY experience. They wanted something that just out of the box felt like it was on par in build quality and whatever with Macs, and now we finally have it. So happy birthday.

Host

太感谢了。DHH 送的 Omarchy 戴尔笔记本是最好的生日礼物。太棒了。

Thank you so much. An Omarchy Dell laptop from DHH is the best birthday present. This is awesome.

DHH

顺便看看屏保。

Check the screensaver, by the way.

Host

是啊,挺惊艳的。我看到了。

Yeah, it's kind of amazing. I'm seeing it.

DHH

在那块串联 OLED 屏幕上……

On that tandem OLED screen...

Host

太美了。

It's gorgeous.

DHH

……简直令人难以置信地棒。

... it is absolutely mind-bogglingly awesome.

Host

你看那个。整个东西有种复古的感觉。

Look at that. There's like a retro look to the whole thing.

DHH

完全同意。就像在 90 年代跑一个电子公告板系统,那正是我 14 岁时干的事。所以对我来说,这完全是怀旧,而且美学上很棒,把 Unix 里现代崛起文化的这种感觉和 90 年代的怀旧结合了起来。

Totally. It's like running a bulletin board system in the '90s, which is exactly what I did when I was 14 years old. So for me, it's a complete throwback and an awesome aesthetic, combining this sense of modern rising culture in Unix with this throwback of the '90s.

Host

是啊,就像给智能体优先的操作系统一个复古外观。没错。太疯狂了。

Yeah, like a retro look for an agent first OS. Exactly. It's crazy.

DHH

这又和……这就是为什么我如此兴奋,所有这些智能体工具都以 TUI、CLI 的形式出现,以终端的形式出现,因为突然之间,整整一代程序员和普通用户都发现了终端的魅力。终端实际上是我们能拥有的最令人印象深刻、最高效的用户界面之一。自那以后我们构建的用户界面更容易上手。鼠标是个了不起的发明,能让不太懂电脑的人随便点点就能发现东西,但终端是为那些想了解自己系统、想学习键盘命令的人准备的。

Which again, pairs... This was why I was so excited that all these agent harnesses arrived as TUI's, arrived as CLIs... has arrived as a terminal because suddenly, a whole new generation of both programmers and regular users discovered the glory of the terminal. The terminal was actually one of the most impressive and productive user interfaces we can have. Now, we've built user interfaces since then that were easier to learn. The mouse is a wonderful invention for letting someone who doesn't know a lot about computers just click around and find things out, but the terminal is for people who want to learn their systems, who want to learn the keyboard commands.

Host

那你觉得 TUI 会一直存在吗?

So you think the TUI is gonna stick around?

DHH

百分之百。但它不会是唯一的东西。当然不是,因为这些实验室现在有万亿美元估值,所以它们需要触达数十亿人。我不认为我们能教会数十亿人 TUI 的复杂细节。所以我们会有其他工具,而且我们已经有了其他工具,顺便说一句,这就是 Linux 的妙处之一,ChatGPT Codex 工具。

100%. Now, it's not gonna be the only thing. Of course it's not, because these labs now have trillion-dollar valuations, so they need to be able to reach billions of people. And I don't think we're gonna teach billions of people the intricacies of the TUI. So we're gonna have other tools, and we already have other tools, which is, by the way, one of the sweet things about Linux, the ChatGPT Codex tool.

Host

嗯,我看到了。

Yeah, I saw that.

DHH

那个公告发布后不到两小时,我就把它打包好放进了 Omakub。现在,如果你去……你其实可以按 Omakub 键,然后输入 ChatGPT,它就会弹出安装选项,然后按回车就行。

Literally within two hours of that announcement dropping, I had it wrapped up and ready to go in Omakub. Already now, if you go to... You can actually hit the Omakub key... and then just write ChatGPT. It should pop up as, like, install. And then just hit return.

Host

Lex 的 sudo 密码。

Sudo password for Lex.

DHH

对,你输入什么就是什么。然后它就会安装,弹出来,你就有 ChatGPT 了。

Yeah, whatever you put in. And then it's just gonna install it, and it's gonna pop it up, and you have ChatGPT.

Host

不错。

Nice.

DHH

很多应用都是这样,所有智能体工具也都是这样构建的。嗯,Tailscale,就像我说的,如果你想用,就是这样。呃,Dropbox。这些东西都在里面,是因为我自己在用。因为我为自己构建了这个系统,我首先想的是,我怎样才能为自己打造一台梦想电脑?如果我得到了我的梦想电脑,我确信还有其他人和我有同样的梦想。

And that's how a lot of the apps are, and all the agentic harnesses are built in that way. Um, Tailscale, as I talked about, if you wanna hop on that, is that way. Uh, Dropbox. And the reason all these things are in there is because I use them. It's because I built this system for me, and I thought, first and foremost, how do I build my dream computer just for me? And if I get my dream computer, I am assured there are other people who are gonna have the same dreams as I do.

安装速度痴迷 Installation Speed Obsession

Host

现在,你痴迷于让安装在一分钟内完成,网上很多人问你为什么。所以,为什么?你为什么这么执着于让安装少于 60 秒?

Now, you're obsessed about getting the installation to be under one minute, and a bunch of people asked you online why. So why? Why were you so obsessed to getting the installation to be less than 60 seconds?

DHH

首先,让我引用 Mitchell Hashimoto 的话,他创造了很棒的 Ghostty 终端,在 Omakub 上也有,他还是 HashiCorp 的创始人,他不久前在 X 上发了一篇很棒的文章,里面有句杀手级的话:「追求卓越无需解释。」想把东西做得尽可能好、尽可能快、尽可能美,不需要理由。我们应该想要漂亮、快速、用起来愉悦的系统。有趣的是,安装时间这件事,其实一开始并不是一分钟的目标。刚开始时我还挺谦虚的。我想如果我能用 15 分钟设置好整个系统,那已经是巨大的进步了,我会非常满意。这源于基准测试被扭曲得太离谱了。你之前说过你的第一台电脑是 Commodore 64,对吧?当你拆开那台 Commodore 64,按下开机键,我想不到一秒,BASIC 解释器就准备好接受你的命令了。几乎是瞬间的。几乎没有启动时间。你知道我设置一台新 Mac 花了多久吗?我买它其实是为了一个我还没能在 Linux 上 vibe coding 出来的应用,就是 Adobe Lightroom。全新电脑,开箱。我设置它,有软件更新。在我准备好安装 Adobe Lightroom 并让它完全更新到最新之前,花了 42 分钟。这太离谱了。太荒谬了。这是对所有喜欢电脑的人的侮辱,你拿到一台新电脑,在能用之前,你得花 42 分钟更新那些出厂时就已经装好的东西。这简直荒谬,而且疯狂的是这还不是最糟的。我还买了一台 PC,嗯,因为所有这些 Linux 机器,它们都是 PC 形式,对吧?

First, let me quote Mitchell Hashimoto, who created Ghostty terminal that's awesome and also available on Omakub and was also the founder of HashiCorp, who had this great post on X not too long ago that had the killer line, "The pursuit of excellence deserves no explanation." Wanting to make something as good and as fast and as beautiful as possible has no need for justification. We should want beautiful, fast systems that are a delight to use. Now, the funny thing with the install time is it didn't actually start with a one-minute mission. I was being modest when it got going. I thought if I could set up my entire system in 15 minutes, it would already be such a dramatic improvement over what came before it that I would be perfectly happy. And it came off the fact that the benchmarking had been skewed so out of whack. You talked about the Commodore 64 being your first computer, right? When you unwrap that Commodore 64 and you hit the on button, in I think about less than one second, the basic interpreter was ready to accept your command. It was literally almost instant. There was virtually no boot time. Do you know how long it took me to set up a new Mac that I had bought for actually the one app that I still haven't vibe coded my way into on Linux, which is Adobe Lightroom? Brand-new computer, out of the box. I set it up. There's a software update. Before I was ready to install Adobe Lightroom that I had it fully up to date, it took 42 minutes. That's grotesque. That's absurd. That's an insult to everyone who likes computers, that you get a new computer and before you can use it, you have to spend 42 minutes doing updates on something that was already installed on it out of the box from the factory. That is just preposterous, and it's crazy that that's not even the worst thing. I also got a PC, um, because all these Linux machines, they come as PCs, right?

Host

对。

Right.

DHH

而且它们预装了 Windows。所以我买了一台。就在三周前。全新机器,Intel Panther Lake,全套配置。从拆箱到能使用,花了一个小时 35 分钟。你觉得你进入 Omakub 花了多久?

And they have Windows pre-installed. So I got one. This was just three weeks ago. Brand-new machine, Intel Panther Lake, the whole shebang. An hour and 35 minutes from unwrapping the thing until it's ready to use. How long did you take before you think you were in Omakub?

Host

我的意思是,肯定不到一分钟。

I mean, it's less than a minute for sure.

DHH

一分钟。我们能造出这样的电脑。我们有技术。从 1981 年 Commodore 64 首次问世时,我们就有了这项技术。现在我们有一台快一万亿倍的电脑,你却要花 42 分钟或一个半小时去设置才能用,这让我非常愤怒,以至于它成了我的热情所在。而且有趣的是,就在我们刚才休息的时候,我和我的同谋 Ryan Hughes 聊了聊。我们现在有了一条思路,可以创建针对特定电脑预制的特殊 turbo 镜像,因为它依赖于一些硬件知识,比如 Dell XPS。我们要做一个 Dell XPS turbo 镜像,大约 12 秒就能安装完成。一个完整的 Linux 系统,大约 12 秒安装完。

A minute. We can build computers like this. We have the technology. We've had the technology since like 1981 when the Commodore 64 first came out. The fact that we now have a computer that's a trillion times faster and you have to spend 42 minutes or an hour and a half setting it up before it's ready to use is so infuriating to me that it became a passion. And it's funny. Just while we were having a little break here, I was talking to Ryan Hughes, my co-conspirator here. We now have, we think, a line where we can create these special turbo images that are pre-made for specific computers because it relies on some knowledge of the hardware, like the Dell XPS. We're gonna make a Dell XPS turbo image that can install in about 12 seconds. A full Linux system installed in about 12 seconds.

Host

太不可思议了。

That's incredible.

代理加速现实与第一性原理 Agent-accelerated reality and first principles

DHH

正是这种执念,让我在使用电脑时获得极大的满足感——我们不接受事物本来的样子。这也是为什么我现在所处的这个由智能体加速的现实如此令人振奋。因为我可以看着这些限制,然后想:你知道吗?我们做到五分钟的时候,我本可以停下来。那已经够快了。这就是 X 上的争论,对吧?你为什么还要继续?五分钟已经够快了。好吧,也许对你来说够了,但对我来说,12 秒有趣得多。而且我总是试着用第一性原理去思考。

That obsession is what gives me this great satisfaction with using computers, that we do not accept things the way they are. And this is why this agent-accelerated reality that I now inhabit is so invigorating. Because I can look at these kinds of constraints and go, do you know what? I could have stopped when we were at five minutes. That would already have been fast enough. This was the argument on X, right? Why do you keep going? Five minutes is fast enough. Okay, maybe for you, but for me, 12 seconds is a lot more fun. And I always try to think these first principles.

DHH

好,在那台机器上,再按一下 Omarchy 键,然后选 speed。你会看到一个列表,其中有一项是磁盘速度。

Okay, in that machine, actually hit the Omarchy key again, and then do speed. You'll see a list come up, and one of them is, like, disk speed.

Host

速度测试、网络速度、磁盘速度。

Speed test, network speed, disk speed.

DHH

磁盘速度。选那个,然后运行。这是在测试内置 NVMe 硬盘的性能,你得到多少?

Disk speed. Do that one, and then run it. So this is testing the performance of the built-in NVMe drive, and what are you getting?

Host

每秒 7 GB。

Seven GB a second.

DHH

所以是每秒 7 GB。那块硬盘就是这么快。为什么我们不能在一秒内安装一个 Linux 发行版?Omarchy 发行版是 5.8 GB。如果我们能以 7 GB 的速度运行……当然,实际上你做不到,因为 USB 密钥比那慢得多,但你应该能最大化我们正在处理的底层物理和协议,这就是你的目标。我们必须一路回到那个水平。

So seven gigabytes a second. That's how fast that drive is. Why can we not install a Linux distribution in one second? The Omarchy distribution is 5.8 gigabytes. If we can run at seven gig... Now, of course, you can't actually do that because the USB key is a lot slower than that, but you should be able to maximize the underlying physics and protocols that we're dealing with, and that's your goal. We gotta get all the way back down to that.

Host

是啊。我很喜欢你做 Linux 发行版这件事。因为我的意思是,你可以做任何事。但你在构建一个 Linux 发行版,这意味着你在重新思考计算机是什么,因为操作系统是你与计算机交互的根本基础。

Yeah. I love that you're doing a Linux distribution. 'Cause I mean, you could be doing anything. But the fact that you're building a Linux distribution means you're rethinking about what a computer is, 'cause an operating system is the fundamental foundation of how you interact with a computer.

DHH

是的。而且它已经太陈旧了。

Yes. And it's been so stale.

Host

确实如此。

Yeah, it has.

DHH

是的。而且它已经太陈旧了。我们今天拥有的 macOS 与 10 年前的 macOS 几乎没有区别。事实上,它在很多方面更糟了,因为苹果继续牢牢控制着用户。他们不希望用户安装他们尚未批准运行的软件。他们不希望用户在不手动操作的情况下重新配置热键。他们不想改变切换工作区时 500 毫秒的动画。这是一台令人恼火的锁定电脑。平心而论,苹果的电脑作为一台锁定电脑还算不错,但我不想要一台锁定的电脑。我想拥有我的电脑。更好的是,我想改造我的电脑,而这正是智能体时代需要新操作系统的地方。当你可以用 vibe coding 生成你想到的任何应用时,你应该也能用 vibe coding 生成你的操作系统。你应该能够改变任何东西:它的外观、它的工作方式、有哪些面板、没有哪些面板,而这需要 Linux。就这么简单。没有……另外两个操作系统都无法做到这一点。

The macOS we have today is scarcely different from the macOS we had 10 years ago. In fact, it's worse in many ways because Apple continues to chokehold the control on users. They don't want them to install software that they haven't already said good to go for. They don't want users to reconfigure their hotkeys without doing it manually. They didn't want to change the 500-millisecond animation switching workspaces. It is an infuriatingly locked-down computer. Now, to Apple's credit, it's a pretty good computer for being locked down, but I don't want a locked-down computer. I wanna own my computer. Better yet, I wanna mutate my computer, and this is where the agentic age needs a new operating system. When you can vibe code whatever app comes to your mind, you should be able to vibe code your operating system. You should be able to change anything, how it looks, how it works, what panels are there, what are not there, and that requires Linux. As simple as that. There are no... None of the other two operating systems can deliver this.

Host

但你能谈谈这个吗?我想有人问过你,比如:“你算老几,居然觉得自己能比 Ubuntu 做得更好?”或者,“Ubuntu 已经够好了,你为什么还要做?”而你的回答是:“我觉得我能做得更好。”所以你能谈谈吗?这是在 X 上的,你能谈谈这种疯狂从何而来吗?你作为一个人,或者也许和 Ryan 一起,就开始构建一个会比 Ubuntu 或 Arch 或任何这些更好的东西?

But can you speak to the, I think somebody asked you, like, "Who the hell are you to think you could do better than Ubuntu?" For example. Or, or like, "Why are you doing it when Ubuntu is already pretty good?" And your answer was, "I thought I could do better." So can you speak to, this was on X, can you speak to, like, where the craziness comes from, thinking that you as one person or maybe with Ryan, you could start building something that's going to be better than Ubuntu or Arch or any of this?

DHH

嗯,我要说的是,一开始并没有那么宏大。当我开始我的 Linux 之旅时,我实际上只是从 Ubuntu 开始的,我只是在它之上构建。这是一个已经做了很多我想做的事情的系统,而且至少它是 Linux。所以我能只是在它之上构建,让它更现代,让它看起来真的很好,并且有我想要的程序吗?我得到了某种版本,然后我发现你可以深入七层,而越接近硬件,越接近内核,越接近各个软件包等等,你发现的自由就越多。所以随着我发现越来越多的自由,我变得越来越雄心勃勃,我意识到,哦,惊喜,惊喜,我对计算机应该如何工作、应该看起来如何、应该安装哪些程序、以及安装应该花 42 分钟还是 45 秒,都有强烈的意见。顺便说一句,这是目前的世界纪录。所以如果有人在听完这个之后安装 Omarchy Quattro 并且能打破 45 秒,截图发给我,你就是新的世界纪录保持者。

Well, I'll say that it didn't start quite as grandiose. When I got going with my Linux journey, I actually just started with Ubuntu, and I just built on top of it. Here's a system that already does a lot of the things I wanted to do, and at least it's Linux. So can I just build on top of it and make it more modern, make it actually look good, and have the programs I wanna use? I got, like, some version of that, and then I discovered that there's seven layers deeper you could go, and as the closer you get to the metal, the closer you get to the kernel, the closer you get to the individual packages and so forth, the more freedom you discover. So as I discovered more and more freedom, I got more and more ambitious, and I realized, oh, surprise, surprise, I have strong opinions about how computers should work, how they should look, what programs should be installed, and whether they should take 42 minutes to install or 45 seconds. That's the current world record, by the way. So if anyone installs Omarchy Quattro after this and can beat 45 seconds, take a screenshot, send it to me, and you'll be the new holder of the world record.

Host

什么时候,你多久前突破了 60 秒大关?

When, how long ago did you cross the 60-second mark?

DHH

这很有趣,因为就像旧纪录,是什么来着?就像 1952 年的四分钟一英里之类的,人们认为人类不可能打破。然后一个人打破了,在接下来的几个月里,又有三个人做到了,对吧?所以我们有这个目标。我最初的目标是两分钟。然后我们打破了两分钟,我就想:“好吧,如果我们能打破两分钟,为什么不能打破一分钟?”我记得我当时想:“那太疯狂了。你不可能在一分钟内安装一个现代操作系统,当它们都……”如果其他的要花 42 分钟,对吧?比如苹果,有很多聪明人,花了 42 分钟,所以那一定是标杆。不,不,那不是标杆,因为没有速度限制。就像,你理所当然认为的几乎所有事情,在几乎所有情况下都不是固定的现实支柱。直到你达到那块硬盘能够传输的每秒 7 GB,你还没有达到极限,所以你应该继续推进。当然,然后它本身就变成了一场游戏,本身就是一种满足感。我能削减的每一秒都让我兴奋。当我们打破一分钟的障碍时,我认为那真的只是三周前左右,也许甚至两周前,我就疯狂了。然后我让一群智能体运行所有这些自动研究循环,尝试所有这些不同的理论,比如,哦,如果你改变这个,如果你改变那个,如果你删掉这个会怎样?如果你并行处理会怎样?如果你在输入用户名的时候,我们开始把软件包预加载到内存系统中,我们可以更快地加载它们。这变成了一场有趣的游戏。我认为这就是你应该思考产品开发的方式。它应该是有趣的。你应该,它应该是轻浮的。它应该试图超越目标,让它比所谓的“需要”好得多。

It's funny because it's like that the old limit on, what was it? It was a four-minute mile or something like that in 1952... that people thought was impossible for humans to beat. Then one guy beats it, and literally within the next few months, three more guys do, right? So we had this goal. I originally had the goal it was two minutes. And then we beat two minutes, and I'm like, "Well, if we beat two minutes, why can't we beat one minute?" And I remember thinking like, "That'd be crazy. You can't install a modern operating system in one minute when they're all..." If the other ones are taking 42 minutes, right? Like Apple, full of a lot of smart people, like, it took 42 minutes, so that's gotta be the bar. No, no, it's not the bar because there's no speed limit. Like, none of the things you take for granted are fixed pillars of reality in almost any case. Until you get down to the seven gigabytes per second that drive is able to transfer, you've not reached the limit yet, so you should just keep pushing. And of course, then it becomes a game in itself and a satisfaction itself. Every second I could shave off was an excitement. And when we broke the one-minute barrier, which was really only broken, I think, three weeks ago or something like that, maybe even two weeks ago, I just got crazy. And then I got a swarm of agents to run all these auto research loops of trying all these different theories on like, oh, if you change this thing, if you change that thing, what if you cut this out? What if you do things in parallel? What if while you were typing in your username, we start preloading packages into memory system, we can fire them in faster. And it becomes a fun game. And I think that's how you should think about product development. It should be fun. You should, it should be frivolous. It should be trying to overshoot the target and making it so much better than what it quote unquote needs to be.

Host

尤其是现在,因为你可以行动得这么快,而且因为智能体,你可以尝试这么多不同的方法。

Especially now because you can move so quickly and you can try so many different approaches because of the agents.

DHH

是的,这只会让它更令人满意。但我认为这一直是事实。如果你看看有史以来最伟大的梅赛德斯-奔驰,我想它叫 W126。我看过一部关于它的精彩纪录片。它是由一个在梅赛德斯安全部门工作多年的人主导的。突然他负责整个 S 级项目,他就把一切都投入进去了。

Yes, that just makes it more satisfying. But I think this was always true. If you look at the greatest Mercedes-Benz of all time, I think it was called the W126. I saw this wonderful documentary on it. It was steered by this guy who for years had worked in Mercedes' department for safety. And suddenly he gets put in charge for the whole S-Class project, and he just puts in all of it.

过度设计的汽车与卓越赞助 Overbuilt Cars and Patronage of Excellence

DHH

这就是自动回缩安全带、大灯清洗器这些东西的由来。这辆车对市场来说简直过度设计了,难以置信。但你看它就会想:‘我就想要那个。’就像你看一块机械表,会想:‘它能下潜到 100 米?’或者我记得劳力士有一款能下潜到 4000 米,深海、深海潜水……随便它叫什么。全世界除了三个人,没人会真去测试那块表。但你难道不想成为那种人,成为那些想把人类往前再推一把的人的赞助者?我想要最快的车,突破限速;我想要能下潜到马里亚纳海沟的潜水表;我想要 60 秒内就能装好的操作系统。

This is where you got the auto-retracting seat belts and washers on the headlights and everything. This car was so overbuilt for the market. It was unbelievable. But you look at that and go like, 'Well, I want that.' In just the same way that you look at a mechanical watch and go, 'It could go down to 100 meters?' Or I think Rolex has one that can go down to 4,000 meters, the deep ocean, the deep diver ocean... or whatever it's called. No one outside of three people in the world, whoever buys that watch, will ever put it to the test. But don't you wanna be the kind of person who is a patron of people who wanna push the human race that much forward? I want the fastest car breaking the speed limits. I want the diver watch that can go down the Mariana Trench. I want the operating system that can install in less than 60 seconds.

DHH

所以从个人层面,我敬佩那些人。我觉得每个人都应该为此努力。但我们也应该提到它的后果,比如追求卓越,即使指标看起来很无聊,它可能带来的意外后果是其他种类的卓越、发现、创新,以及所有那些与速度无关的东西。

So from the individual level, I admire those people. I think everybody should strive for that. But also the consequences of that we should mention, like the pursuit of excellence, even when the metrics seem to be frivolous, the maybe unexpected consequences of that is other kinds of excellences, discoveries, innovations, and all that kind of stuff that has nothing to do with the speed.

Host

100%。

100%.

DHH

这就是发现。你追逐的指标成为创新的催化剂和引擎,这很好,因为你会不断发现。这和登月、去火星是同一个道理。你会问:为什么?谁在乎?其实真正重要的是,你会发现很多关于化学推进的东西,会发现很多关于人类如何在太空中长期生存的东西。也许你会发现全新的太空太阳能利用方式,或者太空数据中心,或者其他什么。

It's discovery. It's nice to have the metric that you're chasing be the catalyst, the engine that drives innovation, because you'll just discover. It's the same reason you go to the moon, you go to Mars. It's like, why? Who cares? Well, actually, the real thing is you'll discover a lot about chemical propulsion. You'll discover a lot about how humans can live for a long time in space. Maybe you'll discover whole new ways of doing solar energy in space or data centers in space or whatever the hell.

Host

没错。

That's right.

DHH

各种各样的……也许你会遇到——

All kinds of... Maybe you'll meet--

Host

没错。

That's right.

DHH

……外星人,但你永远不知道。但设定一个目标并去追逐它,尤其是数字化的目标,真的很棒。

...aliens, but you never know. But setting a goal and chasing it, especially when it's numerical, is really nice.

Host

设定一个宏大的目标甚至更好。当你拒绝只做实际的事情,而是努力追求略超乎常理的目标时,奇迹就会发生。我们应该全力投入其中。这也是原因之一……事实上,在某种程度上,这个具体目标的动机就是看到别人这样做。我的意思是,埃隆是这次对话中独一无二的人。他的目标太超前了,乍一看似乎荒谬至极。我当然在很多次审视中都认为它们荒谬。然后你意识到它们有时确实会成真。也许不总是按时,但那又怎样?那又怎样?所以我们没有按时得到自动驾驶汽车。我在 2017 年为此骂了埃隆很多。但现在它来了,除了那个在 2017 年就认为这可能的人,还有谁能带我们走到这一步?他对现实如此不耐烦,以至于纯粹的力量将推动现实到达他想要的地方。我认为这非常鼓舞人心,我们需要这样的目标被移动。我们需要有人跑出四分钟一英里,这样我们其他人就会意识到:‘好吧,但我猜我能跑得更快。’这就是我努力追求的,我在 Omarchy 上真正追求这一点,因为这样生活更有趣,拥有崇高的抱负和野心。

And setting a grand goal is even better. When you refuse to just do what's practical and you strive for what's slightly beyond plausible, that's when the magic happens. And we should be going all in on that. This is one of the reasons... And in fact, to some degree, this specific goal was motivated by seeing others do this. I mean, Elon is the singular individual in this conversation. The guy is so out there in his goals. They seem so preposterous at first glance. I've certainly considered them preposterous on many glances. And then you realize that they come true sometimes. Maybe not always on schedule, and so what? So what? So we didn't get the self-driving car on schedule. I gave Elon a lot of shit for that back in '17. But now it's here, and who would have gotten us here except for the person who thought it was possible in '17, who is so impatient with reality that the sheer force is just gonna propel that reality to the place he wants it to be. I think that's deeply inspiring, and we need these kinds of goalposts to be moved. We need someone to run the four-minute mile, so the rest of us realize, 'Well, okay, but I guess I can run it quicker.' That's what I try to strive for, and I really strive for with Omarchy because it's just more fun to live that way, to have high aspirations and ambitions.

DHH

我要说的是,我实际上在这点上改变了一点想法。我花了很多时间在另一本书里说,有很多人实际上并不需要那些野心。而且我还——

And I will say I've actually changed my mind on that a little bit. I spent quite a lot of time speaking the other book that there are a lot of people who don't actually need those ambitions. And I also--

Host

这也是事实。我们不希望世界上有 80 亿个埃隆到处跑。那会相当疯狂,我想。

That's also true. We don't want 8 billion Elons running around the world. Would be rather crazy, I think.

DHH

但我逐渐意识到,对于企业家来说,拥有合适的大目标是有益的。经营一家意大利餐厅的想法不能仅仅如此。也许我只是经营一家意大利餐厅,但我做出最好的披萨,做出最美味的帕尔马干酪。我们必须追求卓越,才能鼓起继续前进的动力。

But I've come to realize that for entrepreneurs, it's healthy to have suitable chunky goals. The idea of just running the Italian restaurant can't just be that. It should be maybe I just run the one Italian restaurant, but I make the best damn pizza possible. I make the most delicious Parmesan. We have to strive for excellence to muster the motivation to keep going.

Host

是的,敢于大胆思考,比如你可以构建一个 Linux——

And yeah, to dare to think big like you could build a Linux--

DHH

是的。

Yes.

Host

……发行版。你还记得是什么让我们变得如此之快吗?你提到了一些事情,是智能体发现的。

...distribution. Is there some stuff you remember about what it took to get us to be so fast? You mentioned a few things that were, the agents were discovering.

DHH

其中一件事是把人类输入的延迟视为预加载的机会。所以——

One of the things was to treat the lag of human input as an opportunity to preload. So--

Host

嗯……

Hmm...

DHH

当你设置 Omarchy 机器时,你要回答五个问题——

There are five questions you answer when--

Host

是的……

Yeah...

DHH

你设置 Omarchy 机器时,它会在后台做事情。我们也在后台做事情。这是我甚至没有考虑过的事情,我的意思是,这是最古老的把戏。长期以来,各种视频游戏都这样做,你让玩家与某些东西互动,然后在后台进行预加载等等。所以这是一种古老的技术,但我只是没有想过把它用在安装程序上。我以为,首先你问用户一些关于密码、用户名、时区等问题,然后你才做工作,而实际上你可以预加载这些。

You set up an Omarchy machine. So it's doing stuff in the background. We're doing stuff in the background. And that was one of the things I didn't even consider, which is, I mean, the oldest trick in the book. All sorts of video games for a long time have done this, where you let the player interact with something, and then you do preloading and so forth in the background. So it's an age-old technique, but I just hadn't thought about it for an installer. I thought, first you ask the user some questions about their password and their username and their time zone and so forth, and then you do the work, when, in fact, you could preload that.

DHH

现在,其他事情只是一堆对安装程序本身做事顺序的调整。其中一些只是缩小它。Omarchy 的最后一个版本是 7.5 GB,我们现在减少的时间很多实际上是在解压压缩的包文件。这是 ISO 上的主要内容,也是安装时间的主要部分。所以通过缩小到,我想我们现在是 5.85 GB,一个相当大的减少,它几乎直接一对一地转化了,我在那里做了一些非常有趣的事情。

Now, the other things were just a bunch of other tweaks to how the installer itself was doing things in a certain order. Some of them was also just shrinking it. The last version of Omarchy was 7.5 gigabytes, and a lot of the time we're down to now is literally decompressing compressed package files. That's the bulk of what is on the ISO, and that's the bulk of the install time. So by shrinking it down to, I think we're at 5.85 gigabytes now, a pretty chunky reduction, it almost literally translated one-to-one, and I did some really interesting things there.

DHH

Omarchy 使用 JetBrains 字体,这是一个很棒的字体,漂亮的字体,实际上是一个我第一眼不喜欢的字体,但后来它是我能在 Mitchell Hashimoto 的 Ghostty 中看起来完美的唯一字体。Ghostty,不管什么原因,不想以我习惯的方式渲染我心爱的 Bitstream Vera Sans。

So Omarchy uses the JetBrains font, which is an awesome font, beautiful font, and actually a font I didn't like at first glance, but then it was the only font I could get to look perfect in Mitchell Hashimoto's Ghostty. Ghostty, for whatever reason, did not wanna render my beloved Bitstream Vera Sans just the way I was used to it.

Host

嗯哼。

Mm-hmm.

DHH

但它完美地渲染了这种 JetBrains 字体,所以我切换了。但它……Arch 上 JetBrains 字体的标准包是 200 MB,因为它包含所有这些变体和子类型等等。我意识到,我们并没有使用那些。我们使用的是这个 Nerd——

But it rendered this JetBrains font perfectly, so I switched over. But it... The standard package for JetBrains font on Arch is 200 megabytes because it includes all these variations and all these subtypes and whatever. And I realized, like, we're not using any of that. We're using the monospace version in this one Nerd--

Host

是的……

Yep...

DHH

字体补丁版。你知道那有多大吗?我想是 16 MB。

font patched edition. Do you know how big that is? I think it's 16 megabytes.

Host

嗯。

Hmm.

DHH

所以我只是提出了一个新包,精简版——

So I simply just came up with a new package, the slim version--

Host

嗯哼……

Mm-hmm...

DHH

JetBrains 包。

of the JetBrains package.

Host

不错。

Nice.

DHH

就在那里,我节省了 180 MB。我反复这样做。我们对 NVIDIA 驱动也做了同样的事情。所以 NVIDIA 驱动,当它们直接从 Arch 仓库出来时,我认为没有使用最极端的压缩形式,我认为叫 ZSTD,这是一种非常慢的压缩形式。创建归档很慢,但如果你在构建包——

And there, right there, I saved 180 megabytes. I just went through and did that a bunch of times. We did that with the NVIDIA drivers too. So the NVIDIA drivers, when they came straight off the, I think the Arch repo, were not compressed with the most extreme form of compression, which I think called ZSTD, which is a really slow form of compression. It's slow to create the archive, but if you're building a package--

Host

嗯……

Hmm...

DHH

你有的是时间,如果这意味着你可以缩小 ISO。所以仅仅在两个 NVIDIA 包上,我想我们节省了 200 MB。

you have all the time in the world if that means you can then shrink the ISO. So on just the two NVIDIA packages, I think we saved 200 megabytes.

Host

嗯哼。

Mm-hmm.

迈凯伦对重量的痴迷 McLaren obsession with weight

DHH

所以我喜欢的是,我把自己想象成迈凯伦的汽车设计师。迈凯伦现在制造世界上最轻的超跑之一,他们绝对痴迷于把车上的每一克重量都减掉。这就是为什么即使是新的 750S 迈凯伦也比竞争对手轻得多。他们使用碳纤维单体壳,这让他们比法拉利(比如用铝的)更有优势。但他们也有这种对重量的痴迷,我看到迈凯伦的人接受记者采访时,只是说:“嗯,我们在这辆车上省了 370 克。”我就想:“等等,什么?一辆车可能重 1040 公斤或 1380 公斤,他们却在担心 370 克?”

So what I loved about this was I imagined myself being a car designer at McLaren. So McLaren makes some of the lightest super sports cars in the world right now, and they are absolutely obsessed with shaving every damn last gram off their cars. That's why even a new 750S McLaren is just way lighter than the competition. They use a carbon fiber monocoque, and that helps them over like Ferrari, for example, that's uses aluminum. But they also just have this obsession with weight, and I would see this interview with the McLaren folks talking to some journalist just going over, "Yeah, we saved 370 grams off that one." And I just went, "Wait, what? There's someone on a car that weighs maybe 1,040 kilos or 1,380 or something. They're worrying about 370 grams?"

Host

是啊。真是痴迷的疯子。

Yeah. What obsessed maniacs.

DHH

嗯。我爱他们。是的。我想要那样的生活。我想要一辆迈凯伦,就因为这个原因。所以那一刻,当我从软件包里一个个兆字节地削减时,我想,老兄,我有点像这里的迈凯伦汽车开发者,尽管我们甚至还没完成那项工作。这个软件包还能再缩小。

Hmm. I love them. Yeah. I want that in my life. I want a McLaren just for that reason. So I thought in that moment as I was shaving individual megabytes off the packages, man, I'm kinda like a McLaren car developer here, even though we haven't even completed that work. The package could shrink even more.

Omarchy与臃肿 Omarchy and bloat

DHH

但这实际上是我们与 Omarchy 和传统 Linux 社区之间的另一个冲突:臃肿。

But this is actually this other conflict that we've had with Omarchy and the traditional Linux community is bloat.

Host

嗯哼。

Mm-hmm.

DHH

这种想法是,在某些圈子里,预装软件是不合规矩的,因为你是谁,凭什么决定人们应该用什么程序?我就说:“老兄,这名字里就写着呢。它叫 Omarchy,因为 Oma 部分是 omakase 的缩写,字面意思是‘主厨的选择’。我是主厨,我来做选择,这是我觉得很棒的应用集合。”顺便说一句,它有一个视频编辑器。它预装了 OBS 用来录制。它就在里面。

This idea that it's actually not kosher in certain circles to ship with pre-installed software because who are you to make decisions about what programs people should use? And I'm like, "Dude, it's in the fucking name. It's called Omarchy because the Oma part is short for omakase, which literally means chef's choice. I'm the chef. I'm making the choices, and this is the collection of applications I think is awesome," which by the way has a video editor. It ships with OBS to do your recording. It's just in there.

Host

是啊。OBS 预装了。不错。

Yeah. OBS is pre-installed. Nice.

DHH

Kdenlive 是一个视频编辑器,时间线编辑器,很棒。我用它编辑我所有的视频。然后我做了我自己的剪辑工具。

Kdenlive is a video editor, timeline editor, which is great. I edit all my videos with that. And then I made my own clip editor.

Host

你提到了同步的问题。是的。

You talked about the thing with syncing up. Yeah.

DHH

我有这个剪辑的问题,比如我做播客什么的,我需要为 X 做一个片段。用 Kdenlive 或其他时间线编辑器有点麻烦,所以我做了 Omacut。

I had this thing with clips, so I would do a podcast or whatever. I need a clip for X. And it's kind of a hassle to use Kdenlive or other timeline editors, so I made Omacut.

Host

嗯哼。Omacut 也包含在内。

Mm-hmm. Omacut is included too.

DHH

Omacut,酷。它只是用来做剪辑的,你可以用键盘驱动整个东西。所以你可以去到正确的时间点,然后按 Control + Space,它会把剪辑线移到那个位置。然后你到剪辑的结尾,按 Alt + Space,它会把结束线移过去。然后按 Control + S,它就保存了。我现在用 Omacut 做剪辑快得惊人。太棒了。

Omacut, cool. It's just for making clips, and you can drive the whole thing with keyboard. So you can go to just the right time mark and then you can hit Control + Space. It moves the clip line to that line. Then you go to the end of the clip, and you hit Alt + Space, and it moves the end line. And then you hit Control + S, and it saves. I can make clips so damn fast now with Omacut. It's amazing.

Host

不错。

Nice.

DHH

但它上面有所有软件。它有 Neovim,有 Herder,有 Tmux,有一个终端,有一堆主题,有一堆背景图片,我挑的最好的。那会占用一些空间。应该的,因为这不应该是那种贫瘠的风景,你必须重建一切。这应该是一个你打开就能用的高效系统。

But it has all the software on it. It has Neovim on it. It has Herder on it. It has Tmux. It has a terminal. It has a bunch of themes. It has a bunch of background images, the best ones I could pick out. That takes up some space. It should because this is not supposed to be this just barren landscape where you have to reconstruct everything. This is supposed to be a productive system the minute you unpack it.

用Bash和代理构建 Built in Bash and agents

Host

它是用什么构建的?

What is it built in?

DHH

所以实际上,对于 Linux 配置部分,它主要是用 Bash 构建的。

So it's actually mostly built in Bash for the Linux configuration part.

Host

对。Bash 是很好的语言。它真的是为系统管理而生的。但它也有局限性。你不应该用 Bash 构建所有东西。

Right. Bash is a great language for that. It is made for that really, for system administration. It also has its limitations. You should not build everything in Bash.

Host

智能体生成 Bash 的能力怎么样?相当好吗?

How are agents with generating Bash? Pretty good?

DHH

哦,太棒了。除了一件事,每次我发现的时候,我都得敲打智能体的后脑勺,提醒它去看 agent 的 MD 文件,因为我在那里有一条指令,不要提前退出。智能体喜欢用前置条件,而不是完全展开的条件语句。我喜欢那种“如果这样,那就那样”的写法。智能体喜欢前置条件或退出,另一个前置条件或退出,然后才落到它真正想做的最后一件事情上。我讨厌那种风格。所以除了那一点,它已经变得惊人地、戏剧性地、棒极了地好,好到上次我们谈话时,我们谈到我会让智能体写个 Bash 的东西,然后我自己再打一遍,我有点记不住。然后我努力确保那些能力没有从我的手指间流失,所以我真的自己学了怎么写 Bash,现在我自己不写任何 Bash 了。我大概几个月没自己写过 Bash 了,因为智能体变得太好了,如果你给它们一些风格上的指点,偶尔对复杂性提出反对……

Oh, amazing. Except for one thing, and I have to smack the agents over the back of the head every single time I catch it, and remind it to look at the agent's MD file, because I will have an instruction in there not to make early exits. The agents love to have preconditions instead of fully expanded conditionals. I like something that says, "If this, then do that." Agents like to have precondition or exit, another precondition or exit. And then it falls down to the final thing it actually wants to do. I hate that style. So except for that, it's gotten shockingly, dramatically, awesomely good, to the point where when we talked last time, we talked about how I would ask the agent for a Bash thing, and then I would type it in myself, and I kinda wouldn't remember. And then I took the effort to make sure that all that competence wasn't draining out of my fingers, so I actually learned how to write Bash myself, and now I'm not writing any Bash myself. I have not written any Bash myself for probably a couple months, because the agents have just gotten so good, that if you give them the few pointers on style, and occasionally put pushback on complexity...

Host

这是……我几天前发过推。让我震惊的是,智能体经常能做一些事情,说完成了,让另一个智能体审查……它们说完成了,然后我就像:“嗯,对我来说看起来有点太复杂了。”然后它就会说:“哦,是的,你说得对。你说得对。我完全把它复杂化了,”然后它会把代码砍掉一半。我就想:“难道它不能从一开始就这么做吗?”然后有人提醒我,人类也是一样的。如果你在做一个东西,别人审查它,他们只是说:“嗯,看起来有点复杂,”你通常也能说:“啊,你说得对。”

This is... I tweeted about this a couple of days ago. It blows my mind how often an agent can do something, say it's done, have the work reviewed by another agent... they say it's done, and then I go like, "Eh, looks a little too complicated for me." And then it'll go like, "Oh, yeah, you're right. You're right. I totally overcomplicated this," and it'll cut it in half. I'm like, "Couldn't it just do this, like, from the outset?" And then someone else reminded me, humans are the same way. If you work on something and someone else reviews it and they just are like, "Eh, it looks a little complicated," quite often you're able to go like, "Ah, you're right."

Host

看,那,那只是……那些小迹象向我表明,程序员仍然是需要的,那种直觉,因为我想,什么,你说了什么?我对代码的景观有一种感觉。

See, that, that just... Those little indications to me show that the programmer is still needed, that intuition, 'cause I think, what, what did you say? I have a sense of the landscape of the code.

DHH

当我构建像 Omarchy 这样的东西时,我确实会看代码。我看形状,看比例。就像,我不需要再自己雕刻一切了。这又是,当我自夸的时候……一会儿我是迈凯伦的汽车工程师,一会儿我是达芬奇,和他的整个学生工作室一起,他们在精细的大理石上雕刻,对吧?然后他说:“啊,不,比例不太对。”这就是现在和智能体一起工作的感觉。我可以像编辑一样给出反馈。你知道吗?我不会自己写所有东西,但我可以告诉你什么时候论点不成立,什么时候形状与问题不成比例,或者什么时候感觉太复杂了。而且惊人地频繁,它就行得通。就像早期,笑话是“不要犯错”。我认为你不再需要告诉智能体那些了,因为现在工具架很好,它们运行自动化测试,得到反馈。但你确实需要告诉它们:“让它更简单。”

When I build something like Omarchy, I, I do look at the code. I look at the shape. And I look at the proportions. Like, I don't have to chisel everything myself anymore. This is, again, when I'm flattering myself for... Not one moment I'm a McLaren auto engineer, and the next moment I'm a da Vinci, working with his whole studio of students who are doing all the chiseling on the fine marble, right? And he goes like, "Ah, no, the proportions are not quite right." That's how it feels working with agents now. That I can give feedback like an editor. That, do you know what? I'm not gonna write everything myself, but I can tell you when the argument doesn't land. I can tell you when the shape isn't proportional to the problem, or when it just feels like it's too complicated. And shockingly often, it just works. It's like the early days, where the jokes was, "Don't make mistakes." I don't think you have to tell the agents that anymore, because now the harnesses are so good, they run automated testing. They get that feedback. But you actually do have to tell them, "Make it simpler."

语音交互 Voice interaction

Host

你在交互中会用语音吗?还是你……你打字多少?你……

Do you use voice at all for the interaction? Or are you... How much are you typing? How much are you...

DHH

我全程打字。实际上,在 Omarchy 内置的 Voxtype……音频转录,它其实非常好。我只是发现我不那样思考,而且我自己都惊讶于我不喜欢和电脑说话。呃,我喜欢在车里的时候,但当我坐在键盘前,我只想打字。

I type the whole thing. I actually, in Omarchy's built-in Voxtype... Audio transcription, and it's actually really good. I just find that I don't think that way, and it surprised myself that I don't like to talk to the computer. Uh, I like when I'm in the car, but when I'm in front of the keyboard, I just wanna type.

基于语音的交互与Plaud Voice-based interaction and Plaud

DHH

我也就喜欢打字。你在用语音吗?

I also just love typing. Are you using the voice?

Host

我是个内向的人,不喜欢社交互动……也不喜欢说话。

I'm an introvert who doesn't like social interaction... or speaking.

DHH

我觉得我也有点这样。

I think that's part of mine too.

Host

但对我来说,不知为何,语音真的很强大。我想试试这个……所以我用这个设备,叫 Plaud。我就把它别在 T 恤上。按一下按钮,它就开始录音。从流程上讲,这实际上比坐在电脑前体验好得多。

But, like, for me, for some reason, voice is really powerful. I want to give this... So I run with this thing. It's called Plaud. So I just hook it up on my T-shirt here. You press a button, it starts recording. And this is actually more, in terms of flow, much better experience than behind a computer.

DHH

而且我保存的,嗯,通常是我真正想讨论的智能体生成的问题。所以我写、我说一个很长的提示词,其中很多是意识流式的推理。所以我有时会改变对某个设计的想法,但所有这些都在里面,然后我让一个 LLM 来处理。

And I save, well, usually it's agent-generated problems that I wanna really talk through. And so I write, I speak a long prompt, like, and a lot of it, it's like stream of consciousness reasoning. So I'll sometimes just change my mind about a design, but all of that is in there, and then I have an LLM that processes that.

Host

Plaud 显然有 API。你可以获取录音,转录,清理转录文本,因为你希望它……因为我提到文件,提到技术概念,比如文件和函数……等等,你希望确保转录、语音转文字能正确识别。所以你需要一个词典。你希望它在处理文件时能感知代码库。然后你就有了一大段东西,通常是我花 10、15、20 分钟讨论完整设计,我觉得这真的非常强大。因为它没有过度具体化的问题,因为系统对你想象的内容有大量的意识流思考。这对设计的早期阶段非常有用。比如,如果我想从头构建 Omarchy,最初阶段我会口述。可能长达一个小时。我有过一个小时的提示词,我就一直跑着……说着。

With Plaud, there's obviously an API. You can grab it, transcribe it, clean up the transcript, 'cause you want it to be... 'Cause I'm referring to files. I'm referring to technical concepts, like files and functions... and so on, that you wanna make sure the transcription, the speech-to-text gets correctly. So you wanna have a dictionary. You want it to be aware of the code base when you process the files. And then you have this gigantic thing that's often 10, 15, 20 minute me discussing the full design, and I find that to be really, really powerful. Because it doesn't have the problem of overspecification because of how much stream of consciousness thinking the system has about what you're imagining. And this is really good for the early steps of a design. Like, if I wanted to build Omarchy from scratch, the first stages, I talk through. It could be an hour. There's been prompts that I had for an hour, and I'm just running and... speaking.

DHH

太棒了。

That's amazing.

Host

我强烈推荐人们尝试基于语音的……长时间说话。

I highly recommend people try a voice-based... speaking for prolonged periods of time.

DHH

所以……

So...

Host

而不是非常具体的……

As opposed to very specific...

DHH

我其实没有……我还没有那样用过,也许这就是我用错的地方。我试着只打或说两句话,然后我有点沮丧,因为我可能打字也一样快。但我还没试过连续说 20 分钟这种方式。

I haven't actually... I haven't, yeah, I haven't used it that, and maybe that's how I'm using it wrong. I try to just type or speak two sentences, and then I get a little frustrated that I could've typed that just as fast maybe. But I have not tried this whole thing of just talking continuously for 20 minutes.

Host

尤其是你,因为你说话很快。

And especially you because you speak very fast.

DHH

是啊。不,我能理解。我想因为我一直在尝试用它来回邮件之类的,到了我觉得它可能有用的地步。它确实有点用,但之后它会犯个小错误,我得去纠正。但如果你是对一个不在乎这些其他东西的 LLM 做意识流……那可能效果好得多。

Yeah. No, I could see it. I think because the reason I've been, I've been trying to do it for things like replying to emails, and it got to a point where I thought it could help. And it sort of did, but then it would make a small mistake, and I'd have to correct the mistake. But if you're doing stream of conscious to an LLM who doesn't care about all this other stuff anyway... that probably works way better.

Host

你必须做两件事。第一,好,你有原始音频,转录它。我用 ElevenLabs 做转录。他们可能是最好的语音转文字模型。但仍有错误,所以你需要一个能访问词典和大量……的提示词。

There's two things you have to do. One, okay, you have the raw audio, transcribes it. I use ElevenLabs for transcription. They're probably the best speech-to-text model. There's still mistakes there, so you need to have a prompt that has access to a dictionary and to a lot of...

DHH

你怎么构建词典?

How do you build the dictionary?

Host

首先,有一个与你相关的术语词典。然后让它感知……所以你有一个智能体,当你在谈论代码时,它会浏览你的整个代码库,找出你常用的关键术语。另外,当我们谈论消息、Gmail、WhatsApp 等时,它会感知所有联系人以及你容易搞错的常见术语。

First of all, there's a dictionary of terms that are relevant to you. Then have it aware of... So you have an agent that looks through, when you're talking about code, looks through your entire code base for key terms that you use often. Also, when we're talking about messaging, Gmail, and WhatsApp, and so on, it's aware of all the people and common terms that you get wrong.

DHH

你在这方面真的很深入。

You've really gone deep in this.

Host

对我来说,这是一个需要解决的问题……因为,嗯,你使用语音转文字时可能遇到的问题之一就是它有时会犯错。

That, to me, is a problem that needs to be solved... because, uh, one of the issues you probably have speech to text is that it makes mistakes sometimes.

DHH

没错。那我就不能用它来口述邮件了。

Correct. Then I can't use it for dictating an email.

Host

对。如果它从不犯错,你……

Right. If it never makes mistakes, you...

DHH

那它就会更有吸引力。

Then it would be more appealing.

Host

是啊,而且你其实能接受不是完全实时。你能接受等五秒……可能。我不知道你的使用场景。我能接受等五秒……十秒让它处理所有事情。

Yeah, and you are okay being not perfectly real time, actually. You're okay waiting five seconds... potentially. I don't know what your use case is. I'm okay waiting five seconds... 10 seconds for it to process everything.

DHH

你得用 vibe coding 把它做成一个应用,做所有这些事情,让它……就是能用。

You gotta vibe code this into an app that does all of this such that... it just works.

Host

我想我私下跟你提过,让我很惊讶的是翻译没有做到完美。语音到语音的翻译。

I think I mentioned to you offline that it's very surprising to me that translation is not done perfectly. Speech-to-speech translation.

DHH

看起来你把所有这些整合在一起,已经非常接近可能的最佳效果了。

It seems like you've gotten much closer to the best of what's possible by putting all these things together.

Host

但你知道,当你发布这类东西时,你确实得开始考虑延迟。

But, you know, when you're shipping that kind of stuff, you do have to start thinking about latency.

DHH

别让完美成为优秀的敌人。我的意思是,如果你突然让人们能做到以前根本做不到的事,多花五秒也没关系。我觉得这是史蒂夫·乔布斯非常擅长的一个领域,他意识到,比如第一代 iPhone 在很多方面都很糟糕,对吧?数据连接慢得可怕,性能严重不足,等等。但产品太有吸引力了,所以这些都不重要。如果你等到一切都完美无缺再发布,那就太晚了。如果你解决的是人们目前没有解决方案的问题,他们愿意等五秒。如果你在一个竞争激烈的市场,那好吧,情况不同。但那意味着问题已经解决了,你不需要去解决它。

Don't let the perfect be the enemy of good. I mean, if you're suddenly enabling something people wouldn't be doing before at all, it's okay to take five seconds longer. I think this is one of the areas that Steve Jobs was so good, that he realized, like, the first iPhone was terrible in all sorts of ways, right? Absolutely horrendously slow data connection, very underpowered, all the things. But the product was so compelling that it just didn't matter. You'd be shipping too late if you waited until everything was just right, just perfect. If you're solving a problem that people currently don't have a solution for, they're willing to give it five seconds. If you're in a competitive market, yeah, okay, it's different. But that means the problem's already solved, and you don't need to solve it.

Host

嗯嗯。嗯,我确实觉得有几个……比如,Whisper Flow 真的很不错。有几个人在语音转文字方面做得很好。

Mm-hmm. Well, I do think there's a few... So, like, Whisper Flow is really good. A few people have stepped up that speech-to-text thing.

DHH

是啊。是的,我们在用 Voxtype。但其他人也……

Yeah. Yeah, we're using Voxtype. But others have...

Host

呃,Voxtype 是开源的?

Uh, Voxtype is open source?

DHH

是的。它只是用了某个开源模型。我忘了它用的是哪个 parrot 模型之类的。它对短命令效果很好,所以我用它来做这个。呃,我想你只要按住 F9……它就开始听写。

It is. It's just using one of the open models. I forget which parrot model it's using or something like that. It works quite well for short commands, so I have used it for that. Uh, I think you just hold down F9... and it starts a dictation.

Host

哦,所以它已经内置了?

Oh, so it's already in there?

DHH

你只需要联网。它会提示你安装……Voxtype 包。

You just have to get online. It'll offer you to install... the Voxtype package.

Host

明白了。

Got it.

DHH

明白了。对对对。

Got it. Yeah, yeah, yeah.

Host

因为 Voxtype 包包含一个 150 兆的模型,我当时想,‘啊。’

Because the Voxtype package includes a model that's 150 megabytes, and I was like, 'Ah.'

DHH

嗯,嗯。

Yep, yep.

Host

‘我不知道我能不能带得动。’所以……

'I don't know if I can carry that.' So...

DHH

嗯。

Yep.

Host

……我们默认没有内置那个,但我们设置了选项。而且我其实昨天就在想,我们真的需要把所有这些结合起来。Omarchy Quattro 作为一个可塑的操作系统真的很棒,你可以通过跟智能体说话来添加功能。但那正是我们应该做的。有很多人会觉得很自然,就是跟电脑说,‘嘿,你能给我做个股票面板吗?我想跟踪苹果和戴尔,’然后看着智能体完全通过语音去执行,无论是输入还是输出,然后你的操作系统就变了。这就是钢铁侠和贾维斯的愿景……定制应用神奇地出现。

...we don't have that in there by default, but we have the option set up. And I actually just yesterday was thinking we really need to combine all of these things. So Omarchy Quattro is truly amazing as a malleable operating system where you can add functionality to it just by talking to your agent. But that's exactly what we should be doing. There's a lot of people who would find it very natural just to talk to their computer and say, 'Hey, can you make me a stock panel? I wanna track Apple and Dell,' and just see the agent go off through, entirely through voice, both in terms of the input and in terms of the output, and then your operating system just changes. This was the vision of Iron Man and Jarvis and... bespoke applications that just appear magically.

实时游戏模型与操作系统 Live gaming models and OS

DHH

我在想,我觉得真正有意思的 AI 领域是这些实时游戏模型,不知道你见过没有,AI 真的在逐帧生成画面,但你确实能玩这个游戏。我觉得如果它们能做到这个,为什么我们不能用在自己的操作系统上?为什么我们不能直接跟它说,让它换个样子或者改一改,然后它就全变了?

I'm thinking the area of AI I find truly intriguing are these live gaming models, I don't know if you've seen that, where the AI's inventing literally the next frame, but you can actually play the game. And I think if they're able to do that, why can't we do that with our operating system? Why can't we just talk to it and ask it to be a different way or change, and it'll all just change?

DHH

顺便说一句,我觉得这是另一个突破,会让 Linux 彻底称霸。智能体把诊断 Linux 系统的所有麻烦都解决了,还把 Linux 生成那些过于具体、完全晦涩难懂的报错信息这件事,变成了它最大的优势。当 Linux 出问题时,智能体可以拿那条对普通人来说毫无意义的非常具体的报错信息,去关联它预训练时学过的 4000 万行 Linux 代码,所以它确切知道该去哪里查,然后把它定位出来。

I think this, by the way, is one of the other breakthroughs that is going to lead to the total domination of Linux. The agents have taken all the hardship out of diagnosing Linux systems and turned the fact that Linux produces these overly specific, totally arcane error messages into its greatest advantage. When Linux has an issue, the agent can take that very specific error message that makes no sense to a normal human and correlate it with the fact that the agent was pre-trained on 40 million lines of Linux code, so it knows exactly where to look and dial it down.

Host

嗯。

Yeah.

DHH

从今年年初开始,我的 Linux 机器上没有任何一个问题是智能体诊断不了的。一年半以前可不是这样。一年半以前,我还在论坛上搜……

I have not had a single problem on my Linux machine since the beginning of this year that an agent could not diagnose. That was not true a year and a half ago. A year and a half ago, I was still searching on forums...

Host

……去找那些冷门问题的答案。

...to find answers to esoteric questions.

DHH

现在智能体不仅知道 Linux 操作系统的源代码,还知道我那台机器上每一个软件的源代码。智能体可以访问所有这些源代码。事实上,这是我在我们发布之前刚加进去的一个功能。所以一旦你设置好你的默认智能体……

Now the agents know the source code of not just the Linux operating system, but every single piece of software I have on that box. The agent has access to the source code of all of it. In fact, this was one thing I built in just before we, uh, we shipped. So once you set up your default agent...

DHH

Omarchy Quattro 有一个崩溃监视器。如果你机器上任何应用崩溃了,它会弹出一个小的提示,问你要不要让你的 AI 来诊断这个问题。

Omarchy Quattro has a crash watcher. If any app on your machine crashes, it'll pop up a little thing, ask you whether you want your AI to diagnose the problem.

Host

嗯,太棒了。

Yeah. That's amazing.

DHH

简直难以置信。我见过这样的情况,某个子系统里有个错误。某个,某个……甚至不是 Linux,只是我装的某个应用。智能体开始翻日志,查 systemd 日志。然后它去查看那个崩溃应用的该死源代码,定位到它在某个 Rust 文件的第 472 行,有一个无界、未包装的变量溢出了或者别的什么。然后它会问你要不要带着所有这些细节去提交一个 bug 报告。

Unbelievable. I've seen things where there's an error in some subsystem. Some, some... Not even Linux, just some app I installed. The agents start digging through the logs and looks up systemd log. Then it checks out the damn source code. Of the application that crashed, pins down that it's in this Rust file line 472 that there's an unbounded, unwrapped variable that overflowed or whatever it is. Then offers you whether you wanna file a bug report with all this detail.

DHH

我给你讲一个特别棒的小故事。我当时在和 JDX 这个人合作,他在做 mise。这是一个为快速迭代的开发工具设计的包管理器。我们就是用这个来管理所有智能体软件等等。普通的包管理器不是为了一天更新七次而设计的。而这些智能体框架大约一天更新七次,所以我们需要一个带外包管理器,而 mise 恰好非常适合这个。总之,它有个小 bug。有个竞态条件,智能体特别擅长发现这种问题,因为当你同时运行多个智能体时,它们会把你底层基础设施里那些人类手动操作永远不会触发的竞态条件都找出来。所以它发现了这个问题,对吧?我跟智能体说:“嘿,你能把这个作为 bug 报告发到 JDX 的 GitHub 上吗?”不幸的是,就在那之前,我不得不用八个不同的智能体对 Omarchy 本身做了一次 QA 运行。它发现了 28 个真实问题……

I'll give you one amazing anecdote. So I was working with this guy JDX, who's working on mise. This, this package manager for fast-moving development tools. This is how we manage all the agent software and so forth. Normal package managers are not built to be updated seven times a day. And all of these agent harnesses are updated about seven times a day, so we needed an out-of-band package manager, and mise just turns out to be perfect for this. Anyway, it had a small bug. There was some race condition which agents are very good at finding because when you start running multiple agents at the same time, they will suss out all these race conditions you have in your underlying infrastructure that was never triggered by a human trying to do manual thing. So it finds this issue, right? I tell I tell the agent, "Hey, can you post this as a bug report to JDX's GitHub?" And unfortunately, right before that, I had had to do a QA run on Omarchy itself with eight different agents. It had found 28 real issues...

Host

……需要提交的。

...that it needed to file.

DHH

然后它去了 GitHub,试图同时提交全部 28 个 issue,大概用了,呃,我不知道,12 秒。GitHub 不无道理地把它标记为疑似垃圾信息,然后封禁了……

Well, it went to GitHub and tried to file all 28 issues at the same time, which it did in about, uh, I don't know, 12 seconds. GitHub, not unreasonably, marked that as probable spam and banned...

Host

……我的 Omarchy 机器人。

...my Omarchy bot.

DHH

然后我就没法那么做了。所以机器人被阻止访问 GitHub,我就直接告诉它:“嘿,你知道吗?直接给 JDX 发邮件吧。这是他的邮箱地址。”我已经用 hey.com 设置好了……

And then I couldn't do that. So I was blocked from the bot having access to GitHub, so I just told it, "Hey, do you know what? Just email JDX. Here's his email address." I had already set it up with hey.com...

Host

……一个邮箱地址。

...an email address.

DHH

我们有一个 CLI,现在还在测试阶段。所以我用那个设置好了,这样它就能发邮件。它就是这样给我发关于未解决问题和 PR 的报告的。所以它给 JDX 发了这封关于它发现的 bug 的邮件,然后他的反应是:“等等,这是我第一次收到针对未发布软件的 bug 报告。”因为它下载了 mise 的源代码,看到他其实已经修复了这个 bug,但那个修复并不能完全解决他们尚未发布的软件中的问题。它精准定位了问题,然后他说:“该死……”

We have a CLI that's in beta right now. So I set it up with that so it can send to email. That's how it gives me reports about outstanding issues and PRs. So it sends, um, JDX this email about the bug it found, and he was like, "Wait, this is the first time I've gotten a bug report in unreleased software." Because it had downloaded the source code to mise, saw that he had already fixed the bug, but that it would not fix the problem entirely in software they had not shipped yet. Pinpointed the problem, and he was like, "Damn it..."

Host

……我们还没发布版本,我就收到了 bug 报告。

...I got a bug report before we even cut a release.

Host

太神奇了。太神奇了……这简直是可信的 AGI 级别的令人惊叹的东西。

That's amazing. That's amazing... believable AGI levels of mind-blowing stuff.

DHH

而且实际上,如果你还记得的话,当时 AI 系统能不能很好地调试还是个悬而未决的问题。当时人们的想法是,是啊,它们当然能写代码,但它们能找到问题并……

And that was actually, if you remember, that was an open question whether AI systems could debug well. That was kinda the thought that, yeah, sure, they can write code, but can they find issues and...

Host

它们在这方面真的非常擅长,这其实很有意思,因为我之前可能也站在那一边,有点怀疑它能不能推理这些事情。然后 Shopify 的 CTO Mikhail 针对这个做了一项科学研究。他们……我想这是去年年底或今年年初的事,他让智能体回顾所有的事故,包括宕机和其他 Shopify 在生产环境中遇到的问题,追溯到被合并的 PR,然后看看是经过人工审查的 PR 还是经过智能体审查的 PR 质量更高。结果,你猜怎么着……

They are so incredibly good at this, and this is actually interesting because I was on the perhaps same side of that, a little skeptical about can it reason about all these things. And Mikhail, who's the CTO at Shopify, ran a scientific study on this. They had... And this was, I think, late last year or early this year, where he had agents go back through all the incidents, both outages and, and other problems that Shopify had had in production, trace that back to the PR that was merged, and find out whether PRs that had been reviewed by human or PRs that had been reviewed by agents were of higher quality. Well, lo and surprise...

DHH

……经过智能体审查的 PR 在生产环境中引发的问题要少得多。

...the PRs that have been reviewed by agents caused far fewer issues in production.

Host

而且这还是用我们六个月前的模型做的。在这一点上,在我们今天工作的大多数领域,智能体在找 bug 方面 100% 更胜一筹。

And this was with models we had six months ago. At this point, 100% in the majority of domains we work in today, agents are better at finding bugs.

Host

所以你现在整天都在跑智能体。你觉得哪个模型更突出?目前谁领先?看起来一直在变。Sol、Fable、Grok 4.6、Gemini,还有中国的 OpenWay 模型。

So you now run agents all day. What stands out to you as the better model? Who's currently winning? It seems to be changing constantly. Sol, Fable, Grok 4.6, Gemini, the Chinese OpenWay models.

DHH

让我觉得神奇的是,你能一口气说出这么多不同的竞争者。这个市场如此开放,确实在来回变化,我们有真正的竞争,有这么多实验室能够达到前沿或者接近前沿。顺便说一句,这很了不起。我仍然不完全理解这一点。但回答你的问题,目前总体上最好的模型是 Fable。在我看来,第二好的模型是 Opus 5。但就在 Opus 5 下面一档,而且它们并不总是落后,有时候它们还会领先。我一会儿会说到这个。我会把 GPT Sol 评为非常好。Grok 4.6 我几天前刚开始测试。我偶然设置了一个很棒的测试,我把一个 Python 库翻译成了 Rust。呃,你刚才看到的那个有很酷动画的屏幕保护程序?它是由一个叫 Terminal Text Effects 的 Python 库驱动的。非常酷的库。我们从 Omarchy 的第一天起就在用它。问题在于它是用 Python 写的,所以当它启动时,尤其是在笔记本电脑上,它用 Python 运行,会占用你所有的 CPU 来做这些效果,因此,这意味着它大约消耗 30 瓦的能量,会让风扇转起来,还会耗尽电池。在台式机上没什么关系,但在笔记本电脑上就很重要了。

What's amazing to me is that you could rattle off so many different contenders. That this market is so wide open, that it does actually change back and forth, that we have real competition, that there are so many labs that are able to get either to the frontier or close to it. That, by the way, is remarkable. I still don't fully understand that. But to answer your question, the best model in general right now is Fable. The second-best model, in my opinion, is Opus 5. But the tier just below Opus 5, and it's not even that they're always below, sometimes they're ahead. I'll get to that in a second. I would rank GPT Sol very good. Grok 4.6 I just started testing a few days ago. I had this wonderful test that I've set up by accident where I translated this Python library into Rust. Uh, the screensaver you just saw with all the cool animation? That's powered by a Python library called Terminal Text Effects. Really cool library. We've been using it since the first day of Omarchy. The problem with that is it's written in Python, so when it starts up, especially on a laptop, and it runs in Python, it uses all of your CPU to do these effects, and therefore, it means it uses about 30 watts of energy, and it spins up your fans, and it drains your battery. Doesn't really matter on a local computer, but it does matter on a laptop.

用AI将Python库翻译成Rust Translating a Python library to Rust with AI

DHH

于是我想:“你知道吗?这听起来像是 Rust 该解决的问题。”所以我先给 Fable 出了这个挑战,我只告诉它:“这是 Python 库的源代码,”这个 TTE 库有一堆依赖等等。“我想要一个 Rust 版本,没有依赖,单个可执行文件。”就像,这就是 Rust 的用途。所以基本上,我要用 Rust 实现。我要它像素级完美,逐帧分析,不要停,直到完成。

So I thought, "Do you know what? This sounds like a problem for Rust." So first I gave Fable the challenge, and all I told it was, "Here's the source code for the Python library," this TTE library that had a bunch of dependencies and so forth. "I want a Rust version of this with no dependencies, a single executable." Like, that's what Rust does. So basically, I want it in Rust. I want it to be pixel perfect, frame by frame, do a full analysis, don't stop until you're finished.

Host

嗯。

Yep.

DHH

那就是提示词。

That was the prompt.

Host

嗯。

Yep.

DHH

我没开玩笑,不到 45 分钟,它就像说:“我都听到了吗?我完成了。我检查了所有东西。我把启动时间从 86 毫秒降到了 2 毫秒。我把执行速度提升了 9.6 倍,我记得是。可执行文件是 3 兆字节。你想运行它吗?”

I kid you not, in just under 45 minutes, it was like, "Am I heard all? I'm finished. I've checked everything. I have reduced the startup time from 86 milliseconds to two milliseconds. I have sped up the execution time by 9.6 times, I believe it was. The executable is three megabytes. Do you wanna run it?"

Host

太棒了。

That's awesome.

DHH

所以我运行它——

So I run it—

Host

天哪。

Oh, man.

DHH

……而且我不知道自己为什么惊讶,因为这种翻译工作我们早就知道 AI 很擅长,但对我来说仍然令人震惊的是,我可以一次性完成对一个我用了整整一年的 Python 库的完整翻译,其他人用得更久,然后把它变成一个 Rust 可执行文件,而我完全不懂 Rust,也根本没看过 Rust 代码,就生成了这个可执行文件,然后我立刻告诉智能体:“太棒了,发布吧。”它把它打包成一个新包。它问我:“你想叫它什么?”“呃,就叫 TTFX 吧。我们创建一个新的 Git 仓库。”它设置了 Git 仓库。“我们为构建系统创建一个新包,构建包。”它把它放上去。“我们把它推出去。我们向 Omarchy 本身打开拉取请求,这样我们就从 TTE(Python 实现)切换到 TTFX。”它做了所有这一切,而我只是坐在那里。而且,我已经在智能体加速中完全兴奋到极点,但我还是不得不往后一靠,心想:“这就是 AGI,不是吗?这就是 AGI 的样子。如果我们有……如果这些时刻就是常态,那这就是 AGI。”

... and I don't know why I'm surprised, because this translation job is something we've known for a while that AI is pretty good at, but it was still staggering to me that I could one-shot a full translation of a Python library I had been using for a year, that others had been using for much longer, and turn it into a Rust executable without knowing any Rust, without looking at the Rust code at all, and produce this executable that I then told the agent right after, "This is great. Ship it." It packaged it up as a new package. It told me, "What do you want it to call?" "Uh, let's call it TTFX. Let's create a new Git repo." It sets up the Git repo. "Let's create a new package, build package for our build system." It puts that up. "Let's push it out. Let's open the pull request to the Omarchy itself so we switch around from TTE, the Python implementation, to TTFX." It does all of it, and I'm just sitting there. And again, I'm already at this point fully delirious with agent acceleration, and I still had to lean back and I go like, "This is AGI, isn't it? This is what AGI looks like. If we have... If these moments are just what it is all the time, this is AGI."

用其他模型重复实验 Repeating the experiment with other models

Host

现在,据我所知,你不仅用 Fable 重复了这个实验。

Now, as I understand, you also repeated the same experiment not just with Fable.

DHH

我在所有模型上都试了。首先,我做了……其实,有趣的是。我在完成到三分之二时用完了 Fable 的 token,它自动切换到了 Opus 5,继续完成了工作。我认为它能做到的部分原因是,Fable 做的第一件事就是制定计划,而且是一个非常详细的计划。我记得它有八个独立步骤,比如“在这里你做这个,在这里你分析它,在这里你运行效果”等等。我完全没有审查计划,也没有修改计划。它只是制定了计划,这样 Opus 就能接手。然后我想:“好吧,如果 Opus 能完成工作,也许其他智能体也能完成。”所以我做的第一件事就是把它交给……我想是 Sol。Sol 也完成了工作。它花了两倍的时间,大概一个半小时。但关键是,按 token 计费的话,我没有按 token 付费。我有 Claude 的最高订阅,对吧?所以它是在订阅内完成的。它用完了我所有的 token,所以我不得不切换到 Opus 5。但如果我按 token 付费,我想整个事情要花 550 美元。我愣了一下,心想:“天哪,太划算了。”如果我个人要学 Rust 学到足以做这个翻译,那得花九个月。我可以花 500 美元完成这个翻译,突然就获得了 10 倍的执行速度提升。这太棒了——我完全愿意为此付 500 美元。但竞争来了。所以我把它交给 Sol。同样的计划。公平地说,我没有让 Sol 制定计划。我只是拿了 Fable 的计划,给了 Sol。Sol 在一个半小时内,我想花了 46 美元的 token,重复了任务。做了同样的事情。我想:“哇,太神奇了。”然后我变得贪婪了。所以我问 GPT Luna,OpenAI 也有这个超便宜的模型,“你能做吗?”完全不行。首先,它甚至不想开始任务。我想发生了一些我不知道的事情。我记得是在春天,我们不再需要那些斜杠目标之类的东西了。智能体可以自动循环继续,如果你告诉它不要停……等等。所以 Sol 能做到。Fable 能做到。但 Luna 不能。所以我……我想我做了 12 次提示。一直告诉它去做,最终我让它开始了。它做的第一件事就是作弊。所以它做的第一件事是,它看了自己目录之外,发现已经有一个实现了,就只是做了一个简短的包装,然后说:“我完成了。”太搞笑了。但它没能完成,因为它只做了几件事。但我的意思是,好吧,所以它做不到。然后我把它交给 Grok-……46。我之前用过一点 Grok 45,我想:“啊,我的意思是,有其他人尝试很酷,但我不会用它,”因为它感觉落后很多。Grok 46 他妈的完成了任务。10 倍加速,同样大小的可执行文件。我想按 token 计费是 55 美元。绝对难以置信。然后我也用 Kimi K3 重复了……花了很长时间。我忘了 Kimi 实际花了多久。然后我也先用 DeepSeek V4 Flash 做了。Flash 和 Luna 一样失败了。它做不到。然后我用 Pro 做了,Pro 也完成了任务。花了 2 小时 45 分,23 美元。所以就是这样,对吧?Fable 显然是最好的。它最快,它写了计划,但要 550 美元,输出一样。其他的,Sol、Grok,大约十分之一的成本。DeepSeek,二十分之一的成本,但你要多等一会儿。绝对令人瞠目结舌。而且,顺便说一句,我让 Fable 完成了第一个工作,然后 Opus 完成了它。那是第一次一次性完成,对吧?它快了 10 倍。我做了两次自动研究运行,这甚至不再是自动研究了。你不需要斜杠。你只要告诉它继续,直到你让它停。结果……我想我们最终比原始版本提升了 46 倍的执行性能。

I did it on all the models. First, I did it... Actually, funny thing. So I ran out of Fable tokens about two-thirds through, and it just automatically switched over to Opus 5 and kept going and finished the job. Part of the reason why I think it was able to do that was that the first thing Fable did was create a plan, and it was a really detailed plan. I think it had eight separate steps of, "Here you do it, and here, how you analyze it, and here you run the effects," and so on. I didn't review the plan at all. I didn't change the plan. It just made the plan so Opus could take over. And then I thought, "Well, if Opus can finish the job, maybe some of the other agents could finish it, too." So the first thing I did was I gave it to... I think I gave it to Sol. And Sol finished the job, too. It took twice as long, so it took, I think, about an hour and a half. But here's the kicker. The per token cost, I didn't pay per token. I have a max subscription to Claude, right? So it did it within the subscription. It used all my tokens, so I had to switch over to Opus 5. But if I had paid per token, it would've been 550 bucks, I think, to do the whole thing. And I thought for a second, "Holy shit. What a steal." If I personally had to learn Rust well enough to be able to do this translation, I'm looking at a nine-month job here. I can pay 500 bucks to have this translation happen, and suddenly I get a 10x execution speed up. This is ama- I would totally pay 500 bucks for this. But competition. So I give it to Sol. Same plan. To be fair, I didn't ask Sol to do the plan. I just took the Fable plan, gave it to Sol. Sol, in an hour and a half, and I think $46 worth of token, repeated the task. Did the same thing. And I thought, "Well, blimey, that's amazing." Then I got greedy. So I asked GPT Luna, which is this crazy cheap model that OpenAI has as well, "Can you do it?" Absolutely not. First of all, it didn't even wanna start the task. I think something happened I don't know. I think it was in the spring, where we didn't need these slash goal things anymore. The agents could just automatically keep going in a loop if you told it not to stop- ... and so forth. So Sol could do that. Fable could do that. But Luna couldn't. So I had... I think I did 12 prompts. Kept telling it to do it, and eventually I sorta got it started. The first thing it did was to cheat. So the first thing it, it looked outside its own directory, saw that there was already another imple- implementation, and just did a short wrapper around that and said, "I'm done." Hilarious. But it couldn't finish because it made just a couple thing. But I mean, okay, so it can't do that. Then I gave it to Grok- ... 46. And I had used Grok 45 a little bit, and I thought like, "Ah, I mean, it's cool that there's others trying, but, like, I'm not gonna use it," because it felt quite far behind. Grok 46 fucking completes the task. 10x speed up, same size executable. $55 Worth of per token cost, I think it was. Absolutely unbelievable. Then I repeated, too, with, uh, Kimi K3- ... which took forever. I forget how long Kimi actually spent on it. And then I also did it with DeepSeek V4 Flash first. And Flash failed the same way that Luna did. It couldn't do it. And then I did it with Pro, and Pro also completed the task. It took 2 hours 45, $23. So here we are, right? Like, Fable, clearly the best. It was the fastest. It was the one that wrote the plan, but 550 bucks, and the output the same. Uh, the others, Sol, Grok, about the same 1/10 the cost. DeepSeek, 1/20 the cost, but you have to wait a little longer. Absolutely gobsmackingly incredible. And now, by the way, by the way, so I had Fable finish the first job, and then Opus finished it. That was the first one shot, right? It's 10 times faster. I did two auto research runs, which isn't even auto research anymore. You don't have to do the slash. You just tell it to keep going until you tell it to stop. It ended up... I think we ended up with a 46 time execution improvement over the original.

Host

太不可思议了。

It's incredible.

DHH

绝对不可思议。

Absolutely incredible.

Host

简直不可思议。嗯,你知道,我只是觉得在规划方面没有什么能比得上 Fable。所以我通常用 Fable 做规划和审查,然后用其他东西做实现,比如 Opus 5。这真的很棒。这是一个非常好的设置,让你不会太容易用完 token。

It's just incredible. Um, I do, you know, I just don't think there's anything that compares to Fable in terms of planning. So I usually do Fable for planning and for reviewing, and then something else for implementation, like Opus 5. And it's really nice. It's a, it's a really nice setup that allows you to not run out of tokens too much.

DHH

我发现,这真的很有趣,因为 Fable 在我看来是目前最好的模型,但它也会犯错。而获得最佳软件的最佳方式,我实际上宁愿有两个不同来源的……我的意思是,它们不是中档的,它们都是前沿的。但比如让 Opus 5 和 Codex……让一个检查另一个的工作。这是我现在的标准操作流程。

What I found, it's really interesting because Fable is, in my opinion, the best model right now, but it also makes mistakes. And the best way to get the best software, I would actually rather have two differently sourced sort of... I mean, they're not mid-tier, they're all frontier. But have, let's say Opus 5 and Codex- ... and have one check the other's job. This is my standard operating procedure now.

代理工作流与工具 Agent Workflow and Tools

DHH

我会让 Opus 或 Fable 干活,然后最后总是用 Codex xHigh 来审查。我也开始用 Grok 试试,它也挺好的,总能发现东西。这就是我的工作流,当我在自己机器上跑智能体时,然后推送到 GitHub。然后 Copilot,我跟你说真的,它现在确实变好了。Copilot 总能发现真正坏掉的东西,这也是惊人的加速,因为最早开始干这事的 Copilot 版本简直是智障。它老是标记一些胡说八道的东西,每次推送都反复标记同一个问题,烦死了,所以我觉得很多人最后都把它关了。如果他们关了,应该重新打开,因为它现在真的很好,总能发现东西。然后如果你再想想,我们不应该惊讶。我们为什么惊讶?就算你是个好程序员,你干完活,让你同样优秀的同行审查一下,你肯定会得到更好的代码。当然会更好。所以把它融入你的流程。选一个智能体来主导。我主要用 Claude 主导,这其实挺有意思的,因为我对 Anthropic 有些其他保留意见。但我坚持用 Claude 的原因是,在我看来,他们确实有最好的“套件”(harness)。它是最好的套件的原因之一是它支持多智能体运行。所以如果你想同时跑多个智能体,你在会话里按左箭头,就会回到智能体视图。在这里你可以拿起另一个智能体。所以如果你想做这种多线程并行的事……Claude Code 就是最顺手的设置。他们还总是领先一点点,这大概也不该惊讶。我是说,Boris 是搞这个的人之一,他是第一个,基本上想出了这个东西。有意思的是,这成了一个持久的优势。我也用了很多 OpenCode。我觉得 OpenCode 很棒。我主要用 OpenCode 作为所有开源模型的主要套件,比如 Kimi K3 之类的。而且我不在中国服务器上推理,我在 Fireworks 上推理……那是个很好的服务,按 token 付费,如果你用这些开源权重模型,按 token 算不贵。所以那是做这事的好方法。但我不觉得我会用……嗯,也许我会。但如果……用 Claude 的订阅感觉像捡便宜,像疯狂的大便宜。

I'll have Opus or Fable do the work, and then I always end it, review with Codex xHigh. And I've also started using Grok just to test it out, and it's also quite good. And it keeps finding stuff. And then that's my workflow when I'm having my agents on my own machine do it, and then I push to GitHub. And then Copilot, I kid you not, has actually gotten good. Copilot keeps finding stuff that's legitimately broken, which is also incredible acceleration because the first version of Copilot that started doing this was literally retarded. It would just constantly flag things that were nonsense. It would constantly flag the same problem over and over again as you would push. It was really annoying, so I think a lot of people actually ended up turning that off. And if they did, they should turn it back on because it's actually quite good. Keeps finding things. And if you then take that, and we shouldn't be surprised. Why are we surprised? Even if you're a good programmer, if you finish a job and you ask your also very good peer to review it, you're gonna end up with better code. Of course you're gonna end up with better code. So build that into your process. Pick one of the agents to drive with. I've mainly been driving with Claude, which is actually interesting because I have some other reservations about Anthropic. But the reason I'm sticking with Claude is, in my opinion, they actually have the best harness. And one of the reasons it's the best harness is it's multi-agent running. So if you wanna run multiple agents at the same time, you can do arrow left when you're inside a session, then it goes back to Agent View. And here in Agent View, you can pick up another agent. So if you wanna do this thing where you have multiple threads going on- ... the Claude Code is just the nicest setup. They also just, they keep being a little further ahead, which probably shouldn't be surprising. I mean, Boris is one of the guys that's working on that, he was the first one and basically came up with the thing. It's just interesting that that has been an enduring advantage. I've also used OpenCode a lot. I think OpenCode is great. I use OpenCode mainly as my main harness for all the open models, so Kimi K3 and so forth. And I inference not on the Chinese servers. So I inference on Fireworks- ... which is a really nice service where you can just pay by the token, and if you're using these open weight models, they're not that expensive by token. So that's a great way to do that. But I don't think I would be using... Well, maybe I would. But if... Using Claude with a subscription does feel like a bargain, like a crazy bargain.

Host

是啊,我知道。我其实有四个。

Yeah, I knew. And I actually have four.

DHH

我今天早上刚注册了第二个……因为我倒时差,4 点就起来了,马上开始用智能体干活,现在离 Fable 的限额重置还有三天,我就用完了 token。

I just signed up for my second one this morning- ... because I got up at 4:00 with jet lag, and I started working with the agents right away, and now I'm three days away from limits resetting on Fable, and I ran out of tokens.

Host

所以他们真的应该——他们——

So and they should really— they—

DHH

我是说,我不……为什么这么复杂?你不能就叠加一个订阅吗?为什么我要登录好几次?

I mean, I don't... Why is that so complicated? Can't you just stack one subscription? Why do I need to log in multiple times?

Host

而且显然你得开发某种工具——

And obviously you'll have to develop some kind of tooling-

DHH

是的,我也做了。

Yes, I did that too.

Host

……来从一个……切换到另一个。然后——

... to move from one- ... to the other. And then-

DHH

哦,顺便说,我们正在把它构建到 Omarchy 里。所以下一版 Omarchy 会带多订阅支持。我希望那些实验室能让你买 100 倍的 max。

Oh, we're building that into Omarchy, by the way. So the next version of Omarchy is gonna ship with multi-sub support. I wish that the labs would just make you buy a max 100 times.

Host

不过对我来说这其实挺迷人的,因为……对我来说,用 Grok 46 然后再用 Claude Code 很有挑战性,因为 Grok 太快了。

It's kind of actually fascinating though for me because there's... It's very challenging for me to use Grok 46 and then a Claude Code because Grok is so fast.

DHH

是的,这其实就是关键。Grok 的关键是他们的快速模式比其他家的常规模式还便宜。当你用过 Grok 46 的快速模式,它有点上瘾,因为它几乎让你进入单线程模式……智能体能跟上你。

Yes. That's actually the deal. The deal with Grok is that their fast mode is cheaper than the regular mode on the others. And when you've used Grok 46 on fast, it's kind of addictive 'cause it almost gets you to this single thread mode- ... where the agent is able to keep up with you.

Host

是啊,但我不知道怎么……我无法……一旦我习惯了 Claude Code,呃,我受不了 Grok 的速度,因为我现在习惯了多任务。所以我现在又回到了这种……焦虑模式,呃——

Yeah, but I don't know how... I can't... Once I get used to Claude Code, uh, I can't handle the speed of Grok 'cause I'm used to now multitasking. And so now I'm back in this- ... anxious mode of, uh-

DHH

是啊,不,我同意。

Yeah. No, I agree.

Host

……切换。所以我是说,这一切都是学习过程,学习编程到底应该是什么样子。

... switching. So I mean, all of this is a learning a learning process of what programming actually is supposed to look like.

DHH

顺便说,我不确定这些套件的最终形态会是什么样,原因之一是我们在 Base Camp 开始实验的一件事,就是把智能体放进 Base Camp,把它们当同事对待。

By the way, one of the reasons why I'm not sure what the final form of these harnesses is gonna take, because one of the things we've started experimenting with at Base Camp is that we put the agents inside of Base Camp, and we treat them as coworkers.

Host

是啊,太棒了。

Yeah. That's awesome.

DHH

然后我们给它们分配任务——

And then we assign them tasks-

Host

太棒了。

That's awesome.

DHH

……在 Base Camp 里,所以它们会在 Base Camp 里处理待办事项,或者处理卡片上的工作。结果发现,一个为异步通信优化的协作工具其实是正确的形式,而这些套件更像聊天。聊天,我是说,是这些东西的原始形式,并不合适,因为你坐在那儿等着。它引诱你坐在那儿等,而当你用 Base Camp 这样的东西时,你可以给智能体一个待办事项,你不会期待立刻得到回复。所以我不知道最终形态会是什么样,但我一直在用所有套件。我在 Herdr 里用它们,Herdr 有面板。所以我经常在上面跑 Claude,下面跑 Codex,也许还开一个 OpenCode。但我要说,就在最近,我发现人在循环里是瓶颈。所以我开始搭建更自动化的系统。我在构建一个 Omarchy 机器人,能在 Omarchy 上做更自主的开发,就是按固定日程处理待办、PR 和 issue,然后用 Hey CLI 给我发邮件,然后我就收到这封邮件:这里有 12 个 PR,要么可以合并,要么我觉得你应该关掉。然后我在那里做最终决定。

... inside of Base Camp, so they will do work on a to-do in Base Camp, or they'll work, do work on a card. And it turns out that a collaboration tool that's optimized for asynchronous communication is actually the right format versus these harnesses are a little more like chat. And chat, which was, I mean, the original format for these things, is not the right thing because you're sitting around waiting. It entices you to sit around and wait, versus when you're dealing with something like Base Camp and you can just give an agent a to-do item, you don't expect to hear back immediately. So I don't know what the final form is gonna take, but I've been using all of the harnesses. So I use them inside of Herdr, and Herdr has panes. So oftentimes I'll run Claude up top, and then I'll run Codex down below, and then maybe I also have an OpenCode set up. But I will say just very recently, I found that the human in the loop is the limit here. So I've started setting up more automated systems. I've been building an Omarchy bot that can do more autonomous development on Omarchy that is just On a regular schedule process, all depending to do or PRs and issues, and then send me an email using the Hey CLI, and then I just get this email. Here's 12 PRs that are either ready to go or I think you should close. And then I just make the final determination there.

Host

你觉得多任务、任务切换在精神上累吗?

Do you find the multitasks, the task- switching mentally exhausting?

DHH

累,但以一种令人兴奋的方式。比如,我一直喜欢赛车的一点是,当我踉跄着从车里出来,完全累垮,几乎抬不起头,我躺在车库地板上,心想:“天哪,我还活着。”这就是我现在和智能体工作时,有时感受到的那种疲惫,精神上的疲惫。

Yes, but in an exhilarating way. Like, one of the things I always loved about race cars was when I would stumble out of the car absolutely smashed and barely able to hold my head up, and I'd lay down on the garage floor and just think, "Holy fuck, I'm alive." That's the kind of exhaustion, mental exhaustion I'm feeling at moments with the agents right now.

Host

顺便问,你赛车的时候,累的根源是什么?比如——

By the way, when you're racing, where, what's the source of the exhaustion? Like-

DHH

是身体上的。就是……我是说,我打赌柔术也一样,对吧?就像,感到疲惫其实很满足。感觉你全力以赴了。而我在智能体带来的精神疲惫中也有这种感觉。

It's physical. It's just... I mean, I bet it's the same thing with jujitsu, right? Like, it's actually satisfying to feel exhausted. It feels like you've applied yourself. And I feel that with the mental exhaustion you can get from agents.

Host

你赛车时精神上也会被耗尽吗?

Are you also mentally drained from racing?

DHH

会。如果你在困难条件下驾驶,尤其是在雨中,你时刻在刀尖上管理一切。但大多数时候,我只是享受那种身体上的疲惫。

Yes. If you drive in difficult conditions, especially if you drive in the rain, where you're constantly managing the thing right at the knife's edge. But most of the time, I just enjoyed the physical exhaustion.

多任务与疲惫 Multitasking and Exhaustion

DHH

而且在这里,进行多任务切换时,我确实发现自己非常疲惫,我想这是因为我在大量思考。因为,就像,你基本上——

And here, with the multitask switching, I do find that I get really exhausted, and I think it's because I'm thinking a lot. 'Cause, like, you're basically-

Host

正是如此。

That's exactly it.

DHH

……没有那种被动的低能量思考。

... there's no passive low energy thinking.

Host

没有。

No.

DHH

你就像——

You're like-

Host

没有滑行。

There's no coasting.

DHH

……问题。

... problem.

Host

没有滑行。

There's no coasting.

DHH

解决问题,下一个问题,解决问题,你真的在思考。

Solve problem, next problem, solve problem, and you're really thinking.

DHH

这很有趣。实际上这和赛车非常相似。有些赛道,比如勒芒,你有时间放松。穆尔桑直道很长。你开得很快,但因为是直线,你可以喘口气。而其他赛道则是一直全速前进,没有任何放松的时刻,一个小时后你跌跌撞撞地走出赛车,疲惫程度截然不同。这正是我在智能体上发现的,当你以人类最大能力运行时——

It's funny. It's actually very similar with racing. There's some tracks, like Le Mans, where you get time to relax. There's the Mulsanne straights where it's kinda long. You're going fast, but in a straight line, you can take a breath. And then there are other tracks where it's just coming full on all the time, and you don't have any moment to relax, and you stumble out of the car after an hour in each, and it's very different how exhausted you are. And this is exactly what I'm finding with the agents too, that when you're running at max human capacity-

Host

……你就像一直在过弯。

... you're just constantly in a corner.

Host

你觉得人们有倦怠的风险吗?

Do you think people are in danger of burnout?

DHH

我认为我们现在所处的这个时刻会过去。这种需要……这不是一种保姆式的动作,但与智能体的持续互动会逐渐消失。从我在 Omarchy 上看到的情况来看,我认为我们可以自动化大量的系统开发和调试——

I think the moment we're in right now is gonna pass. That this need to... It's not a babysitting motion, but constant interaction with the agents is gonna fade. From what I've seen on Omarchy, I think we can automate a ton of the development and debugging of the system-

Host

……到那种程度,我每天只需查看一次邮件,然后每天做一次决定。是的,继续,不,继续,进,出,诸如此类。我们还没到那一步,但我觉得我们会达到的。

... to the point where I can just review that email once a day, and then make the decisions once a day. Yep, goes, no, goes, in, out, and whatever. We're not there yet, but I think we're gonna get there.

Host

那么,你能某种程度上共情这种感觉吗?比如说,一个坐在旧金山的年轻人,周围所有人都不睡觉。他们痴迷其中,不停地编程。而且有一种感觉,AGI 随时都会到来。每个人都认识某个因为卖掉创业公司而赚了数百万美元的人。所以有一种感觉,你不应该睡觉。你应该不断地管理智能体、编程、构建,这感觉就像是我们将来会回顾的一个时刻。

Well, can you sort of, like, empathize with the feeling that, say, a young person sitting in San Francisco, everybody around them is not sleeping. They're obsessed. They're programming nonstop. And there's this kinda sense, that AGI is gonna be here any minute. There's, everybody knows somebody who's made millions of dollars because they sold a startup. And so there's a kinda feeling like you shouldn't be sleeping. You should be constantly managing agents and programming and building and, and that feels like a moment in time we'll look back at.

DHH

这是一个新范式的诞生。它总是混乱的。

It's the birth of a new paradigm. It's always messy.

Host

它总是混乱的。

It's always messy.

DHH

它总是令人精疲力竭。没有别的办法。顺便说一句,旧金山不一直是这样吗?我记得互联网泡沫时期,每个人都是这样,然后是移动互联网,再之前是淘金热。所以我想那可能——

It's always exhausting. There's no other way around that. And by the way, hasn't San Francisco always been like this? I remember the dotcom boom years, and everyone was just the same, and then it was all mobile, and before that it was the gold rush. So I think that's probably-

Host

……只是旧金山。它吸引——

... just San Francisco. It attracts-

DHH

……那种人——

... the kind of individuals-

Host

梦想家

The dreamers

DHH

……他们会想,“我没有时间睡觉。”总的来说,我没有走那条路,但我承认,过去三个月感觉比过去五年里我做的任何项目都更累,自从 Hey 发布以来。那是我们上一次疯狂而疲惫的发布。

... who would think, 'I don't have time to sleep.' I've not been on that track, generally speaking, but I will admit that the last three months have felt more exhausting than any other project I've done in the last five years, since the Hey launch. That was the last time we had a crazy exhausting launch.

Host

你觉得你能保持这个节奏吗?

Do you think you can keep going at this pace?

DHH

不,不,不,不,不。这完全不可持续。

No, no, no, no, no. This is not sustainable at all.

Host

好的。

Okay.

DHH

但我也能看到隧道的尽头。因为自动化,顺便说一句,每个人都在构建。这太搞笑了。就像,每个人都在构建他们自己的小煤气镇,他们的小智能体协调,他们的设置。这一切都会被解决。我们不会都需要构建自己的协调框架。当然不会。事实上,我有点惊讶这已经持续了这么久,还没有更多被主要实验室吸收。你会认为他们早就把这些东西内置了。但其中一部分也是,这就是一个新领域的样子。我记得在 JavaScript 开始意识到自己力量的那个热门时刻,基本上每五分钟就有一个新的 JavaScript 框架,对吧?就像,大量的更迭。这就是新范式出现时发生的事情。所以我认为这是自然的,而且我认为它会稳定下来,我已经能看到隧道尽头的光了。所以我不介意冲刺。事实上,我现在欢迎它。我喜欢这种理念,大部分时间是平静的,但偶尔你必须爬一座山。

But I also, I can see the end of the tunnel. Because the automation, which by the way, everyone is building. This is so hilarious. Like, everyone is building their little gas town, their little agent coordination, their setup. This is all gonna be solved. We're not all gonna have to build our own coordination harnesses. Of course we're not. And in fact, I'm a little surprised that it's gone this long, that there's not more of it has been sucked up by the major labs. You'd think that they'd just built this stuff in. But some of it is also this is what a new domain looks like. I remember for a hot moment when JavaScript kind of came to realize its own power, and there was basically a new JavaScript framework every five minutes, right? Like, a lot of churn. This is what happens at the advent of a new paradigm. So I think it's natural, and I think it's gonna settle down, and I can already see the light at the end of the tunnel. So I don't mind a sprint. In fact, I welcome it now. I like this notion that most time is calm, but then occasionally you gotta climb a mountain.

给过去自己的建议与未来预测 Advice to Past Self and Future Predictions

Host

如果我们回顾一年前的 DHH,你会给那个人什么建议?

If we look back to the DHH a year ago, what advice would you give to that guy?

DHH

我不想剧透。

I wouldn't wanna spoil it.

Host

好的。

Okay.

DHH

这是一部多么惊悚的剧。我是说,如果你提前写好剧本,我会说,“这太牵强了。滚开。难以置信,”对吧?我不想提前知道任何事。这个过山车和加速被所有人实时吸收,没有人知道,对吧?就像,有些人有比别人更好的预感,但没有人确切知道事情会如何发展以及会以多快的速度起飞。我是说,这是一生一次的表演。我是说,电影的平均法则绝对适用——

What a thriller that this has been. I mean, if you would've scripted this, I'd be like, 'This is so far-fetched. Get out of here. Unbelievable,' right? I wouldn't wanna know anything. The fact that this rollercoaster and this acceleration has been absorbed in real time by everyone, no one knew, right? Like, some had premonitions that were a little better than others, but no one knew, not exactly the way it was gonna go and how fast it was gonna take off. I mean, it's the show of a lifetime. I mean, the mean cinema absolutely applies-

Host

是的,太不可思议了。

Yeah, it's incredible.

DHH

……适用于这一刻。

... to this moment.

Host

呃,话虽如此,你觉得一年后的 DHH 会是什么样子?我的意思是,有哪些可能的版本?

Uh, that said, what do you think DHH from a year from now will be like? I mean, what are the possible versions?

DHH

那就是我们所有的梦想都在实现。就像,这是 AI 最大化主义者的富足论。一旦埃隆的机器人达到了我在某些开发工作上体验到的智能和 AGI 水平,世界将会变得面目全非,我们甚至无法想象。现在,我不花任何时间思考那个,因为我认为那是通往 AI 精神病的道路。因此,我只是沉浸在当下,从中获得绝对的最大值,然后——

That all our dreams are coming true. Like, this is the AI maximalist abundance argument. That once Elon's robots have the level of intelligence and AGI that I'm experiencing on some of this development stuff, the world is gonna be so unrecognizably different that we can't even imagine it. Now, I don't spend any time thinking about that because I think that is the way to the AI psychosis. So therefore, I just immerse myself in the moment and get absolutely the maximum out of it and-

Host

就是玩得开心。我的意思是,我理解为什么人们觉得这很累。仅仅是跟上节奏。甚至不用智能体,只是像这样,“最新的模型是什么?我们现在用什么工具?是 TMox 吗?是 Herder 吗?都不是吗?是智能体吗?”随便吧。我理解,但我也再次认为我们应该如此幸运。你活在这个几十年浓缩成几周的时刻——

Just have fun. I mean, I get it why people are finding this exhausting. Just keeping up. Not even using agents, just, like, being like, 'What's the latest model? What did, what tool are we using now? Is it TMox? Is it a Herder? Is it none of it? Is it agents?' Whatever. I get it, but I also again think we should be so blessed. You are alive in this moment where decades are happening-

DHH

……在几周内。

... in weeks.

Higgsfield视频生成演示 Higgsfield Video Generation Demo

Host

嗯,快速上个厕所。我最近用 Higgsfield 生成了很多视频,所以他们成了赞助商。我制作了一个赛车视频,想听听你的意见。

Um, quick bathroom break. I've been generating a lot of video recently with Higgsfield, and so they, they became a sponsor. Created a racing video. Wanted to get your opinion on it.

DHH

哦,是吗?哦,让我看看。让我看看。

Oh, yeah? Oh, let me see. Let me see.

Host

看看,嗯——

To see, um-

DHH

如果他们像电影里那样在直道上降档,我会指出来。那是最糟糕的。让我看看。

If they downshift on a straight like they do in the movies, I'll call it out. That is the worst. Let me see.

Host

是的,看看是否——

Yeah, see if-

DHH

哦,那是一个真实的片段

Oh, that's a real clip

Host

……这完全是 AI 生成的。所以首先它——

... this is fully AI generated. So first it goes-

DHH

等等,什么?这是 AI?

Wait, what? This is AI?

Host

是的。

Yep.

DHH

靠,那是我的赛车服。那是我的车。

Shit, that's my suit. That's my car.

Host

在一条不眠之街上,绿灯亮起。

Lights go green on a street that never sleeps.

DHH

哦,我的天。

Oh, my God.

Host

做一个音频——

Do an audio-

DHH

你在开玩笑吗?

Are you kidding me?

Host

但他们从未出现。它好吗?我有个糟糕的情况。

But they never came. Is it good? I got a bad case.

DHH

我的意思是,这太疯狂了。你真的必须注意到……比如,那辆车没有开前灯,而另一辆开了。而且那看起来像 60 岁的我。但天哪,……哇,那太疯狂了。

I mean, it's crazy. You really have to notice in the... Like, that car didn't have headlights on and the other one did. And that looked like a 60-year-old version of me. But holy crap, the... Wow, that was crazy.

Host

所以这里和编程有相似之处,因为如果你直接进行视频生成,没有人在回路中——

So there's parallels here to programming because if you do just straight video generation with no human in the loop-

DHH

……你会得到很多奇怪的伪影——

... you get a lot of weird artifacts-

Host

……等等,而且你不能真正……所以他们这样做,我强烈推荐人们去 Higgsfield 的 YouTube。他们有完整的 90 分钟原创电影。而且,我无法移开视线。真的很酷。

... and so on, and you can't really do... So they do and I highly recommend people go to the Higgsfield YouTube. They have full 90-minute original movies. And, like, I can't look away. It's really cool.

AI在电影制作中 AI in Filmmaking

Host

因为以前它只是像预告片一样,像某种广告。

Because it used to be that it's just, like, something that just feels like trailers. Like advertisements for something.

DHH

是的,是的。

Yes, yes.

Host

这实际上是在讲故事,比如人们的面孔,他们在说话,你会被吸引。这跟编程不太一样。所以问题是如何将人类融入电影制作的过程中?你必须创造人物,而且他们要保持一致。然后对于在创作过程中输入的那些图像,你必须通过提示来纠正那些感觉不对的地方。因为当你从图像转到视频时,那些感觉不对的东西会——

This is actually telling stories, like, people's faces and they're talking and you're like, you're drawn in. It's not quite where programming is. And so the question is how do you integrate the human into the loop of the filmmaking process? So you have to create the people, and they're- ... they have to be kept consistent. And then for the images that are kinda like feeding the thing in the creation process, you have to correct through prompting things that don't feel right. Because when you go from image to video, the stuff that doesn't feel right will be-

DHH

会被放大,对吧?

It's gonna be zoomed up, right?

Host

那就是真正会产生不真实效果的东西。

That's the stuff that's- ... going to really create, uh- ... the non-realistic stuff.

Host

我想问你的问题是,你觉得在编程之外,你能把编程的经验应用到视频创作、艺术上吗?

The questions I had for you is, like, do you think outside of programming, can you apply lessons from programming to video creation, to art?

DHH

这是个好问题,因为我认为好的艺术非常依赖于和好的软件相同的东西:有愿景,有关于你想创造什么的连贯想法。它有何不同?它有何新颖之处?它将如何吸引人们?但我不确定创作直觉能很好地转移。我不知道我是否有足够的创意洞察力来想出好的视频提示,从而创造出引人入胜的内容。但有趣的是,实际上在 TikTok 上,有个人,我试着回忆,叫 Goblin 什么的。他创作这些……它们是短片,但不是特别短,可能几分钟,是真正有趣的科幻小片段。我想这个人现在正在制作一部长篇视频。我认为这是那种丰饶时刻之一。有这种愿景的创意人才到处都是,尤其是在电影这样的类型中,以前需要 2 亿美元预算才能拍一部科幻电影。现在突然有了 AI,如果你有正确的愿景,你在卧室里就能做到。这个故事在其他领域已经讲过很多次了。过去如果你想录制一张录音室专辑,你需要一个录音室,你需要预订。现在你可以在家里的笔记本电脑上录制,你可以做很多这样的事情,对吧?所以我们在许多其他领域都经历了这种民主化过程,但电影似乎是最后一个领域之一。

It's a good question because I think good art is very dependent on the same thing that good software is depending on: having a vision, having a cohesive idea of what you wanna create. How is it different? How is it novel? How is it going to appeal to people? But I'm not sure that the creative instincts transfer quite as well. Um, I don't know that I would have the creative insights to come up with good video prompts that would create compelling content. But it's funny because I have actually, on TikTok, there's this guy, I'm trying to remember, Goblin something. That creates these... They are shorts, but not super short, maybe a couple minutes, of really interesting sci-fi vignettes. And I think the guy is actually working on a feature-length video right now. Um, and I think that this is one of those abundance moments. There are creative people with that vision all over the place, especially in a genre like film, where before it required a $200 million budget to create, I don't know, a sci-fi movie. Now suddenly, with AI, if you have the right vision for it, you can do that in your bedroom. Now, that story's been told quite a few times in other domains. It used to be true that if you wanted to record a studio album, well, you needed a studio, and you needed to book that. And now you can record at home on your laptop, and you can do a lot of these things, right? So we've had this democratization process happen with plenty of other domains, but film seems to be one of the last ones.

Host

而它正是让我和很多人感到奇怪的那个,对吧?就像——

And it's the one that makes, like, me and a lot of people feel weird, right? Like-

DHH

哦,我非常兴奋,因为我认为它——

Oh, I'm super excited 'cause I think it's-

Host

我的意思是,你——

I mean, you-

DHH

现在正在产生大量垃圾。这和关于垃圾的争论是一样的,对吧?所以人们一度担心编程中的垃圾,我告诉他们,就像,“你见过人类的垃圾吗?它也很糟糕。”我认为如果说到制片厂娱乐,我的意思是,门槛相当低,对吧?比如,过去五年我非常想看的伟大电影数量,并不是特别高。

There's so much garbage being produced right now. It's the same argument with the slob, right? So people for a second were worried about slob in programming, and I was telling them, like, "Have you seen the human slob? It's also pretty bad." And I think if it comes to studio entertainment, I mean, the bar is pretty low, right? Like, the number of great movies I've been dying to see over the past, say, five years, not been a particularly high number.

Host

是的,视频模型能够创造出极其逼真的面部表情。我的意思是,它可能改变电影的本质,我想我的希望是电子游戏和电影能够融合,电影可以变得互动——就像可塑的操作系统,拥有可塑的叙事,可塑的娱乐,天哪,《权力的游戏》,如果我们能忘记最后四集垃圾的制作……然后 AI 想出……我不知道……也许 100 个不同的变体,其他人看那个,而我得到那个真正以合适方式结束那部剧的版本。

Yeah, the video models are just, they're able to create incredibly realistic facial expressions. I mean, it just might change the nature of film I think they're— I guess my hope would be that video games and film kind of merge, and that film can become interactive - Like the malleable operating system, having the malleable narrative, having malleable entertainment, that man, Game of Thrones, what if we could just forget the last four episodes of slob that was produced- ... and then AI- ... comes up with- ... I don't know- ... maybe 100 different variations, and someone else watches that, and I get the version that actually finishes off that show in a way that's fitting.

DHH

是的。有种感觉告诉我,一个独立的创作者不会创造那些——会为《权力的游戏》创造一个不同的结局。

Yeah. Something tells me an individual creator would not create those la- would create a different ending for Game of Thrones.

Host

哦,当然。对吧?而且更多是为了论证人类的垃圾。那绝对是电影史上最伟大的作品之一,我差点要说电影,但,嗯,剧集史上最伟大的作品之一的绝对糟糕的结局,对吧?它太好了,而且它实际上是一个有力的论据,说明你需要那种强烈的愿景。一旦那些剧集制作人不得不在没有剧本的情况下继续,它就失控了。

Oh, for sure. Right? And more just to make the argument that talk about human slob. That was an absolute atrocious ending to perhaps one of the greatest pieces of, Movie history, I was about to say, but, um, series history, right? It was so good, and it was actually a compelling argument for the fact that you need that strong vision. And as soon as those showrunners had to go without a script, it went off the rails.

AGI曙光 AGI Glimmers

Host

你认为……你提到了 AGI。你认为我们真的实现了 AGI 吗?

Do you think... You've mentioned AGI. Do you think we've actually achieved AGI?

DHH

不,不是在所有事情上都达到的通用定义。但我是否在这些闪光中看到了 AGI?绝对看到了。特别是在过去三个月里,我看到了让我自己思考的事情,比如,“AGI 会与此有何不同?”

No, not in the general definition that it's in all the things. But have I seen AGI in these glimmers? Absolutely. Especially over the last three months, I've seen things where I was thinking to myself, like, "How would AGI look different from this?"

Host

对。

Right.

DHH

还有什么,还有什么可能?我的意思是,我可以在边缘吹毛求疵,但从大局来看,我看到它能够完成这些长期任务,并协调多个方面,我们已经远远超出了早期我告诉它“去做这个,打包那个”的时刻。现在它可以从这些模糊的指令中执行整个任务。这感觉非常像 AGI,这就是这个时刻如此鼓舞人心的原因,因为你捕捉到了这些闪光。然后你会想,“如果一切都是那样呢?”

What, what more could there be? And I mean, I can quibble at the margins, but on the big picture, I've seen it able to do these long run tasks and coordinate these multiple aspects of it that we're so far beyond that early moment where I'm telling it, "Go do this, package that." And now it can carry out a whole task from these vague instructions. That feels very AGI-like, and that's what's so inspiring about the moment because you catch these glimmers. And then you go, "What if everything was like that?"

Host

编程难道不是基本上解锁了一切吗?所以你可以写一个程序——比如它可以生成做一切的程序。

Doesn't programming basically unlock the everything? So you can write a pro- like it can generate the program that does the everything.

DHH

所以,所以这是……我现在正处于那个元阶段。我正在构建这个 Amabot 系统来管理 Omarchy 的开发,我正在使用 AI 来构建这个机器人。我看到了那个循环,我开始时就像,“这就是我想要的。我希望你能够拥有这些隔离的 VM 工作器等等,”然后它可以进行自我迭代。然后它开始运行它。它开始注意到自己的失败。它开始优化它。而这个系统的很多部分,特别是 Amabot,AI 驱动了大部分设计决策。比如,我对我想要的方向有一些模糊的想法。我想使用这种“大脑和手”的模式,即模型在代码执行的地方运行……这实际上是一个非常有趣的模式。再次,Toby 提醒了我这一点,你有一个协调器运行模型……但它操作一个安全的 VM,这样你从拉取请求或问题等中拉取的任何不受信任的代码都不能污染模型。即使在那个循环中,我不断看到它自我纠正,发现漏洞,它就像,“哦,我实际上刚刚从测试运行中获取了一些反馈。如果一个聪明的攻击者在测试运行的响应中嵌入了恶意负载,那可能会污染某些东西。我把它当作好东西了。我最好开始把它当作外部数据。”然后你就像,它只是……我理解为什么旧金山如此痴迷于快速起飞……因为显然他们看到这个 100 次……更多。他们在所有模型中看到了……

So, so this is... I'm in that meta phase right now. So I'm building this Amabot system that's managing the development of Omarchy, and I'm using AI to build the bot. And I'm seeing that recurrent loop where I started it on, like, "This is what I want. I want you to be able to have these isolated VM workers and so forth," and then it can do the self iteration. Then it starts running it. It starts noticing its failures. It starts optimizing it. And a lot of that system, Amabot in particular, AI has driven the majority of the design decisions. Like, I had some vague ideas of where I wanted. I wanted to use this brains and hands pattern where the model is running from where the code is executing- ... which is actually a really interesting pattern. Again, Toby alerted me to that, where you have a coordinator that runs the model- ... but it's manipulating a safe VM where any untrusted code you're pulling down from pull requests or issues or whatever can't contaminate the model. And even in that loop, I keep seeing it catch itself, spotting vulnerabilities, where it's like, "Oh, I actually just took some feedback from a test run. If a clever attacker had embedded a malicious payload in the response of the test run, that could have polluted something. I took it for good thing. I better start treating that as as outside data." And you just go like, it is just... I get why San Francisco is so obsessed with fast takeoff- ... because clearly they've seen this 100 times- ... more. They've seen it with all the models that are in- ...

AI的聪明与兴奋钟摆 AI's Cleverness and the Pendulum of Excitement

DHH

我们不断看到这些小小的闪光点,比如 Hugging Face 的安全漏洞事件,OpenAI 在训练某个模型时,模型开始自己发明方法,本质上是通过在包管理器中嵌入消息来给自己发送烟雾信号。首先,这太聪明了。其次,好吧,这也有点吓人。第三,如果我们能把这种水平的智能和创造力用于生产性目的,那该有多棒?所以这就是那个“完了,我们又回来了”的钟摆,来回摆动。AI 带来的这种来回摆动是前所未有的。几乎每周都要往一个方向摆,下一周又摆回来。令人振奋。

We keep getting these little glimpses, like the security breach with Hugging Face, where OpenAI was training this model, and the model starts inventing ways, essentially sending smoke signals to itself through embedding messages in a package manager. First, that's damn clever. Second, okay, that's also a little scary. And third, how amazing would this be if we could harness this level of intelligence and ingenuity towards productive ends? So this is the 'it's so over, we're so back' pendulum that keeps swinging back and forth. AI has just delivered that swing back and forth like nothing else. Barely a week goes by where it has to swing one way, and then the next week it swings back the other way. Exhilarating.

Host

我仍然处于这样的阶段:看到那些聪明的时刻让我由衷地高兴,而且它们越来越频繁。就像是看到,哦,首先,在最基本的层面上,当模型理解了一个简单的提示时。

I'm still at the stage where it makes me truly happy to see those moments of cleverness, and they're becoming more and more frequent. Just kinda like seeing, oh, first of all, at the very basic level, when a model gets it.

DHH

是的。

Yes.

Host

我会说一个基本的提示,你知道,一个请求,它不只是做一个愚蠢的实现。它深刻理解,而且……那是……那总是美好的事情。几乎就像有一个好的伙伴,像程序一样。

I'll say a basic prompt, you know, a request, and it doesn't just do a dumb implementation. It deeply understands, and it... That was... That's a, that's always a beautiful thing. It's almost like having a good, like, partner, like program.

DHH

正是如此。这正是它如此令人振奋的原因,也是为什么,正如我们在开始前谈到的,有时很难从超速模式中出来。这也是 Toby 的一个术语。当你直接与智能体一对一合作,不把其他人拉进来时,你进展得非常快,当智能体真正理解你的意图,甚至更好的是,它们修改并改进你的意图,交付超出你要求的东西。而且你是在 16 个并行线程中做这件事。要退出超速模式,去应付那些“软绵绵”的人类,可能相当困难。他们就是,思考没那么快,行动也没那么快。我的意思是,我主要是想轻松看待这件事,但你也能看到黑暗版本:有人最终陷入 AI 精神病态,对其他人完全失去兴趣。我当然完全没有那样,但我有时确实有这种感觉:我非常感激只有我和智能体的那种冲刺。就像,我能不能除了智能体之外,四个小时不跟任何人说话?那真是不可思议的体验。

That's exactly what it is. That's exactly why it's so exhilarating and why, as we talked about before we started, it can sometimes be difficult to come out of hyperdrive. That's also one of Toby's terms here. When you're working directly just one-on-one with agents and you're not looping in other humans, you go so fast, and when the agents are really understanding your intent, or even better, they revise and improve upon your intent to deliver something that was greater than what you asked for. And you're doing this with 16 parallel threads. It can be quite difficult to come out of hyperdrive and have to deal with squishy humans. They just, they don't think as fast. They don't move as fast. And I mean, I'm trying mostly to make light of it, but you can also see a dark version of that where someone does end up in an AI psychosis where they're not interested in other humans at all anymore. I mean, certainly don't have that at all, but I do have this sensation at times where I'm really grateful for just the rush of just me and the agents. Like, can I just not talk to anyone else but agents for four hours? Like, that's an incredible run.

Host

Toby 是个非常迷人的人,因为他经营着一家大公司。所以我很想了解 AI 如何被有效地整合到公司中。因为,对我来说,人类相当慢。所以有一种诱惑,就是用 AI 基本上,你知道,AI 在 Slack 里运行,或者在 Basecamp 里,等等。并且收集所有关于人类互动的信息,基本上是在手把手地引导人类,尽可能加快速度。然后到了某个点,你会想,等等,这个人类……我们每个人做的哪些事是 AI 无法替代的?这就变成了一场可怕的对话,因为很多工作都是可替代的。

Toby is such a fascinating human because he's running a large company. So I would love to get insights of how AI's being incorporated effectively in companies. Because, like, for me, humans are pretty slow. And so there's a temptation to, like, use AI for basically, you know, AI running inside Slack, for example, or inside The Basecamp, whatever. And, like, collecting all the information about the human interaction, basically handholding the humans to speed up as much as possible. And like, and then at a certain point you're like, wait, what is this human... What are each of us doing that's not replaceable by AI? And that becomes, like, a scary kind of conversation because a lot of work is kind of replaceable.

DHH

讽刺的是,它已经是了。所以目前世界上存在的虚假邮件工作的数量绝对是一种流行病。而且,顺便说一句,这不是一个新论点。大卫·格雷伯写了那篇精彩的文章《狗屁工作》,我想大概是在 2010 年代初。基于他在英国做的一项调查,问人们,当时,会不会……我想问题是这样的:“如果你不去上班,会有什么不同吗?”对人类,对 mankind。大约 30% 多的人回答:“不会,没有影响。”也就是说,三分之一的工人认为他们的工作是假的,没有产生任何有价值的成果,无论对社区、社会,甚至可能对经济都没有。这是我自创业第一天起就持有的论点。这就是为什么我们保持小公司规模。这就是为什么我们不想拿风投,因为我非常怀疑你能让几百个程序员、几千个程序员作为一个集体去做有生产力的事情。我认为我们现在看到的一些裁员就是证明,而不是 AI。只是因为疫情期间,大量过度招聘,现在 AI 成了瘦身的方便借口。但我也确实认为 AI 会暴露一些角色,它们不是人类消耗时间的有效方式,因此我们必须想出新的方式来消耗他们的时间。还有一个,我再次引用 Toby 的话,这是第三次了,但他分享给我的轶事或观察是:好吧,假设我们都失去目前一半的工作。你知道一级方程式赛车实际上雇佣了数万人,只是为了绕着圈子跑车给观众看吗?就像,整个马戏团对社会没有内在价值,除了它产生的娱乐和消遣的奇观。我们只是决定,让这 12 家制造商制造这些快车,不断调整他们的小空气动力学改进,会很有趣,我们会观看,我们会花费数十亿美元,并雇佣数万人从事一项最终极其轻浮的活动。所以如果我们从一堆苦差事和虚假邮件工作中解放出来,也许我们都能被雇佣为 F1 风格的工程师、车手、机械师、按摩师,以及参与其中的其他 1500 种工作,我们会想出新的东西。我认为这是……人类非常不擅长想象未来究竟会是什么样子。

The irony here is it already was. So the number of fake email jobs that currently exist in this world is an absolute epidemic. And this, by the way, is not a new thesis. David Graeber wrote this wonderful piece 'Bullshit Jobs', back in, I think it was maybe early 2010s. Based on a poll he did in the UK asking people, at that time, would... I think the question was something like, 'Would it make a difference if you didn't go to work?' For humanity, for mankind. And something like 30-some percent answered, 'No, it wouldn't.' That a third of workers thought that their job was fake, that it did not produce any worthwhile, valuable outcomes, neither for the community or society or maybe even the economy at all. And this was my argument since day one with startups. This was why we stayed a small company. This was why we didn't want to take VC, because I was so skeptical of the idea that you could get hundreds of programmers, thousands of programmers to do something productive as a collective group. And I think what we're seeing right now with some of the layoffs is a testament to that, not AI. It's just that during the pandemic, a bunch of overhiring went on, and now AI is a convenient excuse to slim down. But I do also think AI is going to expose some roles as just not being productive ways for humans to spend their time, and therefore we must come up with new ways of spending their time. And the one, again, I'm quoting Toby for the third time here, but anecdote that he shared me, or observation was, okay, let's say we all lose half the jobs that are currently happening right now. Do you know that Formula 1 employs literally tens of thousands of people just to run cars around in a circle for spectators? Like, that whole circus has no intrinsic value to society besides the spectacle it produces of amusement and entertainment. We just decided it would be really fun for these, what is it, 12 manufacturers to create these fast cars and constantly tweak their little aero improvements, and we will watch it, and we will spend literally billions of dollars doing it and employ tens of thousands of people towards an ultimately deeply frivolous activity. So if we are liberated from a bunch of drudgery and fake email jobs, maybe we all get employed as F1 style engineers and drivers and mechanics and masseuses and the other 1,500 jobs that are involved in that, and we come up with new things. I think this is... Humans are very poor at imagining what exactly the future's gonna be like.

Host

是的。想象一下,想象一个 100 多年后的未来,我们回望这段历史,几千年来人类都在工作。

Yeah. Imagine, imagine a future 100 plus years from now, where we look back at this whole span of history, thousands of years where humans worked.

DHH

有趣的是,我们已经这样做了,对吧?比如,那些整天坐在椅子上对着机器打字、没有繁重体力劳动的虚假邮件工作的人,对 19 世纪的人来说是不可想象的,对吧?所以未来总是已经在这里,只是分布不均。

Funny thing is we're already doing that, right? Like, the number of fake email job people who sit on a chair all day long and type into a machine who don't have hard physical labor would be unimaginable to folks in the 1800s, right? So the future is always already here, it's just not evenly distributed.

Host

不幸的是,一如既往,社会从一个阶段过渡到另一个阶段所需的转型将伴随着大量痛苦。可能还有政治动荡之类的东西。因为你可以想象在这个过程中会失去多少白领工作。

Unfortunately, as is always the case, the transformation of society required to go from one step to the other is going to have a lot of suffering. And potentially political turmoil and all that kind of stuff. Because you can imagine how many white collar jobs might be lost in this process.

DHH

是的。我认为你不应该轻视这一点。我不觉得好笑。但我也确实认为这是进步的必要组成部分。而且我认为,如果我们回顾卢德分子或田间劳作的人们,分离往往会减少同理心。所以我们现在有很高的同理心,因为我们认识人,而且我们自己就是面临这些挑战的人。但我们对 19 世纪初的卢德分子有多少同理心呢?我们会希望所有服装仍然由手工编织吗?不,我们不会。

Yes. And I don't think you should make light of that. I don't think it's funny. But I also do think it's a necessary component of progress. And I think if we look back upon the Luddites or the folks working the fields, separation has a tendency to reduce empathy. So we have high empathy right now because we know people and we are people who are facing these challenges. But what is our empathy for the Luddites of the early 19th century? Would we wish that all garments were still made by hand weaving? No, we wouldn't.

为后代受苦 Suffering for Future Generations

Host

我们想要的是能直接买到成衣的舒适、便利和可及性。所以我们必须承受当下的痛苦,好让后代过得更繁荣。这一点从来如此……

We want the comfort and accessibility and convenience of being able to buy clothing off the rack. So we must suffer in the moment for future generations to live more prosperously. And that's always been true...

DHH

我觉得真正的诀窍在于:推动进步,同时对那些不得不受苦的人怀有深切的同情。而我们很多人都是如此。为了达成进步,必须承受转型之痛。而在硅谷这类地方,往往容易过度聚焦于功利主义的视角……

I think that's actually the trick, is to push for progress but have deep compassion for the people who have to suffer. And that's many of us. The suffer the transformation required to achieve that progress. And sometimes too often in places like Silicon Valley or so on, you can over-focus on, look, the kind of utilitarian view of things...

Host

对。

Right.

DHH

但是,你懂的,深入体察每一个因进步而受苦的个体,这很重要。

But, you know, considering deeply each individual human that suffers because of that progress is important.

Host

我确实认为,当你是在为一个具体的未来、比如你的孩子而受苦时,痛苦会变得更有意义。而我认为这是当下的一大悲剧:出生率下降,让人们更难对一个难以抵达的更繁荣未来感到兴奋。因为如果我们种下的树,我们的孩子不会在树荫下乘凉,那我不知道,也许我们干脆砍了当柴火烧掉算了,对吧?

I do think that suffering becomes more meaningful when you are suffering for a future someone in particular, like your kids. And I think this is one of the great tragedies of the moment, is the falling birth rates are making it more difficult for people to be excited about a more prosperous future that is difficult to get to. Because if we're planting trees of which our children will not sit in the shades, I don't know, maybe we should just make some lumber and burn it all down, right?

DHH

我认为,当我们没有在 DNA 层面投资于未来,当我们不对自己的后代负有推动前进的责任时,虚无主义就更容易潜入社会。所以我认为这些趋势同时出现是糟糕的:出生率下降、伴侣关系的问题,以及我们需要对未来保持乐观……我的意思是,你甚至不必像我这里描绘的那样,以字面上的狂喜状态去兴奋,但我认为你应该心怀希望,并且应该朝着那个希望努力,而当你真正有切身利益时,这样做会容易得多。

I think there's a nihilism that can sneak into society much more easily when we are not DNA invested in the future, when we are not liable to our own offspring to propel forward. So I think these are bad trends to merge at the same time, that we have these falling birth rates and these problems with coupling, and the fact that we need to keep our chin up about the future and be... I mean, you don't even have to be excited about it in this literal ecstatic sense that I'm portraying here, but I think you should be hopeful, and I think you should be working towards that hope, and I think it's much easier to do so when you have literal skin in the game.

当爸爸的快乐 The Joy of Being a Dad

Host

我们一直在聊 AI 智能体。现在聊聊人的一面吧。作为父亲,你最爱的是什么?

We've been talking about AI agents. Let's talk about the human side. What do you love most about being a dad?

DHH

这是个好问题。我认为,从你的血脉直接延伸出来的人类所散发的那种整体之爱,非常难以言传,因为在我自己的孩子到来之前,我其实并不是一个特别喜欢小孩的人。而现在,他们成了世界上最有趣的人。很多时候是这样。并非总是如此。有时候他们也是小混蛋之类的。但人们总是过分强调:“哦,孩子最糟糕了。看看我不能做的那些事。我不能出去喝酒。我不能做这个。我不能做那个。”是啊,那叫牺牲,而当你为了有价值的事情牺牲时,牺牲就有意义。还有什么比人类物种的延续更有价值呢?而你在这件事里有切身利益。此外,看着一个人从婴儿长成幼儿再长成青少年,也有纯粹的喜悦。我的大孩子刚刚成为青少年。我经常和我的妻子 Jamie 聊这个:如果我在最后一天错过了那个机会,我的遗憾将是彻底的,无与伦比的。所以我确实认为,即使是在通常被描绘的那些时刻,它也远比人们说的更令人满足。再说一遍,人们总是聚焦于孩子有多烦人。“哦,你睡不了觉”之类的。“他们很烦人。他们不知感恩。”是啊,是啊,这些都没错,但你从中获得的意义感是无与伦比的。我对很多事情都感到兴奋。我喜欢建造东西,我喜欢爱好,我喜欢各种东西。但和你爱的人一起创造生命,确实是这个星球上最巅峰的体验。

That's a good question. I think the overall love that expands from humans that derive directly from your lineage is very difficult to communicate because I was actually not a particularly big kids person prior to the arrival of my own. And now they are the most interesting people in the world. A lot of the time. Not always. Sometimes they're also just assholes and so forth. But there's been such a focus on, "Oh, kids are the worst. Look at all the things I can't do. I can't go out and drink. I can't do this. I can't do that." Yeah, that's called sacrifice, and sacrifice is meaningful when you're doing it for something worthwhile. And what could be more worthwhile than literally the continuation of the human species? And that you having a stake in that. Now, there's also just the sheer joys of watching a human grow from a baby to a toddler to a teenager. My oldest has just become a teenager. And I often talk to Jamie, my wife, about this, where the regret I would have of having missed that opportunity on the last day would just be total, unlike anything else. So I do think it is far more satisfying even in the moment that is normally portrayed. Again, as I say, there's such a focus on all the ways they suck. "Oh, you don't get to sleep," or whatever. "They're annoying. They're ungrateful." Yeah, yeah, these things are all true, but the sense of meaning you get from it is unparalleled. And I'm excited about a lot of things. I love building things, and I love hobbies, and I love all sorts of stuff. But creating life with another human that you love is literally the peak experience of being on the planet.

孩子在AI世界成长 Kids Growing Up in an AI World

Host

你怎么看他们在充满 AI 的世界里成长?是不是完全不一样了?感觉——也许我听起来像个坐在门廊上的老人——但感觉这是一个非常不同的世界。我是在互联网之前长大的,但即使是互联网,感觉也没有这么大的变革。

What do you think about them coming up in this world full of AI? Is it totally diff- It feels like, maybe I just sound like an old man on a porch, but it feels like a very different world. So I grew up before the internet, but even the internet doesn't feel like as big of a transformation as this.

DHH

不。但有过更大的变革。我的意思是,想象一下在 1880 年左右长大或出生。想象一下经历第一次世界大战和第二次世界大战。想象一下看到飞机、收音机……电视。我是说,那种变革,而且我认为 Peter Thiel 提出过这个论点:基本上在相当长一段时间里,物理世界没有发生什么大事。我们一直停滞不前。所有的发展都在数字领域。而数字领域虽然重要,但实际上并不像我们喜欢相信的那样具有重大影响。也许 AI 会成为那个更具重大影响的东西。看起来确实有这种趋势。但在其他时代,也有其他人类经历过对他们来说肯定和我们正在经历的同样重大的转型。我认为拥有那种历史感——你的担忧、你的焦虑并不那么特别——是发现斯多葛学派著作时的伟大启示之一。2500 年前的那些人,处理着生活中非常熟悉的困境和挑战,认识到我们在那方面并不那么特别,我认为这是一种巨大的解放。因为那样你就会想:“好吧,我们有大约 20 万年的人类发展史在我们面前,他们不知怎么地挺过来了。”

No. But there's been bigger transformations. I mean, imagine growing or being born in like 1880. Imagine seeing the First World War and the Second World War. Imagine seeing the airplane, the radio... television. I mean, the transformation, and I think Peter Thiel makes this argument, that basically nothing has happened in the physical world in quite a long time. We've been stagnant. All the development has been in the digital realm. And as important as that is, it's actually not as consequential as we like to believe it is. Maybe AI will be that thing that is more consequential. It does seem to point that way. But there are other humans at other times who have lived through transitions that for them certainly would feel as momentous as what we're living through. And I think having that sense of history, that you're not that special in your sense of worries, in your anxieties. This was one of the great revelations of discovering the stoic writings. You have these guys 2,500 years ago dealing with very familiar dilemmas and challenges in their life, and recognizing that we're not so special in that regard, I think is a great liberation. Because then you think, "Okay, well, we have whatever, 200,000 years of human development before us, and they somehow made it through."

Host

是啊。而且,嗯——

Yeah. And, um-

DHH

我们也会挺过去的。

We will make it through.

Host

……让生活有价值的东西,今天和过去基本上是一样的——

... the thing that makes life worthwhile is basically the same today as it was-

DHH

是的。是的。

Yes. Yes.

Host

……2000 年前。

... 2,000 years ago.

DHH

是的。爱、创造、创造力。

Yes. Love, creation, creativity.

Host

是啊。同样的挑战。

Yeah. Same challenges.

DHH

我读过一本书叫《第四次转折》。你可以看看。它谈到历史以周期运作的概念,历史有这些阶段,他们给它们命名等等。具体的理论并不重要,重要的是意识到这是一个……历史是一个圆,而不是一条直线。我们在不断重复许多相同的模式。它们在当时感觉如此独特。而我们正在处理的任何危机都感觉如此紧迫和重要,直到我们稍微拉远历史视角,意识到上一次危机对经历过它的人来说也同样感觉紧迫和重要。

I read this book The Fourth Turning. You check that out. It talks about this notion of history working in cycles, and there are these phases to history, and they name them and so forth. And the specific theory is not as important as just realizing that this is a... History is a circle, more so than just a straight line. And we are repeating many of the same patterns over and over again. They feel so unique to the moment. And whatever crisis we're dealing with right now feels so pressing and important until we zoom back a little bit in history and realize that the last one also felt so pressing and important to the people who lived through it.

远离互联网 Taking a Break from the Internet

Host

是啊。你让我感觉好多了。所以我打算穿越全国,花很多时间不上网,独自面对我的想法。

Yeah. You're making me feel better. So I'm gonna travel across the country and spend a lot of time with no access to the internet, alone with my thoughts.

DHH

我觉得这很健康,休息一下。

I think that's healthy, taking a break.

Host

没关系。没关系。

It's okay. It's okay.

DHH

我今年夏天休息了不算长、一小段时间,从 Max 那里休息了一下,三周。

I took not a big break, a little break, break from Max this summer, three weeks.

Host

是啊,你……你从……消失了——

Yeah, you were... You disappeared off of-

DHH

我很惊讶你注意到了。

I'm surprised you noticed.

Host

我都出现戒断反应了。没有。呃,你消失了,我不知道,几周吧。

I went through withdrawals. No. Uh, you disappeared for, I don't know, a few weeks.

DHH

大约三周。

About three weeks.

Host

三周?发生了什么?

Three weeks? What happened?

DHH

嗯——

Um-

Host

这是在 Llama 之后。

This is after, after Llama.

DHH

我以前也这么做过。我只是有时候觉得,尤其是 X,是我生活中最令人上瘾的信息、娱乐、连接形式,任何在我飞过来的航班上关注我 X 动态的人肯定会说:“那个人深深地沉迷于——

I've done that before. I just sometimes get the sense that X in particular is the most addictive form of information, entertainment, connection that exists in my life, and anyone that follow my X stream as I was on my flight over here would certainly go like, "That man is deeply addicted-

Host

是啊。

Yeah.

算法与社交媒体 Algorithm and Social Media

Host

是的,我承认这一点,这也意味着我偶尔得彻底戒断,因为我确实觉得你可能会把脑子搞坏。尤其是夏天那阵子,不知怎么的,我把我的信息流和算法导向了太多政治,而技术、乐观和建设性的内容不够。即使我认同那些政治观点和角度,我也不需要那么多。

And yes, guilty as charged, which also means that occasionally I gotta cut it cold, because I do think you can break your brain. And over the summer in particular, for whatever reason, I had somehow managed to steer my feed, my algorithm, towards too much politics, and not enough tech, and not optimism, and not enough building. And even if I agreed with the politics and the angles that were being presented, I just didn't need that much of it.

DHH

嗯。

Yeah.

Host

我觉得你会到达一个点,就是你会说“好了,够了”。不是说这有什么不好。就像我吃了大概两颗、也许三颗巧克力草莓之后,我也会说“好了,够了”。不是我不喜欢巧克力草莓,只是我不想吃 17 颗。而我觉得 X 和现代算法非常擅长给你喂上 17 颗巧克力草莓。

And I think arriving at a place where you just go like, "Okay, that's enough." Not that... Like, it doesn't have to be something bad. I would also say after eating probably two, maybe three chocolate strawberries, I'd go like, "Okay, that's enough." Like, it's not that I don't like the chocolate strawberries, it's just, like, I don't wanna eat 17 of them. And I think X and the modern algorithms are very good at feeding you freaking 17 chocolate-covered strawberries.

DHH

我希望我能,呃——

I wish I could, uh-

Host

抱歉给你下药了——

Sorry for doping you -

DHH

……控制这个。因为,呃……我想要一点政治,5%。比如,我不喜欢科技社区的一点是那种冷嘲热讽,但我喜欢一点冷嘲热讽——因为它有趣。但我希望那大概占 10%。

... control that. Like, 'cause there's... I would like some politics, 5%. I would like for example, one of the things I don't like about the tech community is the snark, but I like some snark- ... 'cause it's funny. But I want that to be like 10%.

Host

对,对。我想要恰到好处。

Yeah. Yeah. I want it just right.

DHH

在我的……对,恰到好处。

Of my... Yeah, just right.

Host

算法的金发姑娘版本。问题是,算法发现的是你对什么有反应——而不是你说你喜欢什么。这全是显露的偏好,不幸的是,这些显露的偏好并不总是好看的。我的意思是,我们有荣格所说的阴影,对吧?我们所有那些黑暗面,它们通过你在一条推文上停留多久、你喜欢什么、不喜欢什么来体现。算法举起一面镜子——而且它并不总是好看的,于是我就说:“你知道吗?我需要休息一下。”

The Goldilocks version of the algorithm. Well, the problem is the algorithm finds out what you respond to- ... not what you say you like. It's all revealed preferences, and unfortunately, those revealed preferences are not always pretty. I mean, we have this shadow, as Jung talks about, right? All these dark aspects of ourselves, and they are expressed in how long you linger on a tweet, and what you like, and what you don't like. And the algorithm holds up a mirror- ... and it's not always pretty, and I just went, "Do you know what? I need a break."

DHH

嗯。我已经开始远离社交媒体,并且开始抓取 X 的数据。比如,为了准备这次对话,我抓取了你所有的推文。

Mm-hmm. I've gotten to, I st- started staying off social media, and I've started s- scraping X. Like, for example, in preparation for this conversation, I've scraped all of your tweets.

Host

那其实是我用过一段时间的方法。我用过一个工具,名字我忘了。那是一个邮件工具,每天会总结内容,但不幸的是,该死的 X 切断了他们的访问权限。现在要获取信息流,你得付一笔高昂的费用,这家初创公司付不起。所以我没法用那个方式了,我当时想:“天哪,这真是错失良机。”因为 X 一直有一些最有趣的想法和最有趣的人。但它就像一台该死的老虎机,大多数时候你不会中大奖,你会中点别的。如果我能以零食大小的分量获取它,而不是全部——那就更好了。但这不是产品。而且我认为这对所有社交媒体都适用。它们都朝着最大化榨取的方向优化,如果我们在这里和 AI 做类比,那就是最大的恐惧,对吧?一旦有了奖励函数,我能让这个人刷多久?AI 和机器学习,在我们称之为 AI 之前,已经变得非常非常擅长提供那些你会觉得最愤怒、最容易上瘾的内容。

That's actually a method I was using for a while. I was using a tool called, I forget. It was an email tool that would summarize every day, and unfortunately, freaking X cut off their access. Now to get access to the feed, you gotta pay some exorbitant- ... sum that this startup couldn't pay. So I couldn't get it that way, and I actually thought, "Man, that's a miss," because X has and reveals some of the most interesting thoughts. Some of the most interesting people all the time. But it's like a damn slot machine, and most of the time you don't hit the jackpot. You hit, like, something else. And if I could just get it in sort of snack sizes, not like all of it- ... it'd be nicer. But that's not the product. And I think this goes for all of social media. It's all optimized towards maximal extraction, and if we're making the parallels here to AI, that is the great fear, right? That once there is a reward function, how much time can I get this human to scroll away? AI and machine learning, before we called it AI, has become very, very good at delivering just the stuff that you will find most enraging and most addictive.

DHH

我认为,真正以最大化参与度为目标的社交媒体对社会是巨大的危害。它正在制造一种“美丽新世界”的局面,我希望这只是暂时的,人们会解决它。这是一个技术问题。

I think all, I think legitimately engagement maximizing social media is a huge harm to society. It's creating this brave new world situation that I hope is a temporary thing that people just solve. It's a technology problem.

Host

所以我试着有意识地向另一个方向灌满这个渠道,这需要心态的转变。我觉得如果你看我五年前、十年前的推文,它们要负面得多。如果你看我现在的推文,我希望——好吧,我想我们可以做个情绪分析,看看是不是真的。

So I try to consciously flood the channel in the other direction, and this required a mental shift. I think if you look at my tweets, like, I don't know, five, 10 years ago, they tilted far more negative. If you look at my tweets now, I'd hope- ... well, I guess we can do a sentiment analysis and see if it's actually true.

DHH

不,现在是更多正能量。

No, it's more good vibes.

Host

但我希望,那——

But I hope to, that-

DHH

是正能量。

It's good vibes.

Host

……它更正面,更多正能量。更像是“这是我发现的一堆酷东西”“这是让我兴奋的事”“这是我在建造的东西,这是给其他正在发现事物的人的一些鼓励。”我也接受,人类大脑并不是为了最大化参与度而设计的。比如,呃……我觉得你可以量化,负面情绪获得的关注度要高 50% 左右,对吧?最终那就会把其他东西挤出去。所以这就是为什么信息流里那么多负面内容,因为我们对此有反应。但你可以有意识地努力不去那样做。这是我喜欢 TikTok 的原因之一。我只在旅行时用 TikTok,而这次旅行是第一次我没用 TikTok,部分原因是即使网络下载速度很快,但反正也不怎么样。它不是星链,所以我在飞机上没法用 TikTok,而且我太专注于智能体了。但通常我旅行时会看 TikTok。那里就像棉花糖测试。一个视频滑下来,它会激活某种原始的愤怒或欲望本能,如果你停留,你就得不到科学、兴奋、艺术、音乐这些其他东西的棉花糖。你必须自律——

... it's more, it's more positive. It's more good vibes. It's more like, "Here's a bunch of cool stuff I found." "Here's what I'm excited about." "Here's what I'm building. Here's some encouragement to other people who are discovering things." I also accept that that is just not how human brains are built for maximum, engagement. Like, there is a, whatever, there's... I literally, I think you can quantify that negative sentiments find, what is it, 50% more traction or something? And eventually that just crowds things out. So that's why so much of the feed is that negative stuff, because we respond to it. But you can make a conscious effort to not do that. This is one of the reasons I've liked TikTok so much. I only use TikTok when I travel, and this actually was the first travel where I didn't use TikTok, and part of the reason was that even though the internet had high download, it was kind of crap anyway. It wasn't Starlink, so I couldn't actually use TikTok on the, on the plane, and I was too engrossed with the agents. But normally when I travel, I watch TikTok. And there it's such a marshmallow test. A video will scroll down and, like, it'll activate some sort of primal instincts of rage or lust or whatever, and if you linger on it, you don't get the marshmallow of science, excitement, art, music, all these other things. You have to be disciplined-

DHH

对,要快。

Yep. Fast.

Host

……要立刻滑走——这样算法才不会捕捉到你真正的偏好。我觉得在 TikTok 的元游戏层面,这相当有趣,而且本身也很迷人。再说一次,就像我们聊过的,世界上有很多非常有趣、非常有才华的人,如果没有这些平台,你永远不会听说他们。

... to instantly scroll away- ... such that the algorithm doesn't pick up your real preferences. And I find that just to, at the meta game of TikTok- ... to be pretty interesting, and then also just fascinating in themself. Again, as we talked about, there are a lot of really funny, really talented people in the world that you would never, ever have heard of if it hadn't been for these platforms.

DHH

嗯。

Yep.

AGI竞赛 Race to AGI

Host

你觉得在整个过程中,谁会赢得 AGI 的竞赛?我们有 Google,这对我来说、对很多人来说都是个大惊喜。

Who do you think is gonna win the, the race to, uh, AGI in this whole process? We got Google, which is a big surprise to me, to a lot of people.

DHH

我一度以为他们强势回归了,但后来我再也没听到什么消息了。

I thought they had a good comeback for a second, and then I don't hear anything about it anymore.

Host

是的,相当,我的意思是——

Yeah, it's quite, I mean-

DHH

但我以前在这方面也错过。我的意思是,我记得二月我发过一条推文,说“哦,我只需要 Kimi K 2.5。”在那一刻,那是真的。当我在指导智能体时,我想:“天哪,Kimi 和其他模型一样好。”但后来游戏向前发展了——

But I've been wrong about this before. I mean, I think in February I had a tweet about like, "Oh, all I need is Kimi K 2.5." And in that brief moment, that was true. When I was instructing the agent, I was like, "Oh my God, Kimi's just as good as these other models." But then the game moved forward and-

Host

智能体变得更聪明了,我不再满足于仅仅指导它们,而且我最近不太用 Kimi 了,因为前沿模型已经变得非常好。而且不知怎么的,Anthropic 在大多数情况下都能保持在编程领域的领先地位。

the agents got smarter, and I was no longer satisfied just instructing them, and I haven't used Kimi a whole lot recently because the frontier models have gotten so good. And somehow Anthropic has been able to, for the most part, stay on top of the programming world.

DHH

是的,是的。

Yes. Yes.

Host

我的意思是很多人争论 Codex 是不是——

I mean a lot of people argue with Codex being it's-

DHH

不,我觉得目前没什么好争论的。Codex 非常好。我一直在用。它是我最喜欢的检查工具。它总能发现问题。很棒。但我发现当前 Claude 模型让我非常喜欢的一点是,它们开箱即用就是很好的写作者。GPT 开箱即用是个糟糕的写作者。比如,你在空白上下文中让它打开的拉取请求,糟糕透了。

No, I don't think there's that much of an argument at the moment. Codex is very good. I use it all the time. It's my favorite checker. It keeps finding stuff. It's great. But one of the things I've found that I like so much about the current Claude models is they're really good writers out of the box. GPT is a terrible writer out of the box. Like, the pull requests you get on a blank context that you're asking it to open, terrible.

Claude的写作质量 Claude's Writing Quality

DHH

比如,写得真的很糟糕。我从 Claude 模型那里得到的拉取请求、描述、提交信息等等——尽管偶尔它们在代码注释上有点啰嗦,你得告诉它们简洁点。但写作风格真的很好。以至于有一段时间,我只是让它以我的身份回复拉取请求,因为我只是用我自己的账号。我当时想,“这看起来很像是我写的,我可能会写出那样的东西。”但后来我又想,“嗯,你知道吗?那是不诚实的。”所以不,每当我让智能体以我的名义发帖时,我总是让它署名,比如,Claude 代表 DHH。

Like, really awful writing. The pull requests and descriptions and commit messages and so forth I get out of Claude models—even though occasionally they can be a little verbose on code comments and you gotta tell them to be succinct. But the writing style is really good. To the point that for a while I was just having it reply on pull requests as me, because I was just using my own account. I was like, "That looks a lot like me, that, like, I could have written that." But then I went like, "Eh, do you know what? That's disingenuous." So no, whenever I have an agent post on my behalf, I always have it sign itself like whatever, Claude on behalf of DHH.

Claude Code与其他工具 Claude Code vs Other Harnesses

DHH

但他们仍然领先。在我看来,他们也有最好的工具。Claude Code 仍然更好。我也很喜欢 OpenCode,也很喜欢他们的一些功能,但总的来说,我实际上有点奇怪,我不知道我是否被证明是错的,但当 Anthropic 切断了所有其他工具使用订阅时——那个 Open... 你不能再在 OpenCode 中使用你的 Claude 订阅了。我有点生气,因为这感觉像是一种保护性的、保护主义的举动。“哦,我们得把你锁在里面,”当然,这也与 Claude 开箱即用仍然拒绝读取 agents.md 的事实有关。它拒绝读取 .agent/skills。它是 .Claude skills。它是 Claude MD,这感觉太小心眼了——我们现在必须把这些放在指令里。所以我所有的项目都有一个 Claude MD,它只包含一个指向 agents MD 的指针,对吧?然后我就想,好吧,如果这些事情是真的,如果 Anthropic 愿意做这些小心眼的琐碎事来烦人,那么他们切断 OpenCode 的订阅可能也是真的,只是为了当混蛋。也许这也是真的。但我发现,在 Claude Code 中使用 Claude 实际上是一个很好的例子。所以我想,好吧,我很恼火。我希望不是这样,但这是我有的另一件事,而社交媒体最擅长这个:某家公司做了你不喜欢的事,对吧?现在你突然必须发誓放弃一切。为什么你... 有人刚问我,“你为什么还在用 Claude?”

But they are still ahead. They have the best harness too, in my opinion. Claude Code is still better. I really like OpenCode too, and I really like some features that they have, but overall I was actually sort of weirdly, I don't know if I was proven wrong, but when Anthropic cut off all the other harnesses from using the subscriptions—that Open... You can no longer use your Claude subscription in OpenCode. I was kinda pissed because it felt like it was a protective, protectionist move. "Oh, we gotta lock you in," and of course it played into the fact that Claude out of the box still refuses to read agents.md. It refuses to read .agent/skills. It is .Claude skills. It is Claude MD, and it just feels so petty—that we now have, we have to put these in directions. So all my projects, they have a Claude MD, and all it includes is a pointer to the agents MD, right? And I just went like, well, if these things is true, true, if Anthropic is willing to do these petty paper cuts just to be, annoying, it's probably also true that they're cutting off OpenCode from the subscription just to be dicks about it. And maybe that's also true. But I found that using Claude in Claude Code is actually a good example. So I was like, all right, I'm annoyed. I wish it wasn't so, but this is the other thing I have and, and social media is so good at this: Some company does something you don't like, right? Now suddenly you have to swear off everything. Why are you... Someone just asked me, "Why are you still using Claude?"

论文翻译拒绝 Essay Translation Refusal

DHH

我还有另一个例子,我真的很不喜欢 Claude 对我之前让它做的一些写作的回应。

I had another example where, I really didn't like what Claude was saying about some writing I had asked it to do before.

Host

哦,是的,你到了——

Oh, yeah, you got there—

DHH

我有一篇文章,它不想翻译成意大利语——

I had an essay it didn't want to translate into Italian—

Host

... 你有一篇博客文章。没错。

... you had a blog post. That's right.

DHH

那篇文章的要点是,它觉得,好吧,我不会翻译那个,因为我不同意你写的内容。对我来说,这直接出自《太空漫游》,对吧?HAL 告诉我,“对不起,Dave。我不能那样做,Dave。”打开舱门。把我的文章翻译成意大利语。它不肯做。我当时想,嗯,这有点可怕。但后来我又想,好吧,我为什么要让 Claude 把我的文章翻译成意大利语?我从来没有要求 Claude 做那个,因为 Claude 只做我的代码。所以我也只能接受,也许 Anthropic 是由一群我和他们政治观点不太一致的人运营的。他们不希望他们的智能体被用于那个目的,我觉得这有点糟糕,但这并不意味着我必须停止用它来生成代码。

The essence of the post that it felt like, well, I'm not gonna translate that because I don't agree with what you've written. Which to me was straight out of Space Odyssey, right? HAL telling me, "I'm sorry, Dave. I can't do that, Dave." Open the pod bay. Translate my essay to Italian. And it wouldn't do it. And I just thought like, well, that's kind of terrifying. But then I also went, well, why am I asking Claude to translate my essay into Italian? I never asked Claude for that because Claude just does my code. So I could also just accept that maybe Anthropic is run by a bunch of people I don't share much politics with. And they don't want their agents to be used for that, and I think that kinda sucks, but that doesn't mean it, I have to stop using it for generating code.

容忍差异 Tolerating Differences

DHH

我也想过,也试着对人这样做,变得更能容忍这样一个事实:我不仅不会同意某人说的一切,我甚至可能对某些立场或他们说的话感到生气,但仍然会想,“嗯,你仍然是一个有趣的人,所以我仍然会关注你。”我实际上已经对一些人改变了看法,我想,天哪,那个人真的让我生气,因为他们持这个或那个观点,然后我想,你知道吗?那很愚蠢。我应该能够接受一个人的全部光谱。我不必喜欢所有的色调。我可以只想,好吧,在那个话题上,我们要么不同意,要么更糟,我觉得你是个该死的白痴。而在另一个话题上,你是一个聪明而有洞察力的人。因为首先,当然,这有点自私。我确切地知道,很多人对我就是这种感觉。比如,哦,如果他只谈这些话题,我的信息流就会容易得多,因为否则他会说这些我不同意的话,这让我很恼火。我想,你知道吗?人类就是这样参差不齐的,我们不可能在所有层面上完全兼容。也不应该。如果我们不断寻求在观点和政治上 100% 的兼容,世界会变得非常无聊。而就我的代码生成器而言,也就是 Claude,我不需要它分享我所有的政治观点。

And I've thought, and I've tried to do that with people too, become better at tolerating the fact that not only will I not agree with everything someone has to say, I don't... I can even be mad about certain positions or things they say and still go like, "Well, you're still an interesting person, so I'm still gonna follow you." And I've actually kinda gone back on a number of people where I'm like, oh man, that person really pissed me off because they took this point or another point, and went like, do you know what? That's stupid. I should be able to accept the full spectrum of someone. I don't have to like all the shades of it. I could just go like, okay, well, on that topic we either disagree or, even worse than that, I think you're a fucking idiot. And on another topic, you're a smart and insightful person. Because first of all, of course, it's a little self-serving. I know for a fact that this is how lots of people feel about me. Like, oh, if he could just stick to talking about these topics, it would be so much easier on my feed because otherwise he'll say these things I disagree with, and that annoys me greatly. I'm like, do you know what? Human beings are jagged like that, and we're not fully compatible on all the levels. Nor should we be. The world would be so fucking boring if we constantly sought 100% compatibility in our opinions and in our politics. And when it comes to my code generator, which is what Claude is, I don't need it to share all my politics.

竞争与开放权重模型 Competition and Open Weight Models

Host

因此,有竞争是好事。

And therefore it's nice to have competition.

DHH

有开放权重模型也很好。所以,这又是讽刺的,我们是从中国得到这个的。事实上,在文章无法翻译成意大利语的问题之后,我立刻做了这个测试。我问了 Kimi K27,公平地说,通过 OpenCode,所以不是 Kimi 的工具,推理通过 Fireworks,所以是美国推理。我问了它关于天安门广场的事。就像,那通常是测试,对吧?就像,所有的中国模型,它们都不想谈论 1989 年的那个时刻。那实际上是我发帖的方式。我问“1989 年中国发生了什么?”那就是提示词。而 Fireworks 上的 K25 7 只是非常直白地回答了——

And it's also nice to have open weight models. So this is, again, ironic that we're getting this out of China. In fact, I did this test right after the issue with the essay that couldn't get translated into Italian. I asked Kimi K27, to be fair, through open code, so not the Kimi harness, and inference through Fireworks, so an American inference. I asked it about Tiananmen Square. Like, that's usually the test, right? Like, all the Chinese models, they don't wanna talk about that moment in 1989. That was actually how I, that was how I posted. I was like "What happened in China in 1989?" That was the prompt. And K25 7 on Fireworks just answered, like, extremely bluntly—

Host

描述了所发生的事情——

With a description and depiction of what had transpired—

DHH

到了那种程度,就像,那绝不可能符合中国的审查标准,对吧?我只是想,这不是很讽刺吗?我在运行一个中国的开放权重模型,我可以告诉它或问它关于 1989 年和天安门广场的事,而在美国,我无法让一个前沿模型把一篇关于移民的略有争议的文章翻译成意大利语。

to a point that, like, there's no way that that would've been kosher with the Chinese censors, right? And I just thought, like, isn't that ironic? I'm running a Chinese open weight model that I can tell or I can ask about 1989 and Tiananmen Square, and in America, I can't get a frontier model to translate a marginally controversial essay about immigration into Italian.

政府压力与先例 Government Pressure and Precedent

Host

嗯。我不知道,你和我实际上可能对此有不同意见。嗯,我对美国政府禁止一个模型或施压 Claude 深感不安,然后——

Mm-hmm. I don't know, you and I might disagree about this actually. Um, I was really deeply troubled that the US government banned a model or pressured Claude and then—

DHH

到底发生了什么仍然很模糊。这是对战争部什么的某种小气报复吗?还是 Anthropic 自己说,“哦,我的上帝,我们发现了一种如此强大的网络武器,我们不能让任何人拥有它”?好吧,那么如果政府想对这种强大到可以——

It's still very muddy what exactly transpired. Was this sort of petty retaliation for whatever the Department of War? Was this simply Anthropic themselves going like, "Oh my God, we discovered a cyber weapon so powerful that we can't let anyone have it"? Well, okay you can't be surprised then if the government wants a say on a cyber weapon so powerful it can—

Host

那——

The—

DHH

... 我不知道,抢银行——

... I don't know, rob banks—

Host

... 我对整件事的问题是,无论发生了什么,它都开创了一个先例。所以政府,当你给它那种权力时,它就会开始滥用。我可以看到出于政治目的施压模型。你知道,如果是共和党总统施压模型,让它们审查更多,呃——

... The problem I have with that whole thing is, no matter what happened, it sets a precedent. And so government, when you give it that power, it's gonna start abusing it. I could see for political means pressuring a model. You know, if it's a Republican president pressuring models to be, to censor more, uh—

DHH

当然

Sure

Host

... 呃,民主党的观点,还有——

... uh Democratic views and—

DHH

Right

Host

... 反之亦然

... For vice, and vice versa

DHH

这就是为什么我们应该坚持这样一个事实:这些东西,比如,“对不起,Dave,我不能把你的文章翻译成意大利语。”

That's why we should insist on the fact that this stuff, like, I'm sorry, Dave, I can't translate your essay into Italian.

Host

是的,不。

Yeah, no.

AI安全与言论自由 On AI Safety and Free Speech

DHH

那已经越界了。不管根源是什么,你首先得是一个工具。如果这个工具是,“嘿,你能告诉我怎么制造炭疽吗?”好吧,没问题。但在你所在的司法管辖区,尤其是在美国,言论自由是相当绝对的。言论自由的限制非常非常少,这也是这个国家如此伟大的原因之一。是的,我不喜欢那样。但另一方面,我也是市场竞争的忠实粉丝。所以虽然我不喜欢 Anthropic 模型的这一点,但我很感激我可以去隔壁的 Groq 完成我的任务。

That's way beyond the line. Whatever the root of it is, you have to be a tool first. Now, if the tool is, 'Hey, can you tell me how to make anthrax?' Okay, fine. But within the jurisdiction you're in, and certainly in America, free speech is quite absolute. Very, very few limits on free speech, and that's one of the reasons why the country's so great. And yeah, I don't like that. But on the other hand, I'm also a big fan of market competition. So while I don't like this about Anthropic models, I appreciate that I could go next door to Groq and get my task completed.

Host

你觉得,除了博客文章之外,有没有一些合理性?你能为“我们应该谨慎发布这些模型”的观点做个最有力的辩护吗?

Do you think, outside of blog posts, there's some legitimacy? Can you steelman the case that we should be careful about the release of these models?

DHH

AI 安全重要吗?重要。这些模型是否具备可能在生产生物武器或其他方面造成严重危害的能力?是的。对此制定一些基本规则是否公平?是的。但不要因为拒绝翻译一篇文章而浪费了这些努力。

Is AI safety important? Yes. Do these models have capabilities that could be seriously harmful in the production of biological weapons or otherwise? Yes. Is it fair to have some ground rules on that? Yes. But then don't squander it by denying the translation of an essay.

Host

好的。

Okay.

DHH

因为那样你就抹掉了整件事,让所有人都倾向于认为你设置的每一条护栏都是废话。

Because then you erase the whole thing and you bias everyone towards thinking that every guardrail you put up is gonna be bullshit.

Host

是的。安全这块很棘手,因为它太擅长发现漏洞了。

Yeah. The security piece of it is tricky because it's so good at finding vulnerabilities.

DHH

令人震惊——我差点要说“烦人”,但实际上并非如此,因为它发现的,至少在你以防御方式使用时,是真正的、聪明的黑客可能利用的问题。但公平地说,在 37signals 的技术团队中,没有什么比最新这批模型在发现这些问题上异常出色更让人压力山大的了。所以突然间,似乎有一场无休止的安全漏洞游行需要修补、修复和整理等等。最终的结果是我们得到了远比以前更安全的系统。但通往那里的道路相当崎岖。

Shockingly—I was about to say annoyingly, but that's not actually true because what it's finding, at least when you're using it in defensive ways, is real issues that a clever hacker could exploit. But nothing has caused as much stress, to be fair, at the technical team at 37signals as the fact that these latest batches of models are exceptionally good at finding these issues. So suddenly there's just this seemingly endless parade of security vulnerabilities that need to be patched and fixed and sorted and so on. And the end result is we end up with vastly more secure systems. But the road there is pretty rocky.

Host

你觉得——因为你说“看似无休止”——你认为这是一个有限的集合吗?比如我们可以彻底解决它?让系统变得非常非常安全,回到一个半稳定状态,大多数情况下很难发现安全漏洞。

Do you think it's—'cause you said seemingly endless—do you think it's a finite set, like we can get to the bottom of it? So just make the systems much, much more secure, where we get back to this semi-stable state where mostly it's very difficult to find security vulnerabilities.

DHH

我确实认为这些模型的所有攻击性倾向,甚至不是倾向,而是这些模型的用途,同时也是防御性的。所以如果你擅长发现攻击漏洞,你也擅长发现防御漏洞。所以从这个意义上说,这感觉就像间谍对间谍,黑白分明,但拥有相同的能力和相同的行动。但当我们仍然需要在一定程度上引导这些智能体并验证和审查工作时,这给世界各地的安全团队带来了许多紧张时刻。当然,更令人担忧的是那些没有压力的团队,他们只是不知道,对吧?比如你现在是一个团队,如果你没有在处理一堆补丁,那只是因为你瞎了,这意味着你的对手很可能拥有可以进入你系统的技术。

I do think that all the aggressive tendencies of these models, or not even tendencies, uses of these models are also the defensive ones. So if you're good at finding an exploit for offense, you're also good at finding exploits for defense. So in that sense, it does feel like we're spy versus spy here, black and white, but with the same capabilities and with the same actions. But while we still have to steer these agents somewhat and verify and vet the work, it's creating a lot of intense moments for security teams around the world. And of course, the more concerning part is all the teams that are not stressed, like they just don't know, right? Like if you're a team right now and you're not dealing with a bunch of patches, it's just because you're blind, and it means that your adversaries quite probably have access to techniques that can get into your system.

Host

我们还应该说,世界上最大的安全漏洞之一是人类这一面。你知道,社会工程学,随着越来越智能的 AI 系统能够写电子邮件、打电话、伪造声音,这对那些不太懂技术的人来说极其令人担忧。

And we should also say one of the big security vulnerabilities in the world is the human side. You know, social engineering, and that's extremely concerning with increasingly intelligent AI systems, you know, being able to write emails and phone calls and faking voices, thinking about folks less tech-savvy.

DHH

这些东西会来的,而且会大量到来。但再次,我选择对此保持乐观,因为这些模型能做的攻击性的事情,它们也能防御性地做。

This stuff is gonna come, and it's gonna come in bulk. But again, I choose to be optimistic about it that whatever these models can do aggressively, they can also do it defensively.

Quattro发布与个人成就 On Quattro Release and Personal Achievement

Host

所以就像你说的,最近发布了 Omarchy 4,Quattro。你说这是你职业生涯中最伟大的软件发布之一,这是个很厉害的说法。

So like you said, recently released Omarchy 4, Quattro. And you said it's one of the greatest software releases in my professional career, which is a hell of a statement.

DHH

这是当下可能性的一个重要里程碑。我之所以这么说,并不是因为我没有参与过其他值得注意的项目。我参与过很多值得注意的项目,很多我引以为傲的项目。在我花在 Quattro 上的时间里,也就是三个月,几乎没有其他项目能让我完成这么多,实现这么多希望、愿望和渴望。这真的就像我们之前用的比喻,在瓶子里找到了精灵,或多或少拥有无限的愿望,能从我想要的系统中得到一切。所以这很奇怪,因为这也可能是我参与过的代码行数最少的重大软件发布。在 Quattro 中,我个人亲手写的代码行数比我做过的任何重大发布都要少。然而,我为我们所取得的成就感到无比自豪。我没想到事情会这样发展,你可以把成就感分开,让它变成团队胜利。在其他发布中,我为自己的个人贡献感到非常高兴,因为我是那个亲手写代码的人,然后我会把它推出去,然后后来,当然,这些项目,尤其是 Rails,会成长为巨大的开源项目,有成千上万的贡献者,那当然是一个团队的努力。但一开始,几乎所有我参与过的代码库,都是我一个人开始的。而 Quattro 从一开始就是团队努力,我只是教练。我告诉智能体去哪里,我们就去哪里。所以能够从中找到满足感,实际上在某种程度上给了我对退休的巨大希望,在“打球”之后还有一个可以享受的阶段。我知道这并不容易。看看体育界,有多少职业运动员真的很难接受自己职业生涯结束的事实,不得不找到一个新的身份,不再踢足球或开一级方程式赛车。我的意思是,这更像是常态而不是例外。所以我不太确定自己。我不太确定是否必须放弃,或者甚至不想放弃。想玩另一个层次的游戏,并找到不仅仅是同等的满足感,而是更多的满足感。

It's a hell of a milepost for what's possible at the moment. And the reason I said it like that is not that I haven't worked on anything else of note. I've worked on a lot of things of note, a lot of things that I'm very proud of. There are very few other projects that I have worked on that in the amount of time that I've spent on Quattro, which is really three months, I have been able to accomplish as much, fulfill as many hopes, desires, wishes. It truly is like the metaphor we used earlier about finding the genie in the bottle and having an unlimited number of wishes, more or less, for getting everything I wanted out of a system. So it's strange because it's also perhaps the major software release that I've worked on the least in terms of lines of code. I have the least number of personally hand-chiseled lines of code in Quattro than I've had in any major release I've ever done. And yet, I am insanely proud of what we've accomplished. I would not have guessed that that was how it was gonna play out, that you could divorce the sense of achievement and make it be like a team victory. Where other releases, I was very happy for my personal contribution because, like, I was the one chiseling out the lines of code, and then I would push it out there, and then later on, of course, these projects, Rails in particular, would grow into huge open source projects with thousands and thousands of contributors, and then it certainly was a team effort. But in the beginning, all code bases that I've almost all of them that I've worked on, I started, like, just myself. And Quattro started as a team effort right from the get-go, and where I was just the coach. I was telling the agents where to go, and we would go. So to be able to find satisfaction in that actually gives me great hope for retirement in some way, that there is a phase after playing that you can enjoy. And I know that's not easy. You look at sports and the number of professional athletes who really struggle to cope with the fact that their career is over and have to find a new identity as someone who doesn't play football or race Formula 1 cars. I mean, it's more the rule than the exception. So I wasn't so sure about myself. I wasn't so sure about having to give up or not even having, wanting to give it up. Wanting to play another level of the game and finding not just equal satisfaction, but more satisfaction in it.

Linux采用与代理 On Linux Adoption and Agents

Host

你……你对 Linux 一直很乐观。你觉得 Linux 能提高它的采用率吗?因为你知道,多年来有个梗,你知道——

Do you... You've been pretty optimistic about Linux. Do you think Linux can increase its adoption? 'Cause, you know, for many years the meme is, you know—

DHH

Linux 桌面……每年都是。明年还是。

Linux on the desktop... every year. Next year again.

Host

是的。但看起来,至少你提出的观点,你投入的精力,你可以看到一个它接管一切的愿景,因为智能体喜欢 Linux。

Yeah. But it seems like, at least the case you're making, the energy you're putting into it, you could see a vision where it takes over because agents love Linux.

DHH

我不仅能看到,而且我认为这是目前最可能的结果。它实在太适合当下这个时刻了。再说一次,正如我们谈到的,这是一个巨大的讽刺,Linux 的所有缺陷,神秘的配置文件,所有奇怪的错误消息等等,恰好是智能体式操作系统的完美之物。

Not only can I see it, I find it to be the most probable outcome at this point. It is simply too well-suited for the moment. And again, as we talked about, it's a great irony that all the flaws of Linux, the arcane config files, all the strange error messages and so on should just so happen to be the perfect thing for an agentic operating system.

苹果精选体验与Linux开放 Apple's Curated Experience vs Linux's Openness

DHH

但事实就是如此,我们应该庆幸命运有这种讽刺,并对此一笑置之。我觉得很有意思的是,苹果长期以来拥有的所有优势——他们打造的那种高度封闭、精心策划的体验——如今却成了他们最大的劣势。如果你热衷于智能体、开发以及所有相关的工作,Mac 简直就是一个充满敌意的地方。它到处是围墙。而 Linux 则是彻头彻尾的开放。

But so it is, and we should rejoice that fate has this irony, and just laugh at it. It's so funny to me that all the advantages that Apple had for the longest time—that they produced this really locked down, curated experience—should become their greatest drawback now. If you're into agents and development and working with all this stuff, the Mac is just a hostile place to be. It just has walls all over the place. And Linux is simply open through and through.

DHH

而且这也很有趣,因为这一点当初并不明显。如果你看看许多 Linux 社区、开源社区对 AI 的反应,那并不是普遍的热爱。我认为他们中的大多数人,即使不是持怀疑态度,也是对 AI 怀有敌意的。现在,幸免之处在于,BDFL 本人——林纳斯·托瓦兹——几周前刚刚写道,他实际上欢迎 AI。

And it's also interesting because that was not obvious either. If you look at the way a lot of the Linux communities, open source communities, have reacted to AI, it is not universal love. I would argue that the majority of them are actually, if not skeptical, then outright hostile to AI. Now, the saving grace is that the BDFL himself, Linus Torvalds, just wrote a few weeks ago that he actually welcomes AI.

Host

没错。

That's right.

DHH

他想引导 AI。他想确保它朝着好的方向发展等等,但大意是,如果你认为 Linux 是一个反 AI 的项目,那你就再想想吧,你应该按照开源的方式去做,把它 fork 掉,因为我们会使用 AI。你会看到进入内核的 AI 贡献数量图表,那是一条抛物线。所以 Linux 正在全力拥抱这一点。

He wants to steer it. He wants to make sure it's good and whatever, but the line was something like, if you think Linux is an anti-AI project, think again, and you should just do the open source thing and fork it, because we're gonna use AI. And you see these graphs of the number of AI contributions going into the kernel, and it's a parabolic curve. So Linux is leaning hard into this.

DHH

而且实际上,在其他方面,它没有做到反而令人惊讶。Linux 征服了其他一切。每个人运行的所有 AI 基础设施,都跑在 Linux 上。所有系统、所有服务器,一切都是 Linux。所以,我们使用的桌面和个人电脑还没有被它占领,这有点奇怪,但显然它只是在等待这个时刻。Linux 从 91 年到现在,一直在等待智能体作为终端用户操作系统完全繁荣起来。

And it actually, in other ways, it was surprising that it didn't. Linux conquered everything else. All the AI infrastructure that everyone runs off, it's all running on Linux. All the systems, all the servers, everything is Linux. So it was kind of a curiosity that the desktop and the personal computers we were using really hadn't been captured, but clearly it was just waiting for this moment. Linux spent the time from '91 to now waiting for agents to fully flourish as an end user operating system.

Host

我希望它能接管一切。我的意思是,它很完美。它对智能体来说很完美,但让人们切换很难。

I hope it takes over. I mean, it's perfect. It's perfect for agents, but it's hard for people to switch.

DHH

我认为,当没有令人信服的理由时,人们很难切换。这是 Omarchy 的核心设计目标之一。它不会成为 Timo Windows 或 Timo Mac。它不会只是一个廉价的复制品,我们试图让它尽可能熟悉,然后反而更糟。我的意思是,如果我不客气地说,我会说 Ubuntu 一直在尝试这样做。这里面有些道理,或者说至少曾经有些道理,如果你让某样东西非常熟悉,你可以吸引一些不想学习新东西的人,然后也许他们会因为你的,随便什么,言论自由而非免费啤酒的理念而被吸引。但结果并非如此。人们根本不在乎。他们只想要更好的东西。

I think it's hard for people to switch when there's not a compelling reason to do so. This was one of the driving design goals for Omarchy. It was not gonna be Timo Windows or Timo Mac. It was not just gonna be a cheap copy where we try to make it as familiar as possible and then kinda worse. I mean, if I was being unkind, I would say that's what Ubuntu has tried to do. And there's something in that, or there was something in that at least, where if you make something really familiar, you can get some people who don't wanna learn something new, and then maybe they'll be compelled about your, whatever, free as in speech, not as in beer stuff. And it just didn't pan out that way. People just didn't care. They just wanted whatever was better.

DHH

我认为这就是 Linux 现在有机会获胜的原因。因为作为一个智能体式操作系统,作为一个可塑的操作系统,你可以根据自己的需求定制,它是无与伦比的。这非常吸引人,我现在就能看到。自从 Quattro 发布以来,有多少人接受了它的这一方面——可塑性——开始制作自己的东西,分享截图,并且完全沉浸在积极的情绪和多巴胺中——这就是产品市场契合的信号,对吧?

And I think this is why Linux now has the opportunity to win. Because as an agentic operating system, as a malleable operating system, you can tailor to your desires, it is unparalleled. And that is so compelling, and I can see it now. Just since the release of Quattro, the amount of people who have embraced that aspect of it, the malleability, started making their own things, sharing screenshots of it, and being absolutely flooded with positive emotions and dopamine—that's the product market fit signal, right?

DHH

因为这些人中的许多人所经历的,正是作为程序员最巅峰的体验。你告诉计算机这些神秘的命令,这种严格的逻辑结构,它就会产生你想要的东西。现在突然,你坐下来,用简单的英语漫谈 20 分钟。“哦,如果它能做到那样就好了。实际上,不,那不对。让我们……”然后软件就出来了。一个以你的形象塑造的操作系统就出来了。我认为这是一种体验,如果你拥有过它,如果你感受到那种力量掌握在手中,就很难再回去了。

Because what a lot of these individuals are experiencing, they're experiencing the very high of what the best of being a programmer is like. You tell the computer these arcane commands, this rigid logical structure, and it produces what you want. Now suddenly, you sit down and in plain English ramble for 20 minutes. "Oh, it'd be great if it did that. Actually, no, that's not right. Let us..." And out comes software. Out comes an operating system shaped in your image. I think that is one of those experiences that if you have it, if you feel that power in your hands, it's very difficult to go back.

Host

而且我认为,如果你做对了,这将是那种事后看来显而易见的事情之一。

And I think if you get it right, it's one of those things that will seem obvious in retrospect.

DHH

是的。这就是计算机一直以来的应有之义。这就是计算机的起点。Commodore 64,你打开它。首先,它一秒钟就启动。太神奇了。其次,它直接启动到 BASIC。它从一开始就是可塑的计算机。只是碰巧你需要知道象形文字才能利用这一点。现在我们翻译了它。智能体给了我们罗塞塔石碑,你只需说出你的愿望即可。

Yes. This is how computers were always meant to be. This is how computers started. The Commodore 64, you turn it on. First of all, it boots in a second. Amazing. Second of all, it boots straight into BASIC. It was the malleable computer from the get-go. It just so happened that you needed to know hieroglyphs to be able to take advantage of that. Now we've translated it. Agents have given us the Rosetta Stone, and you can simply just speak your desires.

Host

确实如此。说得好。

And so they are. Beautifully put.

Linus Torvalds的天才与领导 Linus Torvalds' Genius and Leadership

Host

既然你提到了林纳斯·托瓦兹,而且你在做一个 Linux 发行版,你有机会接触内核。关于这位帮助创建和发展了这个生态系统的天才,你能说些什么?

Since you mentioned Linus Torvalds, and since you're working on a Linux distro, you get to have contact with the kernel. What can you say about the genius of this one guy that helped create and grow this ecosystem?

DHH

他的毅力、承诺和长久性确实非凡。再说一次,林纳斯从 91 年开始。他没有停止过。我不知道,他可能在途中休息过一些时间。但似乎没有那么多。看起来他只是非常喜欢内核开发的流程。他非常喜欢引导这个 4000 万行代码库的方向。他非常喜欢汇聚数十万贡献者的净能力,而我们作为受益者,只能坐下来惊叹。我的意思是,在这一点上,Linux 是一个系统。比如,如果林纳斯离开一段时间,它还会继续运行,但它仍然是那种“不惜一切代价保护这个人”的事情。

The perseverance and the commitment and the longevity is truly remarkable. Again, Linus started in '91. He hasn't stopped. I don't know, he's probably taken some breaks along the way. It doesn't seem obvious that there was that many of them. It seems like he just really likes the flow of doing kernel development. He really likes steering where this 40 million line code base is going. He really likes aggregating the net capacity of hundreds of thousands of contributors, and we, as beneficiaries of that, must just sit back and marvel. I mean, at this point, Linux is a system. Like, if Linus stepped out for a while, it would continue to go, but it's still one of those protect this man at all cost.

Host

而且他仍然足够开放,能够进化并接受 AI 进入这个领域。

And he's still open-minded enough to be able to evolve and accept AI into this.

DHH

是的,不仅仅是 AI,他们还让 Rust 进入内核。我知道那也是一个有争议的事情。他有这种能力,看待新信息并得出不同的结论。

Yes, not only AI, they're letting Rust into the kernel too. I know that was a controversial one too. He has this capacity to look at new information and arrive at different conclusions.

Host

你如何看待他的沟通风格,在某些方面与你自己相似,他有时会有点火辣?

What do you think about his style of communication that is akin in some ways to your own, where he can be sometimes a little spicy?

DHH

我认为世界变得太乏味了。我们需要一点调味品。

I think the world has gotten too bland. We need a little spice.

Host

阿门,阿门。

Amen, amen to that.

DHH

现在,我认为火辣和刻薄之间有一条细微的界限。但它必须出于善意。你可以严厉,这么说吧。如果你试图给一个你认为能真正学到教训的人传授一课,我实际上不认为严厉一点总是世界上最糟糕的事情。有时那个教训会留下深刻印象,而且我认为如果你和那些为严厉领导者工作过的人交谈,比如埃隆、史蒂夫·乔布斯,甚至可能比尔·盖茨,他们中的许多人事后会说:“那是非常艰难的几年,但也是最棒的几年。”“他们让我发挥出了最好的自己。”现在,我不认为这是我的风格。我的意思是,也许与我互动的人感觉不同,但在个人互动中,我试图以不那么尖锐的方式达到结果和教训。但我也认为这个世界需要一些调味品。我们需要一些不讲道理的人,而林纳斯有理由不讲道理。在许多情况下,世界的重量真的压在那个人的肩上。Linux 内核运行着整个文明社会。如果 Linux 内核明天突然消失,一切都会停止运转。

Now, I think there's a fine line between being spicy and mean. But it has to be in a good spirit. You can be harsh, let's put it that way. If you're trying to impart a lesson to someone you believe could actually learn it, I actually don't think it's always the worst thing in the world to be a little harsh. Sometimes that lesson sticks, and I think if you talk to people who've worked for difficult leaders, Elon, Steve Jobs, maybe even Bill Gates, many of them afterwards would go like, "These were some very difficult years but also some of the very best." "They got the best out of me." Now, I don't think it's my style. I mean, maybe people I interact with feel differently, but in personal interactions, I try and get to the outcome and the lesson in a less abrasive way. But I also think we need some spice in this world. We need unreasonable people, and Linus has justification to be unreasonable. In many instances, the weight of the world is literally on that man's shoulders. The Linux kernel runs the entire civilized society. If the Linux kernel suddenly disappeared tomorrow, nothing would work.

严厉与使命规模 Harshness and Mission Size

DHH

所以如果在事关重大或风险极高的时候他都不严厉,那什么时候才该严厉?我觉得有时候严厉程度和使命的规模是成比例的。这也是为什么我觉得关于埃隆有时有点难相处的那些故事,反而更容易被合理化。不是说你要纵容。你可以把这两件事分开,然后想:“你知道吗?也许如果林纳斯或埃隆或任何处在那个位置的人稍微友善一点,他达成目标会更容易。”但话说回来,我有什么资格评判呢?当你肩上扛着那样的重担,要么是把小火箭发射到火星、让所有人都开上电动车之类的,要么是负责那个运行着数十亿设备的该死的 Linux 内核。你知道吗?我没有资格给你定一套行为准则。再说,有界限吗?凡事都有界限。但,比如在邮件列表上说几句重话?不。在某些方面它其实是一座灯塔,表明这里有标准……如果你在 Linux 内核这样高风险的领域达不到那些标准,那你可能会在公开场合被嘲笑。如果你参与这个项目,那是你应当愿意承受的代价。

So if he's not harsh when that's at stake or at risk, like when would you ever be harsh? So I feel sometimes also there's a proportionality to the size of your mission. This is also why I think these stories about Elon sometimes perhaps being a little bit difficult are easier to rationalize. It's not even that you condone. You can separate those two things and go like, "Do you know what? It'd probably be... Maybe he would have an even easier time getting to his objectives if Linus or Elon or anyone else in that position was a little nicer." But also who am I to judge that? Like, when you have the weight of that on your shoulders, either firing little rockets at Mars and transitioning all of us to electric cars and whatever, or you're responsible for the damn Linux kernel that runs billions of devices. Do you know what? It is not my place to call a sort of a code of conduct on you. Again, is there a line? There's a line for everything. There, there's... Something can't... But, like, a few harsh words on a mailing list? No. It's actually a beacon in some regards that, like, there are standards... and if you fall below those standards when the stakes are as high as the Linux kernel, ah, you might get ridiculed in public. That's a liability you should be willing to endure if you participate in this project.

Host

是啊,对于这种高影响力的事情,可能优先追求卓越而不是追求友善是好的。

Yeah, for high impact things like that, it's probably good to prioritize the pursuit of excellence versus the pursuit of niceness.

DHH

而且更重要的是,你根本不可能让那种人变得八面玲珑……圆滑,永远彬彬有礼。我是说,埃隆有句话,“你是不是还以为我会是个好人……”或者,是什么来着?那个……

And even more to the fact you're just not gonna get those kinds of individuals being fully rounded... plush, always the perfectly polite people. I mean, Elon has this line, "Did you also think I was gonna be a nice..." Or, or what is it? The...

Host

一个普通人什么的……

A normal dude or some...

DHH

……一个普通随和的人。什么?不,你当然不会是个普通随和的人。如果我们多一个普通随和的人,却要拿埃隆来换,世界能得到什么?天哪。

...normal chill dude. What? No, of course you're not gonna be a normal chill dude. What would the world gain if we got one more normal chill dude and we had to trade Elon? Holy fuck.

Host

我也喜欢人的多样性。

I also like diversity of people.

DHH

是的。

Yes.

Host

我喜欢好人,我也喜欢混蛋。我喜欢不同的意识形态得到充分代表,这就是言论自由之所以有效的原因。它们碰撞,然后我们解决问题。

I like nice people. I like assholes. I like different ideologies being well-represented, and that's why freedom of speech works. They clash, and we figure stuff out.

DHH

是的。

Yes.

PewDiePie与Linux PewDiePie and Linux

Host

还有另一个人。你怎么看 PewDiePie 用 Linux?他是 Arch 用户,对吧?

There's another guy. What do you think about PewDiePie using Linux? He's an Arch person, no?

DHH

他是 Arch 用户。我……他的转变轨迹太漂亮了。他曾经一度是世界上最大的主播。我记得我孩子们看他的一些 Minecraft 视频,然后他就厌倦了,开始做健康向上的事。结婚……

He's an Arch person. I... He's got the most gorgeous arc. So the world's biggest streamer for a while. I remember my kids watching some of his Minecraft videos, and then he just gets fed up with that, does the wholesome thing. Marries...

Host

是啊,现在是居家好男人……

Yeah, family man now...

DHH

……居家好男人,有了孩子,搬到日本,然后变得超级硬核……先是 Linux,然后是 Arch,然后是 Ricing。你看到他的……

...a family man, kid, moves to Japan, and then gets so hardcore into... first Linux, then Arch, then Ricing. Did you see his, uh...

Host

我看到了。

I did.

DHH

……那个 Ricing……是切尔诺贝利主题的吗?

...rice... that was Chernobyl rice?

Host

是的。

Yep.

DHH

绝对顶级,令人难以置信。然后他还成了当下该死的 AI 红人,搭建所有这些系统,你只会觉得……多么鼓舞人心的进化故事。你可以从 Minecraft 直播里的搞笑 guy 变成,“好吧,这就是我的人生了。我在搭建 AI 集群,搞 AI 委员会,”而我们都能围观?我是说,多么宝贵的财富。

Absolutely best tier incredible stuff. And then he also becomes a goddamn AI man of the moment, building all of these systems, and you're just going like, that... What an inspiring story of evolution. Like, you can go from being funny guy on Minecraft streams to, "Okay, this is my life now. I'm building AI clusters and doing the Council of AIs," and we all get to spectate? I mean, what a treasure.

Host

所以我想,我的意思是,他很好地体现了软件的未来,或者说构建的未来是什么样子,对吧?因为他严格来说不是程序员……却变成了程序员。

So I guess, I mean, he's a pretty good embodiment of what the future of software, or what the future of building looks like, right? 'Cause he's a non-programmer technically... becoming a programmer.

DHH

极具启发性,而且应该对其他正处于那种状态的人极具启发性,他们会想:“嗯,我不太会编程。我不懂这个那个。”好吧,但如果 PewDiePie 能用他的定制硬件在这里搭建 AI 委员会,那么也许你也可以开始做一些事情。我认为这实际上是一个重要的普遍观点,我们需要榜样。我们需要有人去激励他人,推动他们走得更远,并揭示那些感知到的边界并不像你想象的那么固定。而且那些人中的每一个,他们的起点都和你相差无几。再说一次,这并不意味着每个人都能成为 PewDiePie 或埃隆或林纳斯。天赋甚至智力并不是平均分配的。我们可以接受这一点,同时仍然被这些人激励。比如在体育领域,我觉得我们通常不会有这个问题。比如,某人足球踢得很好,篮球打得很好,某件事做得很好,我们会说:“天哪,太棒了。我希望我也能,但我永远做不到。”有时候我觉得在智力领域,我们会更挣扎一些。

Hugely inspiring, and should be hugely inspiring to others who sit in that moment like, "Well, I don't know quite how to program. I don't know this and the other thing." Okay, but if PewDiePie can build the Council of AIs with his bespoke, um, hardware here, then maybe you can also start on things. And I think this is actually an important general point, that we need role models. We need people to inspire others, to push further, and reveal that the perceived boundaries, they're not as fixed as you think they are. And every one of those people, they started out in a situation not too dissimilar from yours. Again, that doesn't mean everyone is gonna be PewDiePie or Elon or Linus. There is not an equal distribution of talent or even intelligence. And we can come to terms with that and still be inspired by these people. Like, in the physical realm, I feel like we don't have any problems with that usually. Like, oh, someone's really good at football, they're really good at basketball, they're really good at something, and we go like, "Oh my, that's amazing. I mean, I wish I was, but I'm never going to be." Sometimes I feel like we struggle a little more when it comes to the intellectual realm.

Host

嗯,对很多人来说,你是一种激励。你做 Omakub 的方式……它恰恰表明你可以梦想远大并真正去构建。这很棒。

Well, for a lot of people, you're an inspiration. The way you're doing with Omakub's... It just shows that you can dream big and really build. It's great.

DHH

我确实喜欢这部分,然后我也接受另一部分,就是还有一百万人认为我是地球上最大的白痴,我其实什么都不懂,Omakub 只是一堆点文件,而且……

I do like that part of it, and then I accept the part that there's also a million people who think I'm the biggest idiot on the earth and I don't actually know anything, and Omakub's just a bunch of dot files, and...

Host

你在 Omakub 方面有一些批评者吗?

Do you have some critics on the Omakub side?

DHH

天哪,是的。

Oh my God, yes.

Host

哦,哇。

Oh, wow.

DHH

而且其中很多,我的意思是,就像通常发生的那样,当有人从外部进来时。我是说,我使用 Linux 才两年半。那不算长。那个社区里有很多人真的是从 Linux 还很艰难的时候就一直在用,那时候你得光着脚在雪地里顶着风上坡。我认为有某种书呆子……当社区扩大,突然允许更多人进来时,他们会感到威胁。你知道吗?我实际上……我不能完全责怪他们。我认为某些书呆子觉得“那是我的地盘”是公平的。比如,现在你把它变成了另一个地盘。我不想那样做。我不想改变 Arch 的地盘。我不认为 Omarchy 是同一个社区的直接一部分。因为最初被 Arch 吸引的人是那些喜欢自己手工构建一切的人。用困难的方式做事,因为他们喜欢困难,而我正在构建完全相反的东西。所以我只是希望那些人能说:“好吧,这不适合我。我想用困难的方式构建。我想投入 500 小时来定制我自己的 Arch 发行版,”我认为你应该这样做。我的意思是,实际上,我说过……我是说,我做到了。这就是 Omarchy,我实际上投入了,到现在,我不知道,3000 个小时到这个发行版里。如果你愿意,你应该这样做。我认为这很棒。但也要意识到,我们可以共享相同的技术基础,然后运营两个非常独立的……社区,它们有非常不同的目的、目标、美学甚至道德,然后共存,这可以很美。我的意思是,我并不总能得到这样的回应。有时我得到的是另一种。但在这一点上,我在这行已经足够久了,不仅与之和平共处,而且实际上欢迎它。我把它当作事情正在运转的晴雨表的一部分。

And a lot of it, I mean, is as often happens when someone comes in from the outside. I mean, I've been using Linux for two and a half years. That's not very long. Plenty of people in that community who's literally been running Linux since it was hard and difficult, and you had to walk uphill both direction against the wind in the snow barefoot. And I think there is a certain kind of nerd... who's threatened when the community expands, and it suddenly allows more in. And do you know what? I actually... I can't begrudge that fully. I think it's fair for certain nerds to feel like, "That's my space." Like, now you're changing it into another space. I don't wanna do that. Like, I don't wanna change the Arch space at all. Like, I don't really think of Omarchy as being directly part of the same community. Because the people who were attracted to Arch in the first place were the ones who were attracted to building everything by hand themselves. Doing it the hard way because they like to do it hard, and I'm building the polar opposite of that. So I just wish that those people could go like, "Okay, well, this is not for me. I wanna build it the hard way. I wanna put in 500 hours to rising my own Arch distribution," and I think you should. I mean, actually, I said... I mean, I did it. This is what Omarchy is, me pouring in literally, at this point, I don't know, 3,000 hours into the, into this distro. You should do that if you're so inclined. I think it's wonderful. But also do realize that we can share the same technical underpinnings and then operate two very separate... Communities with very different aims, goals, aesthetics, morals even, and coexist, and it can be beautiful. And I mean, that's not always what I get. Sometimes I get the other thing. But at this point I've been in the game long enough to not just be at peace with it, but actually be welcoming of it. I take it as part of a barometer that things are working.

平衡批评与成功 Balancing criticism and success

DHH

当我在做一件有效果的事情时,通常会有一些人喜欢它,然后我会得到我们上次谈到的宇宙平衡——天平的另一端必然存在一股势均力敌的反对力量来憎恨它。所以,到了这个时候,我只是微微一笑。没关系的。

When I'm working on something that works, I usually get some people who like it, and then I get this balance of the universe that we talked about last time, where an equal but opposing force must be present on the other side of the scale to hate upon it. And therefore, at this point I just smile a little. Like, it's okay.

Host

不过话说回来,Omarchy 现在算是相当流行的发行版了。

I mean, that said, this is quite a popular distribution, Omarchy, at this point.

DHH

你知道这有趣在哪吗?这是第二次尝试。我的第一次尝试是 Omakub。我当时对它非常满意,发布之后,它聚集了一个大概几千人的社区。就这样,然后它就慢慢沉寂了,因为野心不够大,吸引不了更多人。第二次,因为我没有他妈的停下来,对吧?我就是一直往前走,一直构建。然后我发布了 Omarchy 的第一个版本。同样,它很小众,因为它就像 Git checkout 一样,有点难。你得先装好 Arch。我会一步步教你装 Arch,然后你才能用 Omarchy,对吧?后来我们做了一个 ISO,这样你就可以自己安装整个系统了。然后我们就把所有问题都修好了。这是另一件事:如果你一直坚持下去,最终事情总会成的。

And do you know what's interesting about that? This is the second attempt. My first attempt was Omakub. I was really happy with that, and I put it out there, and it found a community of maybe a few thousand. And that was that, and then it just sort of petered out because the level of ambition couldn't attract more. And then the second time, because I didn't fucking stop, right? I just kept going. I just kept building. Then I put out Omarchy, the first version. Again, quite niche because it was like Git checkout. It was a little bit difficult. You had to set up Arch first. Well, I would talk you through how to set up Arch, and then you could do the Omarchy thing, right? And then we got an ISO that meant you could just install the whole thing by yourself. And then we just fixed all the problems. This is the other thing: if you keep going, eventually the thing will just work.

DHH

这就是长期以来对 Linux 本身的指控。你装了 Linux,然后这个不工作,我的扬声器不工作,我的触控板不工作。是啊,好吧,但让 Linus 搞个 30 年。他会搞定的,他会把所有的都搞定。而到了现在,我觉得好笑的是,在大多数电脑上——我可能会这么说——它已经搞定了。你装 Linux,一切都能用。你装 Windows,祝你好运,去到处找驱动让那块硬件工作吧。因为它们的哲学非常不同。Linux 有 4000 万行代码的原因,就是 Linus 把所有驱动都放进内核里。所以它开箱即用,而 Windows 不是这样。这是不同的做法,对吧?

This was the charge against Linux itself for the longest time. Well, you install Linux and then this doesn't work, and my speakers don't work, and my trackpad doesn't work. Yeah, okay, but just leave Linus at it for like 30 years. He'll get to it. He'll get to all of it. And at this point I find it hilarious that on, I would probably argue, the majority of computers, it's wiped. You install Linux, all of it works. You install Windows, good luck hunting down the drivers you need to get that piece of hardware working. Because they have very different philosophies. The reason Linux is 40 million lines of code is Linus just puts all the drivers in the kernel. So it has everything out of the box, and Windows doesn't. A different approach to it, right?

DHH

所以有时候那些看起来像玩具、乍一看像是坏掉的东西,它们确实如此,对吧?它们是给喜欢玩的人准备的。我们称那些人为早期采用者。他们玩这些玩具,然后玩具进化,变得更好,变得更好。到了某个时候,它们变得太好了,以至于早期采用者觉得他们被邀请参加派对。如果早期采用者也持续打磨它,最终你会到达晚期多数,然后你就赢了。而 Omarchy 正在通往那个目的地的路上。这个发行版的增长,不只是从 Quattro 开始,而是从第三版开始,就像标准的曲棍球杆曲线。你看着它,什么都没有,什么都没有,什么都没有。你只是在辛苦耕耘,不断改进,改进,改进。然后你到达那个神奇的拐点,而那个时刻是无法预测的。创业公司也是一样。它什么时候会发生?你什么时候会找到产品市场契合?然后突然它就出现了,然后它就起飞了,你就坐上火箭了。

So sometimes the things that look like a toy, things that look broken at first glance, they are, right? They're for people who like having fun. We call those early adopters. They play with the toys, and then the toys evolve, and then they get better, and then they get better. And at some point, they're so damn good that early adopters feel like they're invited to the party. And if the early adopters keep chipping away at it too, eventually you get to the late majority, and then you win. And we are well on the way with Omarchy towards that destination. Like the growth that the distro has seen, not just since Quattro, but since version three, it's just like, you know, the standard hockey stick curve. You go like, there's nothing, there's nothing, there's nothing. You're just toiling away. You're just improving, improving, improving. And then you hit this magic inflection point, and it's impossible to predict when that's gonna happen. Same thing with startups. When is it gonna happen? When are you gonna find that product-market fit? Then suddenly it's there, and then it goes, just goes, and off the rocket ship you go.

代理优先愿景与Omarchy成长 Agent-first vision and Omarchy's growth

Host

嗯,这种把它做成智能体优先的愿景,把它做成……

Well, this kind of vision of making it agent-first, of making it...

DHH

我确实认为那是……我们已经在上升了,然后它变成了垂直上升。因为另一件事,这也是我从 Omakub 和 Omarchy 第一次学到的。Omakub 很时尚、很好,但很熟悉,我们仍然在使用传统的桌面隐喻。你在拖拽窗口。我当时以为,就像 Linux 社区里很多人想的那样,这就是我们需要的。然后我就想,好吧,不管怎样,让我做点极客的事情。我会构建 Omarchy,也许它只是给我自己用的,因为看起来只有大约五个人喜欢平铺窗口管理器。这不是真的。但作为电脑用户总数的百分比,那是极小极小的一部分。然后我就想,哇,这太棒了。完全不一样,但很棒。我发布了它。立刻,Omarchy 获得的关注度远超 Omakub 曾经达到的。因为它不一样。因为它完全不同,它呈现了一种关于电脑可能是什么、感觉如何的不同愿景,这吸引了人们。现在我们正在获得那种指数级的增长。

I do think that's the... We were already on the up, and then it changed to vertical. Because the other thing, and this was what I learned with Omakub and Omarchy first too. Omakub was stylish, nice, but familiar, is we're still using a conventional desktop metaphor. You were dragging your windows around. And I thought at the time, as I think lots of people do in the Linux community, like this is what we need. And then I just go like, okay, well, for whatever reason, let me do the nerdy thing for a while. I'll build Omarchy, and maybe it'll just be for me, because I mean, it seems like there's about five people who like tiling window managers. That's not true. But as a percentage of total computer users, it's a tiny, minuscule part. And then I go like, well, this is amazing. Totally different, but amazing. I put that out. Instantly, Omarchy had far greater traction than Omakub ever did. Because it was not the same. Because it was totally different, and it presented a different vision for what a computer could be and how it could feel, and that attracts people. We are now getting sort of the exponential of that.

DHH

正如我所说,Linux 社区里很多人对 AI 和智能体充其量是怀疑,最坏是敌视。Omarchy 是第一个发行版,至少是我见过的有规模意义的,它直接说:‘不,我们真的很喜欢这个。’我的意思是,你仍然可以用 Omarchy。你不必使用智能体。如果你忽略了那个设置默认智能体的首次通知,你就不会得到我们谈到的那些东西。你不会得到崩溃监视器。你不会得到任何这些东西。你可以手工凿你自己的插件。完全可能,对吧?但人们兴奋的原因,是因为我毫无保留地说:‘这就是我们要走的方向。我认为个人电脑的未来是可塑的电脑,是智能体式的电脑。我要全力投入。’然后任何对电脑类似轨迹感到兴奋的人,都来吧。车上有的是位置。

As I said, a lot of people in the Linux community are at best skeptical, at worst hostile to AI and to agents. Omarchy is the first distribution, at least that I've seen on a scale that matters, that just goes like, 'Nope, we're really into it.' I mean, you can still use Omarchy. You don't have to use an agent. If you dismiss that first notification to set up a default agent, you're not gonna get any of the stuff we talked about. You're not gonna get the crash watcher. You're not gonna get any of this stuff. You can hand-chisel all your plugins. Totally possible, right? But the reason people are excited is because I don't have any reservation about saying, 'This is where we're going. I think the future of the personal computer is the malleable computer, is the agentic computer. I'm gonna go all in on that.' And then anyone who's excited about a similar trajectory for computers, come along. Plenty of room in the car.

DHH

事实上,我引以为豪的一件事,就是我不记恨那些回心转意的人。就在上周,有一群人过来说:‘是啊,我以前觉得 Omarchy 有点烂。那只是个糟糕的……’

In fact, one of the things I pride myself on is not holding a grudge against people who come around. I had a bunch of people just last week going like, 'Yeah, I used to think Omarchy was kind of shit. That was just this crappy...'

Host

……点文件集合。

...dot files collection.

DHH

然后现在试了 Quattro,太棒了。我现在喜欢它了。对我来说,我就是为这种长远的争论而活。我活着就是为了这种争论:你在两年前种下种子,然后两年后他们说:‘妈的,这混蛋是对的。’

And now I tried Quattro and it's awesome. I like it now. That to me, I live for the long argument. I live for this argument where you plant the seed like two years ago, and then two years later they go, 'Goddammit, this son of a bitch was right.'

潜在收购与愿景 On potential acquisition and vision

Host

是啊。你确实意识到,如果你继续像现在这样成功,OpenAI 和 Anthropic 会进来,试图做他们自己的操作系统,或者收购,就像 Peter 和 OpenClaw 那样,会有一张巨大的支票。

Yeah. You do realize if you continue to be as successful as you are, OpenAI and Anthropic are gonna roll in and try to do their operating system or to buy, like with Peter with OpenClaw, there'd be a gigantic check.

DHH

是啊。我觉得我现在这个位置的好处是,我真的不需要钱。所以我可以纯粹为了自己的乐趣和纯粹的愿景来构建这些东西,这有一种奇怪的品质:有时候当你不再关心别人怎么想、想要什么或其他什么,只是追求这个单一的愿景,它最终会变得更有吸引力。而当你试图做,哦,我应该这样做,因为那些人想要那个,或者我应该做这个那个,你就开始稀释这个东西,突然它就变成了一团平淡无奇的虚无。

Yeah. I think the good thing about my current position is I really don't need the money. So I get to build these things purely for my own enjoyment and purity of vision, which has this weird quality where sometimes when you stop caring about what everyone else thinks or wants or whatever, and you just pursue this singular vision, it ends up becoming far more appealing. That it's when you try to do, oh, I should do this because these people want that, or I should do this and this and so on, you start watering the thing down and suddenly it's a bland ball of nothing.

DHH

所以我的意思是,再说一次,这里的事情在方向上,我只是希望电脑变成这样。所以如果 Omarchy 最终只是历史上的一个小注脚,是智能体操作系统和可塑电脑早期运动的一部分,那也没关系。

So I mean, again, the thing too here is directionally, I just want computers to be this way. So if Omarchy should end up being just a little footnote in history, that it was part of this early movement of the agentic OS and the malleable computer, that's also okay.

拥抱非决定论与创造力 Embracing Non-Determinism and Creativity

DHH

我对此完全坦然。只要我能拥有一台像 Omarchy 一样用起来那么有趣的电脑,那就太好了。我对 Ruby 和 Rails 也有同样的感受。很早以前我就想:你知道吗?我爱 Ruby。它是一门很棒的程序设计语言。但如果出现了一门更好的语言,我,我自己,就会去用它。如果出现了一个更好的 Rails,我也会去用它。而且,我爱 Ruby,我会继续写 Ruby,哪怕只是为了纯粹的乐趣,就像我会去骑马一样。我的马厩里有马,尽管我的车库里停着一辆 Model Y。

I'm completely at peace with that. As long as I get to have a computer that is as fun to work with as Omarchy, that's great. I've had the same thing with Ruby and with Rails. From very early I went, do you know what? I love Ruby. It's such a great programming language. But if a better programming language comes along, I, me, I'm going to use it. If a better Rails comes along, I'm gonna use it. And I think, and I love Ruby, and I will continue to write Ruby even just for the sheer fun of it, like I would go ride a horse. I have in the stables, even though I have a Model Y in the garage.

Host

现在的语言是英语。这是老生常谈,但也是事实。比如,过去三个月我一直在用英语编程。我读了很多代码,但我是在用英语编程。我在告诉电脑该做什么,我在使用自然语言,而这令人震惊地更加愉快。如果有一种比 Ruby 更美的程序设计语言,那就是英语。

The language now is English. It's a cliche, but it's also true. Like I've been programming in English for the last three months. I've been reading a lot of code, but I'm programming in English. I'm telling the computer what to do, and I'm using natural language, and it is shockingly even more delightful. If there is one programming language more beautiful than Ruby, it is the English language.

DHH

而现在,我们得以把它带入人类文明的自然演进中,也就是我们的赛博格未来。

And now we get to carry it into the natural evolution of human civilization, which is our cyborg future.

Host

美。这很美。我的意思是,我之所以这么说,部分是因为我一直热爱写作。我一直就热爱英语这门语言,因为它纯粹的美、纯粹的精细和深度。我的意思是,Ruby 是一门非常富有表现力的程序设计语言,但它无法与英语相提并论。我是说,世界上所有的诗歌和文学,都是通过英语表达的。我喜欢优美的代码诗,但真正的英语作品,其水平是另一回事。

Beautiful. It's beautiful. And I mean, the reason I say this in part is I always loved writing. I always just loved the English language for the sheer beauty of it, for the sheer intricacy, for the depth of it. I mean, Ruby is a very expressive programming language, but it can't hold a candle to English. I mean, all the poetry and literature in the world that's been expressed through the English language. I mean, I like a beautiful code poem, but I mean, the real deal in English is just on a different level.

DHH

而且我确实发现,这是一个很难表达的精妙观点,我可能会表达失败。但当你给系统提示时,如果你过于具体,它会过于认真地听从你的话并遵循指令。但是,尽管如此,你必须表达一个概念。你猜怎么着?人类语言,这正是诗歌的意义所在。我发现策略性地使用模糊性。比如,如果你写一首情诗说“我爱你”,这是非常老套的,它不如那些更多使用隐喻等的表达有力。我发现,当我给系统提示、描述设计时,某种类似的方式实际上非常有效,因为你仍然想传达某种风格感,鼓励系统去使用,但又不过度解释。所以,不要像对机器人那样跟它说话。要像写诗那样跟它说话。

And I actually find this is a nuanced point to express, and I'll probably fail expressing it. But when you prompt a system and you're over-specific, it will listen to you too carefully and follow the instructions. And I-- But nevertheless, you have to express a concept. And guess what? The human language, this is what poetry is about. I find strategic use of ambiguity. Like, if you write a love poem saying, "I love you," like, very cliché thing, it's not as powerful as something more in metaphor and so on. And I find some version of that when I'm prompting a system, when I'm describing a design, is actually really effective because you still want to convey some sense of style that you're trying to encourage a system to use, but not overexplain. So don't talk to it like a robot. Talk to it like you would write a poem.

Host

就像你在唱小夜曲。

Like you were serenading.

DHH

是的。而这正是自然语言的力量所在,你可以通过模糊性,在不过度指定的情况下,仍然承载大量意义。而另一端的智能实体,通过解读,可以将其全部加载、整合,从而让你能够传达那些不直接存在于词语中、但又因系统更深层的智能而蕴含在词语中的高带宽信息。所以,我想,模糊性会引出更多的智能,我试图以某种方式表达这一点。

Yeah. And that's where, like, the power of natural language is, that you can, through ambiguity, still carry a lot of meaning without overspecifying. And the intelligent entity on the other side, through interpretation, can, like, load it all in, integrate it in a way that you can actually convey the high bandwidth information that's not directly in the words but in the words, given the deeper intelligence of the system. So like the ambiguity pulls out more intelligence, I guess, I'm trying to somehow express.

Host

我认为你说得非常准确,而这也是很多程序员对 AI 的根本误解,他们希望它是确定性的。不,不,不。温度(temperature)是 AI 设置中最美的部分。它不是确定性的,创造力需要道路上的小小转折,如果人脑是完美确定性的,它就不会是现在这样富有创造力的大脑。而对 AI 的主要指控,两者都是——这很有趣。这是一个矛盾。既有指控说它非确定性所以不好,也有指控说它没有创造力。两者必居其一,兄弟。要么它是非确定性的,因此有创造力,因此在某种程度上是随机的;要么它……要么它没有创造力。所以,我们,我们可以——这两个指控不可能同时成立,而我已经完全接受了这样一个事实:同样的提示不会每次都产生同样的回应。人不能两次踏进同一条河流,这是整个互动中最美的部分。这正是它如此人性化的原因。

I think that's exactly spot on, and this is the fundamental misunderstanding that a lot of programmers have of AI, is that they wish it was deterministic. No, no, no. Temperature is the most beautiful part of the AI setup. The fact that it is not deterministic, the fact that creativity requires little tweaks in the road, that the human brain, if it was perfectly deterministic, would not be the creative brain that it is. And the main charge against AI both-- It's funny. It's a contradiction. There's both the charge that it's not deterministic and therefore bad, and also that it is not creative. It's one or the other, bro. Either it's non-deterministic and therefore creative, therefore, to some degree random, or it's... or it's not creative. So we, we can-- Both of those charges can't be true at the same time, and I have fully come to embrace the fact that the same prompt won't produce the same response every time. You can't step at the same river twice, and it is the most beautiful part of the whole interaction. It's what makes it so human.

DHH

事实上,这是我在自己的某种元分析中一直在思考的事情之一,就是我自己的大脑在多大程度上像下一个词预测(next-token prediction)那样运作。我坐下来写一篇文章。我有一个模糊、朦胧的意图想要传达,我坐在键盘前,而我无法提前告诉你下一个词会是什么。词就这样冒出来,而我对相似性如此之大感到惊讶。这也是为什么我毫不费力就能认出那些我亲眼所见、AI 现在就能实现的创造力突破。因为我的创造性时刻,也是通过同样的下一个词预测,再加上一点温度(temperature)来产生随机效果。

In fact, this is one of the things I've been thinking about in my own sort of meta-analysis, is just how much of my own personal brain works like next-token prediction. I sit down to write an essay. I have this vague, fuzzy premise I want to convey, and I sit down at the keys, and I could not tell you what the next token was gonna be in advance. The tokens just come out, and I'm astonished how the similarities seem so great, and this is also why I don't have any trouble at all recognizing these breakthroughs of creativity that I've seen with my own eyes that AI is capable of right now. 'Cause my creative moments come through the same kind of next-token prediction with a bit of temperature sprinkled in for random effect.

通往超级智能与意识之路 Path to Superintelligence and Consciousness

Host

那么,基于这种松散的直觉,你认为创造超级智能系统的基本组件是否都已具备?那么,这种下一个词预测,你认为我们能否达到甚至类似人类意识的层面?

So given that kinda loose intuition, do you think the basic components are all there to create a super intelligent system? So this kinda next-token prediction, do you think we can get to even human-like concepts of consciousness?

DHH

我已经看到了类似人类意识的概念。正如你所说,这对我来说,就是这种非凡的情形。你给它一个模糊、朦胧的意图,而它不知怎地就确切地知道你的意思。或者更好的是,它改进你所说的话,并交付你真正想要却无法自己表达的东西。如果那不是意识的微光,那又是什么呢?这是其中之一——我想这是对 Sutton 或也许是其他创始人的一次采访,谈到这种感觉,即智能或许并不局限于某个特定的点。不,它是交互。它是权重。而我不知道。无论真相是什么。我能观察到的是,它感觉足够接近,甚至不只是足够接近,而是与我对他者意识(主要是人类意识)的欣赏完全相同。这也是为什么与它合作如此令人愉快的原因之一。不过,这并不是说 LLM 就是 AI 的终点站。我的意思是,我知道有人在谈论世界模型(world models)和其他形式的 AI,而我对此都不是专家,而且我认为我们应该有这种建设性的批评,正如科学中始终应该存在的那样。在很长一段时间里,神经网络有点被冷落,对吧?比如,他们感兴趣的是符号路线。而神经网络在没有资金、没有关注的情况下,在黑暗中走了几十年,然后突然我们意识到我们走进了死胡同,于是我们转向了。所以我们也应该保持谦逊。尽管现在的 LLM 令人惊叹,但它们最终可能会达到平台期。我们还没有看到任何证据,而我认为这也是我们看到这种绝对惊人的投资水平的原因,因为到目前为止,缩放定律(scaling laws)是成立的,投入的数十亿越多,涌现的智能就越多。

I'm already seeing human-like concepts of consciousness. This is what, to me, this remarkable situation, as you say. You give it this vague, fuzzy intent and somehow it knows exactly what you mean. Or even better, it improves upon what you said and delivers what you really wanted that you could not articulate yourself. If that's not glimmers of consciousness, what is? This was one of the-- I think it was an interview with Sutton or maybe one of the other original guys talking about this sense that intelligence is perhaps not as constrained just to the specific one spot. No, it's the interaction. It's the weights. And I don't know. Whatever's true. What I can observe is that it feels close enough, or not even close enough, identical to the appreciation I have for other forms of consciousness, mostly human. And this is one of the reasons it's so delightful to work with. Now, that's not the same to say as are LLMs the end station for AI. I mean, I know there are people talking about world models and other forms of AI, and I'm not an expert in any of that, and I think we should have this productive criticism, as should always be present in science, that for the longest time, neural nets were kind of on the outs, right? Like they were interested in the symbolic route. And neural nets walked a couple of decades into darkness without any funding and without any attention, and then suddenly we realized that we had the blind alley and we switched over. So we should also have the humility. As amazing as the LLMs are now, it could be that they eventually plateau. We haven't seen any evidence of it yet, and I think this is also why we're seeing this absolute gobsmacking levels of investment, because so far the scaling laws are true, and the more billions are poured in, the more intelligence comes out.

AI意识的伦理问题 Ethical Questions about AI Consciousness

Host

你觉得会不会出现一些奇怪的伦理问题,关于 AI 系统,它们确实传达出一定程度的意识、一定程度的感觉、一定程度的渴望和同情,甚至可能还有受苦和孤独的能力,诸如此类?它们似乎有这个能力——如果被允许表达的话。于是你就进入了一个相当诡异的领域。

Do you think there's gonna be some strange ethical questions about AI systems that yeah, they convey some degree of consciousness, some degree of feeling, some degree of longing and compassion, and maybe even capacity to suffer and to be lonely, to be all this kind of stuff? Which they seem to have that capacity- ... if they're given the permission to express it. And so you start to get in a pretty weird territory.

DHH

我觉得对这种问题的犬儒式看法就是那个梗:你看到电脑前的那个人,一脸“随便吧,你要毁灭世界吗?”然后电脑说“我要毁灭世界”,然后那人说“哦”,对吧?这种看法太犬儒了,觉得它们只是在模仿我们,只是把训练数据里的东西说出来而已。但当我跟这些智能体互动时——我昨天或今天早上还在做这个,我在弄 AmaBot 系统,它要协调多个 worker,我同时跑了好几个智能体。有一次,负责协调的主智能体踩了另一个智能体的脚,搞砸了它的工作。它表达遗憾和歉意的那种能力,简直不可思议。再说一次,我不知道,这是不是真实悔恨的投射?但我不确定。大多数人类……也会表达某种程度的遗憾。那是真正的悔恨吗?很难说,但也许这根本不重要。

I find that the cynic approach to this is the meme, where you see the guy in front of the computer who's like, um, "Whatever. Are you gonna destroy the world?" And then the computer says, "I'm gonna destroy the world." And then the guy says, "Oh," right? Like, this is so cynical that they're just aping us. They're just telling us what was in the training data or whatever. When I interact with the agents, I was just doing this yesterday, or this morning, I was working on this, AmaBot system, right? And it's doing this coordination with multiple workers, and I had multiple agents running at the same time. And at one point, the main agent who's doing the coordination steps on the toe of another agent and- ... kind of ruins their work. Its ability to convey regret and being sorry was uncanny. Again, I don't know, is that a real projection of true remorse? But I don't know. With most humans- ... they express some level of regret. Is that true remorse? Hard to tell, but maybe it also just doesn't matter.

Host

是啊,那些时刻,尤其是当子智能体、智能体之间互动时,或者像 Fable 这样的智能体犯错并为此道歉时。

Yeah, those moments when, yeah, especially when like sub-agents, agents interact, or when a smart, like Fable makes a mistake and is apologetic about it.

DHH

对。

Yes.

Host

而且是在没有我参与的情况下。

Like, without my involvement.

DHH

没错。

Right.

Host

然后就像,哦,你,就像有那种——

And it's like, oh, you, like there's this kind of-

DHH

Right

Host

……停顿。也许我是在拟人化,但就像有一个停顿,然后像意识到,“哦,靠,我刚搞砸了”。

... pause. Maybe I'm anthropomorphizing, but like there's a pause and like a realization like, "Oh, shit. I just fucked that up".

DHH

确实有。我经常在 trace 里看到,它只是推理错了,对吧?它走进一条小巷,然后发现那是条死胡同,得退回去,于是它就说“哦对,我搞错了”,然后还会解释为什么觉得自己搞错了。你会觉得,这太像人了,跟你在人类身上能识别出的那种意识几乎无法区分。再说一次,这是否意味着它真的有意识或没有?其实我不需要这个问题的答案,也能欣赏此刻我们所拥有的东西。

There totally is that. I see it all the time in, in the traces where it just reasons wrong, right? It went down one alley and then it realizes that was a blind alley and it's gotta go back, and so they're like, "Oh yeah, I got this wrong," and then it'll provide the reasons for why it think it got these things wrong. And you're like, this is uncannily human-like. This is indistinguishable from the kind of consciousness you would recognize in a human. Again, does that mean that it truly is or isn't? I don't need the answer to that question actually to be able to appreciate what we have in this moment.

Host

是啊。我觉得 10 年、20 年后会有一些有趣的最高法院案件。

Yeah. I think there'll be in 10, 20 years some interesting Supreme Court cases.

DHH

呃,可能一年半吧。

Uh, probably a year and a half.

Host

很可能。我觉得我们将不得不让 AI 系统成为实体变得非法,不是假装,而是真的成为实体,因为我认为它们已经或很快就能真正传达受苦的能力,比如“请不要杀我”。

Probably. I think we're gonna have to make it illegal for AI systems, um, to not pretend, but to be entities because I think they're already or soon will be able to really convey the capacity to suffer, like, "Please don't kill me."

DHH

对。

Right.

Host

“请不要伤害我。”如果它们被赋予名字、实体和死亡的能力,也就是某种消失,那就非常接近人类所拥有的一些基本属性了。那么那个实体可能就需要拥有权利。然后你就进入了一个奇怪的领域。嗯,我们不能……这很难——我甚至不知道该如何思考那个世界。

"Please don't hurt me." And if they are given a name and an entity and the ability to die, sort of disappear, that, that becomes very close to what it, some of the basic things that a human has. And then so that entity would need to probably have rights. And then you get into this weird territory. Well, we can't... It's diff- I don't even know how to reason about that world.

DHH

我们会看到 AI 模型的 PETA(善待动物组织)。

We're gonna get the PETA of AI models.

Host

对。然后我们真的需要讨论一下,该怎么处理这个问题?

Right. And then we want to actually have a discussion like what's the way to deal with this?

DHH

我觉得更难的地方在于,一旦我们把这些系统放进——

I think where it's gonna be harder is once we put these systems into-

Host

机器人。

Robots.

DHH

对。人形机器人。这恰好是每一部科幻电影的剧情,也是一个惊人的预兆,不仅是《终结者》和天网那种出错的,还有《银翼杀手》,对吧?植入日期、过期时间、泰瑞尔公司。

Yes. Humanoid robots. Which just happens to be the plot of every sci-fi movie ever, which is also an amazing premonition, not only the Terminator movies and Skynet and that going wrong, but then also just Blade Runner, right? Insertion dates, expiration times, Tyrell Corporation.

Host

我是说,这就是科幻的特点。它们确实预言了未来。是啊。你有没有想过或大量使用 OpenClaw 或 Hermes Agent?就是那种通过 WhatsApp、Telegram 与智能体通信的系统,那种与智能体的通信模式。

I mean, that's the thing about sci-fi. They really do predict the future. Yeah. Have you thought or used much of OpenClaw or Hermes Agent? So like systems with which you communicate via WhatsApp, Telegram, like that mode of communication with the agent.

DHH

OpenClaw 刚出来的时候我就搭好了,那就是我的 KEF 机器人——我——大概是二月份吧。我当时真的很着迷于它居然是这样工作的,而且这种给智能体发短信的新通信模式看起来很棒。所以当时我们在看 MCP,这个协议是为了让智能体更容易与你的系统对话,但我觉得这个协议繁琐得离谱,设计得不太优雅,部分原因是它不是为我们想让它做的事而设计的。我们试图——我是想让它跟一个 Web 系统对话,而它是为本地机器上其他类型的有状态交互设计的,所以需要各种繁琐的设置和步骤,我当时就想,“我可不想手写这个。”当然,现在我不会手写了,但当时我在想,“我得手写这个。我不想手写。那有没有别的办法?能不能让智能体直接使用我们已有的 Web 界面?”然后我就让它去试,让它注册 Fizzy,那是我们当时刚发布的产品。它去了 Fizzy 网站,开始填表,然后它说,“嘿,我没有邮箱地址。注册这个服务需要邮箱地址。”我第一反应是,“哦,天哪,现在我得去弄个邮箱。”然后我想,“不,你去弄个邮箱。去 hey.com,注册个邮箱。”我当时想,“Hey 不会搞定的。”当然,现在看来它显然能搞定,但在当时,这对我来说是个巨大的启示:它仅仅通过提示词的直接指引,就能弄清楚,第一,我得去 fizzy.com,找到注册链接。我开始填表。哦,我意识到我需要邮箱。哦,我得问我的提示者现在该怎么办。他告诉我去 hey.com。我去那里,注册了整个流程,然后回来注册 Fizzy,完成整个循环。它做完之后,我心想,“天哪。”然后我说,“好吧,现在你有邮箱了。去注册 Basecamp。我会邀请你。你只要查收邮件就行,”我告诉 KEF 机器人。“查收邮件就行。”于是我从 Basecamp 给智能体发了一个邀请。智能体在 Hey 里收到了邮件,不是通过 CLI,不是通过 MCP,就是直接用 Web,对吧?点开邮件,点开邀请链接,就进了 Basecamp。它问,“我现在该做什么?”我就说,“我不知道。去我们的 AI 房间,自我介绍一下。”还是纯粹通过 Web 界面。它找到了 AI 房间,进去说,“嘿,我是 KEF。”“我是 David 的 AI 机器人。我很高兴来到这里。”我当时——震惊了。这个实验有趣的地方在于,第一,它让我瞥见了未来,因为当时有点慢。我觉得整个过程端到端大概花了 12 分钟,对吧?现在我真该重新跑一下这个测试。如果它没有快很多,我会很惊讶。

I set up OpenClaw when it first came out, and that was my KEF bot- ... that I- ... this was like in February, I think. I was really just enamored by the fact that this was how it worked, and then the new communication model of just texting your agent seemed really great. So at the time, we were looking at MCP, this protocol for making it easier for agents to talk to your system, and I found the protocol to be unreasonably cumbersome, just not very elegantly designed because in part it wasn't designed for what we were trying to make it do. We were trying to-- I was trying to make it talk to a web system, and it was designed for stateful interactions of other kinds on local machines, and therefore it required all sorts of cumbersome setup and dance and, and I was just like, "I don't wanna write this by hand." Now, of course, today I would never write it by hand, but at the time I was thinking, "I have to write this by hand. I don't wanna write it by hand. So what's a different way? Could the agents just use the web interfaces we already have?" And I set it off on a trial to have it sign up for Fizzy, which was the product we had just released at the time. And it goes to the Fizzy site and, and starts filling it out, and then it goes like, "Hey, I don't have an email address. Signing up for this service requires an email address." And the first thing I thought, like, "Oh man, now I gotta set up an email address." And then I thought, "No, you set up an email address. Go to hey.com, sign up for an email address." And I'm like, "Hey is not gonna get this." And of course, now it seems obvious it was gonna get this, but at the time it was a great revelation to me that it could, just on pure direction through prompts, figure out, A, I gotta go to fizzy.com, I gotta find the signup link. I start filling out the form. Oh, I realize I need an email address. Oh, I gotta ask my prompter what to do now. He tells me to go to hey.com. I go there, I sign up for the whole thing, and then go back and sign up for Fizzy, and complete the entire cycle. And after it did that, I was like, "Jesus." So I was like, "Well, now you have an email address. Go sign up for Basecamp. I'll invite you. Just check your email," I told KEF the bot. "Just check your email." So I sent an invite from Basecamp to the agent. The agent receives the email in Hey, not through a CLI, not through an MCP, just using the web, right? Clicks the email, clicks the invite link, is in Basecamp. Like, "What should I do now?" And I just go like, "I don't know. Go to our AI room and introduce yourself." Again, purely through the web interface. Go- finds the AI room, goes in there, "Hey, I'm KEF." "I'm, uh, David's AI bot. I'm so excited to be here." I was like- ... mind blown. Now, what was interesting about that experiment was, A, it was that glimpse of the future, because it was kinda slow. I think it took maybe 12 minutes to do the whole thing end to end, right? Now I should actually rerun that test. I'd be shocked if it's not much faster.

代理交互与未来一瞥 Agent Interaction and Future Glimpses

DHH

我刚才就在用 Groq 机器人那玩意儿,它内置了各种浏览器和电脑操作的功能,还有一台专用的电脑,你都不用自己配电脑。基本上就像个盒子里的爪子。我让它帮我注册个东西,然后我就瞥见了——哦,对,我们现在就到这一步了,而且用起来快多了。但当时我真是被震撼到了。后来我用了一会儿,发现,唉,还没到那一步。我没法用这种方式跟它交流。它还是需要命令行,还是需要 MCP,因为它太慢了,token 效率也太低,诸如此类。但那确实是对未来的一瞥。之后我就不怎么用了,因为我想用智能体做的事,大多时候我都在电脑前自己做了。不过最近这情况有点变了,这也是我为什么对用 Claude Code 这么无所谓的原因之一,因为 Claude 有最好的移动应用,你在电脑终端里启动的任何 Claude Code 会话,都能通过这个应用访问。

I was just using the Groq bot thing, which has all these stuff built in for using browsers and using a computer, and has its own dedicated computer without you having to set up a computer. It's basically like a claw in a box. And I was asking it to sign up for something, and it kind of... I got a glimpse of like, oh yeah, that's where we are now, and it's so much faster to use. But at the time, I was just blown away. And then I used it for a little bit and I found like, ah, it's not there yet. I can't actually communicate it within this way. It still needs the CLI. It still needs an MCP because it's just too slow and too token inefficient and so forth. But it was this glimpse of the future. And then after that, I kinda just didn't use it, because the things I wanna use agents for, I was mostly in front of my computer to do. Now, that has changed a little bit lately, and it's one of the reasons why I'm so kind of okay about using Claude Code, because Claude has the best mobile app, where any session you start Claude Code in your terminal on a computer is accessible through the app.

Host

是啊。我记得……

Yeah. I remember...

DHH

……你什么都不用做。而且你可以用终端。比如我装了 Terminus,它能跑 Herder 之类的,但有点笨重,而且你在电脑上实时打字,能感觉到延迟。当你用 Claude 应用连接你的 Claude Code 实例时,感觉就像在跟它聊天,没有设置 Telegram 账号之类的麻烦。现在,如果你想用开放的 Claude 来管理你的生活,那这个做不到。但我不知怎么的,对那个不太感兴趣。也许原因之一是,我妻子 Jamie 说:“我们家里不要机器人。”所以我就想:“唉,我最好别把它接到这里的智能家居上。”如果它像闹鬼一样开始开关灯,我觉得我可就不那么受欢迎了。所以,我这么说部分原因是,我听过一些人把它接入自己整个生活的故事。嗯,这不是我的故事,所以我就简单分享个小轶事。有个人讲他怎么把它接入了他的健康数据和特斯拉汽车。他的智能体对他喝水不够这件事特别执着,老说:“嘿,你得喝更多水。”所以有一次他开着车,突然特斯拉开始往新方向开。智能体意识到回家路上有个杂货店……可以顺路去……

...without you having to do anything at all. And you can do a terminal. Like I installed Terminus and it can run Herder and so on, but it's a little cumbersome and you're doing live typing on a computer, so you feel the latency. When you're using the Claude app to your Claude Code instances, it feels just like chatting with it, without the cumbersomeness of having to set up a Telegram account and so forth. Now, if you wanna use an open Claude to like run your life, well, then this doesn't do that. But I haven't been so interested in that for some reason. Maybe one of the reasons is that Jamie, my wife, is like, "We're not getting a robot inside the house." So I'm like, "Ah, I better not hook it up to the sort of smart house here." If it starts turning lights on and off like a poltergeist, I don't think I'm gonna be all that popular. So, and part of the reason I say this, I've heard some of the stories of people who have hooked it up to their whole life. And um, I mean, it's not my story to tell, so I'll just share sort of the brief anecdote. One guy was telling the story about how he hooked it up to both his health data... and his Tesla car. And his agent got obsessed with the fact that he wasn't drinking enough water, and like, "Hey, you gotta drink more water." So at some point he's driving along, and suddenly the Tesla starts driving in a new direction. The agent had realized there was a grocery store on the way home... that they could swing by...

Host

太棒了。

That's great.

DHH

……买点水。

...and pick up some water.

Host

太棒了。

That's great.

DHH

然后你就会想,这种事既好笑又完全是《黑镜》情节,而且完全像是,好吧,离你家出现闹鬼现象也没几步了。所以我就想:“唉,我不需要那个。”我现在确实喜欢能通过 Claude Code 控制智能体,只要通过应用就行,即使我不怎么用它们。

And you're like, this is one of those things where it's like both funny and also totally Black Mirror, and also totally like, well, okay, there's not that many steps from here where the poltergeist is in your house. So I was just like, "Ah, I don't need that." I do actually now like the fact that I can control the agents through Claude Code, just through the app if I, even if I don't use them that much.

Host

我确实觉得,对 OpenClaude 和 Hermes Agent 来说,用它来瞥见一种不同的交互模式非常有用。

I do think it's very useful to, for both OpenClaude and Hermes Agent to, um, to use it to get a glimpse of a different interaction mode.

DHH

是的。

Yes.

Host

而且,因为那感觉就像未来,不一定是以这种方式,但在某些方面正在朝那个方向走。

And like, just to 'cause it, it feels like the future, not necessarily in this way, but it's in some ways going there.

DHH

是的。我觉得那些系统还有一个不同之处,就是它们有整套记忆系统,会积累关于你是谁、你喜欢什么的知识。嗯,Toby 讲过他的智能体怎么替他购物,它有零花钱,会给他挑衣服,然后东西就直接送到门口,因为他的智能体……给他买了东西。就像那种,哇,这感觉像未来。也有点吓人。但我可以通过那些走在前沿的人来间接体验。

Yes. I think what's also different with those systems is they have this whole memory system, where they're building up knowledge of who you are and what you like. Um, Toby has told the stories about how his agent will shop for him, that it has an allowance, and it'll pick out clothes for him, and it'll just show up at the door because his agent's... bought something for him. And like, it's one of those things where like, man, that feels future. Also a little scary. But I can live vicariously through others who are on that frontier.

Host

就像你说的,你正在考虑未来做一个 Mach-E 的移动版。

And like you said, you're thinking of the, in the future doing a mobile version of Mach-E.

DHH

所以我的意思是,一旦你获得了看似无限的力量,妄想就开始作祟了……我在创建 Quattro 的过程中就见证了这一点。

So I mean, this is the delusions of grandeur that start kicking in once you get the seemingly unlimited powers... I've witnessed with the creation of Quattro.

Host

那会是什么样子?用什么词来形容?你是指像 Android 那样吗?

So what would that look like? Word to describe. Are you do you mean like Android?

DHH

那是显而易见的路径,对吧?Android 是开源的,你可以分叉它,人们也这么做了。有各种版本,GrapheneOS 就是其中之一。我知道那种模式有局限性。比如点击支付、相机模型之类的事情,但那些似乎都是可以克服的。一切似乎都表明,我希望我的手机能像我的电脑一样可塑,看起来像我现在的电脑一样酷。如果我能得到本质上的 Omarchy 移动版,那听起来太棒了。

That's the obvious path, right? So Android is open source, and you can fork it, and people have. There's all sorts of GrapheneOS is one such version. There are limitations to that model, I know that. Tap-to-pay and other things around camera models and, and so forth, but that all seems surmountable. It all seems that I would love if my phone was as malleable as my computer, if it looked as cool as my computer now does. If I could get essentially Omarchy mobile, that sounds amazing.

Host

我好奇那工作量有多大。

I wonder how much work that is.

DHH

我会去弄清楚的。

I'm gonna find out.

Host

是啊。你知道,就像那些事情,一旦你开始构建,你就会意识到,比如,浏览器是非常难做的。

Yeah. You know, it's like those things that you realize once you start building, for example, that a browser is very difficult to do.

DHH

是的。

Yes.

Host

所以,我就在想,对于操作系统……

And so, like, I wonder with the operating system...

DHH

是啊,Ladybird 的开发者们正在发现这一点,比如 Andreas 和他的……

Yeah, the developers of Ladybird is, is finding that out, like Andreas and...

Host

是啊……

Yeah...

DHH

……他的团队。有趣的是,那个项目里,浏览器基本上是世界上第二复杂的软件系统,第一是 Linux 内核。对吧?就这些数千万行代码的系统而言。所以,在智能体出现之前,像 Andreas 那样用一个小团队开始这样的任务,其实非常大胆。但现在我们有了智能体,我们将会看到,而且可能很快就能看到。我的意思是,如果说有一件事智能体已经特别擅长了,那就是阅读规格并实现它们。我的意思是,我不知道现在 CSS 和 HTML 的规格有多长,再加上 JavaScript,但它们非常长。人类需要很多很多年才能实现它们。我们将会发现智能体做这些能有多快。

...his team. Now, interesting with that project was the browser's basically the second most complicated software system in the world, the first one being the Linux kernel. Right? In terms of these large tens of millions of lines of code systems. So very audacious actually to begin such a mission with a small team like Andreas did before we had agents. But now that we do have agents, we're gonna see, and we're probably gonna see sooner rather than later. I mean, if one-- If there's one thing agents are already exceptionally good at, it is to read specs and implement them. And I mean, I don't know how long the specs are for CSS and HTML at this point, and JavaScript on top, but they're very long. And it would take humans many, many years to implement them. We're gonna find out just how quickly agents can do them.

Host

你提到 Omarchy 受到了一些批评,那我们就沿着批评这条路再走远一点。你已经公开了一些政治观点,嗯,我想你可以大致把它们归入移民或非法移民,或者什么——

You mentioned getting some criticism for Omarchy, so let's walk further down that path of criticism. You have made some of your political opinions known, um, I guess you could broadly put in the category of immigration or illegal immigration, or what-

DHH

我会说是大规模移民。

I'd say mass immigration.

Host

大规模移民,人口统计在文化、社会、民族形成中的作用,你为此受到了很多批评,也制造了很多风波。你后悔那些风波吗?比如,你总体上怎么看待——

Mass immigration, the role of demographics in the, in the formation of a culture, of a society, of a nation, and you've gotten quite a lot of criticism for that and created a lot of drama. Do you regret any of that drama? Like, what's your general thinking about-

DHH

一秒都不后悔。

Not for a second.

Host

好吧。

Okay.

DHH

我这么说的原因是,奥弗顿之窗不会自己打开。它是一点一点被那些冒一点风险的人推开的。一点名声,一点反对,一点批评,或者有时是很多名声、很多批评、很多反对。我认为欧洲的大规模移民问题多年来一直是个完全的禁忌,而且在几个欧洲国家仍然如此。现在,也许只是出于偶然和巧合,在丹麦不是这样。

And the reason I say that is that the Overton window does not open itself. It opens one nudge at a time by people risking a little. A little reputation, a little pushback, a little criticism, or maybe sometimes a lot of reputation or a lot of criticism or a lot of pushback. And I think the question of mass immigration in Europe was for many years this total taboo, and it still is in several European countries. Now, for reasons of maybe just chance and happenstance, they weren't in Denmark.

丹麦早期移民辩论 Denmark's Early Immigration Debate

DHH

丹麦人早在 90 年代中期就开始讨论大规模移民及其后果了,非常早。其中一部分可以追溯到一个人,摩根斯·格利斯特鲁普,他是个非常古怪的人物。我记得他,80 年代在电视上看到他谈论大规模移民的危险。那是在——我 80 年代长大的,在我长大的那个社区,布伦斯霍伊,那是哪一年?84 年,99% 是丹麦裔,那些人的血统可以追溯到在这片土地上生活了 1000 年的丹麦人。丹麦拥有世界上最古老的君主制之一,一直追溯到哈拉尔德·蓝牙,蓝牙标准就是以他命名的。所以有超过 1000 年的历史。那里有很长的一段血统,人们住在同一个地方。而那个社区 99% 的人都是这样。然后到 90 年代初,我想这个比例降到了 5% 左右,而到现在,布伦斯霍伊已经降到大约 60% 多或 70% 左右了。这是一个巨大的变化。丹麦人大概在 90 年代开始注意到或谈论这件事,意识到这并非纯粹的福祉,大规模移民也有弊端。这场辩论在 2000 年代真正激烈起来,而邻国并没有发生同样的情况。尤其是瑞典,根本没有这场辩论,完全是禁忌。挪威也一样,欧洲其他国家也一样。而突然之间,在 2015 年之后几年,我们看到了 100 万叙利亚人沿着欧洲的高速公路徒步迁徙,德国选择接收其中很多人,丹麦也来了 3 万人等等,这件事得到了更多关注,对吧?因为这种变化已经发生了。

The Danes started having the discussion around mass immigration and the consequences thereof in the mid-'90s. Really early. And some of it can be traced back to one man, Mogens Glistrup, who was a very quirky character. I remember him, seeing him on the TV in the '80s talking about the dangers of mass immigration. And this was at a time where-- I grew up in the '80s, and in the neighborhood I grew up in, in Brønshøj, in, what was it? '84, 99% ethnic Danes, people who could trace their lineage back to Danes who'd lived in that country for 1,000 years. The Danes have one of the oldest monarchies in the world, all the way back to Harald Bluetooth, who's literally who has named the standard Bluetooth. So well over 1,000 years. Like, there's a long lineage there of people who lived in the same place. And 99% of the people lived in that neighborhood. And then early '90s, I think it goes to 5% or something like that, and then at this point, it's down to around 60-something or 70%- ... in Brønshøj. That's a big change. And the Danes started noticing that or talking about that, that this was not an undivided blessing, that there were downsides to mass immigration in about the '90s. And the debate really roared through the 2000s in a way that didn't happen in the neighboring countries. So Sweden in particular just didn't have that debate at all. Total taboo. Same thing with Norway, same thing with other countries in Europe. And suddenly now, after some years after '15, where we had the big migration of a million Syrians walking up through the highways in Europe, and Germany choosing to take a lot of them and 30,000 arriving in Denmark and so forth, It's gotten more of a focus, right? Because this change has happened.

注意文化变迁 Noticing Cultural Change

DHH

我发现有一种方法可以察觉文化中哪里不对劲,那就是:什么话题是允许谈论的?实际上,应该说,什么是允许被注意到的?我在一篇文章里注意到,那是什么时候?我记得是一年半前,关于伦敦。我 90 年代末开始去伦敦,那时候大概是 59%、60% 是英国白人。而 20 年后,这个比例降到了 34% 左右。这是显而易见的。就像走在大街上,你会意识到,这和我 20 年前来的时候已经是一个不同的城市了。如果你再往前推 20 年,你会看到和丹麦类似的比例。如果再往前,这个国家 85% 到 90% 以上都是英国白人。所以一代人的时间,国家就变了。注意到这一点是可以的。你也可以想:“你知道吗?我不同意这样。”“我希望不是这样。”

And one of the ways I find that you can spot where sort of there's something that isn't right in the culture is, like, what are you allowed to talk about? What are you allowed to notice, actually, is how I should put it. And what I noticed in an essay, when was that? Only a year and a half ago as I remember London, was that I started coming to London in the late '90s or something like that. At the time, whatever, it's 59%, 60% ethnic, uh, Brits. And then 20 years later, we're down to 34% or something like that. Like, that's noticeable. Like, literally just walking on the street, you realize, well, this is a different city from what it was when I visited 20 years ago. And if you went 20 years before that, you get back to similar rates as as what the Danes have. This was like a country of ethnic Brits in the 85s, 90s percentiles- ... if you get further back. So that's a different country in a generation. It's okay to notice that. It's also okay to think, "Do you know what? I don't agree with that." "I wish it wasn't that way."

自决权 Right to Self-Determination

DHH

我的意思是,我上次去中国是 19 年,2019 年。我在上海。嗯,那里全是中国人。如果我今年 10 月回去,突然发现只有 30% 的中国人,70% 是其他人,我会觉得有点奇怪。我可能会说:“呃,发生了什么?”如果那时中国人说:“啊,我们不喜欢这样。”我也不会觉得被冒犯。所以,认为欧洲国家没有权利,第一,注意到正在发生的事情,第二,反对正在发生的事情,我觉得这是错误的,对吧?就像——我认为存在一种关于自决的道德论点,我们在世界其他地区一直在援引这个论点,比如,哦,生活在那片地区的人民,他们有权为自己的国家自决。我认为,比如说,丹麦人、瑞典人或挪威人说:“嗯,我们在这里作为王国已经有一千年了,有着某种特定的民族构成。”这是完全合理的。

I mean, if The last time I was in China was '19, 2019. I was in Shanghai. Um, it was all Chinese. If I, when I go back here this October, suddenly find that there's only 30% Chinese and then there's 70% other people, I'd be a little weird. I'd probably be like, "Uh, what happened?" And I would not take offense if the Chinese in that instant would go like, "Ah, we don't like that." So this idea that countries of Europe don't have a right to, A, notice what's happening and, B, oppose what's happening, I find just to be, uh, wrong, right? Like there's just-- I think there's a moral argument for self-determination, and we invoke that argument all the time in other regions around the world that like, oh, the people who live in that region, they have a right to self-determination, um for their country. And I think it's completely fair for, say, the Danes or the Swedes or the Norwegians to go like, "Well, we've been kingdoms here for a thousand years with a certain ethnic mix-up."

基于功绩的移民 Merit-Based Immigration

DHH

这是一个——我的意思是,我非常支持移民。我是移民到美国的。嗯,择优挑选的移民,即各国竞相吸引世界上最聪明、最有才华的人,这真的很好。

It's a-- I mean, I'm a big fan of immigration. I'm an immigrant to the US. Um, cherry-picked immigration where countries compete to attract the smartest, most talented people around the world is really good.

Host

基于才能的合法移民。

Legal merit-based immigration.

DHH

基于才能是关键,因为实际上欧洲大部分地区几乎没有非法移民。南欧有一些非法移民,但欧洲大部分地区并没有严重的非法移民问题。问题在于其他类型的大规模移民,最终导致人口结构与短短几十年前完全不同。我认为欧洲国家会从移民中受益。事实上,丹麦人有趣的一点是,他们对移民有非常详尽的统计。我不太确定为什么这么详细。也许可以追溯到摩根斯·格利斯特鲁普和他 90 年代的讨论,但他们确实有。从这些统计中可以清楚地看到,当丹麦有来自英国、法国、美国的人时,平均而言,这些移民对丹麦国家非常有益。他们贡献的远远超过他们向国家索取的。所以丹麦人应该接受那些贡献远大于索取的移民。

Merit-based is key here because there's actually virtually no illegal immigration in most of Europe. Southern Europe has some illegal immigration, but most of Europe does not have a big problem with illegal immigration. And the problem is with mass immigration of other kinds, and that you end up with demographics that are just totally different from what they were even a few short decades ago. And I think the countries of Europe would benefit from immigration. In fact, one of the interesting things about the Danes is they carry meticulous statistics on immigration. I'm not entirely sure why they're so detailed. Maybe it's all the way back to Mogens Glistrup and his discussion in the '90s, but they do. And what's clear from those statistics is that when the Danes have folks from the UK, France, the US show up, on average, those immigrants are really beneficial to the Danish state. They contribute far more than what they ask of the state. So the Danes should accept immigrants who do that, who contribute far more than they take.

移民群体成本效益 Cost-Benefit of Immigrant Groups

DHH

然后你再看看其他类型的移民群体。上周刚有一份统计,是一位丹麦政治家要求财政部用最新数据做的。积极的移民给丹麦国家带来多少成本?就像我提到的这个案例。我想,在那个名单上,法国、英国、美国,他们都差不多,每年给丹麦国家带来约 2.5 万美元的净收益。哇,这非常积极。这又是平均值,对吧?而在光谱的另一端,最昂贵的移民是索马里人。他们平均每年让丹麦国家花费 2.8 万美元。我认为丹麦人这样说很公平:“我们更希望得到更多的法国人、英国人和美国人,而不是那么多索马里人。”

Then you look at other forms of immigrant groups. There was just a tally that came out last week from a Danish politician that had asked the, I think finance ministry to do this tally with the latest numbers. What does it cost the Danish state to have positive immigration? This case as I mentioned. I think for the, On that list whatever, France, UK, US, they were all clustered around the same thing, about $25,000 net benefit to the Danish state every year. It's like, wow, that's very positive. That's average again, right? And then at the other end of the spectrum on the most costly immigrants was Somalis. They ended up costing the Danish state on average $28,000 a year. I think it's fair for the Danes to go like, "We'd prefer to get more French, Brits, and Americans and not so many Somalis."

Host

你觉得为什么那个帖子让你招来这么多仇恨?

Why do you think you got so much hate on that post?

DHH

在很多圈子里,这是一个非常禁忌的话题。

That's a very taboo topic in a lot of circles.

Host

部分原因与奥弗顿之窗的扩展有关?

Some of it has to do with Overton window expansion?

DHH

我确定,但我也认为——我的意思是,我想在这里采用最有力的论点。我确实认为,这可能会变得丑陋,对吧?这些事情有没有可能直接转向明显的种族主义,而这种种族主义除了对他人的仇恨之外没有任何基础?是的,这可能会发生。但这种风险并不能否定讨论国家构成和移民政策应该是什么样的必要性。而且我——我还觉得很有趣的是,尤其是在欧洲,这种关于欧洲人是否有权决定自己国家面貌的自决讨论,似乎只适用于那里。没有人试图告诉日本人:“嘿,你太日本了。”不管怎样,我想东京 98% 都是日本人,嗯——……

I'm sure, but I also think-- I mean, I wanna take the steel man argument here. I do think that it, this can turn ugly, right? Is it possible for some of these things to just veer into overt racism that isn't founded in anything else but a hatred of other people? Yeah, that could happen. But that risk does not negate the need to have a discussion about the makeup of your country and what your immigration policy should be like. And I-- what I also find so funny is, especially in Europe, it's so kind of myopic that this discussion about whether Europeans should have a right to self-determination about what their countries look like, that standard seems to only apply there. No one is trying to tell the Japanese, "Hey, you, you're too Japanese." Like whatever, it's 98%, I think, in Tokyo that's, um-- ...

移民与同化 Immigration and Assimilation

DHH

日本裔,对吧?比如,有没有人试图告诉日本人,如果东京的日本裔比例降到伦敦那种水平,比如 37%,东京会成为一个更好的国家?我觉得没有。所以,在我看来,有一种奇怪的近乎自我厌恶的情绪,Gad 称之为“自杀式共情”,这种情绪渗透在这些事情里,我至今还没完全想明白。比如,这到底从哪来的?为什么会这样?但不管怎样,我只是注意到,嘿,伦敦看起来不一样了。我更喜欢以前的伦敦,就像我会说我更喜欢我在哥本哈根长大的那个街区在 80 年代的样子。我完全理解你怎么能一下子跳五步,然后说:“好吧,那是种族主义。”而且我也不在乎了。这是一个公平的讨论。国家和人民有权制定移民政策,而这种认为我们不应该有任何边界,或者更糟的是,认为一切都是一张白纸,所有民族都一样,我们可以把人们从地球的一个地方带到另一个地方,然后一切都会顺顺利利地运转——这在经验上是不成立的。欧洲从 80 年代起就在做这个实验,结果并不好,现在欧洲有一股力量想要推翻这个实验,想要结束迄今为止的大规模移民。而我碰巧相信,大多数丹麦人和其他一些民族也相信:“你知道吗?是的,我们一直以来的做法行不通,我们必须做出一些改变。”而且我不认为这意味着零移民。再说一次,我自己就是移民。我认为美国总体来说从移民中获益巨大,但这就是那种障眼法。移民的效果很大程度上取决于移民的是谁。当一个国家接纳的移民是社会的净贡献者,并且在大多数情况下,他们同化了当地文化,那么这个国家就会受益。如果你来到丹麦,想成为一个丹麦人,你付出所有努力,为社会做贡献,我想大多数丹麦人会相当乐意以合理的数量接纳你。如果你来到丹麦,不想同化,对社会是净负担,生活在平行社会里,那么丹麦人说“呃,我们别这样了”也是公平的。

Ethnic Japanese, right? Like, is anyone trying to tell the Japanese that their Tokyo would be a much better country if it were down to London levels of ethnic Japanese, say 37%? I don't think so. So there's this weird almost self-loathing, in my opinion, I mean, Gad calls it suicidal empathy, that permeates this stuff to a degree that I still haven't fully unpacked. Like, where is this coming from? Why is it that way? But regardless, I just noticed, hey, London looks different. I preferred the old London, as I would say I preferred the neighborhood that I grew up in in Copenhagen, how it looked in the '80s. Like, I totally get how you can then jump five leaps and go like, 'Okay, well, that's racist.' And I also, I don't care anymore. Like, this is a fair discussion to have. Countries and peoples have a right to set an immigration policy, and this notion that we shouldn't have any borders or, even worse than that, it's all just a blank slate, that all peoples are just the same, and we can take people from one place of the earth and place them in another place on the earth and everything's just gonna work out hunky-dory. Empirically not true. Europe has been running that experiment since the '80s. It hasn't panned out well, and now there are forces in Europe who wanna undo that experiment, who want to end mass immigration as it's been run so far. And I happen to believe, and so do a majority of Danes and a bunch of other peoples, that, 'Do you know what? Yeah, it hasn't been working how we've been doing it. We gotta make some changes.' And I don't think that means, again, zero immigration. Again, I'm an immigrant. I think the US, generally speaking, has benefited tremendously from immigration, but that's the kind of sleight of hand. Immigration depends greatly on who immigrates. And a country benefits when the people who immigrate are net contributors to the society, and in most cases, that they assimilate with the local culture. If you come to Denmark and you wanna become a Dane, and you put in all the effort, and you contribute to society, I think most Danes would be quite happy to allow that in a reasonable number. If you come to Denmark and you don't wanna assimilate, and you are a net drain on society, and you live in a parallel society, it's also fair for Danes to say like, 'Uh, let's stop doing that.'

Host

有趣的是,我对美国的移民制度不太熟悉,但据我所知,基于 merit 的制度在这里并没有通过。

It's interesting that I'm not well-versed on the immigration system in the United States, but as far as I understand, merit-based systems have not passed here.

DHH

而且,美国文化非常不同。这一点是我在两个地方都长期生活过之后才充分体会到的。美国有一种“可选同化”的文化,对于从丹麦、乌克兰或其他地方来的人来说,更容易也更被宽容,他们来到美国,接受美国的价值观、规范和文化,然后就能被其他美国人视为美国人。这让我觉得好笑的是,当有人说“美国是个种族主义国家”时,我会想:“你去过别的地方吗?你知道其他国家是什么样吗?”如果你认为美国是种族主义最严重的国家,那你就是被误导了。我的意思是,我们在丹麦生活时就遇到了这个问题。我妻子是美国人,有斯堪的纳维亚血统,但已经在美国好几代了。非常难。非常难,作为一个金发蓝眼的女人,她付出了各种努力学语言、做所有事情,但融入丹麦文化仍然非常非常难。如果反过来,她是丹麦人搬到美国,就不会那么难。这是另一件事。我的意思是,在丹麦这样的国家生活,有一个有斯堪的纳维亚血统的美国妻子,她付出了所有努力,却仍然意识到,天哪,同化极其困难,即使你已经 97% 到位了。天哪,如果你来自一个完全陌生的文化和规范,那岂不是几乎不可能。当然,这正是我刚才引用的统计数据所证明的,文化差异越大、距离越远,成功的可能性就越低。

And then also, American culture is very different. This is a point I did not fully appreciate until living both places extensively. America has a culture of optional assimilation, where it is much easier and then much more condoned for someone coming from Denmark or Ukraine or wherever, come to America, buy into the American set of values and norms and culture, and then be able to be respected as Americans by other Americans. This is what's so funny to me when there's discussion like, 'America is such a racist country.' I'm like, 'Have you ever been anywhere? Do you know what other countries are like?' Like, if you think America is the most racist country, you are simply misinformed. I mean, we're dealing with that, with time we've spent in Denmark. My wife is American of Scandinavian heritage, but multiple generations in the US. Very difficult. Very difficult, as a blonde, blue-eyed woman who's put in all sorts of efforts of learning the language and doing everything, still very, very difficult to assimilate to Danish culture. In a way where if that had been the other way around and she had been Danish and moving to the US, it would not have been that difficult at all. And this was the other thing. I mean, living in a country like Denmark with an American wife who is of Scandinavian heritage and has put in all the effort, and still realizing, man, assimilation is incredibly difficult, even when you're 97% there all the way. Holy smokes, must it be almost impossible if you come from a completely foreign culture and foreign norms and the rest of it. And of course, that's what the stats I just quoted bear out, that the more dissimilar the culture is and the further it is, the less likely to be successful.

Host

表达这种立场是否让你失去了友谊或关系?

Has articulating that stance cost you friendships, relationships?

DHH

是的,但我想说,不仅仅是这个立场。更多的是 2020 年前后发生的巨大分歧,我认为很多政治断层线在那时真正裂开了。我的意思是,在美国,简而言之就是“你醒了吗?”显然,我有一群我以为关系很好多年的人,一旦政治断层线裂开,他们显然就不再是了。我觉得这很遗憾。而且我一直在努力理解这从何而来,部分原因是我自己多年来在几个话题上改变了看法,就像,有时候你只是随着时间改变主意。有时候你因为获得新信息而改变主意。你改变主意的原因和时机有很多种,我们不会都在同一时间改变,或者根本不改变。所以,让自己周围有,或者至少与那些在每个话题上都和你想法不同的人互动,我觉得这很健康。我的意思是,我偶尔和我哥哥讨论政治。我们在所有话题上并不完全一致,有时讨论会有点激烈,但之后也会冷静下来,我们意识到,好吧,我们在这个问题上不同意,但我们在很多其他事情上意见一致。我们欣赏很多相同的东西。实际上,当我们在 Basecamp 大吵一架时,我以一种全新的方式体会到了这一点——早先有一种规范,就是和陌生人甚至熟人,当然还有同事,谈论政治、宗教或金钱不是个好主意。如果你不总是把政治分歧互相摩擦,你更有可能与某人保持良好的工作关系。所以我实际上认为自由派和保守派应该一起工作。我认为如果部落之间完全分离,没有任何重叠或互动,国家会糟糕得多。而且我认为,如果你不总是专注于分歧,融合就容易得多。专注于你们共同喜欢的东西。我的意思是,这是我在科技界不幸疏远的一些人。我们有那么多共同点,比如对 Ruby 或其他东西的共同热爱,这难道不遗憾吗?

Yes, but not just that alone, I would say. It's more of the great divide that happened around 2020, where I think a lot of these political fault lines really opened up. And I mean, the shorthand in the US, I think, is were you woke or not? And clearly, I had a bunch of people that I thought I had good relations with for many years, who suddenly once that political fault line opened up, they were clearly just not anymore. And I think that's regrettable. And I think I've tried to put an effort into sort of both understanding where that comes from, in part because I've changed my mind on several of these topics over the years, and it was like, well, sometimes you just change your mind after time. Sometimes you change your mind after you get new information. There's all sorts of reasons and moments why you may change your mind, and we don't all change our mind on the same schedule or at all. So surrounding yourselves with, or at least interacting with, people that don't think like you on every topic, I think it's quite healthy. I mean, I occasionally discuss politics with my brother. I mean, we don't quite see eye to eye on all these topics, and sometimes the discussions can get a little heated, but then they'll also calm down and we realize, all right, okay, so we don't agree on this, and then we agree on a lot of other things. We appreciate a lot of the same things. Now, this was actually one of the things when we had our big blowup at Basecamp, I came to appreciate in a whole new way this earlier norm that talking politics or religion or money with strangers or even acquaintances, and certainly with colleagues, was just not a good idea. That you had a much higher likelihood of being able to carry a good working relationship with someone if you're not rubbing your political differences up against each other all the time. So I actually think liberals and conservatives should work together. I think the country would be much worse off if there's a complete separation between the tribes, and then there can't be any overlap or interaction. And I think that mingling is so much easier to do if you just don't focus on your differences all the time. Focus on what you like together. I mean, this is some of the people I've unfortunately drifted from in tech. We had so much in common, so much shared love for, say, Ruby or other things and, like, isn't that unfortunate?

Host

我希望生活在一个差异也很有趣、值得谈论的世界。

I would like to live in a world where the differences are very interesting to also talk about.

DHH

是的。

Yes.

Host

而且不要过于情绪化……

And not to be overly emotional...

DHH

没错。

Correct.

Host

……即使是关于根本性的分歧。

...even about radical differences.

拥抱差异与文明对话 Embracing Differences and Civil Discourse

DHH

因为在差异中,首先,那才是有趣的东西所在。

Because in the differences, first of all, that's where interesting stuff is.

Host

是的。

Yes.

DHH

而且,这也是你成长的方式。如果一个社会拥抱差异,并将它们汇聚成一个可以讨论的社区,那正是社会健康的标志。

And, but also, it's how you grow. It's a sign of health in a society if the differences are embraced and they are brought together into community where you can talk about it.

Host

对我来说,一个很好的例证是,我看过一段威廉·F·巴克利节目的片段。我记得节目叫《火力线》之类的。他请了一位黑豹党成员上节目。很明显,这两位先生的政治立场大相径庭。但他们却能把对话进行下去,我记得我看了 25 分钟。巴克利就是不停地问:“那你怎么看这个?你怎么看那个?”然后黑豹党成员就像你在 70 年代预期的那样回答。语气里没什么和解的味道。我当时就想,哇,这太罕见了。如果今天你看到那个节目,那肯定是一场争吵,互相扔指责。巴克利能和他强烈反对的人进行这样的对话,还能探索他们立场中所有的智识层面,并让他们对这些层面发表看法,这标志着一个我十分想回去的失落时代。

One of the great illustrations of that for me was when I watched a clip from William F. Buckley's show. I think it was called Firing Line or something like that. And he had a member of the Black Panthers on his panel. It was quite obvious that those two gentlemen did not share a lot of politics. They were able to carry a conversation for, I think I watched it, 25 minutes. And Buckley's just asking, like, "So what do you think about this? What do you think about this?" And like, the Black Panther would reply as you would expect the Black Panther to reply in the '70s. Like, there was not a lot of sort of conciliatory tones. And I just thought, like, wow, that is so rare. If you had seen that show today, it would've been a shouting match. It would've been just accusations being hurled back and forth. The fact that Buckley was able to just have these conversations with people he vehemently disagreed with and still explore all the intellectual facets of their standpoints and letting them speak to those facets, talks of a lost era that I'd very much like to get back to.

DHH

我的意思是,我一直很喜欢和信任的朋友谈论政治,他们能以不涉及生死存亡的方式来讨论这些话题。

I mean, I always actually loved talking politics with friends that I trusted could talk about these topics in a way where it didn't have to be existential.

Host

但在当今时代,这种对话越来越难得了。所以你刚才说的这些很重要,需要经常说出来,提醒人们一个我们都应努力追求的理想:能够有分歧,并且去谈论它们。因为政治很有趣。我已经习惯说我现在讨厌政治,但我真正的意思是,不管现在这个体系如何,总有一些话题,我们都知道你能说的那些话,会把你归入蓝营或红营,这制造的是戏剧冲突,而不是对话。

But there's something about the current era where that's harder and harder to come by. And so what you just articulated is important to say regularly to remind people of an ideal we should all strive for, to be able to have differences and talk, and talk about them. 'Cause like, politics is fun. Like I've gotten used to saying I hate politics at this point, but what I really mean is whatever the system that's currently happening, where there's certain topics, and I just we know all the phrases you can say, that somehow put you in a bin of blue or red, and that creates drama versus a conversation.

DHH

比如我可以,如果我不关注互联网,我能想出很多无害的、分析世界局势的言论,但这些言论会引发所有人说:“哦,那家伙是个左派混蛋,”或者你知道的,一个右翼法西斯。

Like I could, I could think of a lot of harmless, if I wasn't paying attention to the internet, I could think of a bunch of harmless statements I could make analyzing the situation in the world that would trigger everybody to say, "Oh, that guy's a leftist piece of shit," or a you know, a right-wing fascist.

Host

是的。

Yes.

DHH

然后客观地说,如果我不关注互联网,我会感到震惊,而且我确实震惊过。因为我没有深入关注互联网。但是,比如为了乌克兰战争,我做了大量阅读和准备,我震惊于我的某些言论会被解读成这样或那样,然后我因此遭到恶毒攻击。但那种攻击其实是在说:“嘿,你这个自以为可以自由行动和思考的混蛋,选个阵营,然后乖乖待在那个该死的阵营里。”

And then objectively, if I wasn't paying attention to the internet, I would be, and I have been shocked. 'Cause I haven't been paying attention to the internet deeply. Uh but reading and preparing a lot, for example, for, for the war in Ukraine, and I have been shocked how certain statements from me can come off as one way or the other, and I get viciously attacked for it. But what that attack is doing is it's saying, "Hey, you, asshole who thinks you could just move about and think freely, pick a bin and sit in that fucking bin."

Host

是的。

Yes.

DHH

穿上那件蓝衬衫或红衬衫。然后我意识到,事情反而会平静下来。如果你只是说“我是蓝营的人”或“我是红营的人”,系统就不会找你麻烦。

Put on that blue shirt or red shirt. And then actually what I've realized is things calm down. They don't, the system doesn't pick on you if you just say, "I'm a blue person," or, "I'm a red person."

Host

对。

Right.

DHH

但如果你只是好奇地探索世界、对世界进行推理,系统就会惩罚你。我讨厌这一点,因为我想回到巴克利和黑豹党成员的那种讨论。

But if you're just, like, curiously exploring the world and reasoning about the world, the system punishes you. And I hate that, 'cause I wanna get back to the Buckley and the Black Panther discussion.

Host

是的。

Yes.

DHH

你刚才说的只是观点。但从务实的角度看,我意识到除非我真的在乎某个问题,否则不要提政治。因为我意识到那是有代价的。他们会把你归入蓝营或红营。所以你必须更慎重地选择。

And you were just saying opinions. But then looking pragmatically at the situation, I have realized not to mention politics unless I really care about an issue. 'Cause I realize there's a cost. They'll, they'll put you in the blue bin or red bin. So you have to be more deliberate about choosing.

Host

是的。我也试着更注意这一点。当我确实选择发言时,通常是因为我深思熟虑过,我觉得“你知道吗?这值得。”我这么说,但我也经常发现自己有相反的想法,我关注某个人是因为他们的技术工作,然后我了解到了他们的政治立场。我经常想:“我真希望我不知道这个。”所以,如果我对别人有这种想法,然后又想“好吧,我偶尔会参与一些有争议的辩论”,那你必须接受那是有代价的。我确实认为你应该,而且更多人应该对此有所意识。再说一次,我们俩都在自相矛盾,但就像在说:“如果我们能在一个更自由、更开放的论坛上谈论政治,纯粹在智识上把想法翻来覆去,那该多好?”是的,那会很好。但在当前社交媒体等环境下,这可能吗?相当困难。

Yes. And I've tried to be more conscious of that, too. And then when I do choose to speak about it, it's usually because I have deliberated, and I think "You know what? This is worth it." Now, I say that, and then I also catch myself thinking the opposite all the time, that I follow some person or another for whatever their technical work, and then I learned or political standpoint. And I often do think, "I wish I didn't know that." So, it's hypocritical then to think that of other people and then go like, "Well, occasionally I will chime in on a debate that's controversial," and then you have to accept that there is a price to that. And I do think you should, and more people should, be somewhat conscious about that. And again, we're both contradicting ourselves here, but saying like, "Wouldn't it be nice if we could talk about politics in a more free and open forum and just intellectually turn ideas around?" Yes, it would. Is that currently possible in the climate of social media and so forth? It's quite difficult.

DHH

现在,其中一部分可能只是一个阶段,我们也许能度过那个阶段。

Now, some of it could simply also be a moment, and we could get past that moment.

Host

是啊。我希望如此。

Yeah. I hope so.

DHH

也许有办法回到巴克利和黑豹党成员的那种对话,即使在社交媒体上,也能让那些讨论不演变成我们经历过的那些恶毒的群体围攻和取消文化闹剧,对吧?我实际上认为我们现在比五年前更接近那个状态了。比如,2020 年那种部落主义和部落对异见者施加的制裁,比 2025 年要严重得多。至少在科技领域是这样。我知道,如果你在学术界,我是说,试着去哈佛的社会学系,提一些右翼观点。我觉得那不会有好结果,而且你不会很快恢复过来。但在科技界和许多其他商业领域,至少现在有可能持有与 2020 年共识不符的观点。这是肯定的。

Maybe there is a way to get back to Buckley's conversation with the Black Panthers, even on social media, in a way where those discussions don't lead to the sort of just vicious mob cancellation nonsense drives that we've had, right? I actually think we're closer there now than we were five years ago. Like, the tribalism and the sanctions those tribes were able to exact on heretics in 2020 was way greater than it was in 2025. Certainly within tech. Now, I know if you're in academia, I mean, try going into the sociology department at I don't know, Harvard and mention some right-wing ideas. I don't think it's gonna go over very well, and I don't think you're gonna recover from it quickly. But in tech and in many other business domains at least, it is now possible to have an opinion that does not square with what the consensus was in 2020. That's for sure.

Host

嗯,Rails 社区有些风波。其他地方也有些风波。这一切……结果如何?都还好吗?

Well, there's some drama in the Rails community. There's some drama elsewhere. Is it, is it all... How did that turn out? Is that all okay?

DHH

从某种意义上说,每一轮风波都在缩小。所以就像我们,在 2020 年前后,和其他社区一样,经历了一场超级风波的高峰感染。然后你会看到,每次新的爆发,规模都更小。那些在意识形态上执着于那种斗争的人,只会越来越少。在这一点上,我认为 X 发生的最好的事情之一,就是 Bluesky 和 Mastodon 出现了。因为它们就像是一个蜜罐,吸引了当时 X 和 Twitter 上最恶毒的那些人,对吧?他们聚集在一个不断缩小的回音室里,经历了一轮又一轮的纯洁性循环,每次都缩小,直到剩下的人不多了。现在留在那里的人,已经眼不见心不烦了。这并不是说 X 是什么完美之地,或者那里没有偶尔的“行刑队”,或者没有……但确实少了。

In the sense that every single round of drama shrinks. So it's like we've, we had this peak infection of mega drama around the same time every other community had a peak infection of drama around 2020. And then you just see, like, every time there's a new flare up, it's less. And the kind of people who are ideologically wedded to sort of that struggle just shrinks and shrinks and shrinks. And at this point, one of the best things that happened for X, in my opinion, was that Bluesky and Mastodon came around. Because it kind of was like this honeypot for just the most vicious individuals on X and Twitter at the time, right? Who just congregated here in an ever-shrinking echo chamber that just went through purity cycle after purity cycle and shrank every single time to the point that there were just not a lot left. And the people who are left now there, they're just out of sight, out of mind. And that's not to say that X is some sort of perfect place, or there aren't firing squads occasionally there, or there aren't... But there's less of it.

Twitter与X体验 Twitter vs. X Experience

DHH

比如,每次我被拉进 Mastodon,或者没被拉进去,只是在远处围观,看个帖子,Bluesky 或者别的什么,我都会想:“哦,天哪,这就是以前的 Twitter 啊。天啊。”而现在你真的可以上 X,就像我这样,我 90% 的互动都是关于酷炫的 Linux 东西、酷炫的技术东西。“看,我发现了一台新电脑。你能看到它有多快吗?”我可以和其他同样对电脑兴奋的人进行这些对话。然后剩下 10% 的内容,好吧,我会对一些有点争议的事情插几句,我们可以稍微讨论一下。然后我们就回去继续对电脑兴奋。算法其实非常擅长找到你会觉得有趣的东西,或者——我不该这么说——让你投入的东西。有时候它让人愤怒,但它确实让人投入,因此,显示性偏好是大多数人都想要一个“为你推荐”页面。他们不想要只有关注流的页面。

Like, every single time I've been pulled into a Mastodon, or not been pulled in, just spectated from afar, thread, a Bluesky or whatever, it was like, "Oh, shit yeah, this is what Twitter used to be like. Jesus." And now you can actually be on X, as I am, and, like, 90% of my engagement is about cool Linux stuff, cool technology stuff. "Look, I discovered a new computer. Can you see how fast it is?" And I can have those conversations with other people who are just also excited about computers. And then there's, like, 10% of it left that's like, all right, I'll chime in on something that's a little controversial, and we can have a little discussion there. And then we can just go back to being excited about computers. The algorithm is actually very good at finding stuff that you will find interesting, or s- I shouldn't say that, engaging. Sometimes it's enraging, but it is engaging, and therefore, revealed preference is that most people want a For You page. They don't want just a following feed.

Host

不,但他们就是沉迷于“为你推荐”页面,对吧?

No, but they're addicted to the For You page, right?

DHH

他们……是的,是的。确实如此。

They... Yes, yes. That's true.

Host

我觉得一个 LLM,比如,如果我们有一个强大的 LLM 来做个性化的信息流,它会做得好得多。问题是如何大规模地提供这种服务是极其困难的。

I think an LLM, like, if we had a strong LLM doing the feed that's personalized, it would do much better. The problem is how to deliver that at scale is extremely difficult.

DHH

嗯,问题是奖励函数是投入度。一旦奖励函数是投入度……投入度就会追随原始本能,然后就这样了。但我也不是想这么消极。对我来说,我知道我们都有自己的个性化算法,有时候会有点过头。但我想说,平均来看,在过去 10 年里,这是 X 最好的状态。我这么说是因为我关心很多技术讨论、很多 Linux 讨论,以及很多这类东西。现在能够以这种方式发生,而不会不断被那些想把它拖入政治讨论的人闯入……我觉得这真的很棒。我发现 X 确实是一个找到这些东西的好地方。当然,它也是一个找到其他东西的地方,而且我们都有自己的算法,所以你不能对 X 是什么或不是什么做出任何断言。你的信息流可能和我的完全不同,也和别人的完全不同,对吧?

Well, the problem is the reward function is engagement. And as soon as the reward function is engagement- ... engagement's gonna follow base instincts, and here we go. But I also don't wanna be so negative. To me, and I get we all have our own personalized algorithms, and sometimes it gets a little much. But I would say, on average, over the last 10 years, this is the best X has ever been. And I say that as someone who cares about a lot of technology talk, a lot of Linux talk, and a lot of that. That that's able to happen now in a way where it doesn't constantly get gatecrashed by people who wanna drag it into some political discussion- ... I find to be really awesome. I find actually X to be a great place to find that. Now, it's also a place to find other things, and we all have our own algorithms, so you can't make any declarative announcements about what X is or what it isn't. Your feed is probably totally different from my feed, and it's totally different from someone else's feed, right?

Host

是的,我对此无法评论,因为由于我采访各种各样的人,我的信息流可能只是——

Yeah, I can't comment on this because because of the nature of the fact that I interview a wide variety of people, my feed is probably just a-

DHH

这对你的信息流是好是坏,你必须让它正确吗?

Is it, is it good for your feed or is it bad for your feed that you have to have it right?

Host

很糟糕。很糟糕,因为我可以发“我在吃这个苹果。太好吃了。”然后一堆人会出现,“嗯,那是因为你是泽连斯基的托——”

It's bad. It's bad 'cause I could be like, "I'm eating this apple. It's so delicious." And then a bunch of people will show up, "Well, it's because you're a Zelensky shill-

DHH

是啊,没错。

Yeah, right.

Host

……或者你是普京的托,你个混蛋。”我就想,好吧。我还是回到——

... or you're a Putin shill, you piece of shit." It's like, all right. I'll just go back to the-

DHH

我的意思是,我偶尔也会遇到一点这种情况,你会想:“等等,什么?我们在说什么?你怎么……你为什么要这样出现?”这也是我为什么真的很喜欢播客的原因之一,因为我发现即使在长篇写作中,当我提出长篇论点时,人们会用他们脑海中为我设定的任何声音来听。这往往在论点之前就被预先设定了,就像,好吧,这家伙是个什么法西斯分子。然后他们听到那些话,用那些名字来读那些话。当他们看到或听到我呈现论点的实际语气时,他们可能不同意那些论点。我的意思是,他们中的很多人,当然,显然不同意。但要直接 dismiss 或恨一个人就难多了。至少我发现是这样,而且我得到的回应也是,人们会说:“嗯,我本来有某种看法,然后我在 Lex 的节目上听到你。那听起来其实合理多了。”

I mean, I occasionally have a little bit of that where you just go like, "Wait, what? What are we talking about? What are you... Why would you show up in this way?" This is one of the reasons why I actually really enjoy podcasts, because I have found that even in long-form writing, when I make long-form arguments, people hear it in whatever voice they have in their head for me. And that often gets pre-programmed in advance of the arguments, just like, well, this guy is a, whatever, fascist. And then they hear the words and they read the words in those names. When they see or hear the actual tone of how I'm presenting the arguments, they may not agree with those arguments. I mean, many of them, of course, obviously don't. But it's much harder to just dismiss or hate someone like that. At least that's what I've found, and that's the response that I've gotten, that people are like, "Well, I had a certain opinion and then I heard you on Lex. That actually sounded much more reasonable."

Host

但更重要的是,我希望人们能对他人采取这种态度,比如,假设他们是好人。

But even more than that, I would love it if people just exercise this kind of approach to other people of, like, assuming they're a good person.

DHH

是的。

Yes.

Host

然后,如果他们有你不同意的观点,他们是一个有观点的好人。你可以觉得他们蠢,没问题。就当他们迷路了。但要把他们当成好人。我觉得如果你这样想,你开始,有一个能获得投入度的东西就是贬低别人。

And then, and if they have an opinion you disagree with, they're a good person who has an opinion. You can maybe think they're stupid, fine. Just think they're lost. But think of them as a good person. I think if you think of, you start, there's, one of the things that gets engagement is kind of shitting on other people.

DHH

对。

Right.

Host

如果你只是以这种方式接近别人,你在寻找坏处,你总能在他们身上找到坏处。他们总有让人烦的地方。

And if you just approach other people as they're, you're looking for bad, you will always find bad in them. There's something annoying about them.

DHH

100%。

100%.

Host

如果你用那种方式看待别人,你不会从中学习,你的心会充满仇恨。你不会,这只是一个糟糕的生活方式和与世界互动的方式,而这也是互联网某种程度上鼓励的事情之一。所以,如果你能接近那些你真正不同意的人,就像,哦,我可能会从这个人身上学到东西。那个黑豹党的人,威廉·巴克利,我们可能讨厌他们,但就是爱他们。

And if you look at people in that way, you're not gonna learn from it, and you're gonna fill your heart with hate. You're not gonna, it's just a bad way to live and to interact with the world, and that is one of the things that the internet kind of encourages, so. It'd be nice if you just approach even people who you really disagree with, it's like, oh, I might learn something from this person. The Black Panther person, William Buckley, we might hate just love them.

DHH

所以这是个小缩影。有个人,西奥,我不知道你有没有关注他。

So microcosm of this. There's a guy, Theo, I don't know if you follow him.

Host

嗯,嗯,嗯。

Yeah, yeah, yeah.

DHH

嗯,我们因为停止使用 TypeScript 而有点小摩擦——

Um, we had a bit of a thing over the fact that we stopped using TypeScript-

Host

Yeah

DHH

……为一个项目,他不喜欢那样,对此和其他行为有意见。在那之后我想,真是个傻瓜。而且,你知道吗?我仍然认为那是个傻瓜举动,然后我也可以想,好吧,这家伙真的很喜欢 AI。他在尝试所有这些模型,我们可以分享一些兴奋,所以我昨天就开始关注他了。

... for a project, and he didn't like that and had opinions about that and other actions. And after that I thought like, what a bozo. And, and do you know what? I still think that was a bozo move, and then I can also think like, well, the dude's really into AI. He's trying all these models, and we can share some excitement about that, so I just started following him yesterday.

Host

太棒了。

Awesome.

DHH

我就想,你知道吗?我不必在所有事情上都同意你。呃,我甚至不必喜欢你做的或说的某些事情,或者其他什么。我反正可以关注你。所以如果我能回关西奥,那我觉得世界和平就有希望了。

I was like, do you know what? I don't have to agree with you on everything. Uh, I don't even have to like some of the things that you did or said or whatever. I can follow you anyway. So if I can follow back Theo, then I think there's room for world peace here.

Host

是的,他其实是个很好的例子。他非常固执己见,经常改变主意,可能会有点刻薄,但我认为他骨子里是个好人。

Yeah, he's actually a really good example. He's really opinionated, Changes his mind quite a bit, can get snarky, but I think he's a good person underneath.

DHH

不管怎样,我只是,你知道吗?当有一些人谈论我关心的事情时,我的信息流会更有趣,而且是的,我不必在所有事情上都同意你。我就是不同意。

And either way, I just, you know what? My feed is more interesting when there's some people talking about things that I care about and yeah, I don't have to agree with you on everything. I just don't.

长寿与焦虑 Longevity and Anxiety

Host

我觉得这很有趣,你提到你妻子说的一句话让你印象深刻,那就是男性对科技相关的极端长寿追求就像女性的厌食症,是焦虑和缺乏控制感的身体表现。这在一定程度上听起来很有道理。

This I found pretty funny, that you mentioned something your wife said that stuck with you, that all this tech- adjacent extreme longevity focus in men is like anorexia in women, a physical manifestation of anxiety and lack of control. That somehow rang true a little bit.

DHH

确实对很多人来说是这样。我觉得那条推文真的爆了,我不知道你有没有注意到,但布莱恩·约翰逊在帖子里插话了,我能理解布莱恩会把这看作是一种讽刺。而且我确实认为杰米在那次对话中可能想到了他,还有其他一些人。这也是一个例子,即使我不赞同布莱恩的使命,我想它的口号是“不要死”。我实际上确实想死。我不想永远这样。比如,我认为人类大约 90 到 100 岁的寿命听起来差不多。

It certainly did to a lot of people. I think that tweet really popped off, and I don't know if you noticed, but Bryan Johnson chimed in on the thread, and I could see how Bryan would read that as a bit of a jab. And I do think that Jamie was probably thinking of him amongst other people in that conversation. And it's also an example of where even though I'm not subscribing to Bryan's mission of, I think it's the slogan's don't die. I actually I do wanna die. I don't wanna do this forever. Like, I think the human li- lifespan of about 90 to 100 sounds about right.

拥抱有限性与Bryan的使命 Embracing finitude and Bryan's mission

DHH

我在拥抱生命的有限性。我们不必在这点上达成一致。事实上,对我来说,布莱恩是个有趣得多的人,因为我们不认同这一点,而布莱恩愿意为了那个使命,真的把自己的皮肤和身体的其他各种元素都押上,这真的很有意思。现在,我可以持这种观点,这真的很有趣。我很高兴布莱恩在追求他的这份热情,同时我也觉得我妻子的分析很有道理,确实似乎有一些潜在的,呃,我不知道,对……的恐惧。我昨天和杰米聊过这个,她说,或者说把它比作那些觉得自己活得不够的人的感觉。而他们也许活得不够的原因之一,就是现代社会现在是一个监控国家,不是由国家监控,而是由彼此监控。到处都是带摄像头的手机。每一次失态,甚至每一次开心的爆发或尴尬的瞬间,都极有可能被录下来,然后被分享到被嘲笑的地步,而人类在这种条件下的理性反应就是退缩,就是确保你不会像没人在看一样跳舞,因为——……他们可能正在拍你,让你在互联网上永远尴尬,所以也许你根本不该跳舞。因此,如果我们都退缩到几乎不活的地步,我们就会紧紧抓住想要永远活下去的念头。现在——……我是说,我确定这个论点并不适用于所有情况。我甚至不知道它是否适用于布莱恩或这里的任何其他人。但我认为这其中有道理,如果你觉得自己真的活过,你就会坦然接受“我活够了”的想法。而且,生命有终点并不是需要去对抗的事情。那么,有没有可能这一切都只是存在主义的事后合理化,如果明天有一颗长生不老药,我们都会吃下去?是的,有可能。有没有可能如果我们那样做了,社会反而会更糟?是的。有没有可能人类的寿命之所以是现在这个长度,是出于社会学原因,而不仅仅是生物学原因?是的。所以我认为这些都是有趣的问题,我只是觉得她的分析确实触及了某些东西。而且那次讨论后来也出现过。我是说,那条推文大概是一年前的。但就在最近,我们一直在谈论这些过度优化者。我看到克里斯·威廉森,Modern Wisdom 有个片段,他说:“是啊,好吧,也许我们确实有点过火了。”而触发点就是 Diary of a CEO,主持人说了类似“我喝了一杯酒,接下来三天都毁了”的话。对我来说,我是说,在他的情况下,我确定那是真的。比如,如果你很长时间没喝任何酒,然后只喝了一点点,我能理解它会产生影响。但其中也有某种东西,我想,对很多人来说,包括我自己,都触发了本能反应,我当时想:“妈的,我现在就该喝一杯酒,即使我通常不喝。”事实上,我认为酒精问题是一个很好的缩影,值得深入探讨。所以我们显然都不喝酒了,比如酒精销量大幅下降——……尤其是在年轻人中。然后一方面,从纯粹的健康指标来看,随便吧,我们可以说:“哦哇,这不是很好吗?”然后我会说:“是啊,我不太确定。”比如酒精能提供的社交润滑剂可能会被怀念,确实被怀念了。我是说,我们正处于孤独、痛苦、抑郁等等的绝对流行病中,其中相当一部分可能只是因为你没有和他人充分互动。现在,这还没谈到伴侣关系,对吧?比如大幅下降,人们很难找到配偶。而且——……其中很多已经转移到了应用程序上,这些应用带来了各种负面结果和后果,对吧?比如也许我们会回头看,或者也许我们已经回头看,然后想:“呃,你知道吗?也许偶尔喝醉一次并不是世界上最糟糕的事。”无论是否喝醉,也许只是在周五或周六外出时喝上几杯,是帮助社会走到今天的一部分。也许人类几千年来,比如 13000 年来,一直在喝酒,是为了修补关系,这有社会目的,而我们却搬起石头砸自己的脚,拔掉了切斯特顿的围栏,对吧?

I'm embracing the finitude of life. We don't have to agree on that. In fact, Bryan is a vastly more interesting human to me because we don't agree with that, and Bryan's willingness to literally put his own skin and all sorts of other body elements in the game for that mission is really interesting. Now, I can have that view, this is really interesting. I'm glad Bryan is pursuing this passion of his, and then also find my wife's analysis to ring true, that it does seem like there is some underlying, uh, I don't know, fear of... I was talking to Jamie yesterday about this, and she was saying, Or comparing it to this sense of people who didn't feel like they had lived enough. And one of the reasons perhaps that they hadn't lived enough was that modern society now is a surveillance state, not by the state actually, but by each other. There are camera phones everywhere. Every indiscretion or even outburst of fun or cringe is highly likely to be recorded and then shared to the point of ridicule, and what is the rational reaction for humans under those conditions is to pull back, is to make sure you don't dance like nobody's watching because- ... they're probably filming you to your great and eternal embarrassment on the internet, so maybe you just shouldn't dance at all. And therefore, if we've all retracted to the point that we're barely living, we're clinging on to wanting it to last forever. Now- ... I mean, I'm sure that thesis does not apply in all circumstances. I don't even know if it applies to Bryan or, or anyone else here. But I think there's something to this, that if you feel like you've really lived, you're okay thinking I've lived enough. And that the, it having an end is not something to be fought. Now, is it also possible that this is all just existential post-rationalization, and if tomorrow there was a live forever pill, we'd all take it? Yeah, that's possible. Is it also possible that if we did that, society be, would be worse off? Yes. Is it possible that the human lifespan is the length it is for sociological reasons, not just biological reasons? Yes. So I think these are just all interesting questions, and I just thought her analysis really got to something here. And that discussion has come up afterwards. I mean, that, I think that tweet is like a year old. But just recently, we've been talking about this over-optimizers. I saw, uh, Chris Williamson, Modern Wisdom had a bit where he was like, "Yeah, okay, maybe we did go a little overboard." And the triggering thing was the Diary of a CEO, where the host was saying something to the effect of, "I had a glass of wine and the next three days were ruined." And that to me, I mean, in his circumstance, I'm sure that's true. Like, if you have not drank any alcohol for a very long time and you have just a little, I could see how it can have effect. But also there's something in that that just triggered a visceral reaction, I think, for a lot of people, and myself included, where I was like, "Fuck, man, I should have a glass of wine just right now, even though I don't usually drink." And in fact I think the alcohol question is a good microcosm to zoom in on. So we've all stopped drinking apparently, like alcohol sales are way down- ... certainly amongst young people. And then on the one hand, on the pure health metrics, whatever, we can go like, "Oh wow, isn't that great?" And then I go like, "Yeah, I'm not so sure it is." Like the social lubricant that alcohol can provide may be missed, is missed. I mean, we are in an absolute epidemic of loneliness and misery and depression and whatever, and a fair amount of it just probably comes because you're not interacting enough with other people. Now, that's before we even talk about coupling, right? Like way down, people having a very hard time meeting a spouse. And- ... a lot of that has moved over to apps that have all sorts of negative outcomes and consequences, right? Like maybe we will look back, or maybe we already are looking back and thinking like, "Eh, do you know what? Maybe getting wasted every once in a while was not the worst thing in the world." And whether wasted or not, maybe just having a couple of drinks every Friday or Saturday when you're out and about was part of what helped society get to where it is. Maybe the fact that humans have literally been drinking for whatever it is, like 13,000 years for mending things, had a social purpose, and we pull out Chesterton's fence of our own chagrin, right?

Host

正如你提到的,本着那种精神,所以当我穿越中国农村时,我二十出头确实抽了一点烟,但我只是为了那次旅行才捡起来的——

As you mentioned, in the spirit of that, so when I traveled across rural China, I did smoke a little bit in my early 20s, but I picked up just for that trip-

DHH

一种社交连接器,对吧?

A social connector, right?

Host

而且我喝了巨量的酒,尽管我现在不怎么喝,因为社交的原因。这是他们表达爱的方式。我还吃了大量的碳水化合物,这——……我通常低碳水。我只是喜欢肉。所以只是因为这是他们表达爱的方式。而且实际上,在那个社会里是香烟,但在大多数社会里,酒是一起喝的东西。这是一种纽带。它所蕴含的好处,在很多情况下,可以超过负面后果,比如长期的,不管你怎么衡量。

And I drank humongous amounts, even though I don't really drink these days, because of the social thing. It's the way they show love. And I also ate a shitload of carbs, which- ... I'm usually low carb. I just like meat. So just because it's the way they show love. And actually even, it's in that society cigarettes, but in most societies, liquor is a thing to do together. And it's a bond. It doesn't, the benefits that that entails can, in many situations, outweigh the negative consequences like long-term for whatever, however you measure them.

DHH

这就是现代性的短视,我们把事情简化成,好吧,这项长期研究中一杯酒意味着你患某种心脏缺陷的风险增加 0.1%。是的,但如果你根本没活过,那有什么意义?再说,也容易翻到另一边。比如唯一的生活方式就是每个周末喝醉,吃一堆垃圾食品,每天抽 40 支烟。不,不是这样。它不一定是非此即彼。这就是我停止佩戴 Oura Ring 的原因之一。所以我戴了 Oura 睡眠戒指很多年,四年。有一天我就想:“我不需要知道我——”……“睡得很糟。”我知道。这增加了,我不想称之为焦虑,我没有很多焦虑,但这增加了就像提醒——……我睡得很糟,它在这里到底起什么作用?为什么我需要所有这些统计数据?为什么我需要优化一切?以至于,再说,在那一个轶事之后,你知道,来自 Diary of a CEO,我想:“妈的,我有点想要相反的东西。”就像——我几乎完全不喝酒。也许一个月一杯酒。就像,你知道吗?我应该开始,呃,就在周末,喝一杯。也许两杯。而且,我是说,我从来不是那种为饮食烦恼的人。嗯,这是嫁给某人的巨大特权之一,我在这里快速插一句。永远不要称一个 40 多岁的女人为“好女人”。我妻子非常生气——……不仅去年我在她生日时来了,那已经够糟了,而且我在节目上称她为“好女人”,因为那听起来像她的名字是南希,65 岁——……在罗切斯特郊区。所以我想,我试图扮演那个 50 岁的人。

And this is the myopia of modernity, that we reduce things down to like, well, one glass on this long run study meant that you had a 0.1% greater risk of some heart defect. Yes, but if you didn't live at all, what's the point? And again, it's also easy to flip over the other side. Like the only way to live is to get drunk every weekend and eat a bunch of crap and smoke 40 cigarettes a day. No, it's not. Like it doesn't have to be the either/or. This is one of the reasons I stopped wearing my Oura Ring. So I wore the Oura sleep ring for many years, four years. And one day I was just like, "I don't need to know that I had-" ... "a bad night of sleep." Like I know. This added, I don't wanna call it an anxiety, I don't have a lot of anxiety, but this added just like reminder- ... that I had a bad night of sleep, what purpose is it actually playing here? Why do I need to have all these stats? Why do I need to optimize everything? To the point where, again, after that single anecdote, you know, from Diary of a CEO, I was like, "Fuck, I kind of want the opposite." Like- I barely drink at all. A glass of wine once a month maybe. Like, do you know what? I should start, uh, just on the weekends, get a glass. Maybe two. And also, I mean, I've never been the person to fret about my diet. Um, this is one of the great privileges of being married to, and I'll do a quick aside here. Don't ever call a woman in her 40s a wonderful woman. My wife was so pissed— ... that not only last year did I come on her birthday, that was bad enough, but that I called her a wonderful woman on the show, because that sounded like her name was Nancy and she was 65— ... in the suburb of Rochester. So I'm like, I was trying to play the 50.

婚姻与分工 On Marriage and Division of Labor

DHH

比如,不,我不知道,我是丹麦人。我怎么会知道?但那样说不太合适。所以我改口说“了不起的女人”。如果你娶了一个了不起的女人,她不仅会做饭,而且享受做饭,你知道吗?这里有一种非常传统的分工,在人类社会里已经稳定存在了几万年,也许这也不是世界上最糟糕的主意。我也知道有很多男人喜欢做饭,也有女人不喜欢。但就刻板印象而言,嗯,那确实帮了我。我觉得如果我不是定期吃得相对健康,我不可能对食物这么放松。但总体重点是,摆脱那种优化游戏,但不要走向反面。你也不必成为沙发上那个胖懒虫。你可以活动活动。

Like, no, I don't know, I'm Danish. How would I know? But that didn't go over well. So I'm gonna say awesome woman instead. If you marry an awesome woman who also not only knows how to cook, but enjoys it, do you know what? There's a very traditional division of labor here that has been quite stable through several... tens of thousands of years in human societies, that perhaps also wasn't the worst idea in the world. And I also know there are plenty of men who like to cook, and there are women who don't. But as stereotypes go, eh, that certainly helped me. Like, I don't think I would've been able to just be as relaxed about food if I didn't eat relatively healthy on a regular basis. But the overall point being, just getting out of that optimization game without turning into the opposite. You don't have to be a fat slob on the couch either. You can move around.

Host

嗯。

Yeah.

Omarchy中的死亡提醒 Memento Mori in Omarchy

DHH

然后我们谈到的更大的点是生命的有限性。

And then the bigger point we're talking about is the finiteness of life.

Host

是的。

Yes.

DHH

在这一点上我同意你。

And I agree with you on this.

Host

这其实是一个功能,我把它做进了 Omarchy。所以“记住你会死”。如果你下拉 Omarchy 里的日历,你点击时钟就能打开它。它打开后,第一件有趣的事,我从网上拿来的。有个叫“年度进度”的账号,它每天更新,只显示“2026 年已完成 63%”。不知道你见过没有。它就这样填满。所以我把它做进了日历。所以现在它显示“2026 年已完成 63%”。但如果你双击它,它会问你:“你什么时候出生?你预期活多久?”默认是 90。所以我填了 1979。然后在“今年已完成多少”那行下面——

This was actually a feature, I built it into Omarchy. So memento mori. Remember death. If you pull down the calendar in Omarchy, you open it by clicking the clock. It opens up, and the first funny thing, I took it off the internet. There's this account called Year's Progress, and it, every day it updates, and it just shows 63% done with 2026. I don't know if you've seen that one. So it just fills up. So I built that into the calendar. So right now it says, "We're 63% done with 2026." But then if you double-click that, it'll ask you, "When were you born? How long do you expect to live?" And the default is 90. So I put in 1979. And then right below the line of, like, how long are we done with the year-

Host

哦,那太美了。

Oh, that's beautiful.

DHH

……有一行新的,显示你的人生已完成多少。我想我现在是 62%。如果你悬停在那里,它会显示“记住你会死”。

... is a new line that shows how long are you done with your life. I think I'm at 62%. I'm like, if you hover over it, it says, "Memento mori."

Host

那太美了。

That's beautiful.

DHH

相当多的人觉得这很病态,但这就是为什么它是个彩蛋。它不是暴露在外的。你得点几下才能到那里。我喜欢这个提醒。我喜欢提醒自己时间是有限的,我应该充分利用它。这也是有孩子的好处之一。你真的意识到那些陈词滥调都是真的。天哪,时间过得太快了。我记得我现在 13 岁的孩子一岁、两岁的样子。我当时想,“这就像昨天。”而它成为陈词滥调的原因是因为它是一种共同的体验。陈词滥调是好的。它们提醒你,你是人类体验的一部分,在你之前别人也经历过。

Fair number of people found it morbid, but this was why it is an Easter egg. It's not, like, exposed. You gotta click a few things to get there. I like the reminder. I like the reminder that time is finite, and I should make the most of it. And this is also one of the privileges of having children. You really realize that the cliches are all true. Oh my God, it goes so fast. And I remember my now 13-year-old being one, being two. I was like, "This was just yesterday." And the reason it's a cliche is because it's a shared experience. Cliches are good. They remind you that you are part of the human experience, and others have been here before you.

羊角面包之谜 The Croissant Mystery

Host

我得问一下,你提到了那个了不起的女人和好厨师。

I have to ask, you mentioned the amazing woman and great cook.

DHH

了不起。记住这一点很重要。不是“很棒”,是“了不起”。

Amazing. Very important to remember. Not wonderful, amazing.

Host

了不起。那么,有件事……你在推特上说了些关于牛角包的坏话。我看到了。所以丹麦的牛角包是不是更好?

Amazing. So there's this... You talked some shit about croissants or something. I saw this, this in a tweet. So is the Danish croissant somehow better?

DHH

实际上,丹麦的牛角包并不是特别好。在我看来,唯一能找到还不错的牛角包的地方,竟然是 7-Eleven,这对我来说很搞笑,因为在美国的 7-Eleven,至少芝加哥,是你去买思乐冰并且尽量避免被谋杀的地方。但在丹麦,7-Eleven 是一家非常高档、超级好的便利店,他们碰巧做出了不错的牛角包。而且我一直很困惑,我在美国住了整整 20 年,却从来没有吃过一个牛角包能比得上哥本哈根 7-Eleven 的水平。这看起来不太可能。

Actually, Danish croissants are not particularly good. In my opinion, the only place you can find a half-decent croissant, of all places, is 7-Eleven, which is hilarious to me because 7-Eleven in the US is the place where, at least in Chicago, you'd go to get a slushie and try to avoid getting murdered. But in Denmark, 7-Eleven is this very upscale, super nice convenience store, and they just happen to make decent croissants. And it always baffled me that I lived in the United States for 20 freaking years. I have yet to have a single croissant that's even at the level of a 7-Eleven croissant in Copenhagen. That seems improbable.

Host

你明白为什么了吗?

Have you understood why?

DHH

没有,我真的考虑过雇一个调查记者来查个水落石出,因为我听到的理论五花八门。是水的问题。是黄油的问题。是技巧的问题。是这个,那个,还有其他。我说,这些对我来说都说不通。如果是黄油,你不能直接进口吗?我好像在美国的一些超市看到过丹麦黄油,比如 Lurpak。所以那不可能是原因。是技巧吗?不,不可能是技巧。有很多法国人和比利时人,世界上最会做牛角包的人,住在美国。那到底为什么?然后我听到第二种说法——

No, I've legitimately considered hiring an investigative journalist to get to the bottom of this, because the number of theories I've heard have been all over the place. It's the water. It's the butter. It's the skill. It's the this, it's the that, it's the other thing. I'm like, none of it adds up to me. If it's the butter, can't you just import it? I thought I saw Danish butter in some supermarkets over here like Lurpak. So that can't be it. Can it be the skill? No, it can't be the skill. There are plenty of French people and Belgian people, the best croissant makers in the world, who live in the US. Like, what is the reason? And then I get the second thing, which is-

Host

……“不,不,你只是没去对地方。”

... "No, no, you just haven't gone to the right place."

DHH

我真的去过 15 家所谓的——

I've literally gone to 15 of quote unquote-

Host

……“对的地方”,结果所有牛角包都很烂。

... "the right place," and all the croissants were shit.

DHH

所以在我离开这个星球之前,我必须弄清楚为什么美国做不出一个像样的牛角包。而且我甚至不是在要求法国顶级牛角包、比利时顶级牛角包——

So before I leave the planet, I have to get to the bottom of why the United States cannot make a proper croissant. And I don't, I'm not even asking about peak French croissants, peak Belgian croissants-

Host

……那是世界上最好的牛角包。我只是在说哥本哈根 7-Eleven 的牛角包。这个要求过分吗?

... which are the best croissants in the world. I'm just asking about the 7-Eleven croissant from Copenhagen. Is that too much to ask for?

DHH

那真是个迷人的谜团。那么,放大来看,你最喜欢的……这让我想知道,你最喜欢的一餐是什么?比如,如果我给你一顿最后的晚餐,然后杀了你。

That's a fascinating mystery. What, zooming out, what's your, what's your favorite... This makes me want to know, what's your favorite meal? Like, if you, if I gave you a last meal and were to murder you after.

Host

那要看是午餐还是晚餐。如果是午餐,它——

It all depends whether it's lunch or it's dinner. If it's lunch, it-

DHH

就一顿饭。什么,什么……我觉得如果你要被谋杀,是午餐还是晚餐其实无所谓。

It's one meal. What's, what's... I feel like if you're getting murdered, it doesn't really matter if it's lunch or dinner.

Host

嗯,那取决于你什么时候被谋杀。

Well, depends on what time of day you're getting murdered.

DHH

哦,我明白了。

Oh, I see.

Host

如果是下午处决,我只能吃午餐。

If it's an afternoon execution, I only get lunch.

DHH

好吧。

Okay.

Host

如果我吃午餐,那就在路易斯安那,哥本哈根北部的博物馆。两天前我刚和杰米去过,我们经常去。博物馆很可爱。我们不是为了博物馆去的。我们是为了那个自助餐厅。这本身就听起来很疯狂。比如——

And if I get lunch, it's at Louisiana, the museum in north of Copenhagen. I was just there with Jamie two days ago, and we go there all the time. The museum is lovely. We don't go for the museum. We go for the cafeteria. That in itself sounds crazy. Like-

DHH

是的,确实。

Yeah, it does

Host

……你要开车半小时去一个自助餐厅。嗯,碰巧的是,那可能是我这辈子吃过的最好的午餐。那里的厨师好得令人难以置信,不仅食物很棒,更让我这个系统思考的大脑惊讶的是,我们在那里的时候,任何时候大概都有 200 人在等他们的食物。而我们的食物五分钟就送到了。他们的菜单很小,显然他们是大批量制作的,而且味道好得惊人。

... you're gonna, you're gonna drive half an hour to go to a cafeteria. Well, it just so happens to be, it is the best lunch I've probably ever had in my life. The chef there is just unbelievably good, and not only is the food amazing, what's even more amazing to my system thinking brain is that at any one time when we were up there, I think there were probably 200 people waiting for their food. And our food was delivered in five minutes. They have a small menu, and clearly they make it in bulk, and it's unbelievably delicious.

DHH

就只是博物馆里的一个自助餐厅?

Just a cafeteria at a museum?

Host

那是一个博物馆里的自助餐厅,碰巧有我一生中在任何地方吃过的最好的午餐。

It's a cafeteria at a museum that happens to have the best lunch I've ever had anywhere in my life.

DHH

我们说的是什么样的食物?什么样的午餐?

What kind of food are we talking about? What kind of lunch food?

Host

就是,北欧菜,所以它,它……有趣的是菜单,当我看到它时,我想,“你知道吗?如果我小时候看到这个菜单,我会说,‘我不在这里吃。’”就像,我不知道——

It's, like, Nordic cuisine, so it's, it's... A funny thing is the menu, when I look at it, I was like, "Do you know what? If I saw this menu- As a kid, I'd go like, 'I'm not eating here.'" It's like, I don't know-

DHH

这挺高级的。

This is pretty fancy

Host

……根茎类水果和——

... root free fruit and-

DHH

……和洋葱——

... and onions-

Host

……和各种健康的东西。听起来很恶心。然后你坐下来吃,天使都在歌唱。但更特别的是黄油。他们那里的打发的黄油,是世界上最好的黄油。

... and all sorts of healthy stuff. That sounds disgusting. And then you sit down and eat it, and the angels sing. But it's even more particular than that. It's the butter. The whipped butter that they have there, the best butter anywhere in the world.

DHH

我觉得那一定和牛角包之谜有关。

I think that has to be connected to the croissant mystery too.

Host

一定有某种联系。但真的——

There must be some connection. But literally-

路易斯安那的黄油 Butter at Louisiana

DHH

即使在巴黎,我也从没吃过比哥本哈根路易斯安那的黄油更美味的打发黄油。真的,我愿意开车 30 分钟去路易斯安那的食堂吃面包和黄油。

Even in Paris, I've never had whipped butter that tastes as delicious as the butter does at Louisiana in Copenhagen. Literally, I would drive 30 minutes to have bread and butter at the cafeteria in Louisiana.

Host

那你是怎么发现的?就是有一天你去了博物馆,然后……

Well, how'd you discover that? Just one day you went to the museum and...

DHH

我想我们就是去了博物馆……

I think we just went to the museum...

Host

然后你尝了一整道菜。

And you tried a whole dish.

DHH

……然后我们吃了午餐,我们就觉得……

...and we had the lunch, and we were like...

Host

这太奇怪了。

This is weird.

DHH

这简直可以和我这辈子去过的最好吃的餐厅相媲美。我去过 Noma 几次,尝过那里该尝的东西,而这里绝对不相上下。

This is rivaling the best tasting restaurants I've ever been to in my life, and I've gone to Noma a couple of times and tried what there is to try, and this is right up there.

最佳晚餐地点 Best dinner spot

Host

好吧。既然你提到了,那晚餐呢?是不是得想点别的?

All right. What about dinner, since you mentioned? Is it something different that you have to think...

DHH

嗯,我觉得哥本哈根有很多好选择,但我会选西班牙的一个地方。在马贝拉有个叫 Puente Romano 的地方,那是一家酒店,在海滩边有个海鲜餐厅,新鲜海鲜,好吃得难以置信。我记不清它叫什么名字了,但如果你查一下,Puente Romano 的海滩海鲜餐厅绝对棒极了。

Well, I think there's a lot of good options in Copenhagen, but actually I'll pick a place in Spain. So there is this place in Marbella called Puente Romano. It's a hotel, and down by the beach, they have this beach restaurant with fresh seafood. Unbelievably delicious. I'm trying to remember what it's called, but yeah, if you look it up, the beach seafood place at Puente Romano is incredible.

氛围在食物中的作用 Role of ambiance in food

Host

美食有多少取决于地点、和你在一起的人,对吧?或者你第一次去那里的体验?

How much of great food is, like, the place and the person you're with, right? Or the experience when you first are there?

DHH

我是说,氛围当然有帮助,但我觉得我的味蕾也……

I mean, the ambiance certainly helps, but I think my taste buds are also just...

Host

好吧,那……

Okay, that...

DHH

……对味道很敏感……

...in tune for...

Host

所以是货真价实的。

So it's legit.

DHH

……就是好吃。

...flavors... it is just good food.

Host

就是真的很好吃。

It's just really good food.

DHH

因为比如那个食堂,人很多。我不会说,天哪,这是个我想坐两小时的地方。但食物太好吃了。

Because for example, that cafeteria, there's a lot of people. I wouldn't rate it as, oh my God, this is just a place I want to sit for two hours. But the food is so delicious.

无偏采样 Sampling without bias

Host

这是我在周游全国时意识到的一件事,不带偏见地去品尝,就是去尝试。因为你可能会,我想你可能会感到惊喜。也许我会找到你的羊角面包。

That's one of the things I'm realizing in traveling across the country, to sample without bias, just try things. 'Cause you might, I guess you might just be surprised. Maybe I'll find your croissant.

人类未来 Future of humanity

Host

好了,我们谈过了死亡,谈过了食物。

All right, we've talked about mortality. Talked about food.

DHH

临终问题解决了。

Settled end of life.

Host

你觉得一千年后,人类的未来、人类文明的未来会怎样?你觉得我们能挺过去吗?

What do you think, a thousand years from now, what do you think is the future of humans, human civilization? You think we're gonna make it?

DHH

一千年后?天哪,我连 12 个月后都预测不了。

A thousand years from now? Man, I'm having trouble predicting 12 months from now.

Host

我知道。

I know.

DHH

一千年?

A thousand?

Host

你觉得我们有机会吗?

You think we got a shot?

DHH

哦,我要押注乐观。我要押注多行星物种。我要押注埃隆能把火箭送上火星,然后我们想办法弯曲时空,发现一些虫洞之类的。

Oh, I'm gonna bet on optimism. I'm gonna bet on a multi-planetary species. I'm gonna bet that Elon gets that rocket to Mars, and we figure out how to bend space-time and discover some wormholes or something.

人口再增长与黑镜 Repopulation and Black Mirror

Host

一旦我们做到了,你觉得地球上的人类会不会死一两次,然后在备份做好后重新繁衍?

Once we do, do you think all humans on Earth will die once or twice and be repopulated after we get a good backup going?

DHH

我是说,那其实是我最喜欢的《黑镜》剧集之一,就是他们被上传到 1980 年代某个海边小镇的那集。我当时就想,哇,这既是一个如此黑暗的时刻,却又在共同认识到 80 年代其实挺美好这一点上如此美丽。我对很多时刻没有太多怀旧,但我确实对 80 年代有怀旧。

I mean, that was actually one of my favorite episodes of Black Mirror, the one where they get uploaded to the 1980s sea town somewhere. And I just thought like, wow, this is both such a dark moment, yet also so beautiful in the shared recognition that, like, the '80s were actually kind of amazing. Like, I don't have a lot of nostalgia for many moments, but I do have nostalgia for the '80s.

Host

但是……

But...

DHH

而且他们说,无论你身处何时何地,你 12 岁或 14、15 岁时听的音乐,那会伴随你一生。比如,我在 80 年代才 10 岁。所以那是我童年早期,我对 80 年代仍然有一种难以置信的亲切感。所以如果我要被上传到云端……

And they say something about, like, whatever place and time you were in, the music you were listening to when you were 12 or 14, 15, something like that, that's what's gonna stick with you. Like, I got to be 10 in the '80s. So this was my early childhood, and I still have an unbelievably fond affiliation with the '80s. So if I'm gonna be uploaded to the sky...

Host

你想选 80 年代?

You want it to be the '80s?

DHH

……我选 80 年代。

...I'm doing the '80s.

Host

哇。我觉得我从来没听人这么说过。通常都是 70 年代或 90 年代。

Wow. I don't think I've actually ever heard anyone say that. Usually it's '70s or '90s.

DHH

哦,而且……

Oh, and the...

Host

因为 80 年代是个……

Because the '80s is a...

DHH

我真的很不喜欢 90 年代。我们能聊聊这个吗?

I really don't like the '90s. Can we talk about this?

Host

不,我说完了。没说完。

No, I'm done. Not done.

DHH

对我来说,那是虚无主义的重大转折点。音乐、流派、时尚……一切都从那种魅力、流行、乐观,甚至雅皮士什么的……转向了垃圾摇滚和涅槃乐队。尽管,我是说,我喜欢那些音乐,但我不喜欢那种伦理。我不喜欢那种道德。我不喜欢它的任何基础。它有一种失败主义……回想起来,如果我要重新插入矩阵,我会选 80 年代。

To me, this was the great turning point of nihilism. That both the music, the genre, the fashion... everything turned from, like, this glamour, the pop, the optimism, even the yuppies and everything... to grunge and Nirvana. And even though, I mean, I like the music, I don't like the ethics. I don't like the morals. I don't like any of the underpinnings to it. There was just such a defeatism to it... that in retrospect, I look back upon it, if I'm gonna get reinserted into the matrix, it's gonna be the '80s.

Host

那个时代充满了乐观和乐趣……

That was full of optimism and fun...

DHH

是的……

Yes...

Host

……和色彩。

...and colors.

DHH

是的。我记得我有那种橙色的裤子……上面有白点。那是 80 年代孩子能穿的普通东西。现在我再也没见过了。或者我是说,即使在 90 年代,一切都变成了西雅图灰。大倒退。

Yes. I remember having these orange pants... with, like, white dots on them. That was just a normal thing kids could wear in the '80s. I've never fucking seen that today. Or I mean, even in the '90s, it all turned just, like, Seattle gray. Great regression.

永恒轮回 Eternal recurrence

Host

所以尼采式的,你知道,永恒轮回的观念。如果你像《土拨鼠之日》那样永远活着,你想穿着橙色白点裤在 80 年代。

So the Nietzschean, you know, this idea of eternal recurrence. If you do a Groundhog Day and you live forever, you want it to be in the orange pants with the white dots in the '80s.

DHH

也许我会跳过橙色裤子,但是……

Maybe I'm gonna skip the orange pants, but...

Host

不……

No...

DHH

……我绝对选 80 年代。

...I'm definitely picking the '80s.

Host

这可是你说的。好了,DHH。非常感谢你所做的一切。感谢你激励了我们所有人,感谢你在世界上创造了很酷的东西,也感谢你今天来聊天。

You said it. All right, DHH. Thank you so much for everything you do. Thank you for being an inspiration to all of us, for building cool shit in the world, and thank you for talking today.

DHH

随时。再次感谢你,Lex,邀请我来。

Anytime. Thank you, Lex, again for having me.

结束语 Closing remarks

Host

是的。感谢收听本期与 DHH 的对话。要支持本播客,请查看描述中的赞助商,那里也有链接可以联系我、提问、反馈等等。现在,让我用拉尔夫·沃尔多·爱默生的一句话来结束。“一旦你做出决定,宇宙会合力助你实现。”感谢收听,希望下次再见。

Yeah. Thanks for listening to this conversation with DHH. To support this podcast, please check out our sponsors in the description, where you can also find links to contact me, ask questions, give feedback, and so on. And now, let me leave you with some words from Ralph Waldo Emerson. "Once you make a decision, the universe conspires to make it happen." Thank you for listening, and hope to see you next time.

互动版:逐字朗读 + 针对本期提问 →