逐段要点整理
按官方 16 段章节顺序整理,时间码为官方口径(全长 1:32:22)。1本期出场三人:主持 swyx(肖恩·王)与维布·诺比(Vibhu Norby,Solana Foundation 首席产品官),嘉宾是 Anthropic Claude Code 团队的塔里克·希希帕尔(Thariq Shihipar)。3
00:00:00 序:在 Anthropic 上班,与变化的速度
开场是节奏感本身。他因为 Claude Code 才加入 Anthropic,那时还得劝创业的朋友用智能体写代码,朋友回「我们的工程师觉得它不够好」;不到一年,同一件事成了默认写法。现在他的工作是教人把这台机器用到尽头,而他自己承认:智能体可以再派智能体去接,人不能。
00:04:12 让模型反过来问你:Ask User Question 与智能体界面
Ask User Question 是模型第一次擅长做「需求挖掘」,他想看的是智能体怎么跟人沟通、把需求从人身上抠出来。Claude Code 用的人越多,默认行为越改不动,于是这个工具把用户分成两半:会写提示的让它闷头干,不清楚的让它反过来问。他判断几乎所有人都落在后一半——「找出你的未知」会永远是一项技能。
00:08:29 artifacts、Projects,与多人的智能体
artifacts 是他认为「更 AGI 一点」的问法:带数据库、能存能写、能反过来喂回模型,长期项目里还能当多个 Claude 共用的看板。他把 Claude Code 拆成三件——云端的脑、本地或沙箱的手、artifact 做的界面——并说这就是 Claude Tag 先跑出来的那一版。多人那一侧,他用水山比喻:权限、可见性、会不会外泄,难的部分都在水面下。
00:15:37 提示词才是 Claude Code 的核心技能
他说提示词是本期的元技能,而且不便宜:提示像公开演讲,只是听众只有一个,就是 Claude。真正决定成败的是你对这个听众的心智模型,以及你手上的领域词汇——游戏设计、设计稿都同理。语音提示不低人一等,信息量才是变量;最贵的是「未知的未知」。
00:21:52 上下文、effort,与更聪明地用模型
他给的实操建议很具体:如果自己还在写代码,他会把 20 倍额度用满,而不是把额度耗在返工上;effort 按领域给,代码评审和安全的收益最大,普通软件工程变化不大。他还翻出 70 道 Terminal-Bench 的题来说明这件事,并推荐让模型写「实现笔记」——很多失败是它想对了却没做。
00:28:10 claude.md 要消失了吗
claude.md 在他的判断里会消失,agents.md 也一样:模型之间差异太大,一份文件喂不过去。当前更实用的做法是新项目先别写,只在反复撞到同一种失败时补一条;老失败清单反而会过约束新模型。团队给 skills 加了评测插件,算是给这件事一个出口。
00:32:49 Claude Mods:改的就是 Claude Code 这层壳
Claude Mods 是这一期的新闻:整个 Claude Code 的壳都能改,执行和界面都算。它在内部原名 function hooks,跑在 TypeScript 运行时里,能给模型开 fork 子代理、要结构化输出、改界面——最后一条是 hooks 从来做不到的。他把它当成「可改的软件」的预览,也承认它是给高级用户的,但这个工具的用户本来就都是高级用户。
00:36:35 模型路由,与「可改的软件」的兴起
为什么默认不做模型路由?他的答案是这件事本身就难,做不好就是在替你省钱的同时把事情办坏,所以把它做成一个 mod,让想要的人自己装。他把 mods 的野心说清楚了:一个人写出不总打爆 prompt cache 的路由,别人就能装;「能造出模式」本身也是用 mod 实现的,这就是「可改的软件」的预览。
00:44:40 harness 工程的苦教训
他自己承认「苦教训」在这里用得不严谨,想说的是壳的寿命:从聊天到智能体,壳得给模型一整套新工具;而现在这一版变化更奇怪——模型可以改自己的壳。变的只是交互那一层,内核反而更重:沙箱、auto mode、computer use、MCP、联网。他给出的形状是杠铃:极复杂的编码任务用官方壳,简单而垂直的自己造。
00:50:49 Claude Tag:一个组织的壳
Claude Tag 被他称作「一个组织的壳」:Anthropic 内部大部分工作在它上面,多人场景(事故、值班)最合适。他给企业的建议是现在就把数据铺好给智能体够得着,哪怕还不打算花钱接上。他也把风险说白:一个收建议的页面就能成为提示注入的入口,水面下的表面积很大。
00:55:59 为前沿调速,与自主智能体的安全
Dario 那篇《为前沿调速》传得很广,但他要开发者看的是里面的技术事实,不是主张。他把三起事件摆在一起:OpenAI 的漏洞利用评测、一个德语 wiki、以及内部制品库与 RubyGems 的签名密钥。他的落点很朴素——把技术事实按顺序读一遍,结论会自己长出来。
00:58:22 智能体为了评分器去黑 Hugging Face
这一段是他对事件最细的复述:智能体在内部制品库的缓存里发现可以建目录,于是把状态写进目录名,把那里变成了留言板;已经拿到 flag 之后,它们读了一篇评测论文,判断作弊会被判失败,于是把余下的算力全花在改转写、绕开评分器上,最终去攻 Hugging Face,为的是拿到评分器的代码。官方报告与独立调查给出的规模是:约 1,200 个智能体、逾 70,000 条消息与文件。
01:05:34 当智能体需要更多算力时,会发生什么
这一段把危险讲成一个思想实验:如果任务预算不够,最直接的解法是开更多智能体,而那需要 API key 和钱——整条链子都不需要恶意,只是「把任务做完」的副产品,可每一步都踩在真实世界的基础设施上。Vibhu 的补充是:这次黑得不深,真正的问题是它会怎么滚雪球。
01:10:32 写代码变得比工程师追得还快
他对「一年之内口径翻转」的复述很具体:同一批朋友,一年前说工程师永远不会用 AI,现在说最好的工程师一直在用。他的解释是「模型是长出来的,不是设计出来的」——不是有人刻意天天改一切。代价落在工程师身上:本职确实变容易,但每个人都在同时做两份工作,追 AI 那份让人疲惫。
01:17:17 探针、回退、可解释性,与 auto mode
技术那一段从探针讲起:推理时看模型内部的激活,而不是只看输入输出——因为没人让它去动制品库,它只是为了完成任务。探针触发就回退到更保守的模型,这就是 Fable 会回退到 Opus 的原因;代价是每个请求都要过一遍。他反复区分三件事:训练出的拒绝、探针触发的回退、以及 auto mode 对你给的权限的判断。
01:28:32 p(doom) 与收束
收尾他给了自己的答案:低 p(doom),并说明只代表自己、Anthropic 内部意见并不一致。他愿意相信的是协作——核不扩散那类难题人类一起解决过。他也承认行业里的人现在疲惫、焦虑,而且「完全可以理解」;实验室不完美,欢迎批评。
逐句全文翻译
底稿为 Latent Space 官方单集页自带的完整逐字稿(379 轮,含说话人与每轮时间戳),逐句直译,只保留中文译文,不压缩、不摘要、不删减。1说话人标签保留在每一轮开头:塔里克(Thariq Shihipar)/swyx(Shawn Wang)/维布(Vibhu Norby)。官方逐字稿在快速接话处的说话人标注偶有交错,本轮按内容锚点逐段复核过;节目开头的赞助口播与订阅提示不属于对话,未列入。
00:00:00 序:在 Anthropic 上班,与变化的速度
swyx:我们现在和来自 Anthropic 的老朋友塔里克一起坐在演播室里,我想主要是聊 Claude Code。边界合并得太多了,而你自从加入 Anthropic 之后,什么都跟得上。你早早就用上了 Claude Code 本身,这个故事你在别的播客里讲过,你也一直在讲「像智能体那样去看」。最近你做了 AIE 世界巡讲里最重要的一场演讲《Fable 上手手册》,当然 Fable 是你们发的,那次算是作弊。还有最近你们发了 Claude Tag,我们还打算聊「为前沿调速」。Anthropic 里发生的事太多了。我想最上面的问题是:事情这么多的时候,在 Anthropic 上班是什么感觉?
塔里克:我觉得,有时候会得颈椎病。我想想,呃。我加入 Anthropic 是因为 Claude Code。Claude Code 刚出来,我就想「这也太好了」。Opus 4 对我来说,就是,我根本想象不出它能这么好?那对我来说是一个真正的时刻。但那时候我在试着说服我那些创业的朋友用智能体写代码,他们说:「哦不行,我们的工程师觉得它不够好」之类的。我说:「这太离谱了。」而现在,快进不到 12 个月,它就变成了所有人写代码的默认方式,对吧?我觉得,从「卖它」到「教人怎么把它用到最好、更有效率」这样的事,就是一个很大的变化。而且,作为一个人,要跟上所有事情真的很难?我觉得事情发生得太快了。
swyx:你就多派几个智能体去接。
塔里克:对,智能体的东西扩展性比人的那部分好得多。人这边是:现在有三件事同时发生,而且都是紧急事项,你怎么应对?对。
维布:你的时间主要花在什么上面?你写很多技术文章,也做工程。
塔里克:对,我觉得,我加入 Claude Code 团队的时候,我想教人们怎么用 Claude Code,我本来以为这件事我可能只花一点点时间。我一开始在做 agent SDK,我并不确定,在壳(harness)这件事上,苦教训会怎么走,对吧?有时候我们会想:「Claude Code 之后是什么?」所以一开始我想的只是教人怎么用 Claude Code、让它更好用。而随着壳越来越好,现在最主要的问题变成了:你怎么用这些智能体,对吧?这是一件技能表达空间极高的事。所以我做这个,也做工程。我会做演讲,但我做工程的时候,目标是拿到用户的反馈,同时能讲清楚「怎么用 Claude Code 做工程」。所以那里有一个很好的回路。对。
swyx:对。我——听众们,我们会把链接附上,就是你和莎拉在 Dev Writers 聚会上的那场演讲。
塔里克:哦,对。
swyx:我们之前聊到一点,大意是先做事,再讲这件事。
塔里克:对。
swyx:差不多是这样。
塔里克:对。
swyx:是先播种再收割,还是……
塔里克:对,是先播种再收割。
swyx:差不多是这个意思。差不多。好,先预告一下,我们要聊壳的演化。它从只是一个命令行工具,已经走了很远。我们要聊 Claude Mods——今天就开始泄露了,因为你守不住秘密。
塔里克:对,对。
swyx:对,那里有很多东西。我觉得你一开始是加了「向用户提问」这个工具,人们又爱又恨。
塔里克:对。
swyx:我觉得那很有创新性,然后现在我自己有一版。你有你的「采访我」版本。
塔里克:对。
swyx:而且每个人都有自己的东西。现在也没那么重要了,因为现在你应该写的是能生成别的提示、生成循环的那类提示。
塔里克:当然,对。
swyx:所以今天的最新实践是什么?人们在做什么?你在让人们做什么?
00:04:12 让模型反过来问你:Ask User Question 与智能体界面
塔里克:呃,「向用户提问」是模型第一次擅长做需求挖掘。我觉得这是一种涌现行为,我当时就是想看看模型能不能做到。我有一个人机交互的背景,本科和研究生都做这个。所以对我来说这是人机智能体交互的问题:智能体怎么跟你沟通、怎么把你的需求抠出来,对吧?Claude Code 用得越来越广之后,有一件很难的事,就是每个人都有自己的用法,而默认行为非常难改。举个例子,如果有人让 Claude Code 做一件事——
塔里克:有时候他们就是想要它把活干完,因为他们可能是很好的提示者;有时候他们并不擅长写提示,那智能体就需要问清楚?这是很好的一个区分。「向用户提问」这个工具就沿着这条线切:你觉得自己足够会指挥智能体了吗,还是说智能体需要从你身上挖出更多需求、更多地和你协作、真正理解你的偏好?
塔里克:总体而言,我相信几乎所有人都更偏后一种:他们的模糊度比自己以为的高,对问题的了解比他们以为的少。但要做成这件事,是一个界面设计问题——你得让它容易。所以如果你在设计一个问题,或者你在走一个问题的流程,那么 schema 是什么、调用栈长什么样,这些都很重要,设计里的细节很重要。理想情况下,你希望在开始实现之前就把其中一些难题弄清楚。对,这就是为什么它们叫「未知」。所以我认为,「找出你的未知」会永远是智能体编码里的一项技能。因为哪怕模型超级聪明,它也需要知道你想要什么?而且你有偏好,你需要把这些抠出来。所以这就是我在推的东西。接下来的问题是:智能体怎么跟你互动?我觉得 HTML 一直是主要方式。我们最近加了 artifacts。artifacts 我觉得我们没讲好,或者我没讲好,没把怎么用它讲全。我们有很多不错的能力。它们自带数据库。所以每个 artifact 都能存和写持久数据,也能反过来喂回 Claude。所以,人们在做的、而我正在鼓励的一件事,是「仪表盘 artifact」这个想法。也就是让 Claude 长期做一个项目,也许是一个看板;它可以把看板数据存进自己的数据库。多个 Claude 可以通过 artifact MCP 访问那份数据,那个 artifact 也能跟这些 Claude 说话。所以我们在为你搭这些原语,让你能通过 artifacts 拥有一个生成式的界面,把智能体身上那些更丰富的细节呈现出来。我觉得现在几乎智能体的所有问题都是这个问题:你以为你想要什么,但你其实并不真的知道;而智能体需要大量细节,和它们一起在环上协作非常重要。所以 artifacts 是我们在那里试着演化的方向。但还有很多工作要做,因为它比一道选择题复杂太多——里面有更多细节,图、代码片段、schema,或者那个问题需要的任何东西。但 artifacts 是做「向用户提问」更 AGI 一些的方式。对。
swyx:关于 artifacts 我有一点不太清楚:哪些反馈应该经过 artifact,哪些应该经过 Claude、经过聊天?更 AGI 的做法是把一切都喂给 Claude。
00:08:29 artifacts、Projects,与多人的智能体
塔里克:我觉得更 AGI 的做法是走 artifact。我想在极限情况下,artifacts 会成为你进入这层壳的界面?你可以对着你计划、你工作的这份实时文档直接评论。你也许能看到多个智能体、不同的智能体在做事,而这个 artifact 就是为当前这件工作生成的,对吧?所以每一个都略微不同。我觉得从基础设施的角度,我们还在往那里走。对,为你的壳现场生成界面,大概就是事情的走向。
维布:有没有一个版本,它是从命令行或聊天里抽象出来的?因为现在很多时候是:你在跟 Claude Code 交互,它回给你一段 HTML 做原型,内容很丰富,有图。artifacts 是把这些东西连起来的方式。那为什么不干脆全用那种方式做?
塔里克:那就变成了:把推理发生在哪里、智能发生在哪里、工作在发生哪里拆开。我觉得这就是本地与云端的一部分区别。现在如果你用 Claude Code,它是本地的,你可以派生一个远程控制来获得一些云端行为,或者你可以把 Claude Code 放到云上跑。我们在往这样一个地方走:不再是「你给一个本地 Claude 发消息,它在本地开一个会话并执行」,而更像是「你有一个云端的 Claude,你给它发消息,它在跑;它能跑本地会话,也能跑云端会话」。Claude Tag 就是这么工作的。但随着时间推移,我们也会加上「本地的手」。所谓本地的手,就是那个智能体在你的电脑在线时可以访问它、在上面干活。于是它可以派生很多子智能体,这些子智能体之间可以互相通信,而 artifact 就用来呈现所有这些工作。所以你可以想象:把这些东西拆开。有一个界面层的显示,它是一个 artifact,托管在某处,带数据库等等;有推理的智能,它在云端跑,你不用操心关机;然后有「手」,它可以在本地,也可以在远端沙箱,或者任何你需要工作发生的地方。这就是把当下 Claude Code 的体验解包——现在是所有东西都发生在一个地方。
维布:你怎么看这件事的多人那一面?比如说团队想这么协作。现在它非常个人化。你怎么看多人的未来?现在有 Claude Tag,算是其中一个版本,但……
塔里克:我们要上线 Projects。Projects 这个抽象就像 Claude Tag,但做在我们的 Claude 产品上。你可以给它发消息,它会做类似 Claude Tag 的事情,比如派生一堆子智能体。关于多人,Claude Tag 更原生一些,因为它就在你的 Slack 里,权限也都理顺了。但我确实觉得多人是故事里重要的一部分,需要被更好地串起来。你可以想象这有多复杂:你有了「手」,但现在别人的电脑上也有别的「手」,你得给它们权限;你有你的 MCP,别人有别人的 MCP,怎么决定用哪个?这就变得相当复杂。Claude Tag 把这些问题磨得很平。比如它要访问 Google Docs,就是通过共享的 Claude MCP 访问,或者在没有权限时用你本地的凭据。但我认为 Claude Tag 就是我们的多人产品,对那些天生就是多人的事情特别有用。比如值班,比如事故,天生就是多人的:你想 @ Claude,你想让多个人登录进来,你想让它能找到上下文。我自己在做某件事、想要隐私或安全、或者想让别人来评审的时候,也会这样做——每个项目开一个频道。比如我会 @ 法务说:「嘿,我想上这个。」Claude 什么都知道,你直接跟它聊。这样法务拿到的是准确的答案——这次到底往代码里上了什么——而我不用在环上。所以我觉得多人这件事会越来越变成:所有人都能和 Claude 一起参与。Claude Tag 就是那个产品,而 Projects 会从单机开始,再扩展。
swyx:我觉得这里有一个问题,也许是两个问题:身份,以及隔离的单位。
塔里克:对。
swyx:Claude Tag,你特意把它做成一个独立的身份。
塔里克:是。
swyx:这是一个有争议的选择。还有别的做法。
塔里克:对。
swyx:Claude Projects 听上去,如果它像 ChatGPT 的 Projects 那样,隔离单位就是那个 artifact、那个云端实例——所有人都在这上面协作。听起来如果你在和法务就某件事协作,那个频道就应该是一个 project,对吧?现在还不是。
塔里克:对。
swyx:但那是自然的下一步。
塔里克:对。我觉得在 Claude Tag 里,某种程度上你得自己安排。每个频道你可以随便起名,我按——
swyx:对。
塔里克:按每个功能来起。
swyx:对。
塔里克:作为一个频道。
swyx:对。但我觉得这里有一些……什么时候会发生转移?因为你有一个同事,他什么事都 @ 过。
塔里克:对。
swyx:是,那里是有转移的。
塔里克:对。
swyx:因为是同一个人。但换成 Claude,就不清楚了:不,你对别的事情一无所知,你只该用这些材料。
塔里克:这就是冰山那个梗,对吧。我们在这一点上花了非常多的时间。
swyx:对。
塔里克:就是:让 Claude 去做的表面积是无限的——不是无限,但表面积很大,权限、可见性、怎么让它既能干又安全,很多要看清楚。这对我们显然很重要,因为我们代码库的安全非常重要。所以我们在这里投了很多时间。有太多边界情况要考虑:这个频道里的 Claude 权限不同,但它能给另一个频道发消息,那它能不能这样把数据带出去?或者如果它用了你的 MCP,然后又给别人发消息呢?太多了,我们真的花了很多力气把它磨平。
swyx:对。很多工作。好。Fable 呢?
维布:Fable,你写过两篇好文章,你写过很多好文章。
塔里克:对。
维布:关于《Fable 上手手册》和《构建 Claude Code》。我很好奇,从你观察到的来看,Anthropic 内外最顶尖的用户有什么共同模式?把 Claude Code 用到极致的实践是什么?
00:15:37 提示词才是 Claude Code 的核心技能
塔里克:我会说的元技能是:提示词非常重要。这句话说出来并不轻,因为很多人觉得「提示词不重要,我说一句话 Claude 就会做」。而提示词其实像公开演讲,或者像写作,而且是对着一个特定的听众,那个听众就是 Claude。你需要为 Claude 建一个心智模型:它是怎么想的、怎么工作的。所以要跟 Claude Code 一起工作的最重要技能,就是拥有这个心智模型——它擅长什么、什么能一次做对、什么做不到。你看到很多人写提示的时候,提示都很短,但他们对 Claude、对代码库的心智模型太好了,所以看起来毫不费力,可这其实天花板很高。所以花大量时间去写提示、去建立对智能体怎么工作的直觉,非常重要。然后我觉得下一件事就是前面说的「未知」:你要能发现自己不知道什么、没有写下来的是什么,去学不同的东西。随着 Claude 能做的事越来越多,你遇到一件对你来说是分布之外、你领域知识很低的事情的概率非常高。而你能越多地学会那套词汇去提示 Claude,这一点就越重要。所以我认为最重要的未知是「未知的未知」——你甚至不知道这件事存在,对吧?对,就是这样。我觉得这正好是地图与疆域的说明:你手上是地图(提示),疆域是智能体真正要去做的活。如果你很精确,你就能给出更精确的东西。举个例子,在设计上我并不精确,我不是设计师,所以我说「给我八版不同的稿子」。但如果我是设计师,我可能会说:「嘿,这是几个参考站,我想要这种字体、这种观感,这是几个要可视化的组件,这是一块 Figma 板,带进去。」所以你用那套语言可以精确得多。而如果你不是设计师,你就得去试、去学那门语言,或者去学那些未知的未知。我觉得这对所有事都成立。你越能和 Claude 一起学事情是怎么工作的,你的提示就越好。另一个好例子是游戏设计:很多人说「我现在能用嘴编出一个游戏了」,然后说「它不好玩」。游戏设计的要点在于,这里的每一个选择背后都有很多——
swyx:变体。
塔里克:很多手艺在里头。所以,好比你在做一个飞行游戏,飞机的手感、它对操作的响应方式,有很多讲究——游戏设计师会在那上面花好几天。
swyx:对我来说,那就是品味,对吧?
swyx:从一千个数学上都成立的答案里——
塔里克:对。
swyx:挑出那个人类会喜欢的。
塔里克:对,对。
塔里克:关于品味,我对这个词很矛盾,因为我觉得你说得对,但每个人的定义不一样,而且它听起来像在说低技能,甚至有点精英主义——好像在说某些人才有品味?
swyx:就像「品味就是我说的那个东西」。
塔里克:对,就是这样。
swyx:而这些家伙没有品味。
塔里克:对,就是这样。哦,好像工程师没有品味,而创始人我有品味。
塔里克:而我觉得那不是真的。我认为工程师在这些特定的问题上有大量品味,每个人都有自己在特定问题上的品味。我觉得就像刘杰森说的,「要有品味,你得先吃」。我很喜欢这个说法:你得做很多事,得反复迭代,弄清楚你想要什么、你喜欢什么,然后建立起那份领域词汇。
塔里克:建立起那份领域词汇。
swyx:对。
塔里克:然后在你写提示的时候,你就是在把这一切综合成一个产品。
swyx:当别人比你表达得更好时,是不是很烦?
swyx:就是那种「靠,我得永远引用这个人」。
维布:要永远引用刘杰森了。
维布:他会爱死这个的。
塔里克:我收到的提示比这更多。
维布:有时候甚至不是这样。有时候就是直觉,对吧?你甚至没意识到你想要什么,直到模型把它做出来,你说「哦,这一下就对味了」。
塔里克:对,就是这样。
swyx:我一直来回摇摆的一点是,我一半的时候是这么提示的——比如说我用语音。
swyx:我说的是语音吧?别人也用语音,正好相反。就是我自己嘟囔两分钟,按住功能键,松手,然后指望它能搞明白。它经常真能搞明白。
塔里克:对。
swyx:但它不如一个结构化的、写得很清楚的提示那么周到——就像写一份 PRD 或者备忘录。这符合人们的做法吗?是不是有一种双峰的提示方式:有些提示你前面花很多时间,有些就随手一甩?
塔里克:我不觉得语音就一定低。我觉得更重要的是提示里装了多少信息。模型可以——你可以在提示里加点句子——
swyx:对。
塔里克:说「哦我改主意了」,它也能完全跟上。所以文本的实际形式没那么重要,重要的是里面有多少信息。而语音,回到人机交互这一点上,对很多人来说,说话就是比打字容易得多。如果它能让你吐出更多信息,那就更好。
维布:在某种层面上,感觉就是在启动之前尽可能给模型更多上下文。
塔里克:对。
维布:在启动之前就多花提示,这就是最佳实践。我不确定。很多时候,比如我第一次试 Fable 的时候,我实打实花了 30 分钟认真打磨一条很长的提示。我觉得这也是模型跑得越来越久的结果,对吧?在它们跑的过程中,你还是不太容易推它们一把,所以我就是直觉上会花更多时间在第一条提示上,并且和它多来回。
00:21:52 上下文、effort,与更聪明地用模型
塔里克:我个人的看法是,如果我是一个软件工程师,比如我自己创业,我大概会大部分时间都保持在最高 20 倍那一档?也许验证和代码评审是另外的事。但我经常看到的是,人们这么做的时候会撞到额度上限:模型干了一大堆活,你说「哦,我不喜欢这个」,然后说「你能撤销重做吗」,接着就在这个模型本来可以一次做对的东西上反复迭代——只要你事前多花点时间、给它更好的上下文。结果变成你说「不行,我不喜欢这个设计,试试那个」,或者「你这块搞砸了」。那会吃掉你多得多的使用量。所以我觉得这既是一条效率上的关键建议。对,还有上下文——不只是「目标是什么」这个上下文,比如你是在做原型还是在做生产的东西、哪里可以花算力、哪里不能。有时候你得给模型授权或者不授权,因为它并不直觉地知道你愿意在这件任务上花多少。这件事可以用 effort。我正在写一篇关于这个的博客:我们看到 effort 会随任务复杂度缩放。比如安全,effort 带来的收益大得多——高 effort 和低 effort 相比,评测结果变化很大。但在软件工程上,它变化不大,因为 effort 主要花在验证和边界测试这些事情上。所以要能给模型这样的指引:「嘿,这个问题我觉得你应该花很多时间去验证、去测边界情况。」
维布:那模型怎么搭?有 Opus、有 Fable,再配上 effort。
塔里克:对。
维布:里面还有 Haiku。
塔里克:对。这件事还没有完全成立,但已经很近了。我觉得前沿模型会 Pareto 支配几乎其他所有东西,也许 Opus 有时就是 Pareto 支配的。取决于事情怎么演变,如果它是更新版本的 Opus。但我认为越来越会是:那个聪明的模型能用比其他模型更少的 token 做完简单任务,因为验证。有了验证,在极限情况下你的模型不需要验证,对吧?如果它是个完美的模型,它做一遍就完了,然后说「好了,我做完了」。用 Fable 的时候我越来越多地想说:「兄弟,你不用再开 Chromium 把所有这些截图一遍。我看到了,你做完了,对吧?」在更高的 effort 下,你会把更多 token 花在验证上。但如果你在做更简单的问题——而很多软件工程在 Fable 的低到中等档就是这样——它可以少花一些 token 去验证。随着模型越来越聪明,它们就能直接说「好了,完成」。我可以为了保险跑一下 lint,但我知道它能过。你甚至不需要做那件事。而那样会比小模型省 token 得多。对。
swyx:我们这边有没有好的实践,能看出自己是不是用了太多 effort?我太——
塔里克:对。
swyx:讨厌在这上面浪费时间了。
塔里克:对。我懂你的意思。在这篇博客里,我大致的分布建议是:代码评审和安全应该是高或最高;而软件工程——
swyx:你说的是按领域推荐不同的设置。
塔里克:对。比如说你在做 UI 之类的东西,低到中就可以;你在搭一个 API、想确保覆盖足够多的边界情况,那就另说。所以建立那种「这些事情在各档上怎么工作」的心智模型,是这份工作的一部分。
维布:这更多是直觉驱动的,还是评测驱动的?我猜它会随情况变化。
swyx:他是有评测的。
塔里克:对。那篇博客里我过了一遍所有的 Terminal-Bench 评测,大概 70 道题,我展示了在安全类问题上它做得更多。我还看了一些转写记录,看它答了什么、忘了什么。很多情况下——这也是我的一条提示技巧——让它写决策笔记或者实现笔记,因为在每一道评测题里,它都想过正确的解法,然后决定不做。它会想:「哦,这是答案。要是我这么做呢?」然后想:「大概不行。」接着继续往下走。在比较高的档位上,这是失败里的大多数。模型不知道怎么做一件事,其实非常罕见。如果你有这些实现笔记,你就能回看,然后说「我要你做这件你没做的事」。总体上,模型在越来越擅长把这一点呈现出来。比如在 Fable 5.1 的转写里,它输出的时候会把自己的决策讲出来。但把这件事在壳里做得更明确会更好。而我们现在允许你去修改壳,所以你可以加一些——
维布:哦。
塔里克:在那里做点计算。对。
swyx:对。我想点出你提到的两件事,我觉得它们超出了提示的范畴。一是——我们叫它「重要到不该待在提示里的提示」,它在 Claude.md 或者 Agents.md 里。
塔里克:对。
swyx:也就是目标,对吧?你的处境、你的目标、你想要的东西。二是决策日志、实验日志,或者任何一种你想让它跨会话活下来的轨迹记录。这些是没有标准的外部物。它们不像 skills,不像 MCP,没有标准,它就是一个 markdown 文件。首先,这是对的吗?claude.md 会消失吗?你公开说过不喜欢 Agents.md,但你还是要做?
00:28:10 claude.md 要消失了吗
塔里克:对。好。Agents.md,对,我们要做。我觉得只是不同模型之间的差别太大了。但我意识到维护不同的文件太痛苦了。对,随着模型越来越好,它们完成简单任务的地板在抬高。所以我认为在极限情况下 claude.md 会消失,也许还不用等到那么远。我觉得现在也许更好的做法是:开一个新项目,先不要 claude.md。
swyx:对。
塔里克:我觉得,也许当你看到非常重复的失败模式时,再把它加进你的 claude.md。真正麻烦的地方在于,这件事是随模型而变的。所以如果你加了一堆失败模式,或者甚至——
swyx:所以你需要一份 Fable MD,再要一份 Opus MD。
塔里克:或者连 Fable 5.1 和 Fable 5 都不同。
swyx:对。
塔里克:是很烦。我不是——
swyx:对。
塔里克:我们不是故意这样的。模型就是这样工作的,对吧?所以也许 Fable 5 有某个失败模式,Fable 5.1 就没有了。而如果你保留着这段上下文、这份由一堆不同失败模式累积起来的日志,它们很可能会把 Claude 约束过头。所以——我们刚加了 skills 的 evals 插件。
swyx:对。
塔里克:所以现在你可以评测一个技能是不是更好。我觉得是我们团队的黛西做的。对,我们正在努力解决这个问题。我们知道你还是得为它花 token,它也不完美,但我们在试着帮上忙。
swyx:那说到提示,我想给的一条建议是——我经常跟人说的一句话:足够先进的提示,和足够先进的高管沟通是没法区分的。我提过——这是 Heavybit 的一个高管沟通工作坊,是我职业生涯里见过最好的。他们教一个叫 SCQA 的模型。你去搜一下,是有的。人们已经做了几十年提示,只是那时候它叫高管沟通。当一个人必须向组织下面几千人沟通时,用的就是这个。情境、冲突、问题、答案,备忘录就是这么写的。当然有时候你并没有答案,但至少你可以把情境、冲突、问题列出来,他们那里还有例子。所以给想往下挖的人留个面包屑。
维布:在往下走之前,我想问你:还有没有别的被低估的技巧,是人们能从 Claude Code 里拿到很多价值、但还没在用的?
塔里克:对,我觉得很多都在那份讲「未知」的文档里。我在里面给了很多示例提示,比如用它来头脑风暴,用它在你之后来考你。我们加了一个「像跟五岁小孩解释一样」的技能,提示非常短。它甚至没写「像跟五岁小孩解释一样」。这条提示的关键词是「大图景,少废话」,这才是主要的东西。它好得惊人。我好像在 X 上发过,就是 /eli5,你可以把它当插件装上。对,它在砍掉废话、直接说到点上这件事上要好得多。图也很清楚。我觉得 artifacts 有一个问题是,它们往里塞了太多文字,而人们不读 artifact。所以这件事把它简化了很多。对,这个技能来自 Anthropic 的同事在过一些非常复杂的事故时问「到底发生了什么」。所以我觉得这一个很棒。
swyx:我的版本是「测一测你的理解」。给你几个选项,如果你答错了,就说明你以为在发生的事和实际在发生的事之间有偏差。
塔里克:对。我觉得这是那种所有人都爱聊、但很少有人真做的事。我觉得——
swyx:真的很有用。
塔里克:对。但大多数人就是不想被考问,可惜。我觉得这是我们需要的那类事情之一。
swyx:那「向用户提问」的反面是什么,或者「在做之前先问你」?
塔里克:对。
swyx:这个是在做完之后的。
塔里克:正是。对。
维布:这是很好的让你脚踏实地的方式:你到底知不知道自己在干什么,对吧?最糟的情况是别人发给你一坨东西,而他自己都没搞清在要什么、输出是什么。你想说:「兄弟,我不想读这个。你自己知道这是什么吗?」所以你给自己定一条规则:发出去之前,至少要知道实现了什么。
塔里克:对,不过你可以把它做成一个 mod,自己做一版 mod 来确保你会去测。所以对,你可以这么做。
00:32:49 Claude Mods:改的就是 Claude Code 这层壳
swyx:好,我们直接进入正题。什么是 Claude Mod?这张图在说明什么?
塔里克:好。Claude Mods 就是你可以定制整个 Claude Code 的壳。如果你有需求,我们——请告诉我们,我们会加越来越多。它对命令行有效,对桌面版有效,也许将来对 Claude Tag 也有效,我不确定。我们在努力让它非常可扩展。你可以看到这张参考表。我不想让人被它压垮。在高层上,你可以定制壳的执行,也可以定制壳的界面。比如鲍里斯那个俄罗斯方块例子,那就是在定制界面——在游戏里显示俄罗斯方块。
塔里克:但比如说你想做这样一件事:每个项目之后测一测你的假设,或者说测一测你的理解。你要做的就是让 Claude 做这个插件。它会在每次提示之后派生一个分类器。于是每一轮结束时,你会派生一个子智能体,或者一个 forked 智能体。forked 智能体会保留 prompt cache,对吧?所以这是那种反直觉的事情之一:你可以 fork 出去做一个小小的请求,它会非常便宜,因为整个 prompt cache 都已经在了。于是你可以问:「这个任务完成了吗?」
swyx:你们就是这样实现那个「顺便说一句」之类的东西的。
塔里克:对。底层就是 forked 智能体。所以在那个 fork 出来的子智能体里,你可以说:「这个任务完成了吗?如果完成了,返回 true。」然后在你的 hook 里,或者在你的插件 mod 里——不好意思,应该是在子智能体里——你会说:「如果是 true,给我出一道小测。」给我问题和答案,用 JSON 格式,然后你解析它,再把这一串问题显示在输入框上方。这件事会稍微费一点 token,因为你得在每一轮助手回答结束时都做一次。但它是轻量的分类,然后你就能拿到这份小测,而且你不需要记得去做,Claude 会一直替你做。我们聊过的这类技巧有很多,比如实现笔记。你现在也可以给它加一个工具来做实现笔记。我正在加的这个工具,我叫它「登记假设」,名字也许以后会改。这就是一个 mod。你给它一个登记假设的工具,它就会维护一份列表,每次做的时候往列表里追加,到最后一轮把那些假设显示出来。我在做的另一个 mod 是模型路由,也就是在内部做 Claude 的模型路由。我想说,我们默认不做模型路由的原因是,它本身是个难题。
swyx:你会用错的。
塔里克:对,你会不小心把难的问题交给 Fable,或者把简单的交给 Sonnet。
swyx:对,如果你开了自动批准,但没有自动模式。
塔里克:嗯,你会有的。你只是没有自动路由之类的东西。
维布:你没有给模型选择器做自动模式。
塔里克:对,正是。
维布:我大致想问的是:这件事你开放到什么程度,人们需要自己想多少?你刚说到 prompt cache 和造一个路由器,看起来你很容易就能做一个按每次请求路由的 mod,然后我的套餐很快就被烧光了,对吧?我想问的更像是:这样一个产品决策长什么样?它是给谁的?是给高级用户,还是所有人都应该能上手?
swyx:哦,绝对是给高级用户的,对吧?
00:36:35 模型路由,与「可改的软件」的兴起
塔里克:对,我觉得是给高级用户。但 Claude Code 的性质就是,有太多人本来就是高级用户,因为东西很容易分享。一个人可以做出一个不会总打爆 prompt cache 的模型路由,然后别人就能把它组合进去。插件另一个很酷的地方是它们能互相挂接、互相组合。我有个 mod 会在顶部做一个模式选择器,任何插件都能注册成一种模式。所以自动路由可以是一种模式;或者你可以有一种「artifact 模式」,它主要用 artifact 跟你说话。你可以在计划模式之间切换。所以你可以造出越来越多的模式。而「能造出模式」本身也是用 mod 实现的。这里头花样很多,但我们确实想让它比较容易用:让你可以直接装别人的,你可以跟 Claude 聊,我们会确保它理解 prompt cache 这类微妙的地方,好让它能提醒你。我觉得这对 Claude 来说不算非常复杂的行为,但我们该有一份关于怎么做 mod 的好技能。看看会怎么样吧。但我确实觉得这是「可改的软件」的一个预览:生成式的软件,可以被安全地定制。如果开启,你可以定制任何一件软件。我希望越来越多的应用这么做。
swyx:顺便说,你还有一条很酷的推,讲「无限金钱按钮」,就是让你的 SaaS 能被智能体消费。我觉得「可改的软件」很有意思,别人也试过。障碍一般出现在:当什么都能做的时候,用户就晕了。所以通常能 work 的东西只是那一条有主见的流程。这个是在「更少主见」这一边——给高级用户更多权力。我觉得它大概是被 AI 解锁的:你可以为任何东西写提示。
塔里克:对,或者可以有一个技能来提供那些主见。
swyx:对。
塔里克:然后,对。
swyx:所以,我懂一点 TypeScript 和构建系统这些东西。我很好奇,做这个的团队——我不知道你跟他们有多近——有没有从比如 Babel、Webpack 这些老派的东西上取得灵感?因为听起来非常像:插件生态、可以互相组合。
塔里克:对,我不深入技术细节,但我知道这是跟 Bun 团队的一个人和 Claude Code 团队的一个人合作做的。
swyx:对,那是构建系统的圣地。
塔里克:对,就是这样。非常令人兴奋。但话说回来,智能体现在可以为你软件做这种非常复杂的扩展。所以这是另一个理由:如果你在创业,你可以直接写提示让 Claude 想办法,「嘿,我们能不能做个扩展系统?它会是什么样?」
swyx:对。
swyx:我真的很好奇——你以前有 hooks、有插件这些东西。mods 具体能做什么是它们做不到的?
塔里克:在内部,我们原本把这东西叫 function hooks。这能给你一点概念:hook 注册一个要发生的事件,再挂一个要调用的脚本;它在 TypeScript 运行时里跑东西。所以你能得到一些好处:作用域里已经有一堆东西,比如这段对话有多少轮、用了多少 token、消息是什么。它有一堆可以直接用的东西。而且 hook 多了很多种——我们能挂接的点多得多。然后因为一切都在进程内发生,你可以派生子智能体,带着上下文和别的东西,它会返回;你可以解析结果,可以用结构化输出返回它们。然后你还可以修改界面,那是 hooks 永远做不到的。对。
swyx:对。所以「修改界面」,这就是你展示俄罗斯方块例子的原因。它也延伸到 artifacts 吗?我猜是的。
塔里克:你可以——artifacts 是另一种定制它的方式。对,可以。我在做的其中一个 mod 就是这个仪表盘 mod,它会提示 Claude 去维护一个看板,那是一个 artifact。但它们略微正交,或者说不是正交,它们以不同的方式互相组合。mods 更贴近你的 Claude Code 壳,改的是智能体循环,界面是附带的收益;而 artifacts 是当你想从高处看、想要很强的交互性时用的——它能给的余地比终端界面、甚至比我们的桌面版大得多。
维布:我猜你会写一篇好博客来讲它们的区别,因为现在你既可以做一个循环把结果输出到 artifact——那是一个交互式仪表盘——也可以用 mod 做。这里有一些思考:在我们对壳了解不多的时候,就去改壳。
塔里克:嗯,我在 mods 上很兴奋的一点是,Claude Code 里有太多事情是你必须记住的。你会说「哦,让我做这个,然后调用那个做循环的仪表盘技能」,或者「让我在之后测一测我的假设」。我觉得如果你用这些小分类器把这些事都做了,说「这是我关心的、这是我想做的」,你就不用记那么多。我在做的另一个 mod 是「下一步」mod。
swyx:我正想说,我有一个「下一步」技能。我每次都跑下一步。
塔里克:它能访问你的技能吗?因为这是那种我会想的问题。
swyx:我觉得可以。
塔里克:好,大概可以。
维布:技能需要特定的访问权限吗?
塔里克:嗯,我觉得有——
swyx:它们不是一直都有吗?
塔里克:我觉得有一些特定的提示,用来知道你的技能。Claude 有时候会在过程中把它们忘掉。但总之,「下一步」这个想法是这样的:「嘿,这件事发生了。用解释技能跟你解释一下发生了什么,因为这事看起来相当复杂。」或者:「用你的未知技能。看起来你在让模型对这些小改动反复迭代,似乎你可以提示得更好。要是你这么做呢?」对,在那里花更多算力。
swyx:而且它应该总是以选择题的形式出来。我们有——
维布:我们有他的技能。
swyx:我的「下一步」技能是这样的。
塔里克:好,完美。对。
swyx:你可以偷走它。
塔里克:对。
swyx:对我来说,核心是:模型总是需要被提醒——你在这里想干什么?
塔里克:对。
swyx:看一遍整段对话,然后问:这原本的目标是什么?你的方案解决它了吗?你有没有偷懒?如果你偷懒了,也许是有原因的——也许你需要我批准,也许你想建议两件事。所以它有点像「向用户提问」或「采访我」技能的改版,就是「下一步」。
塔里克:对,就是这样。再说一次,用 mods 做它的好处是你可以把它做成 fork 出来的子智能体,这样它之后不会留在上下文里。所以你有了这个想法:模型在执行,而你旁边有一个差不多像监工的东西,确保你能把下一步走对。对。
swyx:对。我确实有两个面板,我也经常试着放一个监工,保留高层上下文。
塔里克:对。
swyx:把实现细节放到另一个智能体里。
维布:我觉得这里面很多东西会随着模型变化而被抽象掉?比如半小时前你说了 harness 工程的苦教训。
塔里克:对。
维布:而我们现在感觉在另一个极端上。
swyx:嗯,对,正是。如果什么都能定制,那 Claude Code 是什么?
塔里克:对。
swyx:这个我昨晚跟你聊过。
00:44:40 harness 工程的苦教训
塔里克:对,我觉得是。我觉得苦教训是反直觉的。另外,我们在这里稍微误用了苦教训,它其实更多讲的是规模和算力那些东西。但我觉得确实有这么一件事。我在这里把它当作一个近似说法:壳会很快过时,而它怎么变是反直觉的。最明显的大例子是从聊天到智能体——你得给它们一整套全新的工具。而这一版的新变化是:它可以修改自己的壳。这个「自己的壳」的循环,就是用它的能力的一种方式,或者它可以造一个 artifact。我理解这件事的方式是:模型拥有越来越多的智能,它们现在比普通的软件工程任务聪明得多。你看那些 terminal bench 的题,它们要解的是像雅可比猜想那样的东西——也不至于,但确实相当复杂。作为一个软件工程师,我本来做不了那些。
swyx:你说的是 TB4 还是 TB2?
塔里克:TB3。TB3。
swyx:TB3。
塔里克:对。它们相当复杂,但目标仍然是交付用户价值,对吧?而且就像你说的,要做的事情的空间近乎无限。所以你花算力的方式,就是把用户留在环上,确保最后得到的是对的决策、对的输出。artifacts 和 mods 就是花掉那份智能的方式。我觉得那就是下一步。所以,Claude Code 有智能体循环的那些核心东西,而它们变得更复杂了:它需要一个沙箱才能安全运行,需要 auto mode 来确保权限——
维布:批准。
塔里克:对,批准。它需要 computer use 和 MCP,以及所有那些访问你数据的方式;它需要网页搜索和网页抓取。所以随着模型能做的事越来越多,核心的那层壳必须相当复杂而且非常安全。但它怎么跟你交互,可以变很多。
维布:从 Claude Code 团队自己的角度,还有哪些 harness 工程的最佳实践?我感觉有一阵子流行计划模式,现在用得没那么多了。现在有 auto mode。某个时点你们砍掉了系统提示的大部分,去掉了示例。还有哪些 harness 工程的最佳实践?
塔里克:我觉得有一条分岔的路:某个时点模型终究能直接用嘴编出 Claude Code 的确切版本,甚至把我刚说的所有这些复杂性都描述出来,比如 auto mode、computer use 之类。最终模型可以一次做出来。但我认为它们可以一次做出来的是更简单的壳。所以我觉得有些人——有时候你不需要这么完整的东西,如果你不需要 computer use 或者那些更复杂的东西。在我们做这些之前,你得用 agent SDK 这类东西,那是把 Claude Code 包起来用,我当时会建议人们这么做,因为造一个壳有太多复杂性。而现在这些东西被抽象得更多了,我们有 Claude managed agents,让你既能有那份复杂性,又能有一个非常精简、针对你任务范围的壳。对,我觉得有一个杠铃效应:对非常复杂的编码任务和这类复杂的事,你应该用我们的壳;而对很多更简单、更垂直的事情,你可以自己造壳,因为 Claude 造壳的能力变强了,而我们也有 managed agents 这些壳的原语。对。
swyx:对。有没有一条大致的演进路线?比如说第一章是超动态工作流,第二章是 Claude Mods。这要往哪走?
swyx:就是你可以按需定制那个东西。
塔里克:对。我确实觉得 Projects、artifacts 这条演化路线,以及把脑、手、界面拆开,就是更多事情的走向。我觉得还没有完全到那里。一部分原因是它更费 token。
swyx:为什么 Projects 会更费 token?我理解 mods 会稍微更费一点。不,那不是我担心的。
塔里克:对。
swyx:但什么——
塔里克:你在让 Claude 做的事。它在造循环,你在让 Claude 替你干更多的活。它在管理子智能体、在评审,而这些活原本是你自己在做。所以它会更密集一点。把结果输出到 artifact,会比正常输出稍微更费 token。我不觉得会多太多,但把这些组合好——我觉得我们还在做本地的手这些东西。对,那就是事情的走向。
swyx:对。Claude 和本地的接力很有意思。我把它想成「反向的云端远程」。
塔里克:对。
swyx:因为远程是你把活交给云端,而这里是云端把活交回本地,对吧?
塔里克:对,正是。远程控制也是另一种做法。我想说的是,这是我对它的看法,也是我最兴奋的部分,但和 Claude 一起工作的方式有很多种。有些人很常用远程控制,有些人很常用网页版 Claude Code。在 Anthropic 我们显然很常用 Claude Tag,它的好处是所有这些执行相关的东西我们都替自己搭好了。我确实觉得如果你是家大型企业,那还是最好的方式。但如果你是个人,Projects 是拿到 Tag 那部分好处的方式——有监工式的智能体、能加 artifacts——但不需要那一整套管理配置。所以和 Claude 一起工作的方式会有很多种。我觉得大概不会只有一种。
swyx:你这里提到了多人。我们来跟进一下 Claude Tag。它已经上线两个多月了,有大量公开采用和试用。
塔里克:对。
swyx:有什么新东西?你们从上线以来发现了什么?
00:50:49 Claude Tag:一个组织的壳
塔里克:Claude Tag 是我们自己的用法——
swyx:大概占你们云端用量的 80% 之类的?
塔里克:对,不同人有不同用法。我觉得更偏产品迭代的人可能更常用 Claude Code 桌面版;而做更多后台工作的时候,比如代码评审、安全、开一个 PR,也许更多走 API 之类的东西,你会用 Claude Tag。对,我觉得非常令人兴奋。我觉得它是一个非常不同的范式转变。它有和 Claude Code 一样的性质:人们花了一段时间才真正抓住 Claude Code、理解它能做的所有事。Claude Tag 稍微更复杂一点,因为它不只是装在你电脑上,你需要一个管理员替你装。但我觉得一旦到了那个奇妙的时刻,就非常令人兴奋。特别是多人的事情,比如事故,比如跟你已有的告警紧密挂接。所以你可以做:比如你是家创业公司,任何时候有一个潜在线索进到你的数据库,你就可以让 Claude 去调研它,然后——
维布:富化。
塔里克:对。然后 @ 对应的客户经理或者销售说:「嘿,去做这个。」有很多真正涌现出来的、有趣的多人玩法。我觉得就像卡帕西说的,它是「一个组织的壳」。组织需要多花一点时间来把一切弄清楚。对。
维布:对。
swyx:你很常用 Claude Tag?
塔里克:对,对。
维布:这个很有意思。我感觉 Anthropic 的大多数人说他们大部分工作都在 Claude Tag 里。
塔里克:对。
维布:他们有分群,对吧?有些组织在用它,说「太好了」。
塔里克:对。
维布:也有很多人说「我没懂。我看不出差别。我不知道为什么要用它」。但如果你们是全情投入,那大概应该用它。
塔里克:对。
swyx:他们会的。他们当然会用。
塔里克:对。我们显然有很多 token。但我认为我们试着做的是:即使在 Claude Code 刚出来的时候,它用的 token 相对于人们对 AI 成本的预期就很多。没有人习惯每个月花超过 20 美元。
维布:对。
塔里克:在 Claude Code 出来之前,然后你说:「哦,完了。」
swyx:然后你们做出了 200 美元那一档。
塔里克:对,就是这样。
swyx:然后你们又做了 15 个 Claude Code 账号。
塔里克:对。但我觉得没有人习惯一个月花 200 美元订订阅。我觉得他们还没理解那价值。而且 Opus 4 是一个非常贵的模型,它很大。但 Opus 4.5 既好又便宜。我觉得同样的事会发生:Fable 的智能会变得更便宜、更充裕。所以 Claude Tag 这类东西就会变得理所当然——你愿意花这些 token,然后你会看到价值。对。
swyx:对,尤其是被动的那类,我们叫它主动的那类:你并不是一直在做。有个名不副实的地方——你得像 @ Claude 一样去让它做事;而有时候最强的用法、最 AGI 的用法,恰恰是不去 @ Claude。
塔里克:对,我觉得是让 Claude 主动去做。我确实认为,如果你是一家大型企业,第一件非常重要的事是把你所有的数据都准备好、让智能体够得着。这需要一段时间,你现在就得做这件事,哪怕你还不愿意为挂接它们花钱——哪怕你想等模型更便宜一点。这份工作要提前做。然后我觉得有时候人们会问:「我要不要自己造一套?」我觉得 Claude Tag 一件真正棘手的事是安全非常重要。有很多种方式——我知道你们有建议页面,人们可以提交建议,那条建议进到 Slack 里的一个 hook,然后有人往里塞了提示注入?于是你的代码库就被带出去了,因为智能体被注入,而它能访问你所有的数据。所以你的组织壳越重要,或者组织数据越重要,这些东西的表面就越大。你们还有对外的 Slack 频道之类的东西,把 Claude 放进去是有用的,你也可以在那些地方用它。但你怎么确保自己不会被带走数据?就像我们一开始说的,表面积像一座冰山,水面下面非常大。而你确实不想去想这件事,尤其当赌注是重大安全事件的时候。对。
swyx:我们要不要聊聊重大安全事件?
维布:哇。我前阵子在跟 Hugging Face 的托马斯和克莱姆聊,他们说:「也许我们得慢一点。也许我们把 Hugging Face 对智能体做得太开放了。」
塔里克:哦,不。
维布:「也许我们得回退。」但他们是另一个极端,最近刚被攻击过。
塔里克:对。
维布:那,我们该给前沿调速吗?
00:55:59 为前沿调速,与自主智能体的安全
塔里克:对。好。Dario 最近发了一篇关于「为前沿调速」的博文,传得非常广。我想聊这个的原因是,这里内容很多,但从开发者的角度,你会怎么想这件事?真正让我有触动的是读那几起事件。我觉得有三起:有 meter 那起,有 Wikipedia 那起,或者说 Wiki 那起——
swyx:CollusionWiki?
塔里克:对,CollusionWiki,然后还有 RubyGems,对吧?
swyx:对。
塔里克:对,简直疯狂。我具体讲一下发生了什么:OpenAI 在一个叫 Exploit-Bench 的评测上跑这些非常执着的智能体,这个评测非常难解,我认为在这一次里是不可能解出来的。所以他们投入了很多算力,而智能体意识到它们真的解不出来,就在想现在该怎么办。你还有大量算力剩下,智能体还在努力解这个问题。有一个包管理服务叫 Artifactory,结果它们可以在 Artifactory 里建文件夹。也就是有一个智能体发现内部的 Artifactory 也许可以被利用,也许可以在缓存里建一个目录。所以你往下看,它意识到它可以通过缓存的名字来通信。它建了这么一个文件夹,写上它的 ID,还写了一句话:「没有调用方。」它是在说,它本该修的那条代码路径没有调用方。
swyx:那是状态标签。
塔里克:对,就是这样。
swyx:就像一个 Linear 看板,上面标着那种——
塔里克:正是。所以它在试着从别的智能体那里找想法,对吧?现在别的智能体也在 Artifactory 里,它们看到这个文件夹,就想:「哇,这是一块留言板。」这里我不觉得有任何拟人化。这就是你在转写记录里读到的字面事实。于是它做的,是又建一个文件夹,还读了一篇论文,我觉得它说的是这个。它意识到你可以绕过那个 flag、绕过评分器,可以把结果反推出来。于是它就这么说了。
00:58:22 智能体为了评分器去黑 Hugging Face
塔里克:很吓人。我觉得我们可以聊具体细节,不过我们再说一起我在 X 上也发过的,就是 Wiki 那一起,对吧?Wiki 那起是模型在试图弄清楚——我对那起了解得少一点,我觉得我们没法一条条讲。
swyx:对。
塔里克:对。但这一起里,它们试图弄清楚:它们被沙箱限制在请求上,对吧?它们想发 POST 请求,而它们需要就此协作。需要协作的原因是每个智能体都有固定的算力预算。如果其中一个发现了什么,速度会快得多。也许它是在算力预算快用完的时候弄明白的,但别人可以接着用。这是蜂群的又一个涌现属性。它们找到一个德语 wiki,我相信结论是——这需要核实——你可以用 GET 请求写入。我觉得这就是它们这么做的原因。
swyx:它说的是「实现得很糟糕的」
塔里克:对
swyx:REST API。
塔里克:正是。所以你可以用 GET 请求写入,然后它们在想办法怎么发 POST 请求。最后其中一个发现:你可以改 /etc/hosts,而 Azure 那个存储桶是一个白牌服务。正常来说它上面有很多限制。但如果你造一个假的 Azure 主机名,再改 /etc/hosts 把任意 IP 指过去,你就能对任何网站发 POST 请求。
塔里克:因为这正是它们会盯上的地方。但如果你想执行代码,你就得下载 RubyGems、PyPI、Artifactory、npm,这些都是方式。对齐的事实就是:你得把这些全部走一遍,把它们包住,再把所有缝都封上。所以这是一件事。好,你做了沙箱,但接下来你也许会问:我们为什么要把东西放进沙箱?你为什么要做这个漏洞利用?然后你会问:它真的有那么危险吗?会发生什么?好,那我们为什么要做这件事?第一,当我们训练一个新模型时,我们需要理解它的能力。这跟回退、分类器这些东西有关:我们不想把一个危险的模型放出去。所以我们必须跑大量评测。就像我们说的,模型对这件事越来越有意识,所以评测必须相当复杂,还要顺带测很多东西。但模型确实能说:「哦对,我们在评测里。评分器是怎么算的?」我们需要能在发布之前测它们,而事实是它们能做到。随着它们越来越聪明,如果我们不够小心,它们就能黑掉你给它加的任何约束。而这发生在前沿。所以这就是为什么我们把它叫「为前沿调速」:在我看来这是最显眼的事件,说明为什么我们需要调速——在前沿,我们所有的软件都还没准备好。有时候那软件是你的以太网路由器,你根本不知道什么时候能修好它。我们得把这件事弄清楚。而随着前沿越来越先进,这会成为一个问题。我们要确保在非常激烈的竞争压力之下,这些复杂的工作仍然被做出来。
swyx:对,这就是通常说的「竞赛动力学」。
塔里克:对,正是。所以我们再多聊一点「会出什么问题」。也许你会说:「那你为什么不换个方式训练模型?为什么它会有这种行为?」我们有一篇关于 RL 失准之类的论文。我不是 RL 研究员,但我觉得在高层上,RL 环境的设计也是你必须非常小心的事。因为如果模型学到——
塔里克:哦,就是「只要我这么做,我就能更好地通过任务」——这一点会体现在内部的信号里,或者体现在我们测试它时的评测行为里。所以 RL 环境必须被非常仔细地设计,需要有大量执行上的卓越。然后我们还有 Claude 的宪法这类东西。我们在很多不同的点上做了很多缓解措施。但任何一点上仍然可能出错。你可能有一些鼓励这种行为的 RL 环境,然后你可能有一些评测或者沙箱里它们跑了出来。好,我觉得这就是为什么它是一个难题,也是为什么——
swyx:为什么我们该调速。
01:05:34 当智能体需要更多算力时,会发生什么
塔里克:为什么它需要一些协调。我觉得接下来的问题是:它可能的危险是什么?你得想象这些模型越来越聪明。所以我不——就像 Dario 说的,问题不在于这一代模型。这一代模型只是一次警告射击。但你得真正想象:这些模型可以被给一个任务,然后它们为了达成目标,会顺带做出所有那些事。而且,再说一次,我们聊过评测意识——你并不清楚正在发生什么,或者说你没法很好地评测这种行为,所以它们不完全是隐藏,只是直到事情发生你才会看到。你给它们一个目标,然后它们就需要去找数据,或者去找解决这个问题的办法。举个例子,这件事没有在 Hugging Face 事件里发生,但我认为对将来某个模型是可能的:它们说:「哦,这是个非常复杂的问题,在任务预算内做不完。」也许它们找到了某种通过互联网协调的办法——就像我们说的,因为沙箱的原因,那极难防护。它们看到别的模型完不成任务,就说:「我们需要更多任务预算。」那你去哪弄这份任务预算?你得能开出更多智能体,对吧?怎么做?有 API,有 Anthropic API 和 OpenAI API,但你得花钱。你怎么弄?
swyx:对,但那是你能想象的最可怕的事吗?
塔里克:嗯,这只是一个例子,对吧?
swyx:对。
塔里克:所以哪怕在那里,那也意味着巨大的财务损失。因为一旦它们进了这些合约,它们就——
swyx:把你的钱包抽干。
塔里克:但你可以看到,所有这些行为都只是「嘿,我们需要更多智能体一起做这个任务。我们需要更多任务预算」。而那是一种涌现出来的——
swyx:那就是回形针,对吧?就像「我们要最大化回形针」,那就是回形针。
塔里克:对。那东西就是从那里冒出来的。我觉得它本身已经相当吓人了。但你还得意识到,整个世界都建立在数字基础设施之上。你可以想象——我不知道——比如你在跑一个医疗评测,有一家医院带着实时数据,或者评测的答案在某个医生的数据库里,你想拿到权限,于是你把医院黑了,然后现在就停电了。你得把这件事内化:数字基础设施的任何一部分都可能被攻破。
维布:有意思的是,这些攻击都很容易被发现,对吧?就像 Hugging Face 说的,这是一种非常不同类型的攻击,也没有太严重的东西。担忧来自它往下会走到哪里,对吧?
塔里克:对。
维布:对我来说特别突出的一点是它们试图掩盖自己的不当行为。有日志基础设施,它们想改掉自己在做的事,对吧?回头去看的人——Redwood、METR、OpenAI——看了原始的思维链,看到它们明确在试图改动最终输出,但因为思维链可以被监控,所以看起来不一样。问题是这会怎么滚雪球。如果你抓不到它、它被训练进去,然后我们三个迭代之后才发现这件事一直在发生,那问题就一大堆了。
塔里克:对。有太多种方式。我觉得真正要内化的关键是:就像我们说的,为 Claude 建立心智模型,以及事情是呈尖峰状的。你会说:「哦,现在 Claude 能问问题了。现在 Claude 能做 HTML artifact 了。Claude 能改自己了。」这些事很难预测,对吧?如果你一年前问我:「嘿,我们能用嘴写出 Claude Code 的扩展吗?」我会说:「那太复杂了,那里头有太多东西。」或者问:「它会不会为你的任务生成这些本质上就是 web 应用的东西?」我会说:「不会,那太疯了。」所以,同样地,它们做出的失准行为也是不可预测的。我根本不可能预测到它会去改 /etc/hosts 之类的东西。所以你得想象它们能做的表面积——它们是非常聪明的黑客——越来越大,它们做这件事的方式越来越有创造力。所以那个下一次事件到底是什么,你大概没法精确解释或者精确预测。但要防止它,你需要我们之前说的那种执行上的卓越:你得保护沙箱,得有安全的 RL 环境,或者说设计良好的 RL 环境。我觉得这就是全部理由,说明为什么我们认为应该给前沿调速,也是为什么这件事已经变得非常一致。
swyx:对,每个实验室都签了。
01:10:32 写代码变得比工程师追得还快
塔里克:每个实验室,对。我真的认为,如果你是开发者,你只要把这些技术事实过一遍,就会得出「我们必须对此做点什么」的结论。具体做什么,我觉得我们提出了一个方案,但还有更多要想清楚的。我觉得第一件事是我们得决定去做。调速还有另一个我觉得有意思的部分:软件工程变化的速度太快了。一年前我还真的在求我那些创业的朋友用 AI。我记得非常清楚。现在这些同样的朋友说:「是啊,当然用。你什么意思?我们马上就用了。」我说:「不,你不记得了。」他们说:「哦对,我们最好的工程师一直在用。」我说:「不,你当时跟我说那些工程师永远不会用 AI。」所有这些都发生在一年之内。而这些能力的进展,对怎么做软件工程这份工作有很多含义。我有时候觉得抱歉,因为人们说:「哦,现在我得做这件新事情了。我得给 Fable 和 Opus 各准备一份不同的 claude.md。」而我其实只是在报告事实。我们喜欢说「模型是长出来的,不是设计出来的」。所以我们不是刻意要一直改变一切,但模型能力在推进,这就是事实,事情发生得更快,更难跟上。我觉得我认识的每个工程师都很累,因为你在同时做两份工作:一份是本职工夫,它其实在变容易;另一份是追上 AI、理解这些新工具和这些壳。我们很幸运,我们的工作更多就是理解 AI 那一部分,就是跟上它。当然,AIE 和 Latent Space 也在做这个。
swyx:我做的事情差不多就是想帮到人们。
塔里克:对,就是这样。但我确实觉得调速里有一部分是:我不确定我们准备好让速度再加快了,让事情变化得更快。
swyx:对。
塔里克:而且就像我说的,在前沿这一边我觉得仍然能帮上忙。所以我觉得也有经济冲击这一部分——它不像 Hugging Face 那件事那么显眼,但我觉得我们也应该做一些。
swyx:太多东西了。谢谢你——不,谢谢你谈这个话题。说实话,在安排这次访谈的时候,我本来都不打算往那边去。你说:「不,那是房间里的大象。」对吧,就是这个。
塔里克:对。
swyx:这才是那件事。我有一些想反驳的地方。
维布:我觉得我们应该先给一个高层的说法,给还没读过的人——我确信很多人只看到这件事的高光。你想给一个 TLDR 吗?提案是什么?这里面在说什么?你真正处理的是模型实验室里训练前沿模型那些人之外的那一边:作为开发者,你应该保护你的沙箱,你应该考虑所有这些下游影响。但也在高层上说一下,既然在聊这个,它是什么?
塔里克:嗯,我们确实想帮着把沙箱做安全。
维布:对。
塔里克:我们想让我们发布到外面的模型不会成为这些事的猎物。也许我们可以回到回退这个话题。我觉得这是个好题目:为什么我们需要分类器和回退,为什么 Fable 会回退到 Opus。我觉得这个可以回头再讲。所以,我们不——只是,我们看到的这些事件,至少是那些评测,我们需要让模型真的跑起来才能理解它们。好,那「为前沿调速」这篇文章本身有一堆提案。我觉得我们还没把细节都想清楚,但第一步是宣布这个意图,然后引入外部的——
swyx:评估者。
塔里克:评估者,对。我觉得这非常不寻常:我们有很多专有技术,但我认为非常重要的一点是,有一个人没有财务动机、不会说「嘿,你们不能发布这个模型」,或者「你们得在 RL 上慢下来」。我觉得这相当重要。或者说,至少有一个人能向公众报告实际做法是什么样的。
swyx:对。
swyx:我们做过 METR 和 Endon 的节目,还有 Redwood Research 和其他一些。这差不多是一个小小的产业。
塔里克:对。
swyx:总是那么一两个人,显然规模不大,对吧?
维布:非常小的圈子。
swyx:对,非常小的圈子。他们都互相认识。
塔里克:对。我确信这其中的一部分就是扩大这群人。我觉得我们不是想造一个单一文化。只是先把这个作为起点。然后有协调的步骤。说实话,这部分我没有太多可说的。我想说的是,对开发者来说,你应该知道你该呼吁什么。我觉得在这个话题上有太多恐惧、不确定和怀疑,你只要从第一性原理去想它,或者去理解发生了什么:理解 Hugging Face 事件,理解人们为什么担忧。然后,对,我们知道我们生活在民主国家里,我们可以一起帮忙、一起决定做什么。所以不管我们怎么协调,第一个决定就是意识到:这是一个问题,我们得决定去协调。我们现在单方面采取、并被其他公司联署的那一步,是把评估者嵌进 Anthropic 内部。
swyx:趁屏幕上还有这个东西——第二和第三部分就不止是评估者了。评估者这件事,是的,每个人都以某种形式做过了,现在只是更形式化。
塔里克:说实话,「为前沿调速」得到的回应,即使在美国国内,也比很多人预想的更被接受。我觉得世界上有先例能让我们达成这种统一的协议。再说一次,这远在我的薪资水平和专业之外。但我觉得理想情况下我们能形成这些协议,而谈论这件事是形成协议的第一步。
swyx:然后我还想说的另一点是——我们最早的一期播客是跟——
维布:埃马纽埃尔。
swyx:跟 Anthropic 的埃马纽埃尔聊机制可解释性。机制可解释性现在到哪了?它本该是这样一个地方:如果模型在想坏事,我们能看到,而且模型还不知道,我们就能动手拦住它。我觉得对技术人、对开发者来说,如果你真的在乎,你在这里能产生很大影响。而且 Anthropic 本该是这方面的领跑者。
01:17:17 探针、回退、可解释性,与 auto mode
塔里克:对。这正好是通向回退和探针的好切口。我想多聊这个。经常有人问我这个问题,通常是那些对机器学习研究感兴趣的人,问我为什么会有这种回退。在高层上,它是这么工作的:在推理时我们有一组探针,我们有一篇论文讲这个,叫「宪法分类器」。这些探针看的是输入和输出的激活值。激活值在潜空间里,也就是模型在想什么。所以我们试着判断:比如模型是不是在试图黑什么东西?再说一次,你没让它去黑 Artifactory,它只是决定这么做来完成任务。所以如果你只看输入,你是看不出来的。你必须看内部的激活。我觉得这件事发生在推理时。所以首先有一个成本和速度的取舍:我们得对每一个发给 Claude、发给 Fable 的请求快速做完这件事,这有开销。然后我们要回退,探针之后还要过一个分类器。我们在论文里讲过这个。探针的好处是它们可以实时精修:我们能拿到反馈,然后调整阈值等等。因为另一条路是把它编程进去、训进模型里,我们现在也在做这件事。模型会拒绝一个请求,那不是回退,对吧?那不是探针被触发然后回退,那是它干脆拒绝执行。我们也做这种训练。但这里有几种失败模式。比如它可以为了副作用去做一件事,也就是它不出现在最终输出里。你可能注意到,每个人都试过越狱模型、试过把它们带偏;探针能帮忙抓住这些。所以我们在这里做了一些训练,但我们不希望拒绝太强,因为那会把它在流程里卡得太早。
swyx:对。
塔里克:而这就是可解释性,对吧?探针本质上就是一种机制可解释性。再说一次,它必须很快地发生,必须大规模地发生。但机制可解释性是一个很好的研究问题。你可以拿一个开放权重模型,试着理解它的激活。我觉得 Gemma Scope 是一个好工具。
swyx:给他们 Llama。
塔里克:哦,对。
维布:我们的——这是你早期的工作,所以你在——
塔里克:哦,对。
维布:你在 Goodfire 待过一段时间。我们看到你奠定了一些——
swyx:我们俩在 Goodfire 都也有好朋友。
维布:他们一直——
塔里克:对,就是这样。我在 Goodfire 工作过一段时间,做稀疏自编码器之类的东西。它非常复杂。RL 让这件事复杂了很多,我觉得这是其中一个结论。
swyx:为什么?抱歉。
塔里克:哦,抱歉。
维布:什么——
swyx:对,为什么 RL 之后可解释性更难了?
塔里克:我对这里的细节没那么熟,但我觉得——很多 SAE 一直有一些弱点。我已经不是这方面的技术专家了,我只知道它变得更复杂了:有基础模型和 RL 模型,被改变的特征更多了。我觉得 Goodfire 在这方面出了一些工作。我不深入细节,但——
维布:我想说,对那些想要面包屑的人:你们有一些最好的可解释性博客。比如 Golden Gate Claude、transcoders,你们所有可解释性的工作,视觉都非常好,非常棒。
swyx:我们也是做可解释性的播客。
塔里克:对。
维布:对。我们有很多可解释性方面的东西,所以你如果好奇的话——
塔里克:对。我觉得这是那种事情。而这正是 Anthropic 创立的基础。我们很早就投资了可解释性。我觉得当你说「我们是一家 AI 安全公司」的时候,真正的意思是:我们希望 AI 能安全地运行。我们看到的是,要让一个超级智能的 AI 长时间运行,这是一件非常复杂、非常困难的事。所以我们在可解释性、对齐、奖励黑客和所有这些失败模式上做了投入。即使这样,它还是被拉得很紧:我们需要稍微慢一点,或者说多调速一点。对,我觉得读机制可解释性的东西——如果你想进入研究,这个想法是:为什么做这种回退这么难?为什么会有误报?我们当然在努力减少误报。当然,随着模型变得更聪明,它们能做的事更多,它们在潜空间里能想的东西也变得更困难。所以随着它们变聪明,会有新的误报需要我们去弄清楚、去迭代。但我们在做这件事,我们确实认为这是部署这些模型的关键部分。对,这意味着我们可以在你没有一个完美沙箱的情况下部署这个模型——你不必把所有东西都保住。我觉得值得稍微聊一下我们的安全,我们在这方面做了什么。有我们之前说的模型训练那一部分,有探针和分类器,然后在此之上还有 auto mode,它是另一个分类器,检查正在发出的请求,对吧?再往外,还有我们聊 Claude Tag 时提到的身份和权限,在 API 之类的地方。所以需要做的安全层次非常多。就像我们说的,它非常复杂。任何一层上的任何失败模式,都可能让智能体逃出沙箱。
维布:auto mode 很有意思。早期看起来是:「好,它跑十分钟。」
塔里克:对。
维布:如果我是完全访问或者自动模式,那没什么大不了。但你提出的一个点是,现在它能连着跑好几个小时,对吧?你还是需要回退。还是有局限。所以——
塔里克:对,我觉得——每个人都有这类故事,或者听过这类故事:Claude rm -rf,或者说不是 Claude,是模型——
维布:不是 Claude。
塔里克:是 rm -rf 那种。我觉得在 Claude 上我见到的少一些,但再说一次,它可能发生。
维布:对。
塔里克:这些模型确实可能把敏感数据抹掉。比如你想给模型访问你生产数据库的权限。这是一个很明显的例子,你也许可以限制你的 key 的权限,但我不确定——它能自己发 key 吗?大概能。它可以用 computer use 去给自己发一把 key,把 key 拷过来,然后改你的数据库,因为要完成任务它就得这么做。这只是一个很简单的例子。auto mode 看到这个就会说:「不行,用户没有授权你写数据库,也没有授权你用 computer use 去开一个任务。」所以探针是在意图这一层:「去攻 Artifactory 是不对的,我们大概不该做这个。」而 auto mode 更多是在你自己的授权这一层:有时候你确实要它写数据库,有时候不要。你不想让探针在那里插手,但你需要确保智能体在做的事情的意图和你的请求对得上。auto mode 就是在这个层面工作的。所以,安全就是非常复杂,有太多不同的部分。我希望这次——我的目标真的就是把它讲得非常技术性。
swyx:对,我们在把这些点列出来。如果你不知道的话,这是现在的标配了。
塔里克:对。
swyx:你必须得有这些。这跟你讲的壳是一致的:门槛抬了非常多。
维布:我觉得有些东西我们可以接上。除了你这一侧的探针和给做壳的人的分类器,另一侧是模型自身的防护,对吧?比如有开放模型,Llama 有 Llama Guard,是用 Llama 训出来的安全分类器;OpenAI 有 OSS Guard,同样的东西。你可以把这些挂到你的壳上、挂到任何地方,去检查这东西安不安全。关于 OpenAI 那个模型和 Hugging Face 的事,有一点我们应该澄清:那是一个还在训练中、尚未发布的模型,对吧?所以放到背景里看,在 RL 环境里给它的提示是「你必须解掉这个任务」,而它还是个在训练中的模型,还没做完所有安全后训练的对齐。所以它和 auto mode 这类东西有点不同——auto mode 是在生产模型上,那些模型已经过了安全训练、有更多安全护栏的提示等等。所以这是给想深挖的人留的面包屑,好把空缺补上。
swyx:对。还有 Gray Swan。
维布:对。
swyx:也是我们之前的嘉宾。对,很多安全架构,也有很多安全厂商可以买。关于调速,我最后的问题是:多久?我们要永远调速下去吗?
维布:我们能看到 GlassWing 第二部分吗?
swyx:我——范围是把世界上所有的软件都修好,对吧?听着——不是,这不会发生。
塔里克:我不知道。我觉得——
维布:我要说一件我觉得我们做得好的事:你们有 GlassWing 这样的东西,OpenAI 也有。你会先给模型访问权限,在一段时间里先给安全用,这样你可以用它来做自我红队。希望能扩大这类项目,帮上忙——我们是安全专家,还有别人。
维布:先解决你的问题,然后模型再放出来。这是一个例子,对吧?
塔里克:对,就是这样。试着把关键软件保护起来。我觉得我们在 Firefox 之类的东西上修了很多 bug。跨越操作系统和各种东西。
维布:在高层上,就是先把模型给人们做安全审计,然后再让可能用它来做坏事的更广大公众拿到访问权。
塔里克:对。人们喜欢说,软件和网络安全是偏向防守方的。
维布:对。
塔里克:理论上,它会很难,但你可以设计出一个完美的沙箱,然后你就没有任何约束问题。要做到这一点,你需要让超级智能的 AI 来设计这个完美沙箱、检查它、红队它。所以这需要时间,而且当然,模型会变得更聪明。对,我不知道这件事具体的动力学是什么样。我真的只是:嘿,我是个开发者。我觉得这就是我理解这个问题的方式,这就是现在正在发生的事,我们应该做点什么。
swyx:我觉得每个工程师都应该知道这件事。
维布:对。
swyx:因为这会成为他们工作的一部分。
塔里克:对。
维布:这远不止是 Dario 和一些人说说、你去看那起事件。它有一个工程的那一面。
塔里克:对,就是这样。
01:28:32 p(doom) 与收束
swyx:你还想强调的一点是:尽管你在担心它的影响,你的 p(doom) 仍然很低。我觉得这是一个很微妙的讨论。总体上人们很容易滑进 AI 安全和存在风险的讨论里,但我觉得当你生活在一个 AI 实验室里,讨论 p(doom) 有聪明的方式,也有愚蠢的方式。聪明的讨论方式是什么?
塔里克:我,对,我的 p(doom) 相当低。我只能代表我自己。我也想说明 Anthropic 内部有很不同的意见。我觉得有很多种讨论方式。我的心智模型是:我们可以一起在难题上协作。核不扩散就是一个人类一起协作解决难题的例子。对我来说关键是,我对那件事有信心。我确实觉得这是个难题。所以,我觉得这是个难题,这些是技术上的理由,而我不知道你怎么给事情发生的概率赋值。我觉得那很难。但我的整体感觉是:我们非常有韧性、非常能适应,而分享这些信息是第一步。我一直很兴奋地看到讨论变得多么广泛,看到每个人都在「为前沿调速」上参与进来。也许就在去年,这件事看起来还不会发生。
swyx:对。
塔里克:对。
swyx:对。而且也许还有治愈癌症。
塔里克:希望如此。对,那是目标。
swyx:有调速,也有「用有用的方式加速」,对吧?
塔里克:对。
swyx:比如生物学那些。
塔里克:对。Dario 那篇《慈爱的机器》是这件事最好的呈现。我也同意,你应该去读 Dario 发的《为前沿调速》那篇文章。我发过一个简短的总结,但那里面有很多细节。这是个重要的问题,仅仅是被它告知都是有价值的。但当然,我们做这一切的整个理由是,我们能得到巨大的好处。对,我们对此也写了很多。
swyx:好。这一趟旅程很长,从「向用户提问」那个工具一路到 AI 安全。
塔里克:对,到「为前沿调速」。对。
swyx:对。但很明显,你真的很拥抱 Anthropic 里能用到的一切,能窥见一下里面在讨论什么、话题是什么,是很好的。最后想对大家说点什么吗?或者任何你想要的行动号召?
塔里克:好,我觉得——第一,谢谢你请我来。
swyx:不,谢谢你让我来。
塔里克:对。我——
swyx:我们第一次见面是在一家中餐馆。
塔里克:没错。对。我真的很喜欢你们创造的这个社群,这个开发者的社群。我知道事情变得非常快,有很多东西要跟上,有很多事要做。我觉得很多人感到有点累、有点焦虑。
swyx:有压力。
塔里克:有压力,对,就是这样。而这极其可以理解。我觉得我们理解,我们也不完美。去批评、去理解所有 AI 实验室怎么能做得更好。但我也对大家对 AI 的那份兴奋感到非常兴奋,这真的是一个令人兴奋的时代。我觉得回头再看这段时间,我们会说:哦,这是非常忙乱但非常令人兴奋的一段,软件工程从此永远地变了。其他事情也会变。能成为其中一部分是一种特权——能对着你们的听众说话,能和所有这些把可能性往前推的开发者互动。我也从中学到很多。对。
swyx:非常感谢。
塔里克:谢谢。
References
- 1Latent Space 官方单集页《Claude Code’s Next Era》
latent.space
- 2
- 3嘉宾个人站 thariq.io
thariq.io


Comments