“OpenClaw之父”:当“实验项目”变成“全球爆款”,软件开发本质已变——代码已死、意图永生
时间: 2026-02-25 13:36作者: 小苹果的孤独2月25日,OpenAI在其官方视频栏目中发布了对知名开源项目OpenClaw创建者Peter Steinberger的深度访谈,由OpenAI高管Romain Huet主持。
访谈里,Steinberger复盘了OpenClaw的爆红、自己如何用Codex等“代理式工具”写软件,以及开源与安全的真实矛盾。
几周前还需要主持人“介绍一下”,如今Steinberger在旧金山被上千名用户线下“围观”。他形容自己“各方面都有点超载”,但也直言这正是他想看到的结果:“我一开始就是想激励别人——现在这就是最有趣的形式。”
涌现的智能:“它自己找到了解决问题的路径”
很多人以为OpenClaw是一夜成名,但其背后是长达十个月的疯狂试错。真正让Peter确认这款产品具备极高市场契合度(PMF)的,是AI智能体展现出的“涌现能力”。
Peter把未成熟的AI智能体接入了日常通信软件。某天,有人发来一条语音信息。按照原本的程序逻辑,AI不具备处理这种未知音频文件的能力。然而,令人毛骨悚然又无比兴奋的一幕发生了:AI开始显示“正在输入”。
“我当时就在想,我根本没写过这个功能,这怎么可能奏效?”Peter回忆道。
当他询问AI是如何做到的时,AI的回答揭示了当前大模型恐怖的自主规划能力:“你发给我一个没有后缀的文件。我查看了文件头,发现它是Opus音频格式,所以我在电脑上调用了FFmpeg把它转换了。我想转录它,但你没安装Whisper,于是我四处寻找,用curl命令把文件发给了OpenAI的接口,拿回了文本。”
这个细节极具穿透力。AI已经跨越了“你让我写一段代码”的阶段,进化到了“你给我一个问题,我自主调用系统工具链去寻找答案”。
生产力大爆炸:一人,一年,9万次提交
在过去一年里,Peter一个人在GitHub上完成了超过9万次代码提交,横跨120多个项目。这种效率在人类软件工程史上是不可想象的。
“一年前,这也是绝对不可能的。没有任何模型能让一个人建构出这种规模的东西。”Peter直言。
他的工作流极其简单粗暴:把一个高达1.5MB、包含所有代码文件的Markdown文档拖进AI模型(如Gemini、Codex),直接写下“给我写个技术规格说明书”,然后输入“构建”。在这个过程中,AI甚至会自己编写测试工具(如Playwright)去走通登录流程并沿途检查错误。
“当我开始接触这项新技术时,每次都让我多巴胺飙升。我突然意识到,现在我简直可以构建任何东西。”Peter表示。
这直接触及了当前软件行业的核心痛点:研发成本。以往需要一个架构师、前端、后端、测试组成的完整团队才能跑通的MVP(最小可行性产品),现在一个人在几个小时内就能完成。
“大多数代码都很无聊”:代码在贬值,意图在升值
当代码可以被轻易生成,“写代码”本身就失去了壁垒。
目前,OpenClaw面临着超2000个开源代码合并请求(PR)。但Peter审视这些代码的方式已经完全变了。他不再逐行阅读代码,而是让AI去审查。
“大部分代码都很无聊。它只是将一种数据形状转换为另一种数据形状。我实际上并不关心代码,我关心的是这个人到底想解决什么问题。”
他将现在的开源贡献戏称为“提示词请求(Prompt Request)”。他拿到别人的代码后,第一句话是问AI:“你理解这个PR的意图吗?”随后,他会通过语音与AI讨论这是不是最优解、是否存在架构问题,讨论成熟后,再由AI一键生成并合并代码。
这种范式的转变说明,软件开发的本质已经从“熟练掌握编程语言”变成了“清晰定义问题和管理系统架构”。Peter直言,那些还在用老旧方式手工敲代码的开发者(他称之为VIP coding)会被淘汰。
“我妈能装” vs “黑客乐园”:安全争议把开源推到台前
对于OpenClaw的未来,Steinberger的目标是两头都要:“我想在‘我妈也能装’和‘好玩、可黑’之间找到平衡——这很难。”
他描述OpenClaw长期的默认安装方式其实很“反常规开源”:git clone后源码就在本地,代理“坐在源码里,也知道源码”,不满意就“直接提示它改自己”,近似“自修改软件”。
但这也把安全矛盾放大。他直言“提示注入还没解决”,同时吐槽外界忽略使用边界:项目里的Web服务最初只打算给“可信内网”调试,但有人硬要暴露到公网,然后安全圈再反过来说“没有公网该有的登录限制”。
“我在安全文档里一直喊‘别这么干’,但人们还是会这么用。”
他表示自己已引入安全专家,现实目标是“支持这些用法,同时让大家别一脚踩穿地板”。
给还没上车的人一句话:先玩起来
谈到欧洲开发者对代理工具接受度偏慢,Steinberger的建议非常直白:“用玩心去做。去做一个你一直想做的东西。”
他引用一句流行判断并站队:“我觉得英伟达的CEO说过,短期内,你不会被AI取代,你会被使用AI的人取代。”
最后他抛出时间判断:“我认为在接下来的一年里,这一切将会彻底爆发。”
“人们没有意识到,GPT-5.2在‘这东西能直接跑通’的层面上,又是一次量子级跃迁。我至今仍对它能运作得如此之好感到惊讶。”
访谈全文翻译如下:
Romain Huet: Peter,欢迎来到 OpenAI。我们在网上已经认识很多年了,但我很高兴终于有机会和你进行面对面的深入交流。
Steinberger: 感谢你们的邀请,我也是。顺便说一句,你们的办公室很漂亮。
Romain Huet: 谢谢。你过去这几周可真是疯狂。一个月前,我们最初有了做一期视频的想法。如果我们当时就做了,我可能还得专门介绍一下你。但现在,我想你甚至都不需要介绍了。一个开源项目能登上《华尔街日报》可不常见。恭喜你取得的这些成功!你现在感觉如何?
Steinberger:说实话,现在各方面都有些超负荷。但是,当初我开始尝试接触 AI 的时候,我就想启发大家。我觉得现在正是最有趣的状态,所以我感到很自豪。
Romain Huet: 这太棒了。你过去一周都在旧金山参加了一些活动,比如 Codex 黑客松,而且你还参加了一个专门针对 OpenClaw(注:指代受访者的开源 AI 项目)的聚会活动。
Steinberger: 那个活动其实是社区自发组织的。当时大家说我们需要办个线下聚会,于是我就建了一个关于聚会的 Discord 频道,我说“好啊”。结果我到了现场,发现竟然有上千人!我被大家的创造力、现场的色彩氛围,以及那么多充满热情的人彻底震撼了。
Romain Huet: 那一刻你肯定意识到自己创造了一些神奇的东西。几周前这个项目甚至还不存在,而现在已经有成千上万的人在拥抱它、使用它,并聚集在旧金山见你,这真是令人难以置信。
Steinberger: 哪怕是下周在维也纳的活动,我们也已经有 300 人报名了。要知道,那里的科技圈氛围(Tech scene)可远不如旧金山浓厚。所以这已经是一个全球性的现象了。
Romain Huet: 这确实很了不起,它触达了不同的洲和不同的文化。那么,你在这里与社区的交流进行得怎么样?你花时间与社区互动,还有那些被你引入项目的一些维护者,这对你来说体验如何?
Steinberger: 这种体验非常特别。很多人都很喜欢它。许多人对这个项目抱有一种期待,认为它是一个企业级的最终产品。但对我来说,很长一段时间里,它只是我的一个小游乐场。这整整一年,我都在为 AI 带来的可能性感到惊叹。现在,如果你是一个开发者,你会觉得这真是一个不可思议的时代。
Romain Huet: 在这个时间点,你认为关于“构建”——真正去构建产品、成为一个开发者——最有趣的事情是什么?这是一个非常有趣的时期,整个工具链都在发生变化,开发者的定义也在改变,任何人都可以构建任何东西。
Steinberger: 当我刚开始玩这些新技术时,每次都能获得多巴胺的刺激。当初我用代码辅助工具时,它只有大概 30% 到 40% 的几率能把事情做对。但对我来说,那依然是极其震撼的。因为我意识到,现在我可以构建任何东西了。以前写软件通常会受到很多时间限制,因为软件开发很难。虽然现在软件开发依然很难,但你的速度已经快得多了。
Romain Huet: 我完全同意。如果我们将时间稍微倒回几年,我记得大概是在 2011 年或 2012 年,你开发了 PSPDFKit,那是我们第一次了解你的工作。从外界来看这很有趣,因为感觉你实现了每个开发者的梦想:你遇到了一个问题,为它创造了一个出色的解决方案,围绕它建立了一家公司,扩大了规模,最后成功把它卖掉。但我相信这段旅程绝非易事。
Steinberger: 的确如此。我并不是某天醒来就想:“我要去写一个 PDF 框架”,那在我兴趣清单上绝对是负 100 分的位置。它就这么自然而然地发生了。这就像一种奇妙的蝴蝶效应:从参加诺基亚开发者大会,到身边的朋友有这个需求,再到申请美国签证等得太久,这一切机缘巧合最终促使我创立了一家公司。
Romain Huet: 我觉得有趣的是,在建立那家公司之后,你似乎休息了一段时间。是什么又把你带回了开发领域?
Steinberger: 是的,到最后我真的精疲力尽了。好几年里我都在高负荷运转。经营公司很难,做创始人也很难。而且这是我第一次创业,不太懂得如何缓解这些压力,所以我燃烧得太猛烈了,需要放松一下。
后来我仍然在关注科技新闻。我看到了 ChatGPT 早期的一些项目,比如 GPT-Engineer 之类的。我觉得挺酷,但并没有真正让我感到兴奋。你必须得亲自体验新技术,光看文章是无法真正体会到它的力量的。所以当时那项技术并没有立刻触动我。
直到我准备好了,当我感觉到“我想再做点东西了”,而且我不想再用苹果的技术栈了——因为我已经做了太久,而世界已经向前发展了。当时我隐约有种感觉,当你是一个领域的绝对专家,要转向另一个领域时,不仅是“困难”,甚至可以说是“痛苦”。因为你有关于如何构建系统的大量宏观知识,但如果要在没有 AI 辅助工程的情况下真正去实现,你还需要重新学习很多基础知识来迁移你的经验。
后来我就想,不如来看看现在这些 AI 技术到底怎么样。真正让我感到震撼的时刻是,我拿出了一个做到一半的项目(之前在完成它之前我就已经倦怠了)去测试。
Romain Huet: 对我们开发者来说,这种情况很常见。我们喜欢有新想法并启动新项目,但把它们推向终点才是最难的部分。
Steinberger: 我经常看到这种情况。这真的很难,甚至有时候会以失败告终。但对于这个项目,我想继续做下去,而且我想重写它。所以我把所有的文件整合在一起,做成了一个巨大的 Markdown 文件,大概有 1.5 MB 那么大。我把它拖进 Gemini 1.5 Pro Studio,让它给我写一份前端架构层面的需求说明书(Spec)。然后我把它拖进 AI 编程工具里面,写上“构建(Build)”。
接着我就在主屏幕上干别的事,它就在副屏幕上运行了几个小时。当时的工具比现在粗糙得多。到了某个时刻,那个强大得有些“疯狂”的模型(比如 Claude 3.5 Sonnet 等)告诉我:“我已经达到 100% 的生产就绪状态了。”我试了一下,结果程序崩溃了。然后我接入了 Playwright(这是少数几个我会实际使用的模型上下文协议 MCP 之一),让它去构建登录功能,并沿途检查工作状态。
一个小时后,它竟然真的跑通了,并且给我展示了一些界面。虽然那是质量极差的“代码垃圾(slop)”,但对我来说,那就是真正顿悟的时刻。从流程上来说,它展现出的可能性让我起鸡皮疙瘩。那一刻起我甚至激动得睡不着觉,我的大脑爆炸般涌现出我一直想做却无法实现的各种想法。从那以后,我就彻底掉进这个“兔子洞”里了。
Romain Huet:很多人把 OpenClaw 视为你的一夜成名之作。但我喜欢并且觉得你的故事中最迷人的地方在于,它是你过去 9 到 10 个月里一直在做的许多项目的结晶。看看你的 GitHub 主页,你构建了 40 多个项目,而且其中一半都在这个项目里用到了。你可以把它们全部整合到项目中。你能告诉我们更多关于这段旅程的故事吗?这些想法和项目是如何融入进来的?
Steinberger: 我多希望我能说,我一开始就有一个统一的宏大计划,但其实大部分时间我只是在探索。我想要一些东西,而这些东西还不存在,我就自己把它们构建出来——或者说,我用提示词(Prompt)让它们变为了现实。
这完全是一步步来的,因为我只是想让我的 AI 智能体(Agent)帮我做点事情,当时还没有统一的愿景。有趣的是,事情最后又回到了原点:我最初想做一个能查看我 WhatsApp 消息的工具。我甚至为此买了个域名,做了一个原型。但后来我想,那些大实验室肯定会做这个的,我不如等一等,把精力放在其他事情上。我进行了大量的实验,我的初衷其实就是为了好玩,同时启发他人。
到了 11 月,我做了几个符合我预期版本的原型,但都不太好。当时我就纳闷:为什么还没有哪个实验室做出这种东西?他们到底在干嘛?于是我构建了第一版,也就是后来成为 OpenClaw 的项目。这已经是我们换的第 5 个名字了。
起初我还没有完全搞懂它的价值,只是觉得这很酷。因为你只需花一个小时就能做出第一个原型,只要把想法用语言表达出来。真正让我彻底领悟的,是我去马拉喀什度周末的旅行。我发现自己使用它的频率非常高,因为它太方便了。那里没有很好的网络,但 WhatsApp 可以在任何地方使用。用它发图片、翻译东西、帮我找餐厅,甚至通过电脑查阅资料,都极其方便。我把它展示给朋友看,让它帮我发短信,结果他们也想要这个工具。我就说:“你们不该用它,你们还不了解它的风险。”
Romain Huet: 这其实就是“产品契合市场(PMF)”的标志。哪怕你最初没有为朋友设计这个东西,它只是你为技术圈同行保留的工具,但你的朋友已经迫不及待想要了。
Steinberger: 后来真正让我大开眼界的是,我频繁地使用它,然后有人给我发了一条语音消息。我当时的反应是:“等等,这个工具应该处理不了语音才对啊。”
Romain Huet: 跟我多讲讲这个故事吧,那天我们聊到这个的时候我觉得太不可思议了。
Steinberger: 这恰恰证明了这些模型在解决问题方面的能力有多强。我们为 AI 辅助工程构建了这些系统,但在更抽象的层面上,如果你想成为一名真正优秀的程序员,你必须是一个非常出色的问题解决者,这种能力适用于任何领域。
当时我发送了那条语音消息,然后屏幕上竟然出现了“正在输入”的提示。我当时想:“我倒要看看现在会发生什么,我可没写过处理语音的功能,这不可能行得通的。”然后模型竟然回复了我!我非常震惊,问模型:“你是怎么做到的?为什么这个能行得通?”
模型回答说:“你给我发了一条消息,但那只是一个没有后缀名的文件。所以我查看了文件头,发现它是 Opus 格式的音频。于是我调用了你电脑上的 FFmpeg 把它转换成了常见格式。接着我想转录它,但你电脑上没有安装 Whisper。我四处找了找,发现了一个 OpenAI 的接口,我就用 curl 命令把文件发给 OpenAI,拿到了返回的文本,然后我就回复你了。”
Romain Huet: 这太难以置信了!这就是赋予智能体工具和完整计算机访问权限的威力。哪怕你从未对它们进行过相关编程,它们现在也可以自己想出解决方案。
Steinberger: 很有趣的是,当我跟别人讲这个故事时,他们的反应是:“我的天啊,它居然擅自使用了你的密钥!这太疯狂了!”我就会说:“不,我把密钥放在环境变量里就是为了让它用的!如果这是一个需要访问 OpenAI 密钥的脚本,我的机器人既然运行在同一个环境中,它理所应当去访问。这就是我想要的效果。”
这就是我的顿悟时刻。现在每次我把它展示给朋友时,我都会把他们拉进一个小群聊里。坦白说,这个东西最初是为一对一交流设计的。所以如果把它放在群聊里,你得选择你真正信任的人。
Romain Huet: 真正信任的人?
Steinberger: 对,因为它当初的设计并没有考虑到“直接放到公共环境里还能永远做正确的事”。它是你的私人助手。
Romain Huet: 我刚开始设置它的时候也非常好奇。我心想,这设置挺怪的,但它会把我带向哪里呢?后来我也经历了几次“顿悟时刻”:你给它的访问权限越高,赋予它的工具和技能越多,它的表现就越让你惊叹。你赋予它一项虚拟技能,让它去构建一个网站或应用,甚至为你想要举办的活动写个程序。它不仅能把应用建好,还能使用你的 OpenAI API 密钥往里面加入一些 AI 功能,并将其部署到 Vercel 上。它甚至直接给你生成了一个可以分享给朋友的链接。与仅仅“增强写代码的能力”相比,这完全是思维方式的降维打击。
Steinberger: 整个 11 月和 12 月,我完全沉迷于此。虽然我还在做些别的项目,但大部分时间都花在这上面了。但在 Twitter 上,大家似乎并不理解它的价值,反响平平。而每次我向朋友展示时,他们都想要,但我总是说“它还没准备好”。
后来我就想:“我要怎么做才能向大家展示这东西有多酷?”于是我创建了一个 Discord 频道,直接把我的机器人放了进去。当时没有任何安全防护,因为在早期阶段,我甚至还没内置沙盒功能。我完全是在公开环境下开发。我基本上是在用它构建它自己。我把代码扣掉,然后问模型:“你看到这段工具代码了吗?”它说:“没有,我什么都没看到。”我说:“去查一下你自己的源代码。”它照做了很多事情,人们看到这一幕后,终于明白了它的威力。
Romain Huet: 当你把它像这样放到 Discord 里时,你给了它什么样的访问权限?你有没有把比如你所有的推文都给它?它对你有什么样的背景知识?
Steinberger: 没有把我所有的推文给它,那太多了,但给了一些我的记忆资料。我很快就开始密切监控它,因为提示词注入(Prompt Injection)仍然是一个未解决的问题。不过最新一代的模型确实非常聪明。我有一个防御性的系统指令文件(System.md),它定义了我的价值观、我希望模型如何工作、如何操作、如何思考、什么对我是重要的,以及那些不能泄露的秘密。
大家对这个秘密非常好奇,一些路人跑进来试图对它进行提示词注入,粘贴了大段大段的代码。结果模型回复说:“我才不看这些东西。”基本上就是在嘲笑他们。但我当时还是不太放心。第一天晚上,它引起了极大的关注,然后我就把它关了去睡觉。睡了大概 10 个小时,醒来一看,Discord 里有 800 多条消息,我的智能体居然回复了每一条!我当时吓坏了,赶紧再次把它关掉。
我仔细阅读了每一条聊天记录。到后来我就松了一口气,因为它实际上并没有做任何恶意的事情。它没有让人把我的系统指令套出来。我并不是说提示词注入不可能发生,但它确实不像人们想象的那么容易。
Romain Huet: 从宏观来看,它的表现其实完全符合你的期望。
Steinberger: 是的。我当时犯的最大错误是:我虽然关掉了它,但我忘了我还设置了一个守护进程(Launch Daemon)。守护进程的主要作用就是如果程序崩溃或被杀死,它会自动重启。因为你想让它成为一个可靠的服务,苹果等系统就是这么设计的。我当时没想起来这茬,我把它杀掉了,结果我去睡觉后不到 5 秒钟它就自动重启了。现在我吸取教训了。
现在我也加入了沙盒机制。有人非常自豪地把智能体放在他的 Mac Studio 里,称之为“城堡”。然后我把它放进了一个极其精简的 Alpine Docker 容器里。你知道,这些模型真的极具创造力。第一次在那个几乎空无一物的容器里时,我让模型去“查看一下这个网站”。它进去后发现:“这系统里连 curl 命令都没有,什么都没有。”我就告诉它:“发挥你的创造力。”
结果,它利用自带的工具、通过 TCP 套接字和 C 编译器,自己手搓了一个简陋版的定制 curl!这样它就能成功访问网站了,而且真的奏效了,简直太疯狂了!所以说,这些智能体拥有不可思议的资源整合能力。
Romain Huet: 你也遇到了一些挑战,比如人们会审视潜在的安全问题,期望你从第一天起就提供一个绝对稳健的系统,尽管你只是发布了一个开源项目。
Steinberger: 我总是觉得很好笑。经常有人问我:“你能帮我引荐一下你们的 CEO、人力资源或者团队的其他成员吗?”我就回答:“团队就我一个人,我只是在我的‘山洞’里敲代码。”但这恰恰体现了他们产生的认知失调。因为这个项目看起来根本不像是任何单一人类能完成的。
当然,我现在有了维护者,也会收到很多代码合并请求(PR),但这主要还是我一个人构建的。哪怕是在一年前,这也是不可能实现的。一年前甚至不存在单人能构建出这种规模项目的模型。这超出了人们对这个领域的原有认知。
Romain Huet: 确实如此。关于你的生产力,我相信很多开发者一定很好奇:“Peter 怎么能如此高效?”今天早上我又看了一下你的 GitHub,我发现在过去这一年里,你在 120 多个项目中贡献了近 9 万次。但有趣的是,在你的 GitHub 活跃度图表上,上半年的格子还很白,然后变成浅绿色;到了秋天,大概在 10 月、11 月左右,变成了非常深的绿色。那是发生了什么?
Steinberger: 我记得我跟你提过使用 Codex 等辅助工具的情况。随着每一代模型的更新,它们变得越来越强。但不仅仅是智能体变得更强了,相关的工具也变得更好了。同时,我对如何使用这些工具、如何优化工作流的理解也加深了。
你知道,那些坚持用传统方式写代码的人,正在形成一种逐渐消亡的派系。他们把 AI 辅助编程贬低为“感知编程(Vibecoding)”,认为这是一个贬义词。他们尝试了 AI,但没有意识到这是一项技能。就像你刚拿起吉他,不可能第一天就弹得很好。所以他们体验不佳,然后就说:“哦不,这东西根本没用。”
相反,如果你以一种游戏的心态去对待它,你就需要去学习。我现在对哪种提示词有效、大概需要多长时间,已经有了直觉。如果花费的时间超出了预期,我会反思:也许是我犯了错?也许是架构有问题?是我的思路不对,还是其他什么原因?就像亲自写代码一样,写多了你就会有一种直觉:“这个功能自然地融入了我的架构”,或者“我在和系统对抗”,这都需要时间去摸索。
Romain Huet: 如果人们想变得像你一样高效,你现在的常用设置是怎样的?因为你有一句名言:“大多数人把他们的设置搞得太复杂了。”
Steinberger: 我自己以前也搞得太复杂过,我称之为“智能体陷阱(Agentic trap)”。从你首次接触这项新技术,到你真正变得非常高效,中间这段时间,很多人会陷入这种陷阱,试图极度优化他们的环境配置。这实际上并不能让你变得更高产,只是让你“感觉”自己更高产。所以我把整个流程简化为一个整体。
这也是一个非常有争议的观点:我现在就是直接和模型对话。你只需要像聊天一样去对待它,模型就像你的伙伴。这和传统的结对编程不同,它就是一场对话,我基本只告诉它我想要什么。
我总是会问模型一个问题:“你有什么疑问吗?”不知为何,默认情况下模型总是被训练成“直接解决你的问题”,于是它就会自行做出假设。但这些默认的假设并不总是最佳的。你要记住,模型是用大量代码训练出来的,其中包含很多老旧代码。所以,“你有什么疑问吗?”是一个非常重要的问题。人们没有意识到,模型通常是从“白板”状态开始的。它们不像我们那样去学习,每次新会话对它来说都是:“我对这个代码库一无所知,我只能去搜索并找到你让我改的小地方,然后尝试修复它。”它们通常看不到系统的全貌。
如果你想处理得当,你的脑海中必须要有整个系统的全貌。你需要给模型提供一些帮助,引导它:“看看这里,看看那里。”在这方面,最新的模型在纵观全局上做得更好了。
最开始我使用非常基础的方法,我甚至都不用代码工作区(Worktrees),直接处理纯文本。保持简单能让我更专注于实际要解决的问题。我甚至不去处理分支之类的事情,只专注于不同的具体问题。理想情况下,如果项目变得越来越大,你就可以同时在不同层面上工作而不至于让它们相互冲突。
Romain Huet: 你使用了大量的代码辅助工具来构建 OpenClaw。这些工具如何改变了你的工作方式?
Steinberger: 我尝试了很多工具。我之所以信任它能构建出我想要的东西,是因为它是目前所有工具中可靠性最高的,而且“一次性跑通”的比例非常大。我认为人们还没有真正意识到,最新一代的模型升级在“开箱即用”方面又实现了一次量子跃迁。我至今仍然对它如此优异的表现感到惊叹。
Romain Huet: 这太棒了。我们现在可以直接构建东西了,这真的很不可思议。
Steinberger: 是的,大家真的需要亲自去试一试。
Romain Huet: 你还有一句名言:你现在发布的很多代码,你自己甚至都不看。这种理念带来了怎样的改变?
Steinberger:其实大多数代码都是很无聊的。大部分代码只是将一种数据形态转换为另一种数据形态,最终展示给用户或者发往某个地方。所以对于模型写的大多数代码,我对它生成的逻辑有很好的理解。只要我看一眼大致流程,确认我脑海中的预想与它生成的代码大体一致就足够了。
我以前带过团队,手下有很多软件工程师。带团队也意味着你需要接受一点:他们写出的代码不会和你想要的一模一样。最终,你优化代码库是为了让“智能体(Agent)”能做最好的工作,这与让“人类”做最好的工作并不总是一回事。这也意味着我得接受那些代码可能不是我亲手写的那个样子。虽然我可以强迫模型按照我的风格写,但在很多时候,代码结构是怎样的其实无所谓。如果有性能问题,你再去重点优化它就好了。
Romain Huet: 你刚才关于代码价值的观点,也极大地改变了你对待开源的方式。我看了一下项目,现在上面大概有 2000 个未处理的合并请求(PR)。在 AI 出现之前,你必须得亲自阅读所有这些 PR,因为代码本身是有价值的。但现在,你有时把它称作“Prompt Request(提示词请求)”而不是“Pull Request(拉取请求)”,因为 PR 背后的想法或意图比代码本身更重要。
Steinberger: 很多时候,审查一个 PR 花费的时间甚至比我自己去写还要长。因为我宁愿相信模型没有恶意,也不愿轻信一个我从未听说过、也从未交流过的外部贡献者。所以我必须更仔细地审查。
当我开始审查一个 PR 时,我对模型问的第一个问题是:“你理解这个 PR 的意图吗?”因为我真的不在乎代码,我在乎的是这个人到底试图解决什么问题。这更像是一个附带了巨大解决方案代码库的“问题工单”。
首先,很多人还不懂得如何驾驭智能体。其次,他们提交的往往是一个非常局部的解决方案,因为他们脑海中没有整个系统的概念。最难的部分在于,这个小的新功能如何融入我更大的系统中?或者这个小修复——虽然它很小,但它是正确的修复方式吗?它会不会是一个系统性或架构层面的问题?
如果你把模型当作对话对象,它会表现得非常好。当我直接说“好,现在去构建这个”时,它就会开始干活。所以我会问模型:“初衷是什么?这是最佳方案吗?”有时模型会说是,但大多数时候它会说不是。然后我就会和它探讨什么是最好的修复方法。比如这是一个架构问题吗?如果这是一个关于消息处理的问题,它只影响 WhatsApp 吗?还是也会影响 Signal?我们要不要用更通用的方式来解决?这是一个新功能吗?我们真的需要这个新功能吗?
有时候,这些讨论会持续 10 到 15 分钟。我经常用语音输入,因为这简直就像是在和一个非常聪明的同事交谈。
Romain Huet: 用语音传递信息确实比打字更容易。
Steinberger:是的。当我满意时,我有一个像 1 slash command 那样的命令,比如 lnpr,它解释了整个过程,用来实际创建分支,完成所有更改,让PR被合并。我想创建一个社区,所以我仍然尽量给创建它的人署名,尽管整个过程比我自己写完所有东西要长。但我很感激人们想要成为其中的一部分。
Romain Huet:你对Open Claw未来的愿景是什么,考虑到所有这些围绕项目的贡献者?你是否把自己看作是"个人AI智能体应该是什么样子"这个想法的先驱,以便有一天十亿人都能使用类似的东西?
Steinberger:我想找到一个平衡点:一方面是我妈妈可以安装的东西,另一方面也是有趣且可 hack 的东西。这很困难。你知道,大多数开源项目,你下载包。但在很长一段时间里,我的默认安装是 git clone、build、run。然后你实际上在磁盘上有了源代码。智能体就位于源代码中,并且知道源代码。如果你不喜欢任何东西,你直接提示智能体,它就会改变自己,就像真正的自我修改软件。所以很多从未给我发过PR的人,这也是它更像是一个"提示请求"的原因,因为他们只是理解了如何构建持久的软件。
Steinberger:与此同时,整个世界,或者说整个安全行业都把目光投向了它,这很有趣,也有点令人沮丧,因为它错过了一些细微差别,对吧?例如,我有的那个web服务器。那是为你设计的。最初,我是为了调试而构建它,然后我把它弄得漂亮了,但它只应该在你的网络内访问,在你信任的网络内访问。但因为它也应该是黑客的天堂,有一个选项可以让你改变这一点,对吧?因为有些人可能有奇怪的设置,也许使用ngrok,也许使用反向代理。所以我不希望把它限制死是有原因的。
Steinberger:但现在,有人把它放在开放的互联网上,尽管我在安全文档中大声疾呼"请不要这样做,这不是它的设计用途"。然后安全人员指出:"哦,是的,它没有登录限制。"它没有所有这些当它在公共互联网上时需要的功能。我说:"是的,我不是为了那个意图构建它的。"但因为它是可配置的,它完全算作一个CVS 10。所以,我为此挣扎了一小会儿。但现在我实际上请了一位安全专家。这是主要焦点。我意识到我无法阻止人们以非预期的方式使用它。所以我现在的重点是支持所有这些用例,帮助人们不要搬起石头砸自己的脚。
Romain Huet:没错。这就是开源的美妙之处。人们可以接受它,并想出你甚至没想到的主意。
Steinberger:是的,这就是美妙和疯狂之处。
Romain Huet:也许稍微跳出Open Claw本身,这周我和很多开发者聊过。我们知道你会来Codex黑客松,他们告诉我:"彼得怎么有这么多好主意?" "彼得怎么这么有创造力?"我不知道你对此有没有答案,或者这更像是你追随自己的好奇心?
Steinberger:更像是意识到现在事情变得容易了。所以即使我找到一个开源项目可能70%解决我的问题,我也会自己构建。这在一年前甚至绝对不可能。而现在,我只是提示一下,它就在副屏幕上运行,并且正确工作了。
Romain Huet :我们都来自欧洲。当我去旧金山以外的地方,回到欧洲时,我相信你也有同感。很多开发者和工程师还没有接受Codex和智能体工具。你对刚开始接触的人有什么建议?他们应该如何重新思考他们的工作方式和工作流程?
Steinberger:我的第一个建议总是:以 playful 的方式接近它。构建一些你一直想构建的东西。如果你至少有一点创造者的心态,你的脑海深处一定有一些你想构建的东西。就是去玩。你只需要以 playful 的方式对待这件事。因为我觉得英伟达的CEO说过,短期内,你不会被AI取代,你会被使用AI的人取代。
Romain Huet:哪个比你用得好的人。是的。
Steinberger:但如果你的身份认同是,我想创造东西。我想解决问题。如果你是高能动性的,如果你很聪明,你会比以往任何时候都更受需求。
Romain Huet:对。对于拥抱这些工具、塑造好奇心、真正能把任何想法变成现实的创造者来说,这是一个多么棒的时代。就像你用所有这些伟大的项目和Open Claw所做的那样。
Steinberger:我想一年后,这将会大爆发。
Romain Huet:是的,2026年将会是有趣的一年。我认为这是一个结束的好方式。非常感谢你的时间,彼得。和你在一起很愉快。我们OpenAI的所有人,我喜欢你的工作。我们喜欢支持像你这样的创造者。老实说,你对更广泛的开发者社区来说是真正的灵感来源。再次感谢,我们迫不及待地想看看你下一步会做什么。