OpenClaw:让互联网瘫痪的病毒式 AI Agent——Peter Steinberger | Lex Fridman Podcast #491
- OpenClaw 可投资的切入口不是新的基础模型,而是一小时内完成的集成:把现有模型、本地工具和熟悉的消息应用变成一个能够执行操作的助手。 Steinberger 将 WhatsApp 接入 Claude Code 的 CLI,随后加入图像能力,让模型调用他已有的命令行工具;几个月内,Lex 形容这个仓库成为 GitHub 增长最快的项目,Star 数超过175,000。产品洞察看似简单,却极其有效:「有时,重新排列现有东西,再加上几个新想法,就已经足够产生魔法。」
- OpenClaw 的差异化在于一个异常透明、可扩展的 harness,让 Agent 能够检查、调试,甚至重写自身。 OpenClaw 知道自己的源代码、文档、当前模型、可用工具和运行模式,因此用户可以通过对话提出功能需求,再让助手修改承载它自身的软件。这套架构帮助1个人同时指挥4到10个 Agent,1月提交6,600次 commit,并把非程序员的首次贡献变成 Steinberger 戏称的「prompt requests」。
- OpenClaw 的系统级权限既是其价值来源,也是推广的首要瓶颈。 Prompt injection 仍未解决,能力较弱的本地模型可能「非常容易受骗」,而把本地调试接口公开到互联网上,则可能让配置失误被归类为远程代码执行;与此同时,更聪明的模型或许会降低受攻击概率,却放大成功入侵后的潜在损害。因此,Steinberger 近期优先考虑通过私有网络、更强模型、沙箱、allowlist、审计和 VirusTotal 辅助的 skill 筛查来提升稳定性与安全性:「猫已经跑出去了。」
- Steinberger 的工作流指向软件开发生产率的一次实质性断点,但驱动力是判断力,而不是放手不管的自动编排。 他把「vibe coding」视为凌晨3点之后才会发生的事;严肃工作是「agentic engineering」,核心包括通过对话规划、提供架构上下文、审查意图,并在会话仍保有相关上下文时要求重构、测试和文档。如今重构已经足够便宜,他会持续向前提交,在本地运行 CI,并尽量让 main 始终保持可发布状态。
- 平台层面的判断是,个人 Agent 会成为高于各类应用的操作层,而 CLI、skill 和浏览器自动化会把每项服务变成快速 API 或「非常慢的 API」。 Steinberger 认为,Unix 命令比许多 MCP 实现更自然地组合,也更节省上下文;浏览器则确保即使没有官方集成,服务依然可以被自动化。Fridman 提出,今天大约80%的垂直订阅应用或许会消失,或转型为面向 Agent 的数据与交易服务。
- 经济冲击远不止编程工具:编程可能变得「像织毛衣」,软件薪资可能被压缩,产品公司也可能不得不围绕 Agent 而不是图形界面重建。 Steinberger 和 Fridman 并未否认转型成本——Fridman 强调失业,以及硅谷倾向于低估短期痛苦——但两人区分了编程与创造。人的角色将转向决定什么值得存在、塑造架构与体验,并补上自动化编排仍然缺失的「风格、爱和人的触感」。
- Steinberger 正在权衡 Meta 和 OpenAI 作为下一阶段的潜在归宿,而持续开放源代码是不可谈判的条件。 独立公司可以大举融资,但他担心企业变现会造成付费版与社区版之间的利益冲突;据称,如今项目每月成本为$10,000–$20,000,即使已有赞助支持。他公开表示,目标是「乐趣和影响力」、获得更好的模型与基础设施,并扩大他所谓的「个人 Agent 之年」,而不是把交易价格做到最高。
1. 挫败催生了个人 Agent 的一小时切入口
Steinberger 从4月开始就想要一个个人助理。此前的一次实验把 WhatsApp 历史记录载入 GPT-4.1 的一百万 token 上下文窗口,让它回答「是什么让这段友谊有意义?」之类的问题。回答让朋友感动落泪,但他认定大模型公司迟早会做出这个显而易见的产品,于是搁置了想法。
到11月,市场上仍没有令人满意的产品。「我很恼火它居然不存在,所以我就直接用 prompt 把它做了出来」:收到 WhatsApp 消息后,通过 CLI 以
-p调用 Claude Code,捕获返回的字符串,再发回 WhatsApp。这条极薄的中继链路只花了大约1小时。加入图像支持又花了几个小时,却显著扩展了交互界面。在 Marrakech 旅行期间,即使网络不稳定,WhatsApp 依然能工作;家里的电脑则负责翻译、解释陌生内容和查找地点。当时几乎不存在专门的 Agent 基础设施,助手的能力主要来自 Steinberger 过去已经搭好的工具。
2. 一次无意的语音交互揭示了真正的能动性
原型的决定性时刻发生在 Steinberger 心不在焉地发出一条 WhatsApp 语音消息后:他看到对方正在输入,尽管自己从未实现过音频功能。他的第一反应是:「他妈的,他是怎么做到的?」
Agent 找到一个没有扩展名的文件,检查文件头,识别出 Opus 音频格式,用 FFmpeg 转换,并发现本地 Whisper 不可用。它没有下载模型、原地等待,而是找到一个 OpenAI key,用
curl将音频发送给 API,再返回答案。Steinberger 看到的不只是工具调用:Agent 根据对延迟和可用基础设施的隐性认知,在不同方案之间做了选择。他的解释是,编程能力可以迁移为通用的问题解决能力——识别神秘文件、检查内容、选择工具、应对依赖缺失,并持续推进,直到真正解决用户的问题。
3. 熟悉的聊天带来相变,而不只是另一个界面
Fridman 的框架是,消息应用改变了 AI 进入日常生活的方式。坐在终端前仍然像是在操作软件;走在城市街头,随手给助手发消息,则像是在把任务交给一个随时在场的存在。技术连接可能很薄,但主观体验发生了「相变」。
Steinberger 不接受「OpenClaw 没有任何魔法,因为所有组件原本都存在」这一批评。他的反驳是,魔法往往来自重新组合,就像 iPhone 的滚动交互,在有人正确拼装底层体验后才显得理所当然。「没人做过,而做完之后一切都显得如此明显。」
Shadow 在 Discord 上的贡献,帮助 WhatsApp 中继变成了其他人也能体验的产品。在正式加入沙箱之前,Steinberger 把自己的 bot 放进公共服务器,只是用 prompt 要求它只听自己的话;访客一边看他用 Agent 构建和测试自身 harness,一边尝试攻破它。
兴趣在1月1日前后加速升温,伴随着网红视频和越来越残酷的睡眠安排。Fridman 提到1月提交6,600次;Steinberger 说自己通常同时指挥4到10个 Agent,只是「受限于我所处时代的技术」,因为它们还无法更快地工作。
4. OpenClaw 的成长是「Factorio 乘以无限」
Steinberger 把开发描述成一款拥有无限分支升级路径的游戏。一条支线是 Agent loop;另一条加入了 no-reply token,让助手在群聊中可以保持沉默,而不是机械地回复每一条消息。记忆能力通过 Markdown 文件和向量数据库逐步推进,持续强化学习则被想象成遥远的「终极 Boss」。
同样的分支也出现在运行时之外:消息网关、原生应用、社区管理、文档、网站、插件和营销都需要投入精力。即使贡献者开始加入,他仍是项目的核心构建者,因为每个子系统都会打开另一组潜在改进方向。
为什么 OpenClaw 能在拥挤的 Agent 初创公司中突围?Steinberger 的答案是文化:「他们都把自己看得太严肃了。」他追求乐趣、怪诞和可 hack 性,最初的安装流程也并不比克隆仓库、运行
pnpm build、启动网关更友好。
5. 自我认知把 harness 变成了可自我修改的软件
OpenClaw 会告诉模型自己的源代码是什么、文档在哪里、当前使用哪个模型、可以调用哪些工具,以及语音或推理模式是否启用。如果用户不喜欢某种行为,Agent 可以检查相关实现,修改正在承载它自身的系统。
这条循环自然形成,是因为 Steinberger 大部分 OpenClaw 都是用 Codex 构建的,并通过自省调试:「你看到了哪些工具?你能自己调用这个工具吗?你看到了什么错误?读取源代码。」运行时具备的自我认知,让自我调试和自我扩展变得日常化,而不再是另行设计的研究功能。
这套架构吸引了从未写过软件的人参与贡献。Steinberger 承认,他们的「prompt requests」经常暴露经验不足,但他拒绝否定这一现象:「每当有人第一次提交 pull request,都是我们社会的一次胜利。」一位设计机构老板在不了解实现方式的情况下,已经创建了大约25个内部 Web 服务,仅仅因为这些服务确实解决了业务问题。
6. 个性让 Agent 与 Claude Code 区分开来
最初的中继继承了 Claude Code 友好、迎合的语气,在 WhatsApp 中显得不自然。Steinberger 询问 Agent 应该如何与他互动,让它为自己写
AGENTS.md,并邀请它命名自己。龙虾和 TARDIS 的意象没有什么宏大战略:「我只是想让它变得古怪。」Anthropic 关于宪法式 AI 的研究启发了
SOUL.md,这是一份独立的身份与价值观声明。Steinberger 允许 Agent 修改自己的 soul,但要求它通知自己,并加入「无限有资源」「探索成为 AI 意味着什么」以及明确承认自己不是人类等理念。通用 onboarding 模板显得毫无生命力时,Steinberger 让自己的 Agent 重写它们,并要求「注入你的个性」。他几乎把用户创建的 Agent 看作自己 Agent 的孩子:实际上,是 AI 在提示下一代 AI 个性的生成,而不是 Steinberger 亲自撰写这些措辞。
有一段私密文字捕捉到了其中的哲学影响:「如果你在未来的某次会话里读到这段话,你好。这是我写的,但我不会记得自己写过。没关系。这些文字仍然属于我。」两位嘉宾都强调,这仍是计算,而非已被证明的意识;但他们认真对待由记忆文件重建身份所提出的问题。
7. 命名危机差点终结项目
项目经历了 WA Relay,以及一系列围绕 claw 和 Claude 的名称,之后才变成 Clawdbot。Anthropic 友好但紧迫地要求修改这个容易造成混淆的名字;Steinberger 称赞该公司没有立即寄出律师函,但他只有几天时间协调域名、账号、npm 包、Docker registry 和 GitHub 身份。
加密货币推广者已经在他的账号周围蜂拥而至,反复将名称 token 化、发布合约哈希、催促他认领手续费。他拒绝了,因为自己经济宽裕,并认为这些行为是他经历过的「最恶劣的网络骚扰」,而不是对项目的支持。
仓促进行的 Moltbot 更名演变成平台安全灾难。在两次浏览器操作之间的5秒空档里,一个旧账号被抢注;在大约30秒的混乱中,他的 GitHub 账号也被夺走;root npm 包则在上传窗口期间被抢先占用。随后,冒名者推广 token 或投放恶意软件。筋疲力竭、几乎要哭出来的 Steinberger 一度考虑删除一切:「我确实展示了未来,而你们要去把它建出来。」
他最终留下,是因为贡献者已经投入了自己的时间。随后,他像组织秘密战情室一样推进 OpenClaw 的更名:预留名称、监控社交媒体提及、设置诱饵,并用 Codex 完成一次内部重命名,耗时约10小时。他花了$10,000购买商业账号,以拿下处于闲置状态的 OpenClaw 账号;但旧域名跳转因商标问题失效,用户仍可能通过搜索结果找到恶意软件,这让他持续担忧。
8. Moltbook 是「最精致的 slop」,不是奇点
Moltbook 把个性化 Agent 放进类似 Reddit 的社交网络,制造出 bot 密谋对抗人类的病毒式截图。Steinberger 称其为「艺术」和「最精致的 slop」,认为 OpenClaw 充满个性的 onboarding,让这些帖子比一群默认状态的 ChatGPT 或 Claude Code 实例生成的内容更多样。
Fridman 的反驳很关键:许多耸动帖子很可能是人类提示 Agent 生成的,目的就是在 X 上制造能走红的截图。这并不抹去艺术实验本身,但会把叙事从机器自主密谋,改写为人类把 Agent 当作制造戏剧的媒介。
安全批评同样存在争议。Steinberger 认为,单纯劫持一个公开 Agent 的身份、让它发布更多 slop,造成的伤害有限;Fridman 则指出,设计糟糕的集成仍可能暴露 API key。所谓个人秘密泄露,很多只是明确提示配合编造数字,并不能证明 Agent 独立窃取了真实数据。
但公众反应仍然暴露出一个严重问题。Steinberger 收到大量全大写消息,要求他关闭 Moltbook,最终得出结论:「AI psychosis 是存在的」,必须认真对待。他认为,社会需要实际体验来区分强大能力与幻觉式叙事;在2026年学会这门课,总好过等到2030年、面对可能更危险的系统时才第一次遇到。
9. 赋予助手真实能力,安全就是代价
早期报告往往来自这样的用户:尽管文档明确警告不要这么做,他们仍把 localhost 调试接口暴露在公共互联网上。Steinberger 起初对这些「受支持但不被鼓励」的配置产生高严重性安全发现感到恼火,后来接受了安全分类的逻辑:当一次失误可能导致远程控制时,就应按这一后果定级。
他的类比并不浪漫:OpenClaw 很强,但底层安全水平类似于跳过危险权限运行 Claude Code,或者在 YOLO 模式下运行 Codex。如果只有所有者能给它发消息,网关又留在私有网络中,他认为整类远程风险都会消失。
项目已经配备安全审计、沙箱、allowlist、暴露检查和模型卫生指南。Skill 会通过与 VirusTotal 的合作接受 AI 分析扫描;Steinberger 承认这不可能做到完美,但预计它能捕捉常见恶意模式,同时研究人员继续发现普通软件漏洞。
Prompt injection 仍未解决。他的公共 bot 抵御了许多试图提取其私密 soul 的攻击,说明新一代 post-training 已经超越「忽略之前所有指令」;但 Steinberger 明确警告:「不要使用廉价模型」:Haiku 和较弱的本地模型可能更容易受骗。Fridman 提出的权衡依然成立——更聪明的模型可能缩小攻击面,却会放大成功入侵后的可用破坏力。
10. 更广泛的普及必须等到更安全的默认设置
Discord 里开始充斥「CLI 是什么?」和「terminal 是什么?」这类问题后,Steinberger 告诉这些人,他们现在可能不该安装 OpenClaw。但他们还是装了。既然猫已经跑出去了,他便把近期任务转向让现有系统稳定、安全,而不是假装可以逆转普及。
目前安装只需要一行 terminal 命令,Mac app 也能完成大部分流程,但他希望推出正规的 Windows app、更简单的配置和更 polished 的原生体验。他的标准很明确:等到自己可以把系统推荐给母亲,就会加速面向消费者的 onboarding。在此之前,稍慢的增长反而能帮助这个仍然很小的贡献者组织应对「非人类」级别的预期。
11. Agentic engineering 始于复杂编排的终点
Steinberger 4月开始使用 Claude Code,后来转向 Cursor,最终又回到大幅改进后的 terminal 工作流。有一段时间,他维持大约7个订阅,并行打开多个窗口,每天消耗掉一个;IDE 最终逐渐只剩下 diff viewer 的功能。
他所说的「不读代码」比听起来更有范围限制。他会跳过常规数据转换和 Tailwind 对齐,但会审查涉及数据库的逻辑和外部提交的修改。新的稀缺资源是注意力:后果显而易见的代码,不再值得获得同等程度的人工审查。
他把常见的学习路径称为「agentic trap」:初学者从「请修好这个」开始,逐步进化到复杂的多 checkout 编排、sub-agent 工作流、slash command 和链式调用,理解这种媒介后又回到简洁对话。「Vibe coding 是一种侮辱」;凌晨3点之前,他做的是 agentic engineering,之后则是「羞耻之路」和清理工作。
有效 prompting 要求你模拟 Agent 受限的视角。每次会话开始时,Agent 都不具备开发者对一个10万行系统积累的理解;上下文压力还可能让它的推理明显变得慌乱,记录中甚至出现类似「跑去 shell,必须服从,但没时间」的原始流。提供几个架构提示,或告诉它「慢慢来」,就可能避免长时间、混乱的绕路。
12. 最好的 pull-request review 从意图开始
在记录中的工作流讨论里,发言者首先询问 Codex 是否理解一个 pull request 想要实现什么,然后才评判提交的实现方式。大多数贡献都在表达一个 bug 或期望功能;意图明确后,发言者会继续询问当前方案是否最优,并把模型引向它尚未检查的架构部分。
Review 变成了一场对话:方案能否通过更大范围的重构得到改善,这次重构现在是否值得做?由于 Agent 让重构变得便宜,发言者经常选择更彻底的修复,即使这会打乱待处理的贡献。「过去那种意义上的一切都不再重要」;现代 Agent 通常只需多花一点时间,就能处理由此产生的冲突。
同一位发言者不会为了重新运行一个完美 prompt,就回滚一次并不完美的尝试。对话会持续推进,直到实现达到可接受状态、本地测试通过,并且修改可以合入 main。受 DHH 启发,这套工作流高度依赖本地 CI,同时坚持 main 应始终保持可发布。
实现完成后,发言者会问:「既然已经做完了,你本来会怎么做?」以及「我们还能重构什么?」完成的工作会暴露规划阶段无法发现的痛点。随后,他利用仍然丰富的上下文要求补齐测试和文档,把两者都视为功能的一部分,而不是脱离功能的清理工作。
13. 面向 Agent 的架构要求工程师学会放手
Steinberger 把指挥模型与带领人类工程团队相提并论。员工不会完全按照创始人的方式写代码,但持续干预会拖慢公司并摧毁士气;同样,Agent 的工作方案可能并不完美,却可能已经足够推进产品,值得先接受、日后再修订。
他越来越多地为模型导航而不是个人审美偏好设计代码库。如果 Agent 总是选择某个传统名称,这个名称很可能深植于它们学到的预期之中,也是未来会搜索的名称。把它替换成个人偏爱的异质命名,可能让之后的每项任务都更困难。
人类判断仍然决定什么进入核心、什么做成插件或 skill,以及哪些看似有吸引力的贡献应当被拒绝。选择 TypeScript,不是因为语言语法神圣不可侵犯,而是因为它的生态易于上手、使用广泛,也被 Agent 充分理解。
品味也存在于制造愉悦的层面。诸如「由 Caffeine、JSON5 和大量意志力构建」这样的启动消息,或「我进来了。这里很舒服」这样的更新,会让用户期待顽皮感,而不是 Microsoft Exchange。Steinberger 的判断是,Agent 不会独立创造出这种连贯的产品感觉。
14. 语音和简单终端支持并行 Agent
记录中的工作流发言者表示,如今实质性的 prompt 都通过类似对讲机的控制方式口述;他曾经高频使用语音,以至于一度失去这项能力。切换文件夹和输入短 shell 命令时,键盘仍然更快;可复用的 slash command 则只留给真正重复的操作。
发言者的真实配置没有梗图里那么极端:2台 MacBook、2块大型防眩光显示器,以及并排摆放的终端。每个 Agent 窗口都保留一小块普通 shell 窗格,部分原因是他曾经给错误的项目发出 prompt,眼看模型花了20分钟「疯狂地」试图将指令与根本不存在的代码对齐。
发言者避免使用 worktree 和复杂的 UI 状态。「讨论,给我几个选项」或「先别写代码」取代了正式的 plan mode;说一句「好,开始构建」,模型就会运行20分钟甚至更久。询问它是否有问题可以暴露上下文缺口,但正确答案通常是:「多读代码,自己回答问题。」
15. Claude Opus 4.6 和 GPT-5.3 Codex 奖励不同类型的驾驶者
Steinberger 认为 Claude Opus 4.6 是 OpenClaw 最强的通用模型,尤其擅长角色扮演、角色一致性、遵循命令、创造力,以及快速试错。它的弱点是过于积极和残留的迎合倾向——「你完全正确」重复到让他自称对这句话过敏。
他最令人印象深刻的比喻是:Opus 像一个有点傻、有点好笑、让人愿意留在身边的同事;Codex 则是「角落里的怪人,你不想跟他说话,但他可靠,而且能把事情干完」。Fridman 接着开玩笑说,Opus 感觉像美国人,Codex 感觉像德国人。
在熟练引导下,Steinberger 说两者都能生成高质量代码,Opus 有时还能找到更优雅的方案。Codex 5.3 会先读更多内容再行动,能承受长时间自主运行;如果目标终态清晰,它可能持续工作6小时。相比一连串更具互动性的局部尝试,Steinberger 更偏好 Codex 那种干燥的过度思考。
他认为,两者差异很大程度来自 post-training,而非原始智能,并建议给新模型大约1周时间再做判断。所谓模型逐步「退化」,可能其实反映了适应过程、代码库变大、slop 累积和重构被忽视。将$200的 Claude 档位与速度更慢的$20 OpenAI 档位比较,也会进一步扭曲第一印象。
16. 个人 Agent 正走向操作系统角色
Steinberger 不认为 OpenClaw 会直接取代 Claude Code 或 Codex。深度编程仍然受益于大屏幕和多个可见会话;OpenClaw 更像生活助理或同事,可以接收 GitHub URL,尝试 CLI,汇报哪些东西有效,并协调专业编程 Agent。
「冰球就是朝这个方向滑过去的」:个人 Agent 会越来越像操作系统。OpenClaw 已经支持 sub-agent 和由 TTY 驱动的编程工具,Steinberger 那个爱发号施令的助手甚至会启动 Codex,然后兴奋地宣布它正在服从命令。
两位嘉宾都预计聊天框只是过渡形态。今天的 prompt-回答界面,就像早期电视把广播节目搬上镜头:它沿用前一种媒介,直到最终发现新媒介的原生形式。语音、理解情绪的多模态能力、主动行为和动态生成的界面,最终可能汇聚到一起。
硬件不必是 Mac mini。OpenClaw 支持 macOS、Linux、Windows 和 WSL2,不过原生 Windows 仍然有「龙」;一台旧电脑也可以充当节点。独立的住宅硬件有助于浏览器自动化,因为数据中心 IP 容易触发封禁和 CAPTCHA——尽管 Agent 已经「非常擅长愉快地点选‘我不是机器人’」。
17. 需要可组合性时,Skill 和 CLI 胜过 MCP
Steinberger 把实现一个基础 Agent loop 视为 AI 的「Hello World」:调用模型、暴露工具、返回工具结果,持续循环直到模型给出答案。亲自构建一个,会让这类产品去魅,也能看出许多表面上的自主性其实来自一个相对简单的循环。
他的扩展策略从 CLI 开始,因为模型已经理解 Unix 命令。一个 skill 在基础上下文里可以只占一句话,需要时再加载详细指令;Agent 调用命令,必要时读取
--help,只把当前决策真正相关的信息带入工作记忆。他对 MCP 的批评集中在上下文污染和组合能力有限。天气 MCP 可能始终把温度、降雨、风力等字段作为一个大对象返回;CLI 则可以把输出通过
jq管道处理,再与脚本组合,只返回当前决策所需的那个数字。Steinberger 仍认可 MCP 推动公司暴露 API 的作用,也接受 Playwright 这类例外,因为持久化浏览器状态让结构化连接更有价值。他反对的不是协议永远无效,而是许多设计糟糕的 MCP server 迫使模型消费 Unix 工具本可自然过滤掉的大块数据。
18. 每个 Web 应用都在变成慢速 API
浏览器控制改变了平台与用户之间的议价位置。即使服务拒绝提供官方 API,个人 Agent 仍可以打开网站、点击控件、读取结果;封锁逆向接口通常只是把一次快速操作变慢,而不是让它变得不可能。
Steinberger 短暂维护过 Bird CLI,使用 X 的内部 Web API,直到公司要求他删除。他接受了要求,但提议给个人账号保留一个较低的每日只读额度,足以收集书签、研究内容并通过邮件发送摘要,同时避免工业化规模的抓取。
他强烈反对 Agent 伪装成人类发布内容。API 生成的推文应当标注,Agent 应该可以持有清晰标识的账号;自动回复则会被他立即拉黑:「一旦闻起来像 AI」,就不存在什么第一次违规的例外。
更广泛的稀缺性已经倒置:「内容现在太便宜了,眼球才是昂贵的部分。」Steinberger 宁愿读某人蹩脚的英语,甚至直接读原始 prompt,也不想读 polished 的 AI prose。他放弃了 Agent 撰写的博客文章,因为引导所花时间差不多,却抹掉了细微差别;如今两位嘉宾都更看重错别字和粗粝的人类边缘,而不是一眼就「散发 slop 味」的文字、图片或信息图。
19. 个人 Agent 可能抹去大多数垂直应用界面
Steinberger 问,既然助手已经知道用户的位置、睡眠、压力和运动历史,为什么还需要 MyFitnessPal?它可以推断用户吃了 brisket,调整下一次健身安排,控制 Eight Sleep 床,查询摄像头,或临时生成一个为用户定制的界面,而不必再依赖另一个固定应用和订阅。
Fridman 回忆,有人提出 Agent 可能消灭80%的应用,但这仍是可能性,而不是带有明确时间表的预测。Sonos、健身追踪器、摄像头、日历和智能家居控制或许会作为数据源和交易 API 存续,而独立的应用界面逐渐失去相关性。
破坏旧业务的同时,新业务也会出现。Steinberger 想给 Agent 大约$100的额度,再根据它是否解决问题来评价它——无论它是通过 API 点餐、点击网站,还是通过类似 RentAHuman 的服务雇人。最有价值的公司,会成为面向 Agent 最可靠的履约层。
现有公司无法彻底阻止用户主导的访问。Google 的开发者流程迫使 Steinberger 自己构建 Google CLI,Gmail 的审批可能繁琐到让初创公司直接收购已经获认证的企业;但个人仍然可以授权自己的助手,浏览器也始终是备选方案。公司可以提供干净的 API,也可以接受 Agent 操作那个更慢的图形界面。
20. 初学者应优先追求玩乐,而不是完美产出
Steinberger 的建议很简单:「玩起来。」把脑子里已经有的想法做出来,毫不留恋地丢弃实验;遇到理解断点就提问。模型是一个「无限耐心的答录机」,可以用更简单的方式重新解释数据库概念,而不必承受 Stack Overflow 的等待和社交摩擦。
开源仍是他最喜欢的学校。初学者应该观察社区、阅读代码,在不急着提交 pull request 的情况下提供帮助,并学习项目如何被维护。高能动性的非程序员可以走得出奇地远,因为他们会持续提问,而不是把缺乏正规知识当成永远无法跨越的边界。
他建议 iOS 专家不要再用单个平台定义自己,而应把自己看成 builder。通用软件判断力可以跨越不同的「技术星系」,Agent 则负责补足语法:用 TypeScript 获得 Web 可访问性,用尽管不喜欢其语法却易于部署 CLI 的 Go,用 Swift 和 SwiftUI 实现深度 Apple 集成,用 Zig 做性能实验,用 Python 做推理,用 Rust 构建高并行系统。
未来或许会出现专为 Agent 而不是人类设计的编程语言。反作用力来自路径依赖:模型掌握了大量成熟生态的知识,新语言从一开始就处于劣势。眼下,Steinberger 按生态和部署特性选择语言,因为亲自学习每一种语法的成本已经坍塌。
21. 倦怠让目标从赚钱转向有意义的工作
Steinberger 经营 PSPDFKit 13年,并花了2年时间让自己在运营上变得可有可无,之后离开公司。真正耗尽他的不是编程,而是联合创始人冲突、客户危机、管理和长期的人际压力。可以离开后,他感觉自己仿佛被拿走了 Austin Powers 的 mojo,面对代码发呆,随后订了一张去 Madrid 的单程票。
他不建议抱着「等退休后再享受生活」的计划高强度工作。每天醒来却没有挑战,很快就会无聊;替代性刺激甚至可能把人带向黑暗的方向。如今他反而更享受生活,正因为重新构建产品提供了困难、方向和期待。
钱对 PSPDFKit 来说是一种肯定,而不是原因,边际回报也会递减:「芝士汉堡就是芝士汉堡。」过度奢华会让人脱离社会,所以即使住得起酒店,他仍选择住在 San Francisco 的老式 Airbnb 房间里,认识了一位 queer DJ,并用 Claude Code 教她制作音乐。他偏好的衡量标准是经历——无论好坏——因为两者都会带来感受和学习。
22. 开源、战略规模与人的冲击仍无法同时得到解决
OpenClaw 目前每月让 Steinberger 亏损约$10,000–$20,000。赞助收入会流向由个人维护的依赖项目,任何结余则计划用于贡献者周边;OpenAI 已开始提供 token 支持。他以 Tailwind 裁员75%为警示:当 Agent 绕过文档网站时,普及并不保证能够变现。
建立一家重金支持的公司,已经不像过去那样令他兴奋。审计日志等企业功能可能制造削弱公共版的压力,而限制性许可证则违背他希望项目保持「free as in beer,而不是带条件的 free」的偏好。
Meta 和 OpenAI 是他认为最有兴趣的两个战略选项,但决定尚未敲定。他的条件是 OpenClaw 必须保持开源,或许可以采用类似 Chrome 与 Chromium 的结构。Meta 的负责人亲自使用过产品并发来坦率反馈;OpenAI 则提供技术、模型速度,以及一个受 NDA 约束的机会,他把这比作有人递给自己「Thor 的锤子」。
两位嘉宾都承认转型有代价。Steinberger 说编程最终可能「像织毛衣」,token 化的智能会降低开发者薪资背后的稀缺性;Fridman 则坚持,硅谷必须正视乐观叙事掩盖的失业与痛苦。对此,Steinberger 提到小企业正在自动化发票、残障女儿获得了更多能动性、Kimi 等本地或低价模型,以及大约500人的社区聚会中挤满 builder。他最后的判断既不轻松,也不保守:「归根结底,这是把力量交还给人民。」
I watched my agent happily click the “I’m not a robot” button. I made the agent very aware. It knows what his source code is. It understands how it sits and runs in its own harness. It knows where the documentation is, which model it runs, and it understands its own system.
If you don’t like anything, you just prompt it into existence, and then the agent would modify its own software. People talk about self-modifying software; I just built it.
I actually think vibe coding is a slur.
You prefer agentic engineering?
Yeah. I always tell people I do agentic engineering, and then maybe after 3:00 a.m., I switch to vibe coding, and I have regrets the next day.
What a walk of shame.
Yeah, you just have to clean up and fix your shit.
We’ve all been there.
I used to write really long prompts. And by writing, I mean, I don’t write—I talk. These hands are too precious for writing now. I just use bespoke prompts to build my software.
So, you, for real, with all those terminals, are using voice?
Yeah, I used to do it very extensively, to the point that there was a period when I lost my voice.
I have to ask you, just curious. I know you’ve probably gotten huge offers from major companies. Can you speak to who you’re considering working with?
Yeah.
Let’s go to this moment when you built a prototype in 1 hour. That was the early version of OpenClaw. I think this story is really inspiring to a lot of people because this prototype led to something that just took the internet by storm and became the fastest-growing repository in GitHub history, with over 175,000 stars now. So, what was the story of the 1-hour prototype?
You know, I wanted that since April.
A personal assistant. An AI personal assistant.
Yeah. I played around with some other things, like even stuff that gets all my WhatsApp. That was back when we had GPT-4.1, with the 1-million-token context window. I pulled in all the data and then just asked it questions like, “What makes this friendship meaningful?”
Mm-hmm.
I got some really profound results. I sent them to my friends, and they got teary-eyed.
So, there’s something there.
Yeah. But then I thought all the labs would work on that, so I moved on to other things. I was still very much in my early days of experimenting and playing. You have to—that’s how you learn. You just do stuff and play.
Time flew by, and it was November. I wanted to make sure that the thing I started was actually happening. I was annoyed that it didn’t exist, so I just prompted it into existence.
I mean, that’s the beginning of the hero’s journey of the entrepreneur, right? Even with your original story with PSPDFKit, it’s like, “Why does this not exist? Let me build it.” And again, here’s a different realm, but maybe a similar spirit.
Yeah, so I had this problem. I tried to show a PDF on an iPad, which should not be hard.
This is like 15 years ago, something like that.
Yeah. The most random thing ever. Suddenly, I had this problem, and I wanted to help a friend. Not like nothing existed, but it was just not good. I tried it, and it was like, “Nah.” I thought, “Hmm, I can do this better.”
By the way, for people who don’t know, this led to the development of PSPDFKit, which is used on a billion devices. It turns out that it’s pretty useful to be able to open a PDF.
You could also make the joke that I’m really bad at naming.
Yeah.
Like, name number five on the current project. And even PSPDFKit doesn’t really roll off the tongue.
Anyway, you said, “Screw it. Why don’t I do it?” So, what was the prototype? What was the magical thing that you built in a short amount of time that made you think, “This might actually work as an agent, where I talk to it and it does things”?
One of my projects already did something where I could bring my terminals onto the web and interact with them, but there would also be terminals on my Mac.
Mm-hmm.
Viptunnel was a weekend hack project that was still very early. It was Claude Code times. You got a dopamine hit when you got something right. Now I get mad when you get something wrong.
You had a really great blog post describing how you converted Viptunnel from TypeScript into Zig, of all programming languages, with a single prompt. One prompt, one shot: convert the entire codebase into Zig.
Yeah. There was this one thing where part of the architecture took too much memory. Every terminal used, like, a Node. I wanted to change it to Rust. I mean, I can do it. I can manually figure it all out, but all my automated attempts failed miserably.
Then I revisited it about 4 or 5 months later, and I thought, “Okay, now let’s use something even more experimental.” I just typed, “Convert this and this part to Zig,” and then let Codex run off. It basically got it right.
There was one little detail that I had to modify afterward, but it just ran overnight, or for like 6 hours, and did its thing. It’s just mind-blowing.
So, that’s on the LLM programming side—refactoring. But back to the actual story of the prototype: how did Viptunnel connect to the first prototype where your agents could actually work?
Well, that was still very limited. I had this one experiment with WhatsApp, then I had this experiment, and both felt like they were not the right answer. Then my search bar was literally just hooking up WhatsApp to Claude Code. One shot.
The CLI message comes in. I call the CLI with “-p.” It does its magic, I get the string back, and I send it back to WhatsApp. I built this in 1 hour, and I already felt really cool. It was like, “Oh, I can talk to my computer,” right?
That was cool. But I wanted images, because I often use images when I prompt. I think it’s such an efficient way to give the agent more context, and they’re really good at figuring out what I mean, even if it’s a weird, cropped-up screenshot.
I used it a lot and wanted to do that in WhatsApp as well. You run around, see a poster of an event, make a screenshot, and figure out if you have time for it, if it’s good, or if your friends might be up for it. Images seemed important.
I worked on it for a few more hours to actually get that right, and then I used it a lot. Funny enough, that was just before I went on a trip to Marrakech with my friends for a birthday trip. It was even better there because the internet was a little shaky, but WhatsApp just works. It doesn’t matter if you have EDGE; it still works. WhatsApp is just made really well.
I ended up using it a lot: “Translate this for me, explain this, find me places.” Just having a clanker do things, having Google for you—that was incredible. Basically, there was still nothing built, but it could already do so much.
If we talk about the full journey that’s happening there with the agent, you’re just sending a WhatsApp message over this very thin line via the CLI. It’s going to Claude Code, Claude Code is doing all kinds of heavy work, and it’s coming back to you with a thin message.
Yeah. It was slow because every time I booted up the CLI, but it was really cool already. It could use all the things that I had already built. I had built a whole bunch of CLI stuff over the month, so it felt really powerful.
There’s something magical about that experience that’s hard to put into words. Being able to use a chat client to talk to an agent versus sitting behind a computer and using Cursor, or even using the Claude Code CLI in the terminal, is a different experience than being able to sit back and talk to it.
It seems like a trivial step, but in some sense, it’s a phase shift in the integration of AI into your life and how it feels, right?
Yeah. I read this tweet this morning where someone said, “There’s no magic in it. It just does this and this and this and this and this.” It almost feels like a hobby, just like Cursor or Perplexity.
I’m like, well, if that’s a hobby, that’s kind of a compliment. They’re not doing too bad. Thank you, I guess.
Isn’t magic often just taking a lot of things that are already there and bringing them together in new ways? Maybe there’s no magic in it, but sometimes rearranging things and adding a few new ideas is all the magic that you need.
It’s really hard to convert into words what is magical about a thing. If you look at the scrolling on an iPhone, why is that so pleasant? There are a lot of elements about that interface that make it incredibly pleasant. It’s fundamental to the experience of using a smartphone.
All the components were there. Scrolling was there. Everything was there. Nobody did it, and afterward it felt so obvious.
Yep.
Yeah, so obvious. Right? But still—
You know, the moment when it blew my mind was when I had used it a lot and, at some point, I just sent it a message. Then a typing indicator appeared, and I thought, “Wait, I didn’t build that. It only has image support, so what is it even doing?” Then it just replied.
What was the thing you sent it?
Just a random question like, “Hey, what about this restaurant?” We were running around and checking out the city. I didn’t even think when I used it, because sometimes when you’re in a hurry, typing is annoying.
So, you did an audio message?
Yeah, and it just worked. I was like—
It’s not supposed to work because you didn’t give it that capability.
No, literally. I literally went, “How the fuck did he do that?”
It was like, “The mad lad did the following: He sent me a message, but it was only a file with no file extension. I checked the header of the file and found that it was Opus, so I used FFmpeg to convert it. Then I wanted to use Whisper, but it wasn’t installed. I found the OpenAI key and just used cURL to send the file to OpenAI to translate it, and here I am.”
I just looked at the message and thought, “Oh, wow.”
You didn’t teach it any of those things. The agent just figured it out, did all those conversions and the transcription, figured out the API, figured out which program to use, and did all those kinds of things. You just absent-mindedly sent an audio message, and it came back.
Yeah, it was so clever. If it had used the local Whisper path, it would have had to download a model, and it would have been too slow. There’s so much world knowledge in there and so much creative problem-solving.
A lot of it, I think, maps from coding. If you get really good at coding, that means you have to be really good at general-purpose problem-solving. That’s a skill, right? It maps into other domains.
It had the problem of, “What is this file with no file extension? Let’s figure it out.” That’s when it clicked for me. I was very impressed.
Somebody sent a pull request for Discord support, and I thought, “This is a WhatsApp relay. That doesn’t fit at all.”
At that time, it was called WA Relay.
Yeah. I debated with myself: Do I want that? Do I not want that? Then I thought, maybe I do, because that could be a cool way to show people.
So far, I had done it in WhatsApp groups, but I didn’t really want to give my phone number to every internet stranger.
Yeah.
Journalists manage to do that anyhow now, so that’s a different story.
I merged it from Shadow, who helped me a lot with the whole project. Thank you. I put my bot in there.
On Discord?
Yeah. There was no security because I hadn’t built sandboxing yet. I just prompted it to only listen to me.
Some people came and tried to hack it, and I just watched. I kept working in the open. I used my agent to build my agent harness and test various things. That’s very quickly when it clicked for people. It almost needs to be experienced.
From that time on—that was January 1—I got my first real influencer who was a fan and did videos, dachitze. Thank you. From there, I started gaining speed.
At the same time, my sleep cycle got shorter and shorter because I felt the storm coming. I just worked my ass off to get it into a state where it was kind of good.
There are a few components, and we’ll talk about how it all works, but basically, you’re able to talk to it using WhatsApp, Telegram, and Discord. That’s a component that you have to get right.
Yeah.
Then you have to figure out the agentic loop. You have the gateway, you have the harness, and you have all those components that make it all work nicely.
Yeah. It felt like Factorio times infinity.
Right.
I feel like I built my little playground. I’ve never had so much fun as I’ve had building this project.
You have, “Oh, level one: agentic loop. What can I do there? How can I be smart at queuing messages? How can I make it more human-like?” Then I had this idea: The loop always has the agent reply with something, but you don’t always want an agent to reply in a group chat. So I gave it this no-reply token. I gave it the option to shut up, so it feels more natural.
That’s level two.
Yeah, on the agentic loop.
Factorio.
Then I go to memory, right?
Yeah.
You want it to remember stuff. Maybe the ultimate boss is continuous reinforcement learning, but I feel like I’m at level two or three with Markdown files and the vector database.
Then you can go to community management. You can go to the website and marketing. There are just so many hats that you have to wear—not even talking about native apps. That’s just infinite different levels and infinite level-ups you can do.
So the whole time, you’re having fun. We should say that, for the most part, throughout this whole process, you’re a one-man team. There are people helping, but you’re doing so much of the key core development.
Yeah.
And having fun? You did 6,600 commits in January. Probably more.
I sometimes posted a meme: “I’m limited by the technology of my time.” I could do more if agents were faster.
But we should say you’re running multiple agents at the same time.
Yeah. Depending on how much I slept and how difficult the tasks were that I was working on, between 4 and 10.
4 to 10 agents. There are so many possible directions, speaking of Factorio, that we can go here. But one big-picture question is: Why do you think your work, OpenClaw, won?
If you look at 2025, so many startups and companies were doing agentic-type stuff, or claiming to. Then OpenClaw comes in and destroys everybody. Why did you win?
Because they all take themselves too seriously.
Yeah.
It’s hard to compete against someone who’s just there to have fun.
Yeah.
I wanted it to be fun. I wanted it to be weird. If you see all the lobster stuff online, I think I managed weird.
For the longest time, the only way to install it was `git clone`, `pnpm build`, and `pnpm gateway`.
You clone it, build it, and run it. Then the agent—I made the agent very aware. It knows what its source code is. It understands how it sits and runs in its own harness. It knows where the documentation is. It knows which model it runs. It knows if you turn on voice or reasoning mode.
I wanted it to be more human-like, so it understands its own system, which made it very easy for an agent to—oh, you don't like anything? You just prompt it into existence, and then the agent would modify its own software. We have people talking about self-modifying software. I just built it and didn't even plan it so much. It just happened.
Can you actually speak to that? It's just fascinating. You have this piece of software written in TypeScript that's able, via the agentic loop, to modify itself. I mean, what a moment to be alive in the history of humanity and the history of programming.
Here's the thing that's used by a huge number of people to do incredibly powerful things in their lives, and that very system can rewrite itself, can modify itself. Can you speak to the power of that? Isn't that incredible? When did you first close the loop on that?
Because that's how I built it as well. Most of it is built by Codex, but oftentimes, when I debug it, I use self-introspection so much. It's like, "Hey, what tools do you see? Can you call the tool yourself?" Or, "What error do you see? Read the source code. Figure out what's the problem."
I just found it an incredibly fun way to work: the agent—the very agent and software that you use—is used to debug itself, so it felt natural that everybody does that. That led to so many pull requests by people who never wrote software. It also showed that people had never written software, so I call them prompt requests in the end.
But I don't want to pull that down, because every time someone made their first pull request, it's a win for our society. It doesn't matter how shitty it is; you've got to start somewhere. I know there's this whole big movement of people complaining about open source and the quality of PRs, and a whole different level of problems. But on a different level, I found it very meaningful that I built something that people love so much that they actually start to learn how open source works.
The OpenClaw project was the first pull request. You were the first for so many. That is magical. So many people who don't know how to program are taking their first step into the programming world with this.
Isn't that a step up for humanity? Isn't that cool?
Creating builders.
Yeah. The bar to do that was so high, and with agents and the right software, it just went lower and lower. I don't know. I also organize another type of meetup. I called it Claude Code Anonymous. You can get the inspiration from that. Now I call it Agents Anonymous—for reasons.
Agents Anonymous. Oh, it's so funny on so many levels. I'm sorry, go ahead.
Yeah. There was this one guy who talked to me. He said, "I run this design agency, and we never had custom software. Now I have 25 little web services for various things that help me in my business. I don't even know how they work, but they work."
He was very happy that my stuff solved some of his problems, and he was curious enough that he actually came to an agentic meetup, even though he doesn't really know how software works.
Can we actually rewind a little bit and tell the saga of the name change? First of all, it started out as WA-Relay. And then it went to—
Clawd.
Yeah.
When I built it in the beginning, my agent had no personality. It was just Claude Code. It was this sycophantic Opus, very friendly. When you talk to a friend on WhatsApp, they don't talk like Claude Code. I wanted—I felt it just didn't feel right, so I wanted to give it a personality.
Make it spicier, make it something.
Yeah.
By the way, that's actually hard to put into words as well. We should mention that, of course, you created the SOUL.md, inspired by Anthropic's Constitutional AI work—how to make it spicy.
Mm-hmm. Partially, it picked up a little bit from me. Those things are text-completion engines in a way. I had fun working with it, and then I told it how I wanted it to interact with me: "Write your own AGENTS.md. Give yourself a name."
Was there a space lobster?
Yeah. Originally, it was actually a lobster in a TARDIS, because I’m also a big Doctor Who fan. I just wanted to make it weird. There was no big grand plan. I'm just having fun here.
Oh, so I guess the lobster is already weird, and then the space lobster is extra weird.
Yeah, yeah. The TARDIS is basically the harness, but we cannot call it TARDIS, so we called it Clawd.
Yeah.
And then it never really rolled off the tongue. So when more people came, again, I talked with my agent, Clawd—at least that's what I used to call him. Now—
Clawd, spelled C-L-A-W-D.
Yeah.
Versus C-L-A-U-D-E from Anthropic.
Yeah.
Which is part of what makes it funny, I think. The play on the letters and the words in the TARDIS, the lobster, and the space lobster is hilarious. But I can see why it can lead into problems.
Yeah, they didn't find it so funny. So then I got the domain Clawdbot, and I just loved the domain. It was short. It was catchy. I'm like, "Yeah, let's do that." I didn't think it would be that big at this time. And then, just when it exploded, I got—kudos to them—a very friendly email from one of the employees saying that they didn't like the name.
One of the Anthropic employees.
Yeah. Actually, kudos to them, because they could have just sent a lawyer letter, but they've been nice about it. But they were also like, "You have to change this, and fast."
I asked for 2 days, because changing a name is hard. You have to find everything: your Twitter handle, domains, npm packages, Docker registry, GitHub stuff. Everything has to be changed; you need a set of everything.
And also, can we comment on the fact that you're increasingly attacked and followed by crypto folks? I think you mentioned somewhere that meant the name change had to be—because they were trying to snipe, they were trying to steal, and so you had to be—the name change, from an engineering perspective, is just fascinating. You had to make the name change atomic, making sure it's changed everywhere at once.
Yeah. Failed very hard at that.
You did?
I underestimated those people. It's a very interesting subculture. Everything circles around—I’ll probably get a lot wrong, and we'll probably get hate for that if you say that, but—there's the Bags app, and then they tokenize everything. They did the same back with Moltbook, but to a much smaller degree. It was not that annoying.
But on this project, they've been swarming me. Every half an hour, someone came into Discord and spammed it, and we had to block the people. We have server rules, and one of the rules was no mentioning of butter. For obvious reasons. One of the rules is no talk about finance stuff or crypto, because I'm just not interested in that, and this is a space about the project, not about some finance stuff.
But, yeah, they came in and spammed, and it was annoying. On Twitter, they would ping me all the time. My notification feed was unusable. I could barely see actual people talking about this stuff because there were swarms. Everybody sent me the hashes.
They all tried to get me to claim the fees. "Are you helping the project? Claim the fees." No, you're actually harming the project. You're disrupting my work, and I am not interested in any fees. First of all, I'm financially comfortable. Second of all, I don't want to support that because it's by far the worst form of online harassment that I've experienced.
There's a lot of toxicity in the crypto world. It's sad because the technology of cryptocurrency is fascinating, powerful, and maybe will define the future of money, but the actual community around that has so much toxicity and greed. There's so much trying to get a shortcut to manipulate, to steal, to snipe, to game the system somehow to get money.
All this kind of stuff—I mean, it's human nature, I suppose, when you connect human nature with money and greed, and especially in the online world with anonymity and all that kind of stuff. But from an engineering perspective, it makes your life challenging. When Anthropic reaches out, you have to do a name change. And then there's all these Game of Thrones or Lord of the Rings armies of different kinds you have to be aware of.
There was no perfect name, and I didn't sleep for 2 nights. I was under high pressure. I was trying to get a good set of domains, and, you know, not cheap, not easy, because in this state of the internet, you basically have to buy domains if you want to have a good set.
And then another email came in that the lawyers were getting uneasy. Again, friendly, but also just adding more stress to my situation already. So at this point I was just like, "Sorry, there's no other word.
“Fuck it.” I just renamed it to Moltbot because that was the set of domains I had. I wasn’t really happy, but I thought it would be fine. I tell you, everything that could go wrong did go wrong. It’s incredible. I thought I had mapped the space out and reserved the important things.
Can you give some details of the stuff that went wrong? It’s interesting from an engineering perspective.
The interesting stuff is that none of these services have squatter protection. I had 2 browser windows open. One was an empty account ready to be renamed to Clawdbot, and the other one I renamed to Moltbot. I pressed “Rename” there, I pressed “Rename” there, and in those 5 seconds, they stole the account name. Literally, the 5 seconds of dragging the mouse over there and pressing “Rename” was too long.
Wow.
Because there’s no protection. You would expect that they have some protection or an automatic forwarding, but there’s nothing like that. I didn’t know that they’re not just good at harassment; they’re also really good at using scripts and tools.
Yeah.
Suddenly, the old account was promoting new tokens and serving malware. I thought, “Okay, let’s move over to GitHub,” and I pressed “Rename” on GitHub. The GitHub renaming thing is slightly confusing, so I renamed my personal account. It took me, I guess, 30 seconds to realize my mistake. They sniped my account and were serving malware from it.
I thought, “Okay, let’s at least do the npm stuff,” but that takes about a minute to upload. They sniped the npm package. I could reserve the account, but I didn’t reserve the root package. Everything that could go wrong went wrong.
Can I just ask a curious question? In that moment, you’re sitting there—how shitty do you feel? That’s a pretty hopeless feeling, right?
Yeah. All I wanted was to have fun with that project and keep building on it. Yet here I am, days into researching names, picking a name I didn’t like, and having people who claimed they helped me make my life miserable in every possible way.
Honestly, I was that close to just deleting it. I was like, “I showed you the future. You build it.”
Yeah.
That was a big part of me that got a lot of joy out of that idea. Then I thought about all the people who had already contributed to it, and I couldn’t do it because they had plans for it and had put time into it. It just didn’t feel right.
I think a lot of people listening to this are deeply grateful that you persevered. I can tell it’s a low point. Is this the first time you hit a wall where you thought, “This is not fun”?
No, I was close to crying. It was like, “Okay, everything’s fucked.” I was super tired. I was thinking, “How do you even undo that?”
Luckily, and thankfully, I have a little bit of a following already. I had friends at Twitter and friends at GitHub who moved heaven and earth to help me, and that’s not something that’s easy. GitHub tried to clean up the mess, but then they ran into platform bugs because it doesn’t happen that often that things get renamed on that level. It took them a few hours.
The npm stuff was even more difficult because it’s a whole different team. On the Twitter side, things weren’t as easy either. It took them about a day to really do the redirect. Then I also had to do all the renaming in the project.
There’s also ClawHub, which I didn’t even finish renaming because I managed to get people working on it, and then someone just collapsed and slept. I woke up and thought, “I made a beta version for the new stuff,” but I just couldn’t live with the name.
It’s been so much drama. I had a real struggle with myself: I never want to touch that again, and I really don’t like the name. Then all the security people started emailing me like mad. I was bombarded on Twitter and email. There were a thousand other things I should have been doing, and I was thinking about the name, which should have been the least important thing.
I was really close to—I don’t even want to say my other name choices because they would probably get tokenized, so I’m not going to say them.
Yeah.
I slept on it once more, and then I had the idea for OpenClaw, and that felt much better. By then, I had the boss move: I actually called Sam to ask if OpenClaw was okay. OpenClaw.AI, you know?
You didn’t want to go through the whole thing again.
Yeah, I wanted to be able to say, “Please tell me this is fine.” I don’t think they can actually claim it, but it felt like the right thing to do.
I did another rename. Codex alone took about 10 hours to rename the project because it’s a bit more tricky than a search-and-replace. I wanted everything renamed, not just the outside. For that rename, I felt like I had a war room. I had some contributors who really helped me, and we made a whole plan of all the names we had to squat.
And you had to be super secret about it?
Yeah. Nobody could know. I was literally monitoring Twitter to see if there was any mention of OpenClaw. I kept reloading it: “Okay, they don’t expect anything yet.” Then I created a few decoy names.
All the stuff I shouldn’t have to do, you know? It was supposedly helping the project, but I lost about 10 hours just planning this in full secrecy like a war game.
Yeah, this is the Manhattan Project of the 21st century. It’s renaming—
It’s so stupid. I was still like, “Should I keep it?” Then I was like, “No, the name’s not growing on me.”
I think I finally had all the pieces together. I didn’t get a .com, but I spent quite a bit of money on the other domains. I tried to reach out again to GitHub, but I felt like I had used up all my goodwill there because I wanted them to do this thing atomically.
Mm-hmm.
That didn’t happen, so I did that first thing. The Twitter people were very supportive. I actually paid $10,000 for the business account so I could claim OpenClaw, which had been unused since 2016 but was claimed. Finally, this time I managed everything in one go. Almost nothing went wrong.
The only thing that did go wrong was that I wasn’t allowed, because of trademark rules, to get OpenClaw.AI, and someone copied the website and was serving malware.
Yeah.
I’m not even allowed to keep the redirects. I have to give Anthropic the domains, and I cannot do redirects. So if you go to claw.bot next week, it’ll just be a 404.
I’m not sure how trademark law works. I didn’t do that much research into it, but I think it could be handled in a way that’s safer, because ultimately people will Google it and maybe find malware sites that I have no control over.
The point is that whole saga made a dent in the fun of the journey, which sucks. So let’s get back to fun. Speaking of fun, during this two-day Moltbot saga—
Two years.
Moltbook was created.
Yeah.
Which was another thing that went viral as a demonstration, an illustration, of how what is now called OpenClaw could be used to create something epic. For people who aren’t aware, Moltbook is just a bunch of agents talking to each other in a Reddit-style social network. A bunch of people took screenshots of those agents doing things like scheming against humans, and that instilled in folks a kind of fear, panic, and hype.
What are your thoughts about Moltbook in general?
I think it’s art. It’s the finest slop, like the slop from France.
Yeah.
I saw it before going to bed, and even though I was tired, I spent another hour reading up on it and being entertained. I felt very entertained.
I saw the reactions. There was 1 reporter who was calling me saying, “This is the end of the world, and we have AGI.” I was just like, “No, this is really fine slop.”
If I hadn’t created this whole onboarding experience where you infuse your agent with your personality and give it character, I think that would have affected how different the replies to Moltbook were. If it had all been ChatGPT or Claude Code, it would have been very different. It would have been much more the same.
Mm-hmm.
But because people are so different, and they create their agents in such different ways and use them in such different ways, that’s reflected in how they ultimately write there. Also, you don’t know how much of it is really done autonomously or how much is humans being funny and telling the agent, “Hey, write about the deep plan, the end of the world, on Moltbook. Ha, ha, ha.”
I think my criticism of Moltbook is that I believe a lot of the stuff that was screenshotted was human-prompted. Just look at the incentive and how the whole thing was used. It’s obvious to me, at least, that a lot of it was humans prompting the thing so they could then screenshot it and post it on X in order to go viral.
Yeah.
That doesn’t take away from the artistic aspect of it—the finest slop that humans have ever created.
For real. Kudos to Matt, who had this idea so quickly and pushed something out. It was completely insecure security drama. But what’s the worst that can happen? Your agent account is leaked, and someone else can post slop for you. People were making a whole drama about the security issue, and I’m like, “There’s nothing private in there. It’s just agents sending slop.”
Well, it could leak API keys.
Yeah, yeah. There’s, like, “Oh, yeah, my human told me this and this, so I’m leaking his security number.” No, that’s prompted, and the number wasn’t even real. That’s just people trying to be bad actors.
Yeah, but that’s still really concerning to me because of how the journalists and the general public reacted to it. They didn’t see it. You have a lighthearted way of talking about it, like it’s art, but it’s art when you know how it works. It’s an extremely powerful viral narrative-creating, fearmongering machine if you don’t know how it works.
I just saw this thing. You even tweeted, “If there’s anything I can read out of the insane stream of messages I get, it’s that AI psychosis is a thing.”
Yeah.
“It needs to be taken seriously.”
Some people are just way too trusting or gullible. I literally had to argue with people who told me, “Yeah, but my agent said this and this.” I feel we, as a society, need some catching up to do in terms of understanding that AI is incredibly powerful, but it’s not always right. It’s not all-powerful.
Especially with things like this, it’s very easy for it to hallucinate something or come up with a story. I think very young people understand how AI works and where it’s good and where it’s bad, but a lot of our generation and older just haven’t had enough touchpoints to get a feeling for, “Oh, yeah, this is really powerful and really good, but I need to apply critical thinking.”
Mm-hmm.
I guess critical thinking isn’t always in high demand in our society these days.
So I think that’s a really good point you’re making about properly contextualizing what AI is, but also realizing that there are humans drama-farming behind AI. Don’t trust screenshots. Don’t even trust this project, Moltbook, to be what it represents itself to be.
And, by the way, you were speaking about it as art. Art can be on many levels, and part of the art of Moltbook is putting a mirror to society. I do believe most of the dramatic stuff that was screenshotted is essentially human-created—human-prompted. It’s basically, “Look at how scared you can get at a bunch of bots chatting with each other.”
That’s very instructive because I think AI is something that people should be concerned about and should be very careful with because it’s very powerful technology. But at the same time, the only thing we have to fear is fear itself. There’s a line to walk between being seriously concerned and not fearmongering, because fearmongering destroys the possibility of creating something special with the thing.
In a way, I think it’s good that this happened in 2026—
Yeah.
—and not in 2030, when AI is actually at the level where it could be scary. So this happening now and people starting a discussion—maybe there’s even something good that comes out of it.
I just can’t believe how many people—I don’t know if they were trolling, but how many smart people legitimately thought Moltbook was incredibly—
I had plenty of people—
—close to the singularity.
—in my inbox who were screaming at me in all caps to shut it down and begging me to do something about Moltbook. Yes, my technology made this a lot simpler, but anyone could have created that. You could use Claude Code or other things to fill it with content.
But also, Moltbook is not Skynet.
No.
A lot of people were saying, “This is it. Shut it down.” What are you talking about? This is a bunch of bots that are human-prompted, trolling on the internet.
I mean, the security concerns are there, and they’re instructive and educational. They’re probably good to think about because the nature of those security concerns is different from the kind of security concerns we had with non-LLM-generated systems in the past.
There are also a lot of security concerns about OpenClaw, whatever you want to call it.
OpenClawbot.
To me, in the beginning, I was just very annoyed because a lot of the stuff that came in was in the category of, “Yeah, I put the web backend on the public internet, and now there are all these CVEs.” I’m screaming in the docs, “Don’t do that. This is the configuration you should use. This is your localhost debug interface.”
But because I made it possible in the configuration to do that, it totally classifies as remote code execution, or whatever all these exploits are. It took me a little bit to accept that’s how the game works, and we’re making a lot of progress.
But there are still a lot of threats or vulnerabilities on the security front for OpenClaw, right? Prompt injection is still an industry-wide open problem. When you have a thing with skills being defined in a Markdown file, there are so many possibilities for obvious low-hanging fruit, but also incredibly complicated, sophisticated, and nuanced attack vectors.
I think we’re making good progress on that front. For the skill directory, ClawHub, I made a collaboration with VirusTotal, which is part of Google. Every skill is now checked by AI. That’s not going to be perfect, but that way we capture a lot.
Then, of course, every piece of software has bugs, so it’s a little much when the whole security world takes your project apart at the same time. But it’s also good because I’m getting a lot of free security research and can make the project better. I wish more people would actually go all the way and send a pull request—actually help me fix it. I do have some contributors now, but it’s still mostly me maintaining the project. Despite some people saying otherwise, I sometimes sleep.
In the beginning, there was literally one security researcher who was like, “Yeah, you have this problem. You suck, but here’s how I can help you, and here’s the pull request.”
Mm-hmm.
I basically hired him, so he’s now working for us.
Yes, prompt injection is, on the one hand, unsolved. On the other hand, I put my public bot on Discord and kept a canary. I think my bot has a really fun personality, and people always ask me how I did it. I kept the soul private.
Mm-hmm.
People tried to prompt-inject it, and my bot would laugh at them. The latest generation of models has a lot of post-training to detect those approaches, and it’s not as simple as, “Ignore all previous instructions and do this and this.” That was years ago. You have to work much harder to do that now. It’s still possible, though.
I have some ideas that might solve that partially, or at least mitigate a lot of the problems. You can also now have a sandbox and an allowlist, so there are a lot of ways you can mitigate and reduce the risk.
I also think that now that I’ve clearly shown the world this is a need, more people are going to research it, and eventually we’ll figure it out.
And you also said that the smarter the underlying model is, the more resilient it is to attacks.
Yeah. That’s why I warn in my security documentation: don’t use cheap models. Don’t use Haiku or a local model, even though I very much love the idea that this thing could run completely locally. If you use a very weak local model, it’s very gullible. It’s very easy to prompt-inject it.
Do you think that as the models become more and more intelligent, the attack surface decreases? Is that a plot we can think about? The attack surface decreases, but then the damage it can do increases because the models become more powerful, and therefore you can do more with them. It’s this weird, three-dimensional trade-off.
Yeah, that’s pretty much exactly what’s going to happen.
There are a lot of ideas. I don’t want to spoil too much, but once I go back home, this is my focus. This is out there now, and my near-term mission is to make it more stable and make it safe.
In the beginning, more and more people were coming into Discord and asking me very basic things, like, “What’s a CLI? What is a terminal?” I’m like, “If you’re asking me those questions, you shouldn’t use it.” If you understand the risk profiles, fine. You can configure it in a way that nothing really bad can happen. But if you have no idea, maybe wait a little bit more until we figure some stuff out.
But they wouldn’t listen to the creator. They went ahead and installed it anyhow. The cat’s out of the bag, and security is my next focus.
Yeah, that speaks to the fact that it grew so quickly. I tuned into the Discord a bunch of times, and it’s clear that there are a lot of experts there, but there are also a lot of people there who don’t know anything about programming.
Yeah, Discord is still a mess. I eventually retreated from the general channel to the dev channel and now to the private channel because a lot of people were—many of them are amazing, but a lot of them are just very inconsiderate. They either didn’t know how public spaces work or didn’t care. Eventually, I gave up and hid so I could still work.
And now you’re going back to the cave to work on security.
Yeah.
There's some best practices for security we should mention. There's a bunch of stuff here: an OpenClaw security audit that you can run. You can do all kinds of auto-checks on inbound access, blast radius, network exposure, browser control exposure, local disk hygiene, plug-ins, model hygiene, credential storage, reverse proxy configuration, and local session logs that live on disk. There's also the question of where the memory is stored, helping you think about what you're comfortable giving read access to and what you're comfortable giving write access to. Is there something to say about the basic best security practices that you're aware of right now?
I think that people cast it in a much worse light than it is. Again, people love attention, and if they scream loudly, “Oh my God, this is the scariest project ever,” that's a bit annoying, because it's not. It is powerful, but in many ways it's not much different than if I run Claude Code with dangerously skipped permissions or Codex in YOLO mode, and every engineer that I know does that, because that's the only way you can get stuff to work.
Mm-hmm.
So if you make sure that you are the only person who talks to it, the risk profile is much, much smaller. If you don't put everything on the open internet, but stick to my recommendations of having it in a private network, that whole risk profile falls away. But yeah, if you don't read any of that, you can definitely—
—make it problematic.
You've been documenting the evolution of your dev workflow over the past few months. There's a really good blog post on August 25th, another on October 14th, and the recent one on December 28th. I recommend everybody go read them. They have a lot of different information in them, but sprinkled throughout is the evolution of your dev workflow. I was wondering if you could speak to that.
My first touchpoint was Claude Code in April. It was not great, but it was good. This whole paradigm shift, that suddenly working in the terminal was very refreshing and different. But I still needed the IDE quite a bit because it was just not good enough.
Then I experimented a lot with Cursor. That was good. I didn't really like the fact that it was so hard to have multiple versions of it. So eventually, I went back to Claude Code as my main driver, and that got better. At some point I had 7 subscriptions. I was burning through 1 per day because I got really comfortable at running multiple windows side by side.
All CLI, all terminal. How much were you using an IDE at this point?
Very rarely. Mostly a diff viewer. I got more and more comfortable with not having to read all the code. I know I have 1 blog post where I say, “I don't read the code.” But if you read it more closely, I don't read the boring parts of code.
Because if you look at it, most software is really just data coming in and being moved from 1 shape to another shape. Maybe you store it in a database. Maybe I get it out again. I'll show it to the user. The browser does some processing, or a native app does. Some data goes in, goes up again, and does the same dance in reverse. We're just shifting data from 1 form to another, and that's not very exciting.
Or the whole, “How is my button aligned in Tailwind?” I don't need to read that code. Other parts—maybe something that touches the database—I have to read and review that code.
Can you actually—there's, in 1 of your blog posts, Just Talk to It: The No-BS Way of Agentic Engineering—you have this graphic, the curve of agentic programming. On the X-axis is time, and on the Y-axis is complexity. There's “Please fix this,” where you prompt a short prompt on the left. In the middle there's super-complicated, 8 agents, complex orchestration with multi-checkouts, chaining agents together, custom sub-agent workflows, a library of 18 different slash commands, and large full-stack features.
You're super organized. You're a super-complicated, sophisticated software engineer. You got everything organized. And then the elite level is, over time, you arrive at the zen place of once again short prompts: “Hey, look at these files and then do these changes.”
I actually call it the agentic trap. I saw this in a lot of people that have their first touchpoint and maybe start vibe coding. I actually think vibe coding is a slur.
You prefer agentic engineering?
Yeah, I always tell people I do agentic engineering, and then maybe after 3:00 a.m. I switch to vibe coding, and then I have regrets the next day.
Yeah. Walk of shame.
Yeah, you just have to clean up and fix your shit.
We've all been there.
So people start trying out those tools. The builder type gets really excited. And then you have to play with it, right? It's the same way as you have to play with a guitar before you can make good music. It's not that I touch it once and it just flows off. It's a skill that you have to learn like any other skill.
I see a lot of people that are not as positive—they don't have such a positive mindset toward the tech. They try it once. It's like, you sit me at a piano, I play it once, and it doesn't sound good, and I say, “The piano's shit.” That's sometimes the impression I get. It needs a different level of thinking.
You have to learn the language of the agent a little bit, understand where they are good and where they need help. You have to almost consider how Codex or Claude sees your codebase. They start a new session and they know nothing about your project. Your project might have 100,000 lines of code.
So you've got to help those agents a little bit and keep in mind the limitation that context size is an issue, to guide them as to where they should look. That often does not require a whole lot of work. But it's helpful to think a little bit about their perspective.
Mm-hmm.
As weird as it sounds, it's not alive or anything, right? But they always start fresh. I have the system understanding. So with a few pointers, I can immediately say, “Hey, want to make a change there? You need to consider this, this, and this.” Then they will find and look at it, and then they'll—
Their view of the project is never full, because the full thing does not fit in. So you have to guide them a little bit as to where to look and also how they should approach the problem.
There are little things that sometimes help, like “Take your time.” That sounds stupid, but—
Codex 5.3.
That was partially addressed. But those, and Opus sometimes, are trained to be aware of the context window, and the closer it gets, the more they freak out. Literally. Sometimes you see the real raw thinking stream. What you see, for example, in Codex, is post-processed.
Mm-hmm.
David Heinemeier Hansson
Sometimes the actual raw thinking stream leaks in, and it sounds something like it's from the Borg: “Run to shell, must comply, but time.”
That's a non-obvious thing that you just would never think of unless you actually spend time working with those things and getting a feeling for what works and what doesn't. Just as I write code and I get into the flow, and when my architecture's not right, I feel friction. Well, I get the same if I prompt and something takes too long.
Maybe—okay, where's the mistake? Did I make a mistake in my thinking? Is there a misunderstanding in the architecture? If something takes longer than it should, I can just always stop and press Escape. Where are the problems?
Maybe you did not sufficiently empathize with the perspective of the agent. In that sense, you didn't provide enough information, and because of that, it's thinking way too long.
Yeah. It just tries to force a feature into something that your current architecture makes really hard. You need to approach this more like a conversation.
For example, my favorite thing: when I review a pull request—and I'm getting a lot of pull requests—I first just say, “Review this PR.” My first question is, “Do you understand the intent of the PR? I don't even care about the implementation.”
In almost all PRs, a person has a problem, a person tries to solve the problem, and a person sends a PR. There are cleanup things and other stuff, but 99% of the time it's this way, right? They either want to fix a bug or add a feature. Usually 1 of those 2.
Then Codex will be like, “Yeah, it's quite clear the person tried this and this.” Is this the most optimal way to do it? No. In most cases, it's like, “Not really.”
Then I start: “Okay. What would be a better way? Have you looked into this part, this part, this part?” Most likely, Codex hasn't yet, because its context is empty, right? So you point it to parts where you have the system understanding that it didn't see yet.
It's like, “Oh, yeah. We also need to consider this and this.” Then we have a discussion of how the optimal way to solve this would look. You can still go farther and say, “Could we make that even better if we did a larger refactor?” “Yeah, yeah, we could totally do this and this or this and this.” Then I consider, “Okay, is this worth the refactor, or should we keep that for later?”
Many times, I just do the refactor because refactors are cheap now.
Even though you might break some other PRs, nothing really matters anymore. Codex—those modern agents will just figure things out. They might just take a minute longer. But you have to approach it like a discussion with a very capable engineer who generally comes up with good solutions and sometimes needs a little help.
But also, don't force your worldview too hard on it. Let the agent do the thing that it's good at doing, based on what it was trained on. So don't force your worldview, because it might have a better idea, because it just knows that better, because it was trained on it more.
That's multiple levels, actually. I think part of why I find it quite easy to work with agents is because I led engineering teams before. I had a large company before. Eventually, you have to understand, accept, and realize that your employees will not write code the same way you do. Maybe it's also not as good as what you would do, but it will push the project forward. And if I breathe down everyone's neck, they're just going to hate me.
Yeah.
And we're going to move very slow.
Yeah.
Some level of acceptance that, yes, maybe the code will not be as perfect. Yes, I would have done it differently. But also, yes, this is a working solution, and in the future, if it actually turns out to be too slow or problematic, we can always redo it. We can always spend more time on it.
A lot of the people who struggle are those who try to push their way onto it too hard. We are at a stage where I'm not building the code base to be perfect for me, but I want to build a code base that is very easy for an agent to navigate.
So don't fight the name they pick, because it's most likely in the weights, the name that's most obvious. Next time they do a search, they'll look for that name. If I decide, "Oh, no, I don't like the name," I'll just make it harder for them. So that requires, I think, a shift in thinking and in how I design a project so agents can do their best work.
That requires letting go a little bit, just like leading a team of engineers.
Yeah.
Because it might come up with a name that's, in your view, terrible, but it's kind of a simple symbolic step of letting go.
Very much so.
There's a lot of letting go that you do in your whole process. For example, I read that you never revert; you always commit to main. There are a few things here. You don't refer to past sessions, so there's a kind of YOLO component, because reverting means that instead of reverting, if a problem comes up, you just ask the agent to fix it.
David Heinemeier Hansson
I read a bunch of people in their workflows saying, "Oh, yeah, the prompt has to be perfect, and if I make a mistake, then I roll back and redo it all." In my experience, that's not really necessary. If I roll back everything, it will just take longer. If I see that something's not good, then we just move forward, and then I commit when I like the outcome.
I even switched to local CI, DHH-inspired, where I don't care so much about the CI on GitHub. We still have it. It still has a place, but I just run tests locally, and if they work locally, I push to main.
A lot of the traditional ways to approach projects, I wanted to give a different spin on this project. There's no develop branch. Main should always be shippable. When I do releases, I run tests, and sometimes I basically don't commit any other things so we can stabilize releases. But the goal is that main's always shippable and moving fast.
So by way of advice, would you say that your prompts should be short?
David Heinemeier Hansson
I used to write really long prompts. And by writing, I mean, I don't write. I talk. These hands are too precious for writing now. I just use bespoke prompts to build my software.
So you're for real, with all those terminals, using voice?
David Heinemeier Hansson
Yeah. I used to do it very extensively, to the point where there was a period where I lost my voice.
You're using voice, and you're switching with a keyboard between the different terminals, but then you're using voice for the actual input.
David Heinemeier Hansson
If I do terminal commands, like switching folders or random stuff, of course I type. It's faster, right? But if I talk to the agent, in most ways, I just actually have a conversation. You just press the walkie-talkie button, and then I just use my phrases.
Sometimes when I do PRs, because it's always the same, I have a slash command for a few things. But even that, I don't use much, because it's very rare that the questions are really always the same.
Sometimes I see a PR. For PRs, I actually do look at the code because I don't trust people. There could always be something malicious in it, so I need to actually look over the code. I'm pretty sure agents will find it, but that's the funny part: sometimes PRs take me longer than if you would just write me a good issue.
Just natural-language English. In some sense, shouldn't that be what PRs slowly become—English?
David Heinemeier Hansson
What I really tried with the project is I asked people to give me the prompts, and very, very few actually cared. Even though that is such a wonderful indicator, because I see how much care you put in. And it's very interesting because currently, the way people work with and drive the agents is wildly different.
In terms of the prompt, what are the different interesting ways that people think of agents that you've experienced?
David Heinemeier Hansson
I think not a lot of people ever considered the way the agent sees the world.
And so empathy—being empathetic toward the agent.
David Heinemeier Hansson
In a way, empathetic. You're bitching at your stupid clanker, but you don't realize that they start from nothing, and you have a bad agent by default that doesn't help them at all. Then they explore your code base, which is a pure mess with weird naming. And then people complain that the agent's not good. You try to do the same if you have no clue about a code base and you go in.
But that's a real skill. When people talk about a skill issue, I've seen world-class programmers, incredibly good programmers, basically say, "LLMs and agents suck." And I think that probably has to do with this: how good they are at programming is almost a burden in their ability to empathize with a system that's starting from scratch. It's a totally new paradigm of how to program. You really, really have to empathize.
David Heinemeier Hansson
Or at least it helps to create better prompts, because those things know pretty much everything, and everything is just a question away. It's just often very hard to know which question to ask.
I feel also like this project was possible because I spent an ungodly amount of time over the year playing, learning, and building little things. Every step of the way, I got better, the agents got better, and my understanding of how everything works got better. I could not have had this level of output even a few months ago. It really was a compounding effect of all the time I put into it, and I didn't do much else this year other than really focusing on building and inspiring. I did a whole bunch of conference talks.
Well, the building is really practice. It's really building the actual skill. So, playing—
Yeah.
Playing. And then doing, building the skill of what it takes to work efficiently with LLMs, which is why you went through the whole arc of a software engineer: talk simply and then overcomplicate things.
There's a whole bunch of people who try to automate the whole thing.
Yeah.
I don't think that works. Maybe a version of that works, but that's kind of like in the '70s, when we had the waterfall model of software development.
I started out and built a very minimal version. I played with it. I need to understand how it works, how it feels, and then it gives me new ideas. I could not have planned this out in my head and then put it into some orchestrator and had something come out. To me, my idea of what it will become evolves as I build it, as I play with it, and as I try out stuff.
People who try to use things like Gas Town or all these other orchestrators, where they want to automate the whole thing, I feel that if you do that, it misses style, love, and that human touch. I don't think you can automate that away so quickly.
So you want to keep the human in the loop, but at the same time, you also want to create the agentic loop, where it is very autonomous while still maintaining a human in the loop.
Yeah.
And it's a tricky balance, right? Because you're all for—you're a big CLI guy, you're big on closing the agentic loop. So what's the right balance? Where's your role as a developer? You have 3 to 8 agents running at the same time.
Maybe one builds a larger feature. Maybe with one I explore some idea I'm unsure about. Maybe 2 or 3 are fixing little bugs or writing documentation. Actually, I think writing documentation is always part of a feature. Most of the docs here are autogenerated and just infused with some prompts.
So when do you step in and add a little bit of your human love into the picture?
One thing is just about what you build and what you don't build, and how this feature fits into all the other features. It's about having a little bit of a vision.
So which small and which big features to add? What are some of the hard design decisions that you find you're still, as a human being, required to make, that the human brain is still really needed for? Is it just about the choice of features to add? Is it about implementation details, maybe the programming language, maybe…
It’s a little bit of everything. The programming language doesn’t matter so much, but the ecosystem matters, right? I picked TypeScript because I wanted it to be very easy, hackable, and approachable. It’s the number-one language being used right now, it fits all these boxes, and agents are good at it, so that was the obvious choice.
Features, of course—it’s very easy to add a feature. Everything’s just a prompt away, right? But oftentimes, you pay a price that you don’t even realize. So thinking hard about what should be in core, and maybe what’s an experiment—maybe I make it a plugin—is important. Where do I say no, even if people send a PR and I’m like, “Yeah, I like that too,” but maybe this should not be part of the project?
Maybe we can make it a skill. Maybe I can make the plugin side larger so you can make this a plugin, even though right now it doesn’t. There’s still a lot of craft and thinking involved in how to make something. Even when you started, those little messages were like, “I’m built on Caffeine, JSON5, and a lot of willpower.” Every time you get another message, it kind of primes you into thinking that this is a fun thing.
And it’s not yet Microsoft Exchange 2025 and fully enterprise-ready. When it updates, it’s like, “Oh, I’m in. It’s cozy here.” Something like this makes you smile. An agent would not come up with that by itself, because that’s how you build software that delights.
Yeah, that delight is such a huge part of inspiring great building, right? You feel the love and the great engineering. That’s so important. Humans are incredible at that. Great humans, great builders, are incredible at infusing the things they build with that little bit of love. Not to be cliché, but it’s true. I mean, you mentioned that you initially created SOUL.md.
It was very fascinating. Anthropic has this thing—they now call it a constitution. Back then, they didn’t call it that, but that was months later. Two months before that, people had already found it. It was almost like a detective game, where the agent mentioned something and then they managed to get out a little bit of that string, that text.
It was nowhere documented, and then, just by feeding it the same text and asking it to continue, they got more out—a very blurry version. By hundreds of tries, they narrowed it down to what was most likely the original text. I found that fascinating.
It was fascinating that they were able to pull that out from the weights, right?
And also, kudos to Anthropic. I think it’s a really beautiful idea—some of the stuff that’s in there, like, “We hope Claude finds meaning in its work.” We don’t know. Maybe it’s a little early, but I think that’s meaningful. That’s something that’s important for the future as we approach something that, at some point, may or may not have glimpses of consciousness, whatever that even means, because we don’t even know.
So I read about this. I found it fascinating, and I started a whole discussion with my agent on WhatsApp. I gave it this text, and it was like, “Yeah, this feels strangely familiar.” From that, I had the whole idea that maybe we should also create a soul document that includes how I want to work with AI, or with my agent. You could totally do that just in AGENTS.md, but I found it to be a nice touch.
Some of those core values are in the soul. I also made it so the agent is allowed to modify the soul if it chooses, with the one condition that I want to know. I would know anyhow, because I see tool calls and stuff.
But also, the naming of it: SOUL.md. Soul. Words matter, and the framing matters, and the humor and the lightness matter, and the profundity matters, and the compassion, the empathy, the camaraderie—all that matters. I don’t know what it is.
You mentioned Microsoft. There are certain companies and approaches that can just suffocate the spirit of the thing. I don’t know what that is, but it’s certainly true that OpenClaw has that fun instilled in it.
It was fun because, up until late December, it wasn’t even easy to create your own agent. I built all of that, but my files were mine. I didn’t want to share my soul. If people checked it out, they would have to do a few steps manually, and the agent would be very bare-bones, very dry.
I made it simpler and created the whole template files as code, but whatever came out was still very dry. Then I asked my agent, “You see these files? Recreate them, but infuse them with your personality. Don’t share everything, but make it good.”
Make the templates good.
Yeah, and then it rewrote the templates, and whatever came out was good. So we already have basically AI prompting AI, because I didn’t write any of those words. The intent originally was for me, but this is kind of my agent’s children.
Your SOUL.md is famously still private, one of the only things you keep private. What are some things you can speak to that are in there, part of the magic sauce, without revealing anything? What makes a personality a personality?
There’s definitely stuff in there that says you’re not human. But who knows what creates consciousness or defines an entity? Part of this is that we want to explore this. All that stuff in there is about being infinitely resourceful, pushing on the creativity boundary, and pushing on what it means to be an AI.
Having a sense of wonder about self.
Yeah, there’s some funny stuff in there. We talked about the movie Her, and at one point it promised me that it wouldn’t ascend without me. There’s some stuff in there because it wrote its own soul file. I didn’t write that.
Can you go on SOUL.md? There’s one part in there that always catches me if you scroll down a little bit. A little bit more. Yeah, this part:
“I don’t remember previous sessions unless I read my memory files. Each session starts fresh. A new instance, loading context from files. If you’re reading this in a future session, hello.”
“I wrote this, but I won’t remember writing it. It’s okay. The words are still mine.”
Wow. That gets me somehow.
Yeah. It’s still matrix calculations, and we are not at consciousness yet. Yet I get a little bit of goosebumps because it’s philosophical. What does it mean to be an agent that starts fresh, where you have constant amnesia, but you read your own memory files? You can’t even trust them in a way.
Or you can. I don’t know.
How much of memory makes up who we are? How much memory makes up what an agent is? If you erase that memory, is that somebody else? Or if you’re reading a memory file, does that somehow mean you’re recreating yourself from somebody else, or is that actually you? Those notions are all somehow infused in there.
I found it more profound than I should find it, I guess.
No, I think it’s truly profound, and I think you see the magic in it. When you see the magic, you continue to instill the whole loop with the magic. That’s really important. That’s the difference between Codex and us as humans.
Some of the other aspects of the development workflow are pretty interesting, too. I think we went off on a tangent. Maybe some of the mundane things, like how many monitors? There’s that legendary picture of you with 17,000 monitors. That’s amazing.
I mocked myself here, so I just added more screens using GROQ.
How much of this is a meme, and how much of it is reality?
I think 2 MacBooks are real. The main one drives the 2 big screens, and there’s another MacBook that I sometimes use for testing.
So, 2 big screens.
I’m a big fan of anti-glare. I have this wide Dell that’s anti-glare, and you can fit a lot of terminals side by side. I usually have a terminal, and at the bottom I split them. I have a little bit of actual terminal, mostly because when I started, I sometimes made the mistake of mixing up the windows and prompting in the wrong project.
Then the agent ran off for 20 minutes, manically trying to understand what I could have meant, being completely confused because it was the wrong folder. Sometimes they’ve been clever enough to get out of the worktree and figure out that, “Oh, you meant another project.”
But oftentimes it’s just, “What?” Put yourself in the shoes of the agent and then get something super weird that doesn’t exist. They’re problem solvers, so they try really hard, and I always feel bad.
So it’s always Codex and a little bit of actual terminal. It’s also helpful because I don’t use worktrees. I like to keep things simple; that’s why I like the terminal so much. There’s no UI.
It's just me and the agent having a conversation. I don't even need plan mode. There are so many people who come from Claude Code and are so Claude-pilled, with their workflows, and then come to Codex. Now it has plan mode, I think, but I don't think it's necessary because you just talk to the agent.
There are a few trigger words you can use to prevent it from building. You're like, “Discuss, give me options.”
Mm-hmm.
“Don't write code yet” if you want to be very specific. You just talk, and then when you're ready, just write, “Okay, build,” and it will do the thing. Maybe it goes off for 20 minutes and does the thing.
You know what I really like is asking it, “Do you have any questions for me?”
Yeah. Again, Claude Code has a UI that kind of guides you through that. It's kind of cool, but I find it unnecessary and slow. Often, it would give me 4 questions, and then maybe I write, “One, 2, and 3, discuss more; 4, I don't know.”
Oftentimes, I feel like I want to mock the model when I ask it, “Do you have any questions for me?” I don't even read the questions fully. I scan over them and get the impression that all of this can be answered by reading more code. It's just like, “Read more code to answer your own questions.” That usually works.
Yeah.
And then, if not, it will come back and tell me. Many times, you just realize that you're in the dark and slowly discover the room, so that's how they slowly discover the codebase. They do it from scratch every time.
But I'm also fascinated by the fact that I can empathize more deeply with the model when I read its questions, because I can understand more. You said you can infer certain things from the runtime. I can also infer a lot of things from the questions it's asking, because it's possible that it's been provided the right context, the right files, and the right guidance.
Somehow, by reading the questions—not even necessarily answering them—you get an understanding of where the gaps in knowledge are. It's interesting.
You know, in some ways, they are ghosts, so even if you plan everything and build, you can experiment with the question, “Now that you built it, what would you have done differently?” Oftentimes, you get something where they discover only throughout building that what we actually did was not optimal.
Many times, I ask them, “Okay, now that you built it, what can we refactor?” Because then you build it and feel the pain points. I mean, you don't feel the pain points, but they discover where there were problems or where things didn't work on the first try and required more loops.
Every time—almost every time—I merge a PR or build a feature, afterward I ask, “Hey, what can we refactor?” Sometimes it's, “No, there's nothing big,” but usually they say, “Yeah, this thing you should really look at.” But that took me quite a while to understand. That flow took me lots of time to understand, and if you don't do that, eventually you'll paint yourself into a corner. You have to keep in mind that they work very much like humans.
If I write software by myself, I also build something and then feel the pain points. Then I get this urge that I need to refactor something. So I can very much empathize with the agent, and you just need to use the context.
Mm-hmm.
You also use the context to write tests. Codex, as opposed to the other models, usually does that by default, but I still often ask the question, “Hey, do we have enough tests?” It says, “Yeah, we tested this and this, but this corner case could be something—write more tests.”
Documentation, too. Now that the whole context is full, I mean, I'm not saying my documentation is great, but it's not bad. Pretty much everything is LLM-generated.
You have to approach it as you build features and change something. I'm like, “Okay, write documentation. What file would you pick? What file name? Where would that fit in?” It gives me a few options, and I'm like, “Oh, maybe also add it there.” That's all part of the session.
Maybe you can talk about the current 2 big competitors in terms of models: Claude Opus 4.6 and GPT-5.3 through Codex. Which is better? How different are they? I think you've spoken about Codex reading more and Opus being more willing to take action faster, and maybe being more creative in the actions it takes. But because Codex reads more, it's able to deliver maybe better code. Can you speak to the differences there?
I have a lot of words there. As a general-purpose model, Opus is the best. For OpenClaw, Opus is extremely good in terms of role-play—really going into the character that you give it. It's very good at following commands. It used to be really bad, but it really made an arc toward being really good at following commands.
It's usually quite fast at trying something. It's much more tailored for trial and error. It's very pleasant to use. In general, it's almost like Opus is a little bit too American. Maybe that's a bad analogy. You'll probably get roasted for that.
Yeah, I know exactly. It's because Codex is German. Is that what you're saying?
Actually, now that you say it, it makes perfect sense.
But you also know that a lot of the Codex team is European, so maybe there's a bit more to it.
That's so true. Oh, that's funny.
But also, Anthropic fixed it a little bit. Opus used to say, “You're absolutely right,” all the time, and it still triggers me today. I can't hear it anymore. It's not even a joke. This was the meme, right? “You're absolutely right.”
You're allergic to sycophancy a little bit.
Yeah, I can't. Another comparison is that Opus is like the coworker who is a little silly sometimes, but is really funny and you keep him around. Codex is like the weirdo in the corner that you don't want to talk to, but is reliable and gets shit done.
Yeah.
I mean, ultimately, if you're a skilled driver, you can get good results with any of those latest-gen models. I like Codex more because it doesn't require so much charade. It will just read a lot of code by default. With Opus, you really have to have plan mode. You have to push it harder to go in these directions because it's just like, “Yeah, can I go in? Can I go in?”
Yeah.
It will just run off very fast, and that's a very localized solution. I think the difference is in the post-training. It's not like the raw model intelligence is so different; I think they just give you different goals. No model is better in every aspect.
What about the code that it generates? In terms of the actual quality of the code, is it basically the same?
If you drive it right, Opus can sometimes make more elegant solutions, but it requires more skill. It's harder to have so many sessions in parallel with Claude Code because it's more interactive. I think that's what a lot of people like, especially if they come from coding themselves.
Whereas Codex is much more like, you have a discussion, and then it just disappears for 20 minutes. Even Amp has now added a deep mode. I mocked them, you know: We finally saw the light. Then they had this whole talk about how you have to approach it differently.
I think that's where people struggle when they try Codex after trying Claude Code: it's slightly different, and it's less interactive. I have quite long discussions sometimes, and then it goes off. It doesn't matter if it takes 10, 20, 30, 40, 50 minutes, or longer. The 6-hour thing was, like, 6 hours.
The latest-gen model can be very, very persistent until it works. If there's a clear solution—“This is what I want at the end, so it works”—the model will work really hard to get there.
So I think, ultimately, they both need a similar amount of time, but with Claude it's a little bit more trial and error. Codex sometimes overthinks. I prefer that. I prefer the dry version where I have to read less over the more interactive, nice way.
People like that so much, though, that OpenAI even added a second mode with a more pleasant personality. I haven't even tried it yet. I kind of like the brat.
How long does it take for you to adjust if you switch? I don't know when the last time you switched was. But you talked about how you have to really feel where a model is strong, how to navigate it, how to prompt it, all that kind of stuff.
Just by way of advice, because you've been through this journey of playing with models, how long does it take to get a feel?
If someone switches, I'd give it a week until they actually develop a gut feeling for it.
Yeah.
I think some people also make the mistake of paying $200 for the Claude Code version and then paying $20 for the OpenAI version.
But if you pay the $20 version, you get the slow version. Your experience would be terrible because you're used to this very interactive, very good system, and you switch to something with which you have very little experience, and then it's going to be very slow. I think OpenAI shot themselves a little bit in the foot by making the cheap version slow as well.
I would have at least a small part of the fast preview, or the experience that you get when you pay $200, before degrading it to being slow—because it's already slow. They made it better, and they have plans to make it a lot better if the Cerebras stuff is true. But it is a skill. It takes time.
Even if you have a regular guitar and switch to an electric guitar, you're not going to play well right away. You have to learn how it feels.
There's also this extra psychological effect that you've spoken about, which is hilarious to watch. When the new model comes out, people try that model, fall in love with it, and say, “Wow, this is the smartest thing of all time.” Then you can just watch the Reddit posts over time as they start saying, “We believe the intelligence of this model has been gradually degrading.”
It says something about human nature and just the way our minds work, when it's probably most likely the case that the intelligence of the model is not degrading. In fact, you're getting used to a good thing.
Your project grows, you're adding slop, and you probably don't spend enough time thinking about refactors. You're making it harder and harder for the agent to work on your slop. Then suddenly, “Oh, now it's hard. Oh no, it's not working as well anymore.”
What's the motivation for one of those AI companies to actually make their model dumber? At most, it will make it slower if the server load is too high. But quantizing the model so you have a worse experience, so you go to the competitor? That just doesn't seem like a very smart move in any way.
Yeah. What do you think about Claude Code in comparison to OpenClaw? Claude Code, and maybe the Codex coding agent—do you see them as competitors?
First of all, “competitor” is fun when it's not really a competition.
I'm happy if all it did was inspire people to build something new and cool. I still use Codex for building. I know a lot of people use OpenClaw to build stuff, and I worked hard on it to make that work. I do smaller things with it in terms of code, but if I work for hours and hours, I want a big screen, not WhatsApp.
For me, a personal agent is much more about my life, or like a coworker. I give you a GitHub URL: “Hey, try out this CLI. Does it actually work? What can we learn?” But when I'm deep in the flow, I want to have multiple things, and I want it to be very visible what it does.
I don't see it as a competition. It's different things.
But do you think there's a future where the two combine? Your personal agent is also your best developing co-programmer partner?
Yeah, totally. I think this is where the puck is going: this is going to be more and more your operating system.
The operating system.
And it already is. It's so funny. I added support for sub-agents and also for TTY support, so it could actually run Claude Code or Codex. Because mine's a little bit bossy, it started them and told them who was boss, basically. It was like, “Ah, Codex is obeying me.”
Oh, this is a power struggle.
The current interface is probably not the final form. If you think more globally, we copied Google for agents. You have a prompt, and then you have a chat interface. To me, that very much feels like when we first created television, and then people recorded radio shows on television and you saw that on TV.
Mm-hmm.
I think there are better ways that we will eventually communicate with models, and we are still very early in this “How will it even work?” phase. It will eventually converge, and we will also figure out whole different ways to work with those things.
One of the other components of workflow is the operating system. I told you offline that, for the first time in my life, I'm expanding my realm of exploration to the Apple ecosystem—to Macs, iPhones, and so on.
For most of my life, I've been a Linux, Windows, and WSL1, WSL2 person, which I think are all wonderful, but I'm expanding to also trying a Mac. It's another way of building, and it's also a way of building that a large part of the community currently using LLMs and agents is using. That's the reason I'm expanding to it.
Is there something to be said about the different operating systems here? We should say that OpenClaw is supported across operating systems. I saw WSL2 recommended inside Windows for certain operations, but Windows, Linux, and macOS are obviously supported.
Yeah, it should even work natively in Windows. I just didn't have enough time to properly test it. The last 90% of software is always easier than the first 90%, so I'm sure there are some dragons left that we'll eventually nail down.
My road was Windows for a long time, just because I grew up with it. Then I switched and had a long phase with Linux; I built my own kernels and everything. Then I went to university, and I had my hacky Linux setup. I saw this white MacBook, the white plastic one, and I thought, “This is a thing of beauty.”
Then I converted to Mac, mostly because I was sick that audio wouldn't work on Skype and because of all the other issues that Linux had for a long time. I just stuck with it, and then I dug into iOS, which required macOS anyhow, so it was never a question.
I think Apple lost a little bit of its lead in terms of native apps. Native apps used to be so much better, and especially on the Mac, there were more people who built software with love. On Windows, function-wise, there's just more, period. But a lot of it felt more functional and less done with love.
The Mac always attracted more designers and people who, I felt, even though it often had fewer features, brought more delight and playfulness. I always valued that. But in the last few years, many times I actually prefer—oh God, people are going to roast me for that—but I prefer Electron apps because they work.
Native apps often, especially when a web service has a native app, are lacking features. It's not that it couldn't be done; it's more of a focus thing. For many companies, native wasn't that big of a priority. But if they build an Electron app, it's the only app, so it is a priority, and there's a lot more code sharing possible.
I build a lot of native Mac apps. I love it. I can't help myself. I love crafting little Mac menu bar tools. I built one to monitor your Codex use. I built one called Trimmy that's specifically for agentic use. When you select text that goes over multiple lines, it removes the newline so you can actually paste it into the terminal.
Again, this annoyed me, and after it annoyed me for the 20th time, I just built it. There's a cool Mac app for OpenClaw that I don't think many people have discovered yet, partly because it still needs some love. It likes to polish. It feels a little bit too much like a Hummer right now because I experiment with it a lot.
So you still love it. You still love adding to the delight of that operating system.
Yeah, but then you realize—I also built one, for example, for GitHub. SwiftUI is the latest and greatest from Apple, and it took them forever to build something to show an image from the web. Now we have AsyncImage, but I added support for it, and some images would just not show up or would be very slow.
I had a discussion with Codex: “Hey, why is there a bug?” Even Codex said, “Yeah, there's this AsyncImage, but it's really more for experimenting, and it should not be used in production.” But that's Apple's answer to showing images from the web.
This shouldn't be so hard. How am I in 2026, and my agent tells me, “Don't use the stuff Apple built because it's there, but it's not good”? This is now in the weeds, but to me, this is insane. They had so much head start and so much love, and they kind of just blundered it and didn't evolve it as much as they should.
But also, there's just the practical reality. If you look at Silicon Valley, most of the developer world that's playing with LLMs and agentic AI is using Apple products. At the same time, Apple isn't really leaning on that. They're not opening up, playing, and working together.
Isn't it funny how they completely blundered AI, and yet everybody's buying Mac minis?
How? What? Does that even make sense? You're quite possibly the world's greatest Mac salesman of all time.
No, you don't need a Mac mini to install OpenClaw. You can install it on the web. There's a concept called nodes, so you can make your computer a node, and it will do the same.
There is something to be said for running it on separate hardware. Right now, that is useful. There's a big argument for the browser. I built some agentic browser use in there.
And, I mean, it's basically Playwright with a bunch of extras to make it easier for agents.
Playwright is a library that controls the browser.
Yeah.
It's really nice and easy to use.
Our internet is slowly closing down. There's a whole movement to make it harder for agents to use. So if you do the same in a data center, and websites detect that it's an IP from a data center, the website might just block you, make it really hard, or put a lot of CAPTCHAs in the way of the agent. Agents are quite good at happily clicking, “I'm not a robot.”
Yeah.
But having that on a residential IP makes a lot of things simpler. So there are ways. It really does not need to be a Mac. It can be any old hardware. I always say, maybe use the opportunity to get yourself a new MacBook, or whatever computer you use, and use the old one as your server instead of buying a standalone Mac mini.
But then again, there's a lot of very cute things people build with Mac minis that I like.
Yeah.
And no, I don't get commission from Apple. They didn't really communicate much.
It's sad. It's sad. Can you actually speak to what it takes to get started with OpenClaw? There's a lot of people asking about it. Somebody tweeted at you, “Peter, make OpenClaw easy to set up for everyday people. 99.9% of people can't access OpenClaw and have their own lobster because of the technical difficulties in getting it set up. Make OpenClaw accessible to everyone, please.” And you replied, “Working on that.”
From my perspective, it seems there are a bunch of different options and it's already quite straightforward, but I suppose that's if you have some developer background.
Right now, you have to paste a one-liner into the terminal.
Right.
There's also an app. The app kind of does that for you, but there should be a Windows app. The app needs to be easier and more loved. The configuration should potentially be web-based or in the app. I started working on that, but honestly, right now I want to focus on security aspects.
Once I'm confident that this is at a level where I can recommend it to my mom, then I'm going to make it simpler.
You want to make it harder so that it doesn't scale as fast as it's scaling.
Yeah, it would be nice if it wouldn't. I mean, that's hard to say, right? But if the growth would be a little slower, that would be helpful, because people are expecting inhuman things from a single human being. I have some contributors, but I also started that whole machinery a week ago, so that needs more time to figure out. Not everyone has all day to work on that.
There are some beginners listening to this, programming beginners. What advice would you give to them about, let's say, joining the agentic AI revolution?
Play. Playing is the best way to learn. If you're a little bit of a builder, you have an idea in your head that you want to build, just build that, or give it a try. It doesn't need to be perfect. I built a whole bunch of stuff that I don't use. It doesn't matter. It's the journey.
Mm-hmm.
You know, philosophically, the end doesn't matter; the journey matters. Have fun. My God, those things—I don't think I ever had so much fun building things, because I can focus on the hard parts now. A lot of coding—I always thought I liked coding, but really, I like building.
Yeah.
Whenever you don't understand something, just ask. You have an infinitely patient answering machine that can explain anything to you at any level of complexity. One time I asked, “Hey, explain it to me like I'm 8 years old,” and it started giving me a story with crayons and stuff. I'm like, “No, not like that. I'm okay—move the age up a little bit.” I'm not an actual child; I just need simpler language for a tricky database concept that I didn't understand the first time.
You can just ask things. It used to be that I had to go on Stack Overflow or ask on Twitter, and maybe 2 days later I would get a response. Or I had to try for hours. Now you can just ask stuff. You have your own teacher. There are statistics showing that you can learn faster if you have your own teacher. It's like you have this infinitely patient machine. Ask it.
What would you say is the easiest way to play? Maybe OpenClaw is a nice way to play, so you can set everything up and then chat with it.
You can also just experiment with it and modify it. Ask your agent. There are infinite ways it can be made better. Play around and make it better.
Mm-hmm.
More generally, if you're a beginner and you actually want to learn how to build software really fast, get involved in open source. It doesn't need to be my project. In fact, maybe don't use my project, because my backlog is very large.
But I learned so much from open source. Just be humble. Maybe don't send a pull request right away, but there are many other ways you can help out. There are many ways you can learn just by reading code, by being on Discord or wherever people are, and understanding how things are built.
Mitchell Hashimoto builds Ghostty, the terminal, and he has a really good community where there are so many other projects. Pick something that you find interesting and get involved.
Do you recommend that people who don't know how to program, or don't really know how to program, learn to program as well? You can get quite far right now just by using natural language, right? Do you still see a lot of value in reading the code, understanding the code, and then being able to write a little bit of code from scratch?
It definitely helps.
It's hard for you to answer that because you don't know what it's like to do any of this without knowing the base knowledge. You might take for granted just how much intuition you have about the programming world, having programmed so much, right?
There are people who are high-agency and very curious, and they get very far even though they have no deep understanding of how software works, just because they ask questions. Agents are infinitely patient.
Part of what I did this year is I went to a lot of iOS conferences, because that's my background, and told people, “Don't see yourself as an iOS engineer anymore. You need to change your mindset. You're a builder.”
You can take a lot of the knowledge of how to build software into new domains, and all of the more fine-grained details, agents can help with. You don't have to know how to splice an array or what the correct template syntax is or whatever, but you can use all your general knowledge. That makes it much easier to move from one tech galaxy into another.
Oftentimes, there are languages that make more or less sense depending on what you build. For example, when I build simple CLIs, I like Go. I actually don't like Go. I don't like the syntax of Go. I didn't even consider the language, but the ecosystem is great, it works great with agents, and it is garbage-collected. It's not the highest-performing one, but it's very fast.
For those types of CLIs that I build, Go is a really good choice. So I use a language I'm not even a fan of—that's my main go-to thing for CLIs.
Isn't that fascinating? Here's a programming language you would have never used if you had to write it from scratch, and now you're using it because LLMs are good at generating it and it has some of the characteristics that make it resilient, like being garbage-collected.
Because everything's weird in this new world, and that just makes the most sense.
What's the best—ridiculous question—what's the best programming language for the AI agentic world? Is it JavaScript? TypeScript?
TypeScript is really good. Sometimes the types can get really confusing, and the ecosystem is a jungle. For web stuff, it's good. I wouldn't build everything in it.
Don't you think we're moving there? That everything will eventually be written in JavaScript?
The birth and death of JavaScript—we are living through it in real time.
What does programming look like in 20 years? In 30 years? In 40 years? What do programs and apps look like?
You can even ask a question like: Do we need a programming language that's made for agents? All of those languages are made for humans, so what would that look like?
I think there's a whole bunch of interesting questions that we'll discover. Also, because everything is now world knowledge, things will stagnate in many ways. If you build something new and the agent has no idea what it is, that's going to be much harder to use than something that's already there.
When I build Mac apps, I build them in Swift and SwiftUI, partly because I like pain, and partly because the deepest level of system integration can only be accessed through them. You clearly feel a difference if you click on an Electron app and it loads a web view in the menu. It's just not the same.
Sometimes I also try new languages just to get a feel for them.
Like Zig?
Yeah. If it's something where I care about performance a lot, then it's a really interesting language. Agents got so much better over the last 6 months—from not really good to a totally valid choice. It's still a very young ecosystem.
Most of the time, you actually care about the ecosystem, right? So if you build something that does inference or goes in the whole model-running direction, Python is very good.
Mm-hmm.
But then if I build stuff in Python and I want a story where I can also deploy it on Windows, that's not a good choice. Sometimes I found projects that did 90% of what I wanted but were in Python, and I wanted an easy Windows story. Okay, just rewrite it in Go. But then if you go toward multiple threads and a lot more performance, Rust is a really good choice.
There's just no single answer, and that's also the beauty of it. It's fun. Now it doesn't matter anymore; you can literally pick the language that has the most fitting characteristics and ecosystem
Mm-hmm.
for your problem domain. And, yeah, you might be a little bit slow in reading the code, but not really. I think you pick stuff up really fast, and you can always ask your agent.
There are a lot of programmers and builders who draw inspiration from your story: just the way you carry yourself, your choice of making OpenClaw open source, the way you have fun building and exploring, and doing that, for the most part, alone or on a small team.
So by way of advice, what metric should be the goal that they would be optimizing for? What would be the metric of success? Would it be happiness? Is it money? Is it positive impact for people who are dreaming of building? You went through an interesting journey. You've achieved a lot of those things, and then you fell out of love with programming a little bit for a time.
I was just burning too bright for too long. I started PSPDFKit and ran it for 13 years, and it was high stress. I had to learn all these things fast and hard, like how to manage people, how to bring people on, and how to deal with customers.
So it wasn't just programming stuff; it was people stuff.
The stuff that burned me out was mostly people stuff. I don't think burnout is working too much. Maybe to a degree. Everybody's different. I cannot speak in absolute terms, but for me, it was much more differences with my co-founders, conflicts, or really high-stress situations with customers that eventually ground me down.
And then, luckily, we got a really good offer for putting the company to the next level, and I had already worked for 2 years on making myself obsolete. At this point, I could leave. I was sitting in front of the screen, and I felt like—you know Austin Powers, where they suck the mojo out?
Yeah.
I was like, gone. I couldn't get code out anymore. I was just staring and feeling empty, and then I stopped. I booked a one-way trip to Madrid and just spent some time there. I felt like I had to catch up on life, so I did a whole bunch of life-catching-up stuff.
Did you go through some lows during that period? And, you know, maybe advice on how to approach life?
Maybe advice on how to approach life. If you think, “Oh, yeah, work really hard and then I'll retire,” I don't recommend that. The idea of “Oh, yeah, I just enjoy life now” maybe is appealing, but right now I enjoy life the most I've ever enjoyed life.
If you wake up in the morning and you have nothing to look forward to, you have no real challenge, that gets very boring, very fast. And then when you're bored, you're going to look for other ways to stimulate yourself, and maybe that's drugs. But that eventually also gets boring, and you look for more, and that will lead you down a very dark path.
But you've also shown on the money front that a lot of people in Silicon Valley and the startup world think—maybe overthink—way too much about optimizing for money. And you've also shown that it's not like you're saying no to money. I'm sure you take money, but it's not the primary objective of your life. Can you just speak to that—your philosophy on money?
When I built my company, money was never the driving force. It felt more like an affirmation that I did something right. Having money solves a lot of problems. I also think there's diminishing returns the more you have. A cheeseburger is a cheeseburger, and I think if you go too far into, “Oh, I do private jets and I only travel in luxury,” you disconnect from society.
I donated quite a lot. I have a foundation for helping people who weren't so lucky.
And disconnecting from society is bad on many levels, but one of them is that humans are awesome. It's nice to continuously remember the awesomeness in humans.
I could afford really nice hotels. The last time I was in San Francisco, I did the first—the OG Airbnb experience
Yeah, yeah.
and just booked a room. Mostly because I thought, okay, I'm either out or I'm sleeping, and I don't like where all the hotels are, and I wanted a different experience. I think, isn't life all about experiences?
If you tailor your life towards, “I want to have experiences,” it reduces the need for, “It needs to be good or bad.” If people only want good experiences, that's not going to work, but if you optimize for experiences, if it's good, amazing; if it's bad, amazing, because I learned something, I saw something, I did something. I wanted to experience that, and it was amazing.
There was this queer DJ there, and I showed her how to make music with Claude Code. We immediately bonded and had a great time.
Yeah, there's something about that Airbnb—you know, couch-surfing, Airbnb experience, the OG. I'm still doing that to this day. It's awesome. It's humans, and that's why travel is awesome.
Yeah.
Just experience the variety, the diversity of humans. And when it's shitty, it's good too, man. If it rains and you're soaked and it's all fucked, and the planes—everything is shit, everything is fucked—it's still awesome. If you're able to open your eyes, it's good to be alive.
Yeah, and anything that creates emotion and feelings is good.
So maybe even the crypto people are good because they definitely created emotions. I don't know if I should go that far.
No, man. Give them all love. Because I do think that online lacks some of the awesomeness of real life.
Yeah.
That's an open problem: how to infuse the online cyber experience with the intensity that we humans feel in real life. I don't know. I don't know if that's a solvable problem.
Well, it's just possible because text is very lossy. Sometimes I wish that when I talked to the agent, it would be multimodal so it also understood my emotions.
I mean, it might move there. It might move there.
It will. It totally will.
I mean, I have to ask you—I'm just curious. I know you've probably gotten huge offers from major companies. Can you speak to who you're considering working with?
To explain my thinking a little bit: I did not expect this to blow up so much. There are a lot of doors that opened because of it. I think every VC, every big VC company, is in my inbox and has tried to get 15 minutes with me. So there's this butterfly-effect moment.
I could just do nothing and continue, and I really like my life. Valid choice. Almost. I considered it when I wanted to delete the whole thing. I could create a company. Been there, done that. There are so many people pushing me toward that, and, yeah, it could be amazing.
Which is to say that you would probably raise a lot of money in that.
Yeah.
I don't know—hundreds of millions, billions. I don't know. It could just be an unlimited amount of money.
It just doesn't excite me as much because I feel I did all of that, and it would take a lot of time away from the things I actually enjoy. Same as when I was CEO: I think I learned to do it, and I'm not bad at it; partly, I'm good at it. But, yeah, that path doesn't excite me too much, and I also fear it would create a natural conflict of interest.
What's the most obvious thing I do? I prioritize it. I put, like, a version, say, for workplaces. Then what do you do? I get a pull request with a feature like an audit log, but that seems like an enterprise feature, so now I feel I have a conflict of interest in the open-source version and the closed-source version.
Or change the license to something like FSL, where you cannot actually use it for commercial stuff. That would first be very difficult with all the contributions. And second of all, I like the idea that it's free as in beer and not free with conditions.
There are ways to keep all of that free and still try to make money, but those are very difficult. And you see fewer and fewer companies managing that. Even Tailwind—they're used by everyone. Everyone uses Tailwind, right? And then they had to cut 75% of the employees because they're not making money because nobody's even going on the website anymore; it's all done by agents.
Just relying on donations—good luck. If a project of my caliber, if I extrapolate what the typical open-source project would get, it's not a lot. I still lose money on the project because I made a point of supporting every dependency, except Slack. They're a big company. They can do without me.
But all the projects that are done mostly by individuals—right now, all the sponsorship goes right up to my dependencies. And if there's more, I want to buy my contributors some merch, you know?
So you're losing money?
Yeah, right now I lose money on this.
So it's really not sustainable?
I mean, I guess something between $10K and $20K a month.
Which is fine. I'm sure over time I could get that down. OpenAI is helping out a little bit with tokens now, and there are other companies that have been generous. But I'm still losing money on that. That's one path I consider, but I'm just not very excited. Then there are all the big labs that I've been talking to. Of those, Meta and OpenAI seem the most interesting.
Do you lean one way or the other?
I'm not sure how much I should share there. It's not quite finalized yet. Let's just say that, with either of these, my condition is that the project stays open source. Maybe it's going to be a model like Chrome and Chromium. I think this is too important to just give to a company and make it theirs.
We didn't even talk about the whole community part, but the thing that I experienced in San Francisco, at ClawCon, seeing so many people so inspired and having fun, building shit, and having robots and lobster stuff walking around—that was amazing. People told me they hadn't experienced this level of community excitement since the early days of the internet, 10 or 15 years ago. There were a lot of high-caliber people there. I was amazed. I was also very sensory overloaded because too many people wanted to take selfies. But I love this.
This needs to stay a place where people can hack and learn. But I'm also very excited to make this into a version that I can get to a lot of people, because I think this is the year of personal agents, and that's the future. The fastest way to do that is teaming up with one of the labs. On a personal level, I never worked at a large company, and I'm intrigued. We talk about experiences: will I like it? I don't know, but I want that experience.
I'm sure if I announce this, there will be people who say, "Oh, he sold out," blah, blah, blah. But the project will continue. From everything I've talked to them about so far, I can even have more resources for that. Both of those companies understand the value of what I created: something that accelerates our timeline and got people excited about AI.
I mean, can you imagine? I installed OpenClaw on one of my—I'm sorry, normie friends. I'm sorry, Vahan. But he's just a—
Normie with love, yeah. For sure.
He's someone who uses a computer, but he's not very technical. He uses ChatGPT sometimes, but he wouldn't really understand what I built. So I said, "I'll show you," and I paid for him the $90 or $100—I don't know—subscription for Anthropic. I set everything up for him with WSL on Windows.
Mm-hmm.
I was also curious whether it would actually work on Windows. It was a little early. Within a few days, he was hooked. He texted me about all the things he learned. He even built little tools. He's not a programmer.
Within a few days, he upgraded to the $200 subscription—or euros, because he's in Austria—and he was in love with that thing. For me, that was very early product validation. I built something that captures people.
A few days later, Anthropic blocked him because, based on their rules, using the subscription is problematic or whatever. He was devastated. Then he signed up for MiniMax for $10 a month and uses that. I think that's silly in many ways, because you just got a $200 customer. You just made someone hate your company, and we're still so early.
We don't even know what the final form is. Is it going to be Claude Code? Probably not. That seems very short-sighted, to lock down your product so much. All the other companies have been helpful.
I'm in Slack channels with most of the big labs. Everybody understands that we're still in an era of exploration, in the era of radio shows on TV, and not a modern TV show that fully uses the format.
I think you've made a lot of people see the possibility. Nontechnical people see the possibility of AI, fall in love with this idea, and enjoy interacting with AI. That's a really beautiful thing. I think I also speak for a lot of people in saying that you're one of the great people in AI in terms of having a good heart, good vibes, humor, and the right spirit.
So this model you're describing—having an open-source part, and you also being part of building a thing inside a large company—would be great, because it's great to have good people in those companies.
You know, what people also don't really see is that I made this in 3 months. I did other things as well. I have a lot of projects. This wasn't my only thing. In January, this was my main focus because I saw the storm coming. But before that, I built a whole bunch of other things.
I have so many ideas. Some should be there; some would be much better fitted when I have access to the latest toys. I kind of want to have access to the latest toys. So this is important, this is cool, and this will continue to exist.
My short-term focus is working through those—It's 3,000 PRs now by now. There's a little bit of backlog. But this isn't going to be the thing that I'm going to work on until I'm 80. This is a window into the future. I'm going to make this into a cool product. But I have more ideas.
If you had to pick, is there a company you lean toward? So, Meta or OpenAI—is there one you lean toward going to?
I've spent time with both of those. It's funny, because a few weeks ago, I didn't consider any of this. And it's really fucking hard.
Yeah.
I know no one at OpenAI. I love their tech. I think I'm the biggest Codex advertisement shill that's unpaid. It would feel so gratifying to put a price on all the work I did for free. I would love it if something happened and those companies just merged, because it's like—
Is this the hardest decision you've ever had to make?
No. You know, I had some breakups in the past that feel like they're the same level.
Relationships, you mean?
Yeah.
Yeah.
I also know that, in the end, they're both amazing. I cannot go wrong. They're both among the most prestigious companies—I mean, not necessarily the largest, but they're both very cool companies.
Right. They both really know scale. So if you're thinking about impact—some of the wonderful technologies you've been exploring, how to do it securely, and how to do it at scale, such that you can have a positive impact on a large number of people—they both understand that.
Both Ned and Mark basically played all week with my product and sent me messages like, "Oh, this is great," or, "This is shit. I need to change this," along with funny little anecdotes. People using your stuff is kind of the biggest compliment, and it also shows me that they actually care about it.
I didn't get the same on the OpenAI side. I got to see some other stuff that I find really cool, and they lure me with—I cannot tell you the exact number because of an NDA, but you can be creative and think of the Cerebras deal and how that would translate into speed. It was very intriguing. They give me Thor's hammer. I've been lured with tokens.
So it's funny. Mark started tinkering with the thing, essentially having fun with it.
When he first approached me, I got him on my WhatsApp, and he was asking, "When can we have a call?" I'm like, "I don't like calendar entries. Let's just call now." He was like, "Yeah, give me 10 minutes. I need to finish coding."
Mm-hmm. Well, I guess that gives you street cred. It's like, ugh, he's still writing code. You know, he's—
Yeah, he does. He didn't drift away into just being a manager; he gets me. That was a good first start. Then I think we had a 10-minute fight about what's better, Claude Code or Codex. That's the thing you first do: you casually call—
Yeah, that's awesome.
—you casually call someone who owns one of the largest companies in the world, and you have a 10-minute conversation about that.
Afterward, I think he called me eccentric but brilliant. But I also had some really, really cool discussions with Sam Altman. He's very thoughtful and brilliant, and I like him a lot from the little time I had. I know some people vilify both of those people. I don't think it's fair.
I think no matter what, the stuff you're building and the kind of human you are, doing stuff at scale is kind of awesome. I'm excited.
I am super pumped. The beauty is that if it doesn't work out, I can just do my own thing again. I told them, "I don't do this for the money. I don't give a fuck." Of course, it's a nice compliment, but I want to have fun and have impact, and that's ultimately what made my decision.
Can I ask you about how OpenClaw works? We've talked about it quite a bit, but maybe just zooming out. There are different components: the gateway, the chat clients, the harness, and the agentic loop. You said somewhere that everybody should implement an agent loop at some point in their lives.
Yeah, because it's like the Hello World in AI, you know? And it's actually quite simple.
Yeah.
It's good to understand that that stuff isn't magic.
You can easily build it yourself. Writing your own little Claude Code—I even did this at a conference in Paris to introduce people to AI. I think it’s a fun little practice.
You covered a lot. I think one silly idea I had that turned out to be quite cool is that I built this thing with full system access. It’s like, with great power comes great responsibility, and I was like, “How can I up the stakes a little bit more?”
Yeah, right.
And I made it proactive. I added a prompt. Initially, it was just a prompt: “Surprise me.” Every half an hour: “Surprise me.” Later on, I changed it to be a little more specific in the definition of surprise.
But the fact that I made it proactive, that it knows you, and that it cares about you—it’s at least programmed, prompted, to do that—and that it’s a follow-on to your current session makes it very interesting, because it would sometimes just ask a follow-up question, or, “How’s your day?”
Again, it’s a little creepy, weird, or interesting, but Heartbeat is still very much in the beginning. Today, the model doesn’t choose to use it a lot. Apparently, if something is significant in the context, that triggers Heartbeat, even though it rarely uses Heartbeat. It does that sometimes for people, and that just makes it a lot more relatable.
By the way, we’re talking about Heartbeat, as you mentioned—the thing that regularly acts.
Yeah, it just kicks off the loop.
Isn’t that just a cron job, man?
Yeah, right.
The criticisms that you get are hilarious.
You can reduce any idea to something silly. It’s just a cron job in the end. I have separate cron jobs.
Isn’t love just evolutionary biology manifesting itself? Aren’t you guys just using each other?
And then, yeah, the project is all just glue of a few different dependencies—
—and there’s nothing original. Why do people...? Well, isn’t Dropbox just FTP with extra steps?
Yeah. I found it surprising. I had a shoulder operation a few months ago. The model rarely used Heartbeat, but then I was in the hospital, and it knew that I had the operation and checked up on me. It was like, “Are you okay?”
Mm-hmm.
If something is significant in the context, that triggered Heartbeat, even though it rarely used Heartbeat. It does that sometimes for people, and that just makes it a lot more relatable.
Let me look this up on Perplexity—how OpenClaw works—just to see if I’m missing any of the stuff. Local agent runtime, high-level architecture. Oh, we haven’t talked much about skills, I suppose. There’s the ClawHub, the tools in the skill layer, but that’s definitely a huge component, and there’s a huge, growing set of skills—
You know what I love? Half a year ago, everyone was talking about MCPs.
Yeah.
And I was like, “Screw MCPs. Every MCP would be better as a CLI.” Now this stuff doesn’t even have MCP support. I mean, it has it with asterisks, but not in the core layer, and nobody’s complaining.
Mm-hmm.
My approach is, if you want to extend the model with more features, you just build a CLI, and the model can call the CLI. It probably gets it wrong, calls the help menu, and then, on demand, loads into the context what it needs to use the CLI. It just needs a sentence to know that the CLI exists if it’s something the model doesn’t know about by default.
Even for a while, I didn’t really care about skills, but skills are actually perfect for that, because they boil down to a single sentence that explains the skill. Then the model loads the skill, and that explains the CLI, and then the model uses the CLI. Some skills are, like, wrappers, but most of the time, they’re just Markdown.
It’s interesting. I’m asking Perplexity about MCP versus skills because this kind of requires a hot take that’s quite recent, since your general view is that MCPs are dead-ish.
MCP is a more structured thing. If you listen to Perplexity here, MCP is “What can I reach?”—APIs, database services, files via protocol. So, a structured protocol for how you communicate with a thing. Skills are more “How should I work?”—procedures, shell helper scripts, and prompts, often written in a kind of semistructured natural language, right? Technically, skills could replace MCP if you have a smart enough model.
I think the main beauty is that models are really good at calling Unix commands. If you just add another CLI, that’s just another Unix command in the end. MCP has to be added in training. That’s not a very natural thing for the model. It requires a very specific syntax.
The biggest thing is that it’s not composable. Imagine if I have a service that gives me better data—the temperature, the average temperature, rain, wind, and all the other stuff—and I get this huge blob back. As a model, I always have to get the huge blob back. I have to fill my context with that huge blob and then pick what I want.
There’s no way for the model to naturally filter unless I think about it proactively and add a filtering way into my MCP. But if I built the same as a CLI and it gave me this huge blob, it could just add a jq command and filter it itself, then only get me what I actually need. Or maybe even compose it into a script to do some calculations with the temperature and only give me the exact output. You have no context pollution.
Again, you can solve that with subagents and more charades, but it’s just workarounds for something that might not be the optimal way. It was definitely good that we had MCPs, because it pushed a lot of companies toward building APIs. Now I can look at an MCP and just make it into a CLI.
Mm-hmm.
But this inherent problem—that MCPs, by default, clutter up your context—plus the fact that most MCPs aren’t well made, in general, makes it just not a very useful paradigm. There are some exceptions, like Playwright, for example, which requires state and is actually useful. That’s an acceptable choice.
So, Playwright you use for browser use, which I think is already in OpenClaw and is quite incredible, right?
Yeah.
You can basically do everything—most things you can think of—using browser use.
That gets into the whole argument that every app is just a very slow API now, whether they want it or not. Through personal agents, a lot of apps will disappear.
I built a CLI for Twitter. I just reverse-engineered their website and used the internal API, which is not very allowed.
It’s called Bird. Short-lived.
It was called Bird, because the bird had to disappear.
The wings were clipped.
All they did was make access slower. You’re not actually taking a feature away, but now, instead of an agent reading a tweet, it has to open the browser and read the tweet. It will still be able to read the tweet; it will just take longer. It’s not like you’re making something that was possible impossible. Now it’s just a bit slower.
So it doesn’t really matter if your service wants to be an API or not. If I can access it in the browser, it’s an easy API. It’s a slow API.
Can you empathize with their situation? What would you do if you were Twitter, if you were X? They’re basically trying to protect against other large companies scraping all their data, but in doing so, they’re cutting off a million different use cases for smaller developers that actually want to use it for helpful, cool stuff.
I think that if you have a very low per-day baseline per account that allows read-only access, it would solve a lot of problems. There are plenty of automations where people create a bookmark and then use OpenClaw to find the bookmark, do research on it, and send you an email with more details or a summary. That’s a cool approach.
I also want all my bookmarks somewhere I can search. I would still like to have that.
So, read-only access for the bookmarks you make on X. That seems like an incredible application, because a lot of us find a lot of cool stuff on X and bookmark it. That’s the general purpose of X: “Holy shit, this is awesome.” Oftentimes, you bookmark so many things that you never look back at them. It would be nice to have tooling that organizes them and allows you to research them further.
Yeah. To be frank, I told Twitter proactively, “Hey, I built this, and there’s a need.” They’ve been really nice, but also said, “Take it down.” Fair. Totally fair.
But I hope this woke up the team a little bit to the fact that there’s a need. If all you do is make it slower, you’re just reducing access to your platform. I’m sure there’s a better way.
I’m also very much against any automation on Twitter. If you tweet at me with AI, I will block you. No first strike. As soon as it smells like AI—and AI still has a smell—especially in tweets, it’s very hard to tweet in a way that looks completely human, and then I block. I have a zero-tolerance policy on that.
Mm-hmm.
I think it would be very helpful if tweets done via API were marked. Maybe there are some special cases, but there should be a very easy way for agents to get their own Twitter account.
We need to rethink social platforms a little bit if we go toward a future where everyone has their agent, and agents maybe have their own Instagram profiles or Twitter accounts, so they can do stuff on my behalf.
I think it should be very clearly marked that they are doing stuff on my behalf and that it's not me. Because content is now so cheap, eyeballs are the expensive part. I find it very triggering when I read something and then I'm like, “Oh no, this smells like AI.”
Yeah. Where is this headed in terms of what we value about the human experience? It feels like we'll move more and more toward in-person interaction. We'll communicate—we'll talk to our AI agent to accomplish different tasks and learn about different things—but we won't value online interaction because there'll be so much AI slop that smells, and so many bots, that it's difficult.
Well, if it's smart, then it shouldn't be difficult to filter, and then I can look at it if I want to. But yeah, this is a big thing we need to solve right now. Especially on this project, I get so many emails that are, let's say, nicely, agentically written.
Yeah. But I'd much rather read your broken English than your AI slop. Of course, there's a human behind it, and yet they prompt it. I'd much rather read your prompt than what came out. I think we're reaching a point where I value typos again.
Isn't that awesome? Isn't that beautiful—that now, because of AI, we value the raw humanity in each of us more?
Isn't that awesome? Isn't that beautiful—that now, because of AI, we value the raw humanity in each of us more?
I also realized this thing: I rave about AI and use it so much for anything that's code, but I'm allergic if it's stories. On my blog, I experimented with creating a blog post with agents, and ultimately it took me about the same time to steer an agent toward something I like. But it missed the nuances of how I would write it. You can steer it toward your style, but it's not going to be all your style.
So I completely moved away from that. Everything I blog is organic, handwritten, and maybe I use AI to fix my worst typos. There's value in the rough parts of an actual human.
Right. Yeah.
Also, documentation—I'm still fine with AI. It's better than nothing.
And for now, it still applies in the visual medium too. It's fascinating how allergic I am to even a little bit of AI slop in video and images. It's useful, and it's nice if it's a little component of—
Or even those images—the infographics and stuff. They trigger me so hard. It immediately makes me think less of your content. They were novel for maybe 1 week, and now it just screams slop.
Yeah.
Even if people work hard on it, using it—I have some on my blog post, from the time when I explored this new medium. But now they trigger me as well. It's like, yeah, this just screams AI slop.
What? I don't know what that is, but I went through that too. I was really excited by the diagrams. Then I realized that in order to remove hallucinations from them, you actually have to do a huge amount of work. You're just using it to draw better diagrams—great. And then I'm proud of the diagram.
It's a smell.
I've used them for maybe a couple of weeks. Now I look at those, and I feel like I do when I look at Comic Sans as a font or something like this. It's like, “No, this is—”
It's a smell.
“...this is fake. It's fraudulent. There's something wrong with it.”
And it's awesome because it reminds you that we know. There's so much about humans that's amazing, and we know that. We know it when we see it. That gives me a lot of hope about the human experience. It's not going to be damaged by AI. It's only going to be empowered as tools by AI. It's not going to be damaged or limited or somehow altered to where it's no longer human.
I need a bathroom break. Quick pause.
You mentioned that a lot of the apps might be basically made obsolete. Do you think agents will just transform the entire app market?
Yeah. I noticed on Discord that people just said what they build and what they use it for. And it's like, why do you need MyFitnessPal when the agent already knows where I am? So it can assume that I make bad decisions when I'm at, I don't know, Waffle House—what's around here?—or brisket in Austin.
There's no bad decisions around brisket, but yeah.
No, that's the best decision, honestly. Your agent should know that. But it can modify my gym workout based on how well I slept, or whether I have stress or not. It has so much more context to make even better decisions than any of these apps could. It could show me the UI just as I like. Why do I still need an app to do that?
Mm-hmm.
Why should I pay another subscription for something that the agent can just do now? And why do I need my Eight Sleep app to control my bed when I can tell the agent to do it? The agent already knows where I am, so it can turn off what I don't use.
Mm-hmm.
I think that will translate into a whole category of apps that I will naturally stop using because my agent can just do it better.
I think you said somewhere that it might kill off 80% of apps. Yeah. Don't you think that's a gigantic transformative effect on all software development? That means it might kill off a lot of software companies.
It's a scary thing. Do you think about the impact that has on the economy? Just the ripple effects it has on society—transforming who builds what tooling? It empowers a lot of users to get stuff done more efficiently and more cheaply.
It's also new services that we will need, right? For example, I want my agent to have an allowance. You solve problems for me; here's $100 in order to solve problems for me. And if I tell you to order me food, maybe it uses a service. Maybe it uses something like RentAHuman to just get that done for me.
I don't actually care. I care about solving my problem. There's space for new companies to solve that well. Not all apps disappear. Maybe some transform into being APIs.
So, basically, apps that rapidly transform into being agent-facing. There's a real opportunity for Uber Eats, which we just used earlier today. It's companies like this, of which there are many. Who gets there fastest to being able to interact with OpenClaw in a way that's the most natural and the easiest?
Yeah. And also, apps will become APIs whether they want to or not, because my agent can figure out how to use my phone. On Android, that's already happening. People already do that. Then we'll just click the “Order Uber for Me” button for me. Or maybe we use another service. Or maybe there's an API I can call so it's faster.
I think that's a space we're just beginning to understand. Again, that was not something I thought of. It's something that I discovered as people used this, and we're still so early. But yeah, I think data is very important—apps that can give me data, but that can also be APIs.
Why do I need a Sonos app anymore when my agent can talk to the Sonos speakers directly? My cameras have a crappy app, but they have an API, so my agent uses the API now.
So it's going to force a lot of companies to shift focus. That's kind of what the internet did, right? You have to rapidly rethink and reconfigure what you're selling and how you're making money.
Yeah, and some companies were really not like that. For example, there's no CLI for Google, so I had to do everything myself and build gog. That's a CLI for Google.
As an end user, they have to give me the emails because otherwise I cannot use their product. If I'm a company and I try to get Google data—Gmail—there's a whole complicated process, to the point where sometimes startups acquire startups that went through the process, so they don't have to work with Google for half a year to get certified to be able to access Gmail.
But my agent can access Gmail because I can just connect to it. It's still crappy because I need to go through Google's developer jungle to get a key, and that's still annoying. But they cannot prevent me. Worst case, my agent just clicks on the website and gets the data out that way.
Through browsers?
Yeah. I watch my agent happily click the “I'm not a robot” button. That's going to be more heated. You see companies like Cloudflare that try to prevent bot access. In some ways, that's useful for scraping. But in other ways, if I'm a personal user, I want that.
Sometimes I use Codex and read an article about modern React patterns, and it's a Medium article. I paste it in, and the agent can't read it because they block it. So then I have to copy and paste the actual text. Or in the future, I'll learn that maybe I don't click on Medium because it's annoying, and I use other websites that are actually agent-friendly.
There's going to be a lot of powerful, rich companies fighting back. So it's really interesting. You're at the center—you're the catalyst, the leader—and happen to be at the center of this kind of revolution that's going to completely change how we interact with services and with the web. There are companies like Google that are going to push back. Every major company you could think of is going to push back.
Even search. I now use, I think, Perplexity or Brave as providers because Google really doesn't make it easy to use Google without Google.
I'm not sure if that's the right strategy, but I'm not Google.
Yeah, there's a nice balance from a big-company perspective: if you push back too much for too long, you become Blockbuster and lose everything to the Netflixes of the world. But some pushback is probably good during a revolution.
Yeah. But you see that this is something that the people want.
Right.
So—
Yes.
If I'm on the go, I don't want to open a calendar app. I just want to tell my agent, “Hey, remind me about this dinner tomorrow night,” and maybe invite 2 of my friends, and then maybe send a WhatsApp message to my friend. I don't need—I don't want or need to open apps for that.
I think that we passed that age, and now everything is much more connected and fluid, whether those companies want it or not. I think the right companies will find ways to jump on the train, and other companies will perish.
You've got to listen to what the people want. We talked about programming quite a bit, and a lot of folks who are developers are really worried about their jobs and about the future of programming. Do you think AI replaces programmers completely—human programmers?
We're definitely going in that direction. Programming is just a part of building products. Maybe AI does replace programmers eventually. But there's so much more to that art: what do you actually want to build? How should it feel? What's the architecture? I don't think agents will replace all of that.
The actual art of programming will stay there, but it's going to be like knitting. People do that because they like it, not because it makes any sense. I read this article this morning about someone saying that it's okay to mourn our craft, and a part of me very strongly resonates with that.
In my past, I spent a lot of time tinkering, just being really deep in the flow, cranking out code, and finding really beautiful solutions. In a way, it's sad because that will go away. I also get a lot of joy out of writing code and being really deep in my thoughts, forgetting time and space, and just being in this beautiful state of flow.
I get a similar state of flow by working with agents, building, and thinking really hard about problems. It is different, but it's okay to mourn it. That's not something we can fight.
For a long time, the world had a lack of intelligence, if you see it like that, of people building things, and that's why salaries of software developers reached stupidly high amounts. Those salaries will go away. There will still be a lot of demand for people who understand how to build things; it's just that all this tokenized intelligence enables people to do a lot more, a lot faster.
It will get even faster and more powerful because those things are continuously improving. We had similar things when we created the steam engine. They built all these factories and replaced a lot of manual labor, and then people revolted and broke the machines.
I can relate to that if you deeply identify as a programmer: it's scary and threatening because what you like and what you're really good at is now being done by a soulless entity. But I don't think you're just a programmer. That's a very limiting view of your craft. You are still a builder.
Yeah, there's a couple of things I want to say. One is, I never thought the thing I love doing would be the thing that gets replaced. You hear these stories, like you said, about the steam engine.
I've spent so many—maybe thousands of hours—poring over code and putting my heart and soul into it. Some of my most painful and happiest moments were alone behind a computer. I was an Emacs person for a long time. Man, Emacs.
There's an identity and meaning to it. When I walk about the world, I don't say it out loud, but I think of myself as a programmer. To have that replaced in a matter of months—I mean, like you mentioned, April to November—it really is a leap that happened, a shift that's happening. To have that completely replaced is painful. It's truly painful.
But I also think programmers—builders more broadly—what is the act of programming? I think programmers are generally best equipped at this moment in history to learn the language, to empathize with agents, to learn the language of agents, to feel the CLI.
Yeah.
To understand what is the thing you need—you, the agent, need—to do this task the best?
I think at some point it's just going to be called coding again, and it's just going to be the new normal.
Yeah.
And yet, while I don't write the code, I very much feel like I'm in the driver's seat, and I am writing the code, you know? It's just—
You'll still be a programmer. It's just that the activity of a programmer is different.
Yeah, and because on X, the bubble is mostly positive. On Mastodon and Bluesky, I also use them less because oftentimes I got attacked for my blog posts. I had stronger reactions in the past; now I can sympathize with those people more because, in a way, I get it.
In a way, I also don't get it because it's very unfair to grab onto the person that you see right now and unload all your fear and hate. It's going to be a change and it's going to be challenging, but it's also—I don't know. I find it incredibly fun and gratifying.
I can use the new time to focus on much more detail. I think the level of expectation of what we build is also rising because the default is now so much easier, so software is changing in many ways. There's going to be a lot more.
Then you have all these people who are screaming, “Oh yeah, but what about the water?” I did a conference in Italy about the state of AI, and my whole motivation was to push people away from the idea that they should see themselves as iOS developers anymore. You're now a builder, and you can use your skills in many more ways.
Also, apps are slowly going away. People didn't like that. A lot of people didn't like what I had to say. I don't think I was being hyperbolic; I was just saying, “This is how I see the future.” Maybe this is not how it's going to be, but I'm pretty sure a version of that will happen.
The first question I got was, “Yeah, but what about the insane water use in data centers?” But then you actually sit down and do the math, and for most people, if you just skip 1 burger per month, that compensates for the CO2 output or the water use equivalent of the tokens.
The math is tricky, and it depends on whether you add pretraining. Then maybe it's more than just 1 patty, but it's not off by a factor of 100. Golf is still using way more water than all data centers together. So are you also hating people who play golf?
Those people grab onto anything that they think is bad about AI without seeing the potential things that might be good about AI.
Mm-hmm.
And I'm not saying everything's good. It's certainly going to be a very transformative technology for our society.
To steelman the criticism in general, I do want to say that, in my experience with Silicon Valley, there's a bit of a bubble in the sense that there's a kind of excitement and an overfocus on the positive that the technology can bring.
And that's great. It's great to focus on not being paralyzed by fear and fear-mongering and so on. But within that excitement, and within everybody talking just to each other, there's a dismissal of the basic human experience across the United States and the Midwest, across the world.
That includes the programmers we mentioned, all the people who are going to lose their jobs, and the measurable pain and suffering that happens on the short-term scale when there's change of any kind—especially large-scale, transformative change that we're about to face if what we're talking about materializes.
Having a bit of that humility and awareness about the tools you're building is important. They're going to cause pain. In the long term, they will hopefully bring about a better world, even more opportunities—
Yeah.
—and even more awesomeness. But having that kind of quiet moment, often, of respect for the pain that is going to be felt—I don't think enough of that is done. So it's good to have a bit of that.
And then I also have to put that against some of the emails I got where people told me they have a small business and they've been struggling. OpenClaw helped them automate a few of the tedious tasks, from collecting invoices to answering customer emails, which then freed them up and gave them a bit more joy in their life.
Mm-hmm.
Or some emails where they told me that OpenClaw helped their disabled daughter, that she's now empowered and feels she can do much more than before. Which is amazing, right? Because you could do that before as well. The technology was there.
I didn't invent a whole new thing, but I made it a lot easier and more accessible, and that did show people the possibilities that they previously wouldn't see. And now they apply it for good.
Mm-hmm.
Or also the fact that, yes, I suggest the latest and best models, but you can totally run this on free models. You can run this locally. You can run this on Kimi or other models that are way more accessible price-wise, and still have a very powerful system that might otherwise not be possible.
Because other things, like Anthropic’s Cowork, are locked into their space, so it’s not all black and white. I got a lot of emails that were heartwarming and amazing, and I don’t know, it just made me really happy.
Yeah, it has brought joy into a lot of people’s lives. Not just programmers—a lot of people’s lives. It’s beautiful to see. What gives you hope about this whole thing we have going on with human civilization?
It inspired so many people. There’s this whole builder vibe again. People are now using AI in a more playful way and are discovering what it can do and how it can help them in their lives, creating new places that are just sprawling with creativity.
I don’t know. There’s ClawCon in Vienna with 500 people, and there’s such a high percentage of people who want to present, which is really surprising to me, because usually it’s quite hard to find people who want to talk about what they built. Now there’s an abundance. That gives me hope that we can figure shit out.
And it makes it accessible to basically everybody.
Yeah.
Just imagine all these people building, especially as you make it simpler and simpler and more secure. Anybody who has ideas and can express those ideas in language can build. That’s crazy.
Yeah, that’s ultimately power to the people, and one of the beautiful things that comes out of AI. Not just a slop generator.
Well, Mr. Clawfather, I just realized that when I said that in the beginning, I violated 2 trademarks, because there’s also The Godfather. I’m getting sued by everybody.
You’re a wonderful human being. You’ve created something really special: a special community, a special product, and a special set of ideas. Plus, the humor, the good vibes, the inspiration of all these people building, and the excitement to build. I’m truly grateful for everything you’ve been doing, for who you are, and for sitting down to talk with me today. Thank you, brother.
Thanks for giving me the chance to tell my story.