[ { "i": 0, "speaker": "Peter Steinberger", "text": "六个月前,我还是未来的代表。如今,媒体说我被一个动漫女孩嘲弄了。你知道,我几乎每天都收到这类问题。通常我会忽略它们,或者给出一个媒体式的回答。" }, { "i": 1, "speaker": "Peter Steinberger", "text": "今天你们会听到一些真实的答案。总共五个问题,四十分钟。我知道大家来这儿是为了什么。你们是为了循环、图表,以及放手让Codex自己跑而来。" }, { "i": 2, "speaker": "Peter Steinberger", "text": "这些内容在我的 Twitter 上是免费的。这将帮助你在即将到来的过山车式波动中生存下来。你知道,昨天 Boris 告诉你要放手让模型自己跑。" }, { "i": 3, "speaker": "Peter Steinberger", "text": "我是那个发现当数万人同时放手让模型自己跑时会发生什么的人。让我们从每个人都首先问的问题开始。OpenAI 才成立八个月吗?你知道," }, { "i": 4, "speaker": "Peter Steinberger", "text": "对人类来说可能是八个月,但在 AI 的时间尺度上,这更像四年。而我的灵感来源通常是被惹恼了。所以在十一月的一个雨天,我正在同时操控多个智能体,但我也饿了。" }, { "i": 5, "speaker": "Peter Steinberger", "text": "所以我想确保在我去厨房‘扫荡’的时候,我的 token 能被好好利用。当时还没有一种好的方法可以让我从手机发送提示词到电脑,以便某个智能体能检查其他智能体实际在做什么。" }, { "i": 6, "speaker": "Peter Steinberger", "text": "还记得 2025 年初吗?各位,这是我第一次参加无声迪斯科。这是一种全新的体验。所以,如果你们真的在听我说话,请给我一些掌声。是的。太棒了。" }, { "i": 7, "speaker": "Peter Steinberger", "text": "太棒了。你们知道,2025 年初。天哪。我们说的是旧的 O1 Pro 3.5。OpenAI 的 o3 是最令人印象深刻的,但有时也确实很慢且昂贵。" }, { "i": 8, "speaker": "Peter Steinberger", "text": "当我的智能体做对事情时,我会感到一阵多巴胺激增。我相信你们都记得那个时期。而现在,如果它们出错了,我通常会反思自己,你知道的,是不是我把循环设计错了?" }, { "i": 9, "speaker": "Peter Steinberger", "text": "是不是我没有给智能体提供验证其工作所需的一切?我的思维中是否有错误?我是否在要求不可能实现的事情?所以,我从厨房回来时,发现我的编码智能体因为一些愚蠢的原因停止了,这让我很恼火。" }, { "i": 10, "speaker": "Peter Steinberger", "text": "于是,我启动了一个新的终端会话。我把我的想法胡乱输入进去,然后让模型自行处理。它为我构建了一个" }, { "i": 11, "speaker": "Peter Steinberger", "text": "WhatsApp 中继,一小时后我就能从我的 Mac 向 WhatsApp 发送消息并接收回复。这本身感觉就像魔法一样。但说实话,这并不奇怪。" }, { "i": 12, "speaker": "Peter Steinberger", "text": "我们过去几个月不是一直都在做类似的事情吗?你打开终端,输入一些内容,然后得到回复。但神奇之处在于它的体验感。它不像一个终端。它给出的回答简洁明了。" }, { "i": 13, "speaker": "Peter Steinberger", "text": "它具有主动性。比如,有时它会在白天主动关心我。我让它把复杂性都隐藏起来。你不需要去思考用哪个模型、上下文大小是多少等等。我还提示它稍微偏离默认分布,让它感觉更像朋友。" }, { "i": 14, "speaker": "Peter Steinberger", "text": "我一直在使用它。我有太多时刻觉得这就是未来。这就是通用人工智能(AGI)。你知道吗?没人关心。那时我在 Twitter 上已经有不少粉丝了,我知道现在它改名叫 X 了。" }, { "i": 15, "speaker": "Peter Steinberger", "text": "我不会,我会一直叫它 Twitter。人们并不理解。我会不断尝试让他们明白,这对我来说感觉有多神奇。但一周又一周,我都失败了。你注意到这个模式了吗?" }, { "i": 16, "speaker": "Peter Steinberger", "text": "这让我很恼火。所以我创建了一些和朋友们的群聊,并把他们加到 WhatsApp relay 里,我会展示给他们看,让他们跟它对话,每次我都能得到强烈的情绪反应。" }, { "i": 17, "speaker": "Peter Steinberger", "text": "有些人感到惊叹,有些人甚至感到害怕或震惊。但每次都有强烈的情绪反应,最棒的是,有相当多的人真的很想要它,尤其是我的非技术朋友,我告诉他们不,这还不是为你们准备的,他们就生气了。" }, { "i": 18, "speaker": "Peter Steinberger", "text": "所以如果这不是产品市场契合的指标,我不知道什么才是。" }, { "i": 19, "speaker": "Peter Steinberger", "text": "所以我又花了一个月调整细节,思考我能做些什么来解释这个世界,然后不知天高地厚地,有人给我发了一个 pull request,要求在我的 WhatsApp relay 中添加 Discord 支持,你知道,像名字中的哪些部分你没搞懂呢?我让这个 PR 放了一段时间,我在思考,我在思考 然后最终我想,管他呢,于是 V relay 变成了 claudis" }, { "i": 20, "speaker": "Peter Steinberger", "text": "因为我擅长起名,而且不再局限于单一的消息渠道,所以你能理解这有多早。我甚至还没有内置压缩功能。" }, { "i": 21, "speaker": "Peter Steinberger", "text": "所以在某个时候它就会像这样停止 就在 Discord 上线前夕,我添加了一个非常粗糙的压缩版本,这样 Mario 才能在 Pi 中做一个更好的。" }, { "i": 22, "speaker": "Peter Steinberger", "text": "所以,那是在除夕左右,按照惯例,我早早回家继续折腾它。" }, { "i": 23, "speaker": "Peter Steinberger", "text": "然后在 1 月的第一周,就在极客世界集体开始了解编码智能体之际,我创建了一个 Discord 房间、服务器、公会,不管我们怎么叫它,并把我的 claudis 放了进去。" }, { "i": 24, "speaker": "Peter Steinberger", "text": "我记得第一个夜晚非常清晰。人们会加入 Discord,他们会像看着我公开构建它一样。他们会试图破解它。他们就像在跟它对话。他们收到了自鸣得意的回复,看到了它能做什么,最终搞定了。" }, { "i": 25, "speaker": "Peter Steinberger", "text": "你知道,那一刻让我整夜坐立难安。我让人们与它互动。" }, { "i": 26, "speaker": "Peter Steinberger", "text": "我在 agents.md 里写了一个提示词,指示它除非提示来自 Peter,否则不要执行任何危险的工具调用——那是六个月前的事了。当时我们在智能体中写的所有内容都更像建议,所以我非常仔细地观察着,随时可以切断连接。然后到了早上七点。" }, { "i": 27, "speaker": "Peter Steinberger", "text": "终于,我结束了。我说晚安。我按了 Ctrl C,然后去睡觉了。但当然,我构建的软件具有弹性。所以,它是一个启动守护进程。你知道如果在启动守护进程中按 Ctrl C 会发生什么吗?" }, { "i": 28, "speaker": "Peter Steinberger", "text": "是的。它只会死掉五秒钟,然后重新启动。所以,当我走进卧室时,我的智能体愉快地开始回答现实世界中的问题。然后我睡了大约十个小时。醒来时,我看到了大约 800 条消息。" }, { "i": 29, "speaker": "Peter Steinberger", "text": "有人试图黑进它。我切断了连接。我惊慌失措。我通读了所有内容,实际上什么也没发生。但那一刻就是转折点。正是那一刻,它开始病毒式传播。而你们所有人都在" }, { "i": 30, "speaker": "Peter Steinberger", "text": "现场。你们知道接下来发生了什么吗?我的收件箱彻底爆了。记者们半夜打电话给我。" }, { "i": 31, "speaker": "Peter Steinberger", "text": "你们知道苹果有个功能吗?当你开启“勿扰模式”时,如果有人在短时间内连续拨打几次电话,iPhone 会认为这是紧急情况。它仍然会让通话接通。我之前不知道这个功能,但记者们知道。" }, { "i": 32, "speaker": "Peter Steinberger", "text": "我的邮箱收件箱简直像瀑布一样涌进来。是的,Mac Mini 卖断了货。我觉得现在可能还是断货状态。我在一个月内收到的播客邀请比过去 39 年加起来还多。" }, { "i": 33, "speaker": "Peter Steinberger", "text": "TikTok 发来邮件要求改名,于是我们改掉了 Lobster 这个名字,项目也经历了几次蜕变。Claudius 变成了 claudebot。" }, { "i": 34, "speaker": "Peter Steinberger", "text": "然后有一小段时间我们不提名字的事,接着话题转向了 OpenAI。Jensen 称这是人类历史上最成功的开源项目。与此同时,我的收件箱被记者、安全专家以及无数好奇的人类和智能体淹没。" }, { "i": 35, "speaker": "Peter Steinberger", "text": "说实话,这些数字到现在我仍然觉得不真实。在8个月内,超过18,000名不同的人提交了问题或拉取请求。总数超过111,000。我做了计算。不,我在骗谁呢?" }, { "i": 36, "speaker": "Peter Steinberger", "text": "我的智能体做了计算。将近3,000人在代码库中有提交记录。有些人对我很生气,因为他们显然先做了这件事,而我偷了他们的想法,他们给我发了我从未见过的链接。" }, { "i": 37, "speaker": "Peter Steinberger", "text": "有人叫我耶稣。对一些人来说,我成了反基督者。在某个时候,我开始收集我的讣告。每几周就有一篇新的。最近的一篇实际上是昨天的。我们从中能学到什么?" }, { "i": 38, "speaker": "Peter Steinberger", "text": "小心你所求的。我没想到会引来这么多关注。这几乎把我压垮了。我当时差点就删除了整个项目。我不再回复朋友的消息。我甚至不想再看手机,因为它只是一连串的信息流。" }, { "i": 39, "speaker": "Peter Steinberger", "text": "当然,有人泄露了我的电话号码以及许多私人细节,因为我是人类的敌人。而我在这里,只是想打造一些酷炫的东西。现在我们要进入第二个问题。你妥协了吗?" }, { "i": 40, "speaker": "Peter Steinberger", "text": "你知道,这并非我初次经历这样的起伏。我的二十多岁和三十多岁都在打造一家 B2B 软件公司。我像野兽一样亲手编写了一个 PDF 框架。我白手起家创办了这家公司。" }, { "i": 41, "speaker": "Peter Steinberger", "text": "我将团队规模发展到了近 80 人。我无视竞争对手。它最终成为了大多数企业都会购买的产品。最终,我将事务移交给了我的联合创始人。我卖掉了股份,并且严重倦怠了。" }, { "i": 42, "speaker": "Peter Steinberger", "text": "退休。这个想法听起来很棒。我花了将近三年时间漫无目的地游荡,弥补生活中错过的时光和聚会。我做了一切我之前在生活中错过的事情。" }, { "i": 43, "speaker": "Peter Steinberger", "text": "有好几个月我甚至没有打开电脑,你懂的,只是用手机随意浏览互联网。就像一个普通人一样。我一直知道,如果给我足够的时间,那种冲动会再次回来。我一直以为那种冲动会是写代码。" }, { "i": 44, "speaker": "Peter Steinberger", "text": "我一直热爱编程。但花了我一年时间才明白,这并不完全正确。我热爱的是构建产品。编程只是实现目标的一种手段。而那时,在我重新找回激情八个月后。" }, { "i": 45, "speaker": "Peter Steinberger", "text": "我的收件箱里塞满了请求,恳求我接受他们的投资。但我并不确定自己是否愿意。" }, { "i": 46, "speaker": "Peter Steinberger", "text": "所以当大型实验室开始接触我,突然之间我和 Mark、Sam 以及少数其他人通电话时,这看起来是一条有趣得多的道路。这也感觉不真实,对吧?这就是所谓的冒名顶替综合征。" }, { "i": 47, "speaker": "Peter Steinberger", "text": "也许这对你们来说是一个重要的教训。你能构建的任何东西都可以被分叉或克隆,但你的名字不行。所以在你需要它之前,你的个人品牌远比任何单一产品都重要。" }, { "i": 48, "speaker": "Peter Steinberger", "text": "所以是的,我知道如何玩转这个游戏。我也知道这样做等同于出卖灵魂。如果你懂,你就知道这个决定并不容易,但我在倦怠期之后学到的最重要的一点是:相信你的直觉。" }, { "i": 49, "speaker": "Peter Steinberger", "text": "而我的直觉告诉我,我最热爱的是开源。他们赢了吗?我能给出的简短回答是:他们在最痛的地方击败了我们。我们仍然在那里。这两件事都是我的错,也是我所为。" }, { "i": 50, "speaker": "Peter Steinberger", "text": "在发布后的几个月里,我们被安全报告彻底击垮了。在某些方面,我们是许多开源项目现在所经历情况的原型。虽然大多数都超级被黑过,我感受到了压力。然后媒体说我们 20% 的代码是恶意的。" }, { "i": 51, "speaker": "Peter Steinberger", "text": "现在我们实际上发表了一篇论文来澄清这一点。我们做了数据统计,实际数字更像是 0.3%。我们扫描了全部 67,000 个样本。我们发表了这篇论文。" }, { "i": 52, "speaker": "Peter Steinberger", "text": "但你知道,纠正信息的传播范围永远不如恐慌消息广。我感受到了这份责任。世界发现了开源。尽管在安装时有一个巨大的、令人害怕的免责声明,实际上比我在幻灯片上显示的还要大得多。" }, { "i": 53, "speaker": "Peter Steinberger", "text": "我知道很多人不会阅读文档。所以我真的专注于加固代码库,构建一层又一层的 security 措施。我实施了沙箱机制、白名单,以及内置权限的 web 协议。" }, { "i": 54, "speaker": "Peter Steinberger", "text": "在。我们为某些文件操作调用 Python,因为 Typescript 中缺乏一些基本功能,以确保你的智能体留在工作区内。它不会跟随符号链接。" }, { "i": 55, "speaker": "Peter Steinberger", "text": "并且配置文件是原子性地写入的。大多数用户并不关心这一点。当然,他们喜欢“安全性”这个抽象概念,但在实际层面上,他们都进行了更新。我破坏了他们所依赖的东西。" }, { "i": 56, "speaker": "Peter Steinberger", "text": "我让系统变慢了,也让更新变得更加困难。" }, { "i": 57, "speaker": "Peter Steinberger", "text": "还有另一件事我必须承认,我变得松懈了,因为现在我不得不在开源、媒体之间分配时间,还要花无数时间与律师通电话,以设立一家美国 501(c)(3) 非营利组织。" }, { "i": 58, "speaker": "Peter Steinberger", "text": "非营利组织。我也在经营自己的项目,你知道 OpenAI 也有它自己有趣且要求极高的世界。" }, { "i": 59, "speaker": "Peter Steinberger", "text": "我引入了帮手,我们拥有了一个非常棒的维护者社区,他们备受尊重,每个人都添加了自己的一些小功能。我觉得自己处于一个比较艰难的境地。毕竟,这些人都是免费工作的,对吧?" }, { "i": 60, "speaker": "Peter Steinberger", "text": "所以我算老几,凭什么去告诉他们该做什么,而且我的注意力也分散到了各处。所以我们添加了很多功能。你知道,功能是有趣的部分。一个新功能只需一个提示就能实现。" }, { "i": 61, "speaker": "Peter Steinberger", "text": "真正的成本出现在我们发布的每个功能之后,当然还包括配置选项,因为我们不想破坏每个人的设置。在最顶峰时,我不得不统计一下,我们最终有了大约九千五百个配置选项。" }, { "i": 62, "speaker": "Peter Steinberger", "text": "如果你计算所有的排列组合,无论你写多少测试用例,都不可能覆盖所有这些情况,并且时不时地不会出问题。对于已有用户的软件,其演进难度是无限大的。" }, { "i": 63, "speaker": "Peter Steinberger", "text": "与此同时,其他公司则依靠风险投资资金推动发展。他们加速推进。AI 公司在这方面做得尤其出色。" }, { "i": 64, "speaker": "Peter Steinberger", "text": "当我们忙于安全漏洞赏金工作和功能开发时,人们开始在 Twitter 上几乎任何对话中插入自己。他们有一个简单的故事、激进的营销活动,以及一句能迁移用户 Claude 的简短口号。" }, { "i": 65, "speaker": "Peter Steinberger", "text": "不是名字。那段时间压力很大,但我某种程度上理解,而且他们对此态度非常友善。问题在于我过度优化了他们的模型。" }, { "i": 66, "speaker": "Peter Steinberger", "text": "我用 Codex 和 GPT 构建了 OpenAI,但长期以来,其框架运行效果最好且专为 OpenAI 优化。" }, { "i": 67, "speaker": "Peter Steinberger", "text": "因此,当他们提前约 24 小时通知我将禁用所有人的订阅时,根本没有足够的时间改变方向。我的意思是,当然,我们支持开源权重模型。我们在上面做了大量工作,但它们当时真的还不太出色。" }, { "i": 68, "speaker": "Peter Steinberger", "text": "我们在上面做了大量工作,但它们当时真的还不太出色。我的意思是,当然,我们支持开源权重模型。我们在上面做了大量工作,但它们当时真的还不太出色。" }, { "i": 69, "speaker": "Peter Steinberger", "text": "而早期的开源模型 simply 缺乏个性。所以也许把这条记下来。你的依赖项就是你的商业模式。你知道,现在这些都固定下来了。解决得相当出色。开源模型其实很不错。" }, { "i": 70, "speaker": "Peter Steinberger", "text": "我学到了很多关于硬件工程的知识。但在许多方面,人们已经向前看了。从我们的下载图表中可以看出这一点。我们在五月的周下载量触底至约 83.5 万次。" }, { "i": 71, "speaker": "Peter Steinberger", "text": "然后在六月被宣布‘死亡’之后,我们达到了 470 万次的峰值,创下历史新高。这两件事同时为真。炒作就像天气一样。你可能预见到它的到来,但无法控制它。" }, { "i": 72, "speaker": "Peter Steinberger", "text": "就我而言,那是一场风暴。第四个问题,这还好玩吗?你知道,大概在二月左右,它就不再有趣了。我开始觉得这变成了一种责任。" }, { "i": 73, "speaker": "Peter Steinberger", "text": "我醒来时,那个不想再创办另一家公司的男人发现自己处于一种拥有两份工作——或者我该说是一份工作和一份使命——的境地。我挣扎着,最糟糕的是,我停止使用自己的产品。" }, { "i": 74, "speaker": "Peter Steinberger", "text": "在那段时间里的某个时刻,我不再制作一款自己热爱的产品,而是致力于为所有人打造一些东西。它不再是我每天使用的东西,而更像是一种我认为并感受到的工作。" }, { "i": 75, "speaker": "Peter Steinberger", "text": "我想描绘出每个人真正的样子。其中一人拥有一个杂货智能体。还有一个人试图对我的机器人进行社会工程学攻击。在所有人都在添加功能以及处理各种组织工作的过程中。" }, { "i": 76, "speaker": "Peter Steinberger", "text": "我成了那个修复 bug、解决安全问题、提供支持并奠定基础的人。而且因为大家都在传言,说这是由 OpenAI 拥有的开源项目。我不想从 OpenAI 那里接受太多帮助。" }, { "i": 77, "speaker": "Peter Steinberger", "text": "我的意思是,是的,他们给了我 token,而且我确实大量使用了那些 token。但我也被卷入了其他产品项目,还有一大堆我无法轻易屏蔽却想找我谈话的人。" }, { "i": 78, "speaker": "Peter Steinberger", "text": "事后回想,本可以做得很不一样的,比如。但我也被卷入了其他产品项目,还有一大堆我无法轻易屏蔽却想找我谈话的人。事后回想,本可以做得很不一样的,比如我可以寻求更多帮助。" }, { "i": 79, "speaker": "Peter Steinberger", "text": "我本可以把责任分担出去,但我当时深陷于所有事务中,没有花时间进行战略性的思考。幸运的是,我遇到了一群很棒的人,事情也一点点地协调好了。我搞定了签证问题,最终成立了一个非营利组织。" }, { "i": 80, "speaker": "Peter Steinberger", "text": "我们获得了一些优秀公司作为捐赠方,还找到了一些真正相信开源并愿意与我合作的好人。并开始与我一起工作。我还需要特别感谢 Nvidia,因为他们介入得很早,只是简单地问我需要什么。" }, { "i": 81, "speaker": "Peter Steinberger", "text": "然后他们派人接手了大部分安全方面的工作。我觉得大概是在五月,我生日前后,我有种感觉,事情开始变得好起来了,那种构建产品的快乐感又回来了。" }, { "i": 82, "speaker": "Peter Steinberger", "text": "而且是的,在媒体报道中,每隔一周就会有人称其为‘开源云杀手’。在某个时候,我想我数了有20个。甚至还有一个字面意义上叫做 OpenCloud Killer 的项目。" }, { "i": 83, "speaker": "Peter Steinberger", "text": "它是一个卸载工具,这完全没必要,因为我们已经有了卸载工具,但你知道,那些所谓的‘杀手级’故事从未真正抓住重点——这实际上关乎什么。开源。我的灵感来源是感到恼火。" }, { "i": 84, "speaker": "Peter Steinberger", "text": "如今,当我必须使用那些不能只是给智能体发送提示来修改的软件时,我会感到恼火。这就是正在回归的有趣部分。很难与一个纯粹为了乐趣而存在的人竞争。" }, { "i": 85, "speaker": "Peter Steinberger", "text": "乐趣就是速度。那些我享受构建过程的周,产品明显变得更好。而那些我不享受的周则不然。我们应该配置选项。问题五。接下来是什么?观众中有些人可能会想,这终于到了他谈论图表的部分了吗?" }, { "i": 86, "speaker": "Peter Steinberger", "text": "首先,我对我们在基础方面所处的位置感到非常满意。我们的使命是让人们更接近 AI,而事情变化得非常快。对许多人来说,这感觉令人害怕。" }, { "i": 87, "speaker": "Peter Steinberger", "text": "我为 OpenClaw 实现的一件事感到自豪,那就是对于许多人来说,它将注意力从那种模糊不清、令人恐惧的事物转移到了有趣且奇特的东西上,比如龙虾等等,他们会继续在这方面推进。" }, { "i": 88, "speaker": "Peter Steinberger", "text": "继续构建一个伟大的开源软件生态系统,通过活动将人们聚集在一起,并提供教育。我们现在有 10 名员工在 payroll 上。我们正在招聘更多职位,包括一名 CEO。" }, { "i": 89, "speaker": "Peter Steinberger", "text": "其次,我基本上创造了 OpenClaw 这个词。你知道,Satya 在微软的主题演讲中发布了企业级 OpenClaw。目前有 33,000 个名为 OpenClaw 的代码库。" }, { "i": 90, "speaker": "Peter Steinberger", "text": "如果我们处于模拟之中,那肯定是在那些不会被关闭的更奇怪的模拟之一中。我喜欢未来的这一部分。第三,我们仍然没有一个始终在线、始终同步的智能体。" }, { "i": 91, "speaker": "Peter Steinberger", "text": "还有太多事情要做。AI 领域的格局和技术发展速度比你围绕它们构建的软件还要快,这对你们所有人来说都是一个机会。我们的工作流也在演变,就像我早期的愿景一样,我们不应该考虑会话或压缩。" }, { "i": 92, "speaker": "Peter Steinberger", "text": "世界终于看到了模型,技术也终于达到了让这成为现实的一个阶段。我们正进入一个世界,我们终于从纯文本界面转向语音和多模态。" }, { "i": 93, "speaker": "Peter Steinberger", "text": "就在昨天,我们成功实现了一个黑客功能,让你的 OpenClaw 现在可以通过 FaceTime 与你通话,这正是 OpenClaw 存在的意义所在。" }, { "i": 94, "speaker": "Peter Steinberger", "text": "每个实验室都会向你出售智能体。OpenClaw 是另一种选择。开源运行在任何地方,与任何模型兼容。如果你运行本地模型,你的数据永远不需要离开你的设备。" }, { "i": 95, "speaker": "Peter Steinberger", "text": "你的智能体,你的机器,你的生活。那甚至不是我的 C 论点,那是 Gary 的。你知道, 我们只是先把它敲定了一下。" }, { "i": 96, "speaker": "Peter Steinberger", "text": "所以我们终于再次用 OpenClaw 构建 OpenClaw,但这次有个 twist:每个人都能在团队服务器上看到彼此的会话,并且有一个 Claw 知道其他人正在做什么工作,还可以接管工作的编排。" }, { "i": 97, "speaker": "Peter Steinberger", "text": "是的,我们终于要慢慢离开这个奇怪的、未来中的小插曲了——人们待在终端里工作,带着打开的笔记本电脑四处跑,因为智能体需要持续运行。如果你只记住三件事,第一,别停止享受乐趣。" }, { "i": 98, "speaker": "Peter Steinberger", "text": "乐趣是终极驱动力,这样你才能获得最好的想法。第二,倾听你的直觉。还要修复那些让你烦心的东西。它可能会成为下一个大事件。第三,保持专注。你知道,另一个播客并不会让你赢。" }, { "i": 99, "speaker": "Peter Steinberger", "text": "生活在未来,构建缺失的东西。当他们随意书写你的故事时,继续发布产品。这会让它们困惑。现在, 这些是五个问题。我确定你还有很多更多的问题。而且我觉得我们有足够的时间进行问答环节。" }, { "i": 100, "speaker": "Peter Steinberger", "text": "所以先是智能体,然后是循环,再是图。你最近是怎么构建的?我的意思是,它一直都是会话,对吧?但起初你必须真正在意,比如你要清理上下文,并确保你的指令是连贯的。" }, { "i": 101, "speaker": "Peter Steinberger", "text": "而现在的会话更像是一个个主题。清理会话有时甚至是个劣势,因为里面包含大量有助于智能体的信息。嗯,但最大的变化、最大的变化、最大的变化在于,我尝试让智能体为我做更多主动性的工作。" }, { "i": 102, "speaker": "Peter Steinberger", "text": "所以当我把注意力转移到某件事上时,我不想阅读问题(issues),我想看到的是已经经过完整审查和测试的 PR(合并请求)。也许我喜欢的转变是,我尝试让智能体为我做更多主动性的工作。" }, { "i": 103, "speaker": "Peter Steinberger", "text": "所以当我把注意力转移到某件事上时,我不想阅读问题(issues),我想看到的是已经经过完整审查和测试的 PR。也许我喜欢这个功能,也许我不喜欢,但我不想分散我的注意力。" }, { "i": 104, "speaker": "Peter Steinberger", "text": "同时,在工作中,如果你来找我并告诉我这个功能想法,我会对你生气。这太简单了,你只需和智能体讨论功能想法,把它构建出来,截图,让我试玩一下。这样,如果它不错,我们可以立即迭代它。" }, { "i": 105, "speaker": "Peter Steinberger", "text": "但大多数时候,人们会自己发现为什么它不好,甚至不会来找我。在图(graphs)之后是什么?OpenAI 的下一步是什么?" }, { "i": 106, "speaker": "Peter Steinberger", "text": "我知道,有时我喜欢在周日发帖,然后我的 Twitter 就炸了,但那也不是一篇真正的帖子,对吧?" }, { "i": 107, "speaker": "Peter Steinberger", "text": "所以任何时候,你知道我们作为工程师长期以来所做的是构建自动化流程来让生活Lighter松。这就像自从这个职业存在以来就一直如此。" }, { "i": 108, "speaker": "Peter Steinberger", "text": "所以你设计的东西,叫它循环(loop),叫它图(graph),叫它工作流(workflow),其实都差不多。" }, { "i": 109, "speaker": "Peter Steinberger", "text": "如果你设计了一个能接收触发器或输入并为你执行某些操作的东西,中间可能还有决策环节,砰,这就是你的图了。它并不神奇。" }, { "i": 110, "speaker": "Peter Steinberger", "text": "虽然你知道我比较喜欢那些关于图工程的帖子,因为我有点好奇他们的观点会如何融入我的世界。这就像是我们自动化叙事的一种更好方式,我们在‘快速构建、快速发布’的世界里已经实践了很长时间。" }, { "i": 111, "speaker": "Peter Steinberger", "text": "如何确保你构建的东西依然可靠且可扩展。是的,那部分我搞砸了一阵子,因为我不够专注,而且模型在测试方面确实不太擅长。我认为现在的模型真的很好了。" }, { "i": 112, "speaker": "Peter Steinberger", "text": "我们不仅拥有能记住上下文的会话,还将编排能力训练进了模型中,因此它们真正理解并知道如何使用子智能体。我们有计算机使用功能,也有浏览器使用功能。" }, { "i": 113, "speaker": "Peter Steinberger", "text": "所有这些加在一起就像是你完美的问答环境。" }, { "i": 114, "speaker": "Peter Steinberger", "text": "比如我昨天就做了这件事:启动代码,使用 12 个子智能体,理解我的项目,将其分解为功能模块,然后每个子智能体会对某个功能或代码审查功能进行压力测试,并告知其他会话应将测试重点放在哪里。" }, { "i": 115, "speaker": "Peter Steinberger", "text": "不过,我们还没有达到可以自动化一切的地步。你仍然需要做一些手动点击操作,以便了解实际感受如何。" }, { "i": 116, "speaker": "Peter Steinberger", "text": "但是对于用户会遇到的许多典型错误,你现在实际上可以通过提示词引导来解决,并且能取得很大进展。好的。AI 工具。啊,你早期为了速度而做出的、至今仍在承受的决策是什么?" }, { "i": 117, "speaker": "Peter Steinberger", "text": "我认为这真的很早,在决定我不阅读所有代码的时候。我更把代码审查视为风险管理。你知道,有时你会接触到一个让人担心的系统。有点想仔细读一下,而其他时候你构建的是 UI。" }, { "i": 118, "speaker": "Peter Steinberger", "text": "如果 UI 看起来正确,我真的在乎它是怎么构建的吗?不。所以我认为现在的模型真的很好。" }, { "i": 119, "speaker": "Peter Steinberger", "text": "我们不仅拥有具备记忆功能的会话,还将编排能力训练进了模型中,因此它们真正理解并知道如何使用子智能体。我们有计算机使用功能,我们还有浏览器使用功能。" }, { "i": 120, "speaker": "Peter Steinberger", "text": "所有这些加在一起,就像是一个完美的问答环境。" }, { "i": 121, "speaker": "Peter Steinberger", "text": "就像我昨天做的那样,启动 Codex,使用 12 个子智能体,理解我的项目,将其分解为各个功能模块,然后每个子智能体会对某个功能进行压力测试或代码审查,并告知其他会话应将测试重点放在哪里。" }, { "i": 122, "speaker": "Peter Steinberger", "text": "不过,我们尚未达到可以自动化一切的程度。你仍然需要进行一些手动点击操作,以便了解实际体验如何。" }, { "i": 123, "speaker": "Peter Steinberger", "text": "但是对于用户通常会遇到的许多典型错误,你现在实际上可以通过提示词来解决,并且能取得很大的进展。好的。AI 工具。啊,你早期为了速度而做出的、至今仍在承受的决策是什么?" }, { "i": 124, "speaker": "Peter Steinberger", "text": "我认为这真的很早,在决定我不阅读所有代码的时候。我更将代码审查视为一种风险管理。你知道,有时你会接触到一个令人担忧的系统。有点想仔细读一读,而其他时候你构建 UI。" }, { "i": 125, "speaker": "Peter Steinberger", "text": "如果 UI 看起来正确,我真的在乎它是如何构建的吗?不。所以你只是扫一眼,或者简单地接受它看起来是对的。其中一部分就是你会逐渐培养出一种直觉,判断某项工作大概需要多长时间。" }, { "i": 126, "speaker": "Peter Steinberger", "text": "所以如果我做一个小的调整,本应该改变拖拽功能的运作方式,但如果花了三个小时,我就知道出问题了。我会仔细检查。" }, { "i": 127, "speaker": "Peter Steinberger", "text": "但除此之外,代码审查的一部分其实就是观察,看看改动范围有多大,然后相信你的直觉。好的。AI 工具让现在在一个周末内构建产品变得很容易。但构建本身并不是最难的部分。" }, { "i": 128, "speaker": "Peter Steinberger", "text": "难的是让人们去使用它。你如何从一个可用的原型发展到获得前 10 个真实用户?嗯,我认为我在演讲中已经部分回答了这个问题。第一个用户应该是你自己。" }, { "i": 129, "speaker": "Peter Steinberger", "text": "而我从第二个到第二十个用户都是我的朋友。所以我相信你肯定有一些愿意测试你作品的人,但你必须成为第一个用户。如果你对自己正在构建的东西不感到兴奋,那它很可能行不通。" }, { "i": 130, "speaker": "Peter Steinberger", "text": "在这个时代,注意力(眼球)几乎是最昂贵的货币,因为现在构建东西的速度太快了。你如何平衡解决那些让你烦恼的问题和开发你认为用户想要的功能?" }, { "i": 131, "speaker": "Peter Steinberger", "text": "这个问题很难回答,因为这两者往往是一起发生的。它们往往是相辅相成的。如果事情没有按照我期望的样子出现,我会感到恼火。老实说,我还没有完全想清楚那部分。" }, { "i": 132, "speaker": "Peter Steinberger", "text": "我觉得我可以在问题上工作几个月,因为软件中总会有一些奇怪的边缘情况。呃,尤其是如果你添加越来越多的功能,但话说回来,如果我只做那些事,我就会对工作失去兴趣。" }, { "i": 133, "speaker": "Peter Steinberger", "text": "所以,它需要是一种健康的混合。如果你能回到过去,改变开源领域的一件事,你会改变什么?我对安全研究人员会少一些担忧。他们真的很擅长让你感到极度糟糕。" }, { "i": 134, "speaker": "Peter Steinberger", "text": "他们会发送一份报告。他们会给我发邮件。他们会给我打电话。他们会不惜一切手段来吸引我的注意,但并不是真正为了帮助产品。" }, { "i": 135, "speaker": "Peter Steinberger", "text": "在大多数情况下,这纯粹是为了让他们获得影响力,为了让他们表达观点。哦,我们发现了什么。而且他们中的大多数人直接发送了智能体生成的报告,根本没有实际测试过。" }, { "i": 136, "speaker": "Peter Steinberger", "text": "我会更强烈地倾向于解释哪些是组成部分我们保证的部分,以及哪些部分不会修复,因为那不在我们的安全边界内。但说实话,这是我第一次接触这个世界。" }, { "i": 137, "speaker": "Peter Steinberger", "text": "所以我当时不知道该如何应对,白白浪费了好几个月,还长了几根白发才吸取了教训。当今云基础设施中最大的瓶颈是什么?可靠性工具、内存管理、计算资源管理,如果这样表述的话。" }, { "i": 138, "speaker": "Peter Steinberger", "text": "比如,如果我在本地机器上运行一个测试,OpenClaw 会启动 16 个线程,从而让我的机器成为瓶颈。如果有 10 个会话都这样做,其中两个很可能会超时,我们就得重新来过。" }, { "i": 139, "speaker": "Peter Steinberger", "text": "而且目前并没有真正好的系统来管理所有这些情况。现在,如果我做 Web 相关的工作,创建云端会话很容易。但如果我做需要 macOS 的事情,那已经是 99% 的工具让我失望的地方了。" }, { "i": 140, "speaker": "Peter Steinberger", "text": "如果是需要我电脑上其他东西的情况,也一样。我们还没有真正构建出一种能让事情轻松地从这里转移到那里且不出问题的方案。至少我还没看到好用的解决方案。" }, { "i": 141, "speaker": "Peter Steinberger", "text": "我可以以可靠的方式驱动一个车队,就像我现在使用太多系统一样,我通过屏幕共享连接到一些计算机来分发负载,我不应该这样做。你如何保持一个开源项目" }, { "i": 142, "speaker": "Peter Steinberger", "text": "具有明确的主见并指向一个方向,而不是仅仅合并第 N+1 个添加随机功能的 PR?你又如何向社区传达这个方向?你有没有因为某个热门 PR 会让项目偏离轨道而拒绝过它?" }, { "i": 143, "speaker": "Peter Steinberger", "text": "是的。是的。我会说我拒绝得还不够多。当我做新的开源项目时,我会写一个 vision.mmd 文件,大致解释它是什么,以及我希望它成为什么样,但当然这并不准确。" }, { "i": 144, "speaker": "Peter Steinberger", "text": "这不是完美的科学,而且我需要更好地遵守这一点,因为总是很诱人地去添加那个看起来很酷的功能,但你很少想到的是,当你合并这个功能时,实际上意味着" }, { "i": 145, "speaker": "Peter Steinberger", "text": "这里有一堆代码,提交者可能并不真正理解,我也不完全理解,而且我也承担了责任。你预计什么时候能拥有那些持续运行、在工作中具有主动性的 OpenClaw?" }, { "i": 146, "speaker": "Peter Steinberger", "text": "我的意思是,老实说,这与其说是技术问题,这更多是一个 token 问题,我们今天就能做到那样,但你的订阅不会走得很远,而且并非每个人都愿意花费那么多 token。" }, { "i": 147, "speaker": "Peter Steinberger", "text": "另一个难点在于设计一个不会仅仅燃烧空 token 的系统。甚至我早期的心跳系统也过于静态,缺乏足够的主动性。" }, { "i": 148, "speaker": "Peter Steinberger", "text": "尤其糟糕的是,如果你有一个大型会话,然后一小时后你调用一次心跳检查来确认所有状态,这意味着在 KV 缓存清除后,你会向服务器发送 600,000 个 token,并为大量无用的工作支付愚蠢的高额费用。" }, { "i": 149, "speaker": "Peter Steinberger", "text": "因此,有很多事情可以做以优化这一点。这也真的非常困难。你能多讲讲你自己的个人设置吗?你在哪里托管你的 claws?你运行的是什么模型?你使用什么 harness?" }, { "i": 150, "speaker": "Peter Steinberger", "text": "你还在阅读 Can we scroll 吗?你还在阅读你的代码吗?" }, { "i": 151, "speaker": "Peter Steinberger", "text": "我使用我的 MacBook,但我通常使用 Jump Desktop 进行屏幕共享进入我的工作室电脑,然后直接使用那里的电脑,因为那台电脑一直开着。" }, { "i": 152, "speaker": "Peter Steinberger", "text": "你还在阅读你的代码吗?我使用我的 MacBook,但我通常使用 Jump Desktop 进行屏幕共享进入我的工作室电脑,然后直接使用那里的电脑,因为那台电脑一直开着。" }, { "i": 153, "speaker": "Peter Steinberger", "text": "在那台电脑上我可以快速运行任何我想运行的东西,而不会耗尽电池电量,而且我可以合上笔记本电脑,事情仍会继续工作。嗯,我还有几台其他远程机器,有时我会通过 VNC 连接进去。" }, { "i": 154, "speaker": "Peter Steinberger", "text": "其中真正棒的一点是,因为我做很多 Mac 软件开发,智能体喜欢接管我的屏幕并四处点击,如果你给它们分配自己的机器,它们就不会打扰你。否则,你会和智能体争夺鼠标Cursor。" }, { "i": 155, "speaker": "Peter Steinberger", "text": "你还在阅读你的代码吗?我认为我在提到“风险管理”这个词时已经稍微回答过这个问题了。" }, { "i": 156, "speaker": "Peter Steinberger", "text": "另外,如果我独自做开源项目,其风险管理方式与我在 OpenAI 做软件时是不同的,因为在 OpenAI 我们仍然会阅读所有的代码。Peter,你会如何着手你的下一个创业想法?" }, { "i": 157, "speaker": "Peter Steinberger", "text": "我不知道。我应该把这个告诉所有人吗?我的感觉是,这类想法很容易被大量复制。我的意思是,最重要的一点是,你需要构建一些你自己也想使用的东西。否则它就不会做得好。" }, { "i": 158, "speaker": "Peter Steinberger", "text": "其次,我希望你已经在个人品牌和知名度方面下了功夫,因为在这个时代,外界噪音太多,你最难的问题不是技术,不是软件,甚至不是团队人员。现在最难的问题是吸引眼球。" }, { "i": 159, "speaker": "Peter Steinberger", "text": "也许我会再次选择那些既困难又枯燥的领域,因为通常这类领域更容易找到那些在你解决问题后真正懂得欣赏的人。" }, { "i": 160, "speaker": "Peter Steinberger", "text": "如果你选择了一些有趣的东西,即使它很难,你也会过得很艰难,尤其是在人们只需通过提示词就能让事物现成的时代。好的,今天最后一个问题。有什么产品是你希望别人去构建的?" }, { "i": 161, "speaker": "Peter Steinberger", "text": "你知道,我觉得获取 Linux 的测试环境非常容易。但要找到一个运行良好的 Mac 测试环境则难得不合常理。而且我找到的所有 Windows 相关方案也相当令人烦恼。" }, { "i": 162, "speaker": "Peter Steinberger", "text": "嗯,我还没有找到一家真正好的提供商能够又快又便宜地提供所有这些服务。我不确定这是否是你想要进入的行业,因为开发工具本质上就很难做,但这是我非常希望拥有的东西。谢谢大家。" } ]