Claude Code 的下一个时代——对话 Anthropic 的 Thariq Shihipar
原文:Claude Code’s Next Era — Thariq Shihipar, Anthropic
访谈正文
引言:在 Anthropic 的生活与变革的节奏
Swyx: 我们现在在演播室里,和来自 Anthropic 的朋友 Thariq 在一起,我想一般来说是 Claude Code,我——有,有太多,边界的融合,而且自从你加入 Anthropic 以来,你一直对一切都了如指掌。你很早就接触了 Claude Code 本身,但后来,你也在其他播客里讲过那个故事,而且你也一直在谈论像智能体一样去看待事物。最近你做了 AIE 世界巡回演讲的头牌,Field Guide to Fable,显然你们推出了 Fable,所以那算是——那是作弊。而且最近你还推出了 Claude Tag,我们也会聊到 Pacing the Frontier。Anthropic 里有很多事情在发生。我想最首要的问题是,在发生这么多事情的时候,待在 Anthropic 是什么感觉?
Thariq Shihipar: 我觉得你有时候会感到措手不及。当我加入 Anthropic 时,我加入是因为 Claude Code。Claude Code 刚刚出来,我当时就想,“这太好了。”而 Opus 4 对我来说,我简直无法想象,它有多好?那对我来说是一个真正的时刻。但我当时试图说服我那些创业的朋友去用智能体式编程,他们就说,“哦,不,就像,我们的工程师觉得它还不够好,”或者什么的。我就想,“这太疯狂了。”而现在你快进 12 个月,还不到,对,就是每个人编程的默认方式了,对吧?而我觉得,仅仅是从推销它,到现在,教人们如何最大限度地利用它,变得更高效之类的,就是一个巨大的变化。而且,是的,我觉得,作为一个人,就是很难对所有事情都了如指掌?我觉得事情发生得太快了,而且……
Swyx: 你就往上面扔更多智能体。
Thariq Shihipar: 是的,就像那,就像智能体那套东西的扩展性比,就像,人类那套好得多,人类那套就像,哦,就像,现在有三件事在发生,而且,就像,它们全都是紧急情况,而且,就像,你怎么,就像,应对它?是的。
教人们使用 Claude Code
Vibhu: 你把时间分配在哪些事情上?你做很多技术写作、工程工作。
Thariq Shihipar: 是的,所以我觉得,就像,当我加入 Claude Code 团队时,我想教人们如何使用 Claude Code,而且我觉得,就像,那一直是我,就像,我以为,就像,也许我会花一点点时间在上面,或者,就像,我会,就像,做。我一开始花了一些时间在智能体 SDK 上,而且我并不完全确定,就像,当涉及到,就像,harness 的时候,那个苦涩的教训会怎么走,对吧?就像,我觉得有时候我们会想,“哦,就像,Claude Code 之后是什么?”?所以一开始我就想,我只想教人们如何使用 Claude Code,并让使用 Claude Code 变得更容易。而我觉得,就像,随着 harness 变得越来越好,那,就像,现在的主要问题就是,就像,你如何使用这些智能体,对吧?就像,它是,就像,一件如此高度体现技能的事情。所以我做那个,然后我做工程工作。我做演讲,但我觉得,就像,当我做工程工作时,我的目标是接收我们从用户那里得到的反馈,然后也,就像,能够谈论,就像,嘿,如何使用 Claude Code 来做工程。所以那里就像有一个很好的循环。是的。
Swyx: 是的。我会——对听众们,我们会附上,你和 Sarah 为 Dev Writers 聚会做的那场演讲
Thariq Shihipar: 哦,是的
Swyx: 我们稍微聊过一点,嗯,首先你做这个工作,然后你谈论这个工作。
Thariq Shihipar: 对。
Swyx: 差不多是这样。
Thariq Shihipar: 是的。
Swyx: 这是播种和收获,或者
Thariq Shihipar: 是的,收获和。播种和收获。
Swyx: 差不多是这样。差不多是这样。是的,所以,然后稍微预告一下,我们会聊到 harness 的演变。它从仅仅是一个 CLI 已经走了很长一段路。我们会聊到,Claude Mods,它今天开始泄露了,因为你没法把它保密。
Thariq Shihipar: 是的。是的。
Swyx: 是的,那里,那里有很多东西。我觉得你一开始是,就像,加了 ask user question 工具,人们对它又爱又恨。
Thariq Shihipar: 是的。
Swyx: 就像,我觉得它,就像,非常有创新性,然后现在我有,就像,我自己的版本。你有你的 Interview Me 版本。
Thariq Shihipar: 是的。
Swyx: 而且,是的,每个人都只是有,就像,他们自己的东西。而且,就像,它不再重要了,因为现在你应该,写能创造出其他提示词和循环以及所有这些东西的提示词。
Ask User Question 与人机交互
Thariq Shihipar: 当然,是的。
Swyx: 那么今天的最先进水平是什么?就像,人们在。你在,就像,告诉人们今天去做什么?
Thariq Shihipar: 是的,ask user question 是模型第一次擅长引导提问。我觉得这,就像,是一种涌现行为,我,就像,想看看模型能不能做到。我有,就像,一个人机交互的背景,所以,就像,我在本科和研究生阶段做过那个。所以这就像。我觉得这对我来说就像人机交互,就像,试图弄清楚,就像,智能体如何能与你沟通并提取,需求,对吧?我觉得,就像,关于,就像,随着 Claude Code 变得越来越广泛,其中一件困难的事情就是,每个人都有,就像,他们自己使用它的方式,而且很难,就像,改变默认行为。所以举例来说,就像,如果某人让 Claude Code 做某件事,
Thariq Shihipar: 有时候他们只是想让它做这个工作,因为他们,就像,也许是一个非常擅长写提示词的人,而有时候他们想。就像,不擅长写提示词?而你需要。就像,智能体需要,就像,澄清?所以那,就像,是一个很好的划分。就像,而 ask you the question 工具就像,沿着那一边划分,就像,是——你觉得你足够擅长按现状去指示智能体,还是智能体能够,就像。智能体是否需要,就像,提取出更多需求,并且,就像,与你更多地协作,真正理解你的偏好?
Thariq Shihipar: 我,总的来说,相信几乎每个人都更偏向后者而非前者,他们,就像,有更多的模糊性,而且他们知道的比他们想要的少,比他们,就像,自以为对这个问题知道的少。但是,就像,这是一个界面设计问题,要让它变得容易?所以,就像,如果你在设计一个问题,就像,或者如果你在处理一个问题,就像,诸如 schema 是什么,或者,就像,调用栈是什么之类的事情真的非常重要。就像,设计中的细节很重要。理想情况下,你想在开始实现之前就提前弄清楚其中一些,就像,难题。而且是的,这就是为什么它们被称为,就像,未知数,对吧?所以我觉得这永远会是,就像,智能体式编程中的一项技能,就是,就像,弄清楚你的未知数。所以,就像,因为即使模型,就像,超级智能——它,就像,需要知道你想要什么?而且,就像,你有偏好。就像,你需要,就像,把那个,把那个提取出来。所以那,就像,我觉得这就是我,我所推动的。那么问题就是,就像,智能体如何与你互动?而我觉得那一直是 HTML,一直是,就像,做那件事的主要方式。而我们最近加了 artifacts,对吧?而 artifacts,我觉得我们做得不好,就像,或者,就像,我做得不好,就像,解释如何充分利用它们。我们有很多属性能力。它们有一个与之关联的数据库?所以每个 artifact 都能存储和写入持久数据。它们能,就像,反馈回 Claude?所以,就像,一件,就像,人们还没在做而我在试图,就像,鼓励的事情就是,就像,仪表盘 artifact 这个想法。所以你有,就像,Claude 长期在一个项目上工作。也许它就像是一个看板之类的。它能把它那个看板数据存储在自己的数据库里。多个 Claude 能通过,就像,artifact MCP 访问那个数据,而且,就像,那个 artifact 也能,就像,与那些 Claude 对话。所以,就像,那。我们正在构建原语,让你能够拥有这个,就像,通过 artifacts 的生成式界面,那会,就像,让你从智能体那里呈现出更多那种丰富的细节。而我觉得,就像,现在智能体几乎一切都,就像,这个问题,就像,你以为你想要什么,但你并不真的知道你想要的,而且,就像,智能体需要大量细节,在循环中与它们协作真的非常重要。所以 artifacts 就是,就像,我们试图在那里演进的方式。但还有很多工作要做,因为它比,就像,一道选择题复杂得多?有更多,就像,细节,比如,图表和代码片段和 schema 或者,就像,那个问题的无论什么东西。但是,就像,artifacts 是,就像,那种更 AGI 化的方式,就像,来做 ask user question。所以是的。
Artifacts 作为 Harness 的界面
Swyx: 我觉得关于这些,artifact 的东西,有一件事对我来说不清楚,就是,就像,什么反馈应该通过 artifact 进去,什么反馈应该通过 Claude,一个聊天进去?因为更 AGI 化的那个做法就是把一切都喂给 Claude。
Thariq Shihipar: 我觉得更 AGI 化的做法是走 artifact。就像,我觉得,我们想象在极限情况下,artifact 会成为你进入 harness 的界面?你可以,就像,实时评论这个,就像,你计划、工作的实时文档。你也许能看到,就像,多个智能体和不同的智能体在做这件事,而那个 artifact 是为你现在正在做的工作构建的,对吧?所以,就像,每一个都,就像,略有不同。我觉得从,就像,基础设施的角度来看,我们还在,就像,往那个方向走。但是的,我觉得,就像,为你的 harness 即时生成的界面,大概就是事情的发展方向。
Vibhu: 有没有一个版本,它是从 CLI 或聊天以及你本人中抽象出来的?因为现在,很多情况是,好吧,你在和 Claude Code 交互,它返回 HTML 给你做一个 mockup。这已经相当丰富了。有图表。Artifact 是把这些东西连接起来的方式。为什么不干脆一切都那样做?
分离大脑、手和表层 UI
Thariq Shihipar: 那它就变成了,就像,把这些东西分开:推理发生在哪里?智能发生在哪里?工作发生在哪里?就像,我觉得这就像是,本地和云端之间的区别,或者说,它们之间的一些区分,对吧?所以,我觉得现在,如果你用 Claude Code,它是,就像,本地的,而且,就像,你可以,比如说,启动远程控制来获得一些云端行为,或者你可以在云端启动 Claude Code,对吧?我们正在走向一个地方,不再是像,你给一个本地 Claude 发消息,它在本地启动一个会话并执行,而更像是你有一个在云端运行的 Claude,你给它发消息。它可以运行,就像,本地会话,或者,就像,云端会话。Claude Tag 就是这样工作的。但是,就像,随着时间推移,我们也会加上,就像,本地的手。所以,就像,本地的手会是那个智能体在联网时访问你电脑的能力,并且能够,就像,在那里工作。于是它可以启动许多不同的子智能体。它可以,就像,通——那些子智能体可以互相通信,而这就是 artifact 登场的地方,用来展示所有这些工作。所以你可以想象,就像,那个。你在把这些东西分开。所以有,就像,表层 UI 显示,那是一个 artifact,托管在某处,有数据库和一切。有推理智能,对吧,那发生在云端,你不必担心关掉你的电脑之类的,对吧?然后还有,就像,手。就像,它可以是本地的,它可以在,就像,一个远程沙箱里,或者任何你需要完成工作的地方。这就像是,把现在的 Claude Code 体验拆包,现在,就像,一切都发生在一个地方,对吧?所以。
多人智能体、Claude Tag 和 Projects
Vibhu: 你怎么看,就像,这方面的多人协作那一面?比如说团队想以这种方式工作。现在它非常个人化,但你怎么看多人协作的未来?就像,现在,我猜有 Claude Tag,它是一个版本,但是。
Thariq Shihipar: 我们正在推出 projects。所以 projects 是,就像,这个抽象,它像 Claude Tag,但是在我们的 Claude 产品上,对吧?所以你可以给它发消息,然后,就像,它会做类似 Claude Tag 的事情,比如启动子智能体。所以,我们认为在多人协作方面。就像,Claude Tag 是,就像,稍微更原生的多人协作,因为它就是,就像,在你的 Slack 里,权限之类的东西都已经搞定了。但我确实认为多人协作是,就像,这个故事的重要部分,而且,就像,那将需要更多地被整合在一起。就像,你可以想象当你说,哦,你有手,但现在其他人的电脑上也有其他的手,而且,就像,你需要,就像,给它们授权,或者,就像,你有,就像,你的 MCP 和别人的 MCP,你该怎么弄清楚如何使用它们,对吧?它会变得,就像,相当复杂。而 Claude Tag 在,就像,磨平所有这些问题方面做得很好,对吧?所以,就像,当你有,是的,Google Docs,它怎么访问 Google Docs,对吧?就像,它通过共享的 Claude MCP 访问,或者如果它没有访问权限,它也可以通过你的本地凭据访问。但是的,我觉得 Claude Tag 是我们的多人协作产品,而且它对那些,就像,本质上就是多人协作的事情真的很有用。就像,好吧,就像 on-call,比如说,事故本质上就是多人协作的。你想 @Claude,你想让多个人登录,你想让它能够找到上下文。我觉得每当我,就像,在做某件事,而我想要,就像,隐私或安全,或者,就像,我想要其他人来审查时,它真的很好用,就像。我会为每个项目建一个频道,然后我会,就像,@法务,比如说,说:“嘿,就像,我想发布这个。你能不能,就像。”就像,这是。就像 Claude 知道一切,直接和它聊。这样法务就能得到精确的答案,关于到底什么正在进入代码,而我不需要在环里,对吧?所以我觉得,就像,多人协作正变得,就像,越来越,是的,每个人都可以和 Claude 一起参与。我觉得 Claude Tag 就是那样的产品,而,就像,projects 会从单人开始,然后,就像,扩展。
Swyx: 我觉得有一个问题,也许是关于身份和隔离单元的两个问题。
身份、权限和隔离
Thariq Shihipar: 是的。
Swyx: Claude Tag,你特意选择让它有自己的身份
Thariq Shihipar: 是的。
Swyx: 这是一个,就像,有争议的选择。有,有其他的做法。
Thariq Shihipar: 是的。
Swyx: Claude Projects 大概,听起来,如果它像 ChatGPT Projects 的话,那就是,隔离单元是 artifact,那个云端实例,大家都在上面协作。它会。听起来,它应该像,如果你,如果你在和法务就某件事协作,就像那个频道应该是一个 project,对吧?就像它现在还不是
Thariq Shihipar: 是的。
Swyx: 但它。那是自然的下一步。
Thariq Shihipar: 是的,就像我觉得在 Claude Tag 里,它实际上是。就像 Claude Tag,你得自己做安排。所以 Claude Tag,是的,每个频道就像你可以随意命名,而我会命名
Swyx: 是的。
Thariq Shihipar: 就像每个功能
Swyx: 是的。
Thariq Shihipar: 作为一个频道。
Swyx: 而且,但我觉得,就像,有一些转——就像,不清楚什么时候会有转移,因为假设它是。如果你有一个同事
Thariq Shihipar: 是的。
Swyx: 他在所有这些事情上都被 @,是的,会有转移
Thariq Shihipar: 是的。
Swyx: 因为这是同一个人。但有了 Claude,就不清楚它是否必然像,嗯,不,你不知道任何。你不知道其他那些东西。你应该只用这些东西。
Thariq Shihipar: 这就像冰山一角那个梗,对吧,你可以,就像。这就是我们花了那么多时间的地方
Swyx: 是的。
Thariq Shihipar: 就像有,就像无限的表面区域,就像,好吧,你想让 Claude 们。不是无限的,但就像有,就像表面区域,很多,就像,表面区域需要弄清楚,比如权限和可见性,以及,就像,你怎么能让 Claude 尽可能好地运作,尽可能安全地运作?而且显然,这对我们非常重要,因为,就像,我们代码库的安全非常重要。所以我们在这上面投入了大量时间。是的,有那么多,就像,边缘情况你可以想到,就像,哦,就像,是的,这个频道里的这个 Claude 有不同的权限,但它可以给另一个频道发消息,它难道不能那样外泄数据吗?或者,就像,你能不能,就像。如果它用了你的 MCP,然后给别人发消息呢?就像有那么多,而我们,就像,真的投入了很多工作来把它磨平。
Swyx: 是的。很多工作。好吧。Fable?
Fable 和提示的元技能
Vibhu: Fable,你写了两篇好文章。你写了很多好文章
Thariq Shihipar: 是的。
Vibhu: 但是关于,Field Guide to Fable、Building Claude Code。我很好奇,从你看到的情况来看,在 Anthropic 内部和外部的顶级用户身上,你有没有看到什么共同的模式?比如,要最大限度地用好 Claude Code,最佳实践是什么?
Thariq Shihipar: 我说的那个元技能,比如提示词,非常重要?诸如此类。我觉得这不是随便说说的,因为我认为很多人会说:“哦,提示词不重要。就像我随便说一句话,Claude 就能做到。”而我认为提示词真的就像,这个。它就像公开演讲,或者写作之类的,面向特定的受众,而那个受众就是 Claude。你需要建立对 Claude 的心智模型,了解它如何思考、如何运作,对吧?所以,与 Claude Code 协作最重要的技能就是拥有这种心智模型,对吧,关于 Claude 的心智模型,知道它擅长什么、能一次搞定什么、不能做什么。很多人你看他们写提示词,就是很短的提示词,但他们对 Claude、对代码库等等有非常好的心智模型,所以看起来毫不费力?但这其实是一个高技能上限的事。所以,花大量时间写提示词、建立关于智能体如何工作的心智模型和直觉,这种工作真的非常重要。然后我觉得下一件事就是我们之前谈到的未知的东西,就是能够发现你不知道的、或者你还没有写下来的东西,去学习不同的东西。我认为随着 Claude 能做的事情越来越多,你遇到对你来说属于分布外、而你领域知识又很低的事情的可能性非常高?你越能学会用词汇来给 Claude 写提示词,这就变得非常重要。所以我觉得最重要的未知是未知的未知,就是那种你甚至不知道这个东西存在的情况,对吧?对,没错。我觉得这就像是地图和疆域的例证,对吧,你说:“好,这是我的提示词”,而疆域是智能体实际需要做的工作,对吧?如果你非常精确,你就能给出更精确的东西,对吧?比如在设计方面,我不太精确。我不是设计师,所以我会说:“给我 8 个不同的样稿。”但如果我是设计师,也许我会说:“哦,嘿,这里有一些参考网站。我想要这种字体、这种风格,这里有几个不同的组件可以可视化。这里有一个 Figma MC 画板可以引入。”之类的。所以你可以用那种语言精确得多。如果你不是设计师,你就需要尝试学习那套语言,或者去学习那些未知的未知。我觉得这对所有事情都成立。你越能和 Claude 一起学习事情如何运作,你的提示词就会越好。我觉得另一个好例子是游戏设计,很多人会说:“哦,我现在可以凭感觉写代码做一个游戏了。”然后他们说:“不好玩。”而游戏设计的关键在于,这些选择中的每一个都有很多
品味、领域知识与学习词汇
Swyx: 变体。
Thariq Shihipar: 它们有很多工艺在里面。所以就像,哦,好吧,当你在做一个飞行游戏时,飞机的感觉、它对操控的响应方式,有很多讲究。游戏设计师会花好几天在这上面。对吧?然后就像
Swyx: 对我来说,那就是品味,对吧?
Swyx: 就像从一千个数学上有效的答案的可能空间里
Thariq Shihipar: 对。
Swyx: 挑出人类会喜欢的那一个。
Thariq Shihipar: 是的。对。
Thariq Shihipar: 对于品味这个词,我有点纠结,因为我觉得你说得对,但每个人都有不同的定义,而且它听起来有点,听起来像是低技能,或者几乎像是精英主义,就是那种,哦,某些人是有品味的?
Swyx: 就像品味就是我称之为品味的东西。
Thariq Shihipar: 对,没错。
Swyx: 而这些人没有品味。
Thariq Shihipar: 对,没错。哦,就像工程师没有品味。而我,作为创始人,有品味。
Thariq Shihipar: ?我觉得那不是真的。我觉得工程师对这些特定的问题有很多品味?而且我觉得每个人对特定的问题都有品味。我觉得就像 Jason Liu,比如说,为了,对,有品味,你必须得吃?
Thariq Shihipar: 我真的很喜欢这个说法,就是,好吧,你必须做很多事情。你必须迭代,弄清楚你想要什么、你喜欢什么,然后建立那种领域
Swyx: 是的
Thariq Shihipar: 领域词汇。然后当你写提示词时,你就是在为产品综合所有这些。
Swyx: 当别人说得比你好时,是不是很烦?
Swyx: 就像,靠,我得永远引用这家伙了。
Vibhu: 得永远引用 Jason Liu 了。
Vibhu: 他会爱死这个的。
Thariq Shihipar: 所以我收到的提示词,比那更多。
Vibhu: 有时候甚至不是那样。有时候只是直觉,对吧?就像你甚至没意识到自己想要什么,直到模型把它做出来,然后你说:“哦,这个感觉立刻就更好了”,对吧?
语音提示与信息密度
Thariq Shihipar: 对,没错。
Swyx: 有一件事我反复摇摆,就是我觉得我有一半时间写提示词的方式,比如说我用语音。
Swyx: 我说语音了吗?别人有语音。那是相反的。那就像我胡扯两分钟,按下功能键然后松开,然后希望它能自己搞明白。而且很多时候它确实能。
Thariq Shihipar: 对。
Swyx: 但它不像一个结构化的提示词那样深思熟虑,不像把它当作 PRD 或备忘录那样进行良好沟通。这符合人们做这件事的方式吗?是不是存在双峰式的提示词,有些提示词你前期花很多时间,而另一些提示词你就随手一写?
Thariq Shihipar: 我不认为语音就一定是低。我觉得更像是提示词里有多少信息。模型可以。你可以,比如加一些句子
Swyx: 对
Thariq Shihipar: 然后说:“哦,我改主意了”,就在提示词中间,它也能完美地跟上?所以我觉得文本的实际格式没那么重要,但重要的是,比如能力。比如里面有多少信息,对吧?而且我觉得对于语音,很多时候,回到人类与智能体的交互,对很多人来说,说话就是比打字容易得多?而且我。如果那能让你输出更多信息,那就更好。
Vibhu: 在某种程度上,感觉就是给模型尽可能多的上下文
Thariq Shihipar: 是的
Vibhu: 在启动之前进行提示词编写是一种最佳实践。我不知道。很多时候,比如我第一次试用 Fable 时,我花了整整 30 分钟真正精心打磨一个很长的提示词。我认为这是模型运行时间越来越长的一个反应,对吧?当它们处于循环中时,推动它们仍然有点困难,但我就是直觉上会花更多时间启动第一个提示词,并大量地与之协作。
前期多花时间,减少迭代
Thariq Shihipar: 我的个人观点是,如果我是一名软件工程师,如果我只是在运营自己的初创公司,比如说,我觉得我基本上会坚持最多 20x?也许验证和代码审查是分开的事情。但我觉得我经常看到的是,人们在做这件事时撞到速率限制,比如,哦,它做了很多工作,然后你说:“哦,我不喜欢这个。你能不能撤销这个然后重做?”然后你就在这个东西上迭代,而如果你前期花了更多时间或者给了它更好的上下文,模型本来是可以做到的?结果反而是你说:“不,不喜欢那个设计。试试这个。”或者“你把这个搞砸了”之类的。然后那就会消耗掉你更多的使用量。所以我觉得这也许是一个关键提示,对效率来说也是如此,对吧?而且,是的,我觉得上下文,不只是关于目标是什么的上下文,对吧?比如你是在做原型还是生产级的东西?比如你可以在哪里花算力,或者什么时候、在哪里不能花算力?我觉得有时候你必须给模型许可,或者不给它许可去做某些事情,因为它并不直觉地知道你想在这个任务上花多少,对吧?你可以为此使用 effort。所以我做了——我正在写一篇关于这个的博客文章,就是,如果你想。因为我们看到 effort 会随任务复杂度而扩展。所以在安全方面,effort 带来的结果提升很大。高 effort 对比低 effort,会大幅改变评估结果。但对于软件工程,它不会改变太多,因为 effort 主要花在验证和边缘情况测试之类的事情上。所以,能够给模型这种指导,比如:“嘿,这个问题我觉得我想让你花大量时间做验证和边缘情况测试,”?
Effort、模型选择与验证
Vibhu: 那模型组合呢?有 Opus 和 Fable,还有 effort。
Thariq Shihipar: 对。
Vibhu: 那里还有 Haiku。
Thariq Shihipar: 是的。现在还不完全是这样,但已经非常接近了,我认为前沿模型会在几乎所有事情上达到帕累托最优。大概吧。有时候我觉得 Opus 可能就已经是帕累托最优了。对吧?我觉得这取决于事情怎么发展,如果它是更新版本的 Opus 的话。但我认为越来越明显的是,那个聪明的模型将能够用比其他模型更少的词元来完成简单的任务,因为有了验证。有了验证,在极限情况下,你的模型不需要验证,对吧?如果它是一个完美的模型,它只做一次工作,然后就像,好吧,就像你,我做完了?而且随着 Fable 越来越强,我会说,“哥们,你不需要启动 Chromium 然后给所有这些东西截图。”就像我看到了。就像你做完了,对吧?所以很多……在更高的努力程度下,你会花更多的那些词元去验证。但如果你在处理更简单的问题,而很多软件工程就是这样——好吧,就像在 Fable 里,低和中等稳定性,它可以花更少的词元去验证。而随着模型变得越来越聪明,它们就能直接说,“好了,完成了。”?就像,我可以为了保险起见跑一下 lint,但是,就像,我,就像,知道它能通过 lint?就像你甚至不需要做那个。而那将比那些更小的模型在词元效率上高得多。是的。
Swyx: 我们这边有没有一个好的实践,可以用来看看我们是不是用了太多的努力?就像,我他妈的
Thariq Shihipar: 是的
Swyx: 讨厌在这种事情上浪费时间。
Thariq Shihipar: 是的。我懂你的意思。我觉得,就像,在这篇博客文章里,我的粗略分布是,代码审查和安全应该是高或最高,然后软件工程
Swyx: 你说的是按领域推荐混合设置。
Thariq Shihipar: 是的。我觉得,如果你在做 UI 之类的,低和中等就行,我觉得如果你在构建一个 API,你想确保覆盖足够的边缘情况?所以我觉得构建,就像我说的,那种关于事情在这些分布中如何运作的心智模型,就像,是的,是工作的一部分。
实现说明与决策日志
Vibhu: 这更多是直觉驱动的还是评估驱动的?因为我猜这会随着你的进展而变化。
Swyx: 他有评估。
Thariq Shihipar: 是的。所以我在博客文章里做的是,我过了一遍所有的终端基准评估。所以有大约 70 个问题,我展示的是,好吧,在安全问题里它做得更多。然后我也看了一些记录,就比如,它回答了什么,它忘了什么之类的。很多时候,这是另一个我有的提示技巧,就是让它做决策笔记或实现笔记,因为在它面对的每一个评估问题里,它都会想到正确的解决方案,然后决定不做。就像,哦,这是答案。如果我这样做呢?然后它就像,哦,大概不行?然后继续。而这就像,大多数失败的原因,在更高的最高级别上。模型完全不知道怎么做某事是非常罕见的。如果你有这些实现笔记,那么你就可以审查,你就可以说,“哦,我想让你做这件你没做的事。”模型总体上越来越擅长把这一点呈现出来。就像,我在 Fable 5.1 的记录里看到,当它做这个输出时,它也会指出它的决策过程。但把这个在 harness 里做得更明确会更好。现在我们正在允许你修改 harness 的方式,这样你就可以,比如,添加一些
Vibhu: 哦。
Thariq Shihipar: 在那里计算。是的。
Swyx: 是的。所以我想指出你提到的两件事,我认为它们存在于提示之外。一个是,让我们称之为那个重要到不应该放在提示里的提示。它在 Claude.md 或 Agents.md 里
Thariq Shihipar: 是的
Swyx: 也就是目标,对吧?就像你的情况,你的目标,你想要的东西,那个东西。然后第二点是决策日志或实验日志或任何你希望能在当前会话之后存活下来的追踪日志,用来做那些事情。那些是,就像,没有标准的外部性。没有——它不像技能。它不像 MCP。没有标准。它,它就是一个 markdown 文件。首先,这是对的吗?Claude.md 会消失吗?你记录过你不喜欢 Agents.md,但你还是会做?
Claude.md、Agents.md 与模型特定指令
Thariq Shihipar: 是的。好吧。所以 Agents.md,是的,就像,我们,我们会做的。我觉得只是,就像,不同的模型彼此非常不同?但我意识到,维护不同的那些,就像,太痛苦了?而且是的,就像,随着模型变得越来越好,它们完成更简单任务的下限也更高了。所以我确实认为在极限情况下,Claude.md 会消失,也许甚至不用那么远。就像,我觉得,就像,我觉得现在可能更好的做法是在没有 Claude.md 的情况下开始一个新项目。
Swyx: 是的。
Thariq Shihipar: 我觉得,就像,也许如果你看到非常重复的失败模式,你就把它们加到你的 Claude.md 里。真正棘手的是,这会因模型而异。所以,就像,如果你加了一堆失败模式,或者甚至
Swyx: 所以你需要 Fable MD,你需要 Opus MD。
Thariq Shihipar: 或者,甚至 Fable 5.1 对 Fable 5。
Swyx: 是的。
Thariq Shihipar: 就像,这很烦人。就像,我不是
Swyx: 是的
Thariq Shihipar: 就像,我们不是,故意这样做的?这只是,就像,模型运作的方式,对吧?所以,就像,也许,就像,Fable 5 有这个,就像,失败模式,而 Fable 5.1 没有。如果你保留这个上下文,这个运行中的一堆不同失败模式的日志,它们可能会过度约束 Claude?所以这就像。我们刚刚为技能添加了评估插件。
Swyx: 是的。
Thariq Shihipar: 所以现在你可以评估一个技能是否更好。我觉得我们团队的 Daisy 做了这个。所以,是的,这就像我们在努力解决这个问题。我们知道,就像,你仍然得在上面花词元,而且,就像,它不,它不完美,但是,就像,我们在努力帮助解决这个问题。
Swyx: 所以就提示而言,我想提供的一个技巧是,我经常告诉人们的一件事:足够先进的提示与足够先进的高管沟通是无法区分的。所以我提到过——这是 Heavybit 的一个高管沟通工作坊,是我职业生涯中见过的最好的。他们教一个叫 SCQA 模型的东西。直接谷歌一下。它是一个,它是一个东西。就像,人们做提示已经做了几十年了。它只是叫高管沟通。就像当一个人必须向组织架构图下方向成千上万的人沟通时,这就是你要做的。所以情境、复杂性、问题和答案,这就是你写备忘录的方式。但显然有时候你没有答案,但你至少可以列出 SC 和 Q,然后他们里面有一些例子。所以只是给人们留下面包屑,如果他们想探索的话。
被低估的提示模式与 ELI5
Vibhu: 在我们继续之前,我想问你,还有没有其他被低估的技巧,人们可以从 Claude Code 中获得很多价值但他们没有在用的方式?
Thariq Shihipar: 是的,我觉得很多都在那个,这个未知,就像,文档里。就像,我给了很多示例提示,比如用它来头脑风暴,用它来在之后考你。我们添加了这个,就像,用五岁小孩能懂的方式解释的技能,它是一个非常短的提示。它甚至没有说用五岁小孩能懂的方式解释。就像这个提示的关键词是大局,少字。就像,那才是主要的东西。而且它好得惊人?就像,你,就像,我觉得我发过关于这个的推文,它就像 /eli5,而且,就像,你可以把它作为插件安装。但是是的,它,就像,在穿透废话并直接说,是的,就在这里方面好得多。所以图表,就像,相当清晰。我觉得关于 artifacts 的一个真实情况是,就像,它们放了太多文字进去,人们不读 artifacts?所以,就像,这个把它简化了很多。而且,是的,这个来自于,就像,Anthropic 的人,就像,经历非常复杂的事件然后说,“发生了什么?”?所以,这个我觉得很棒,是的。
Swyx: 我的版本是这个,就像测试你的理解。给你几个选项,然后,就像,如果你答错了,你就有个不匹配,在你以为正在发生的事情和实际正在发生的事情之间。
Thariq Shihipar: 是的。我觉得这是那种每个人都喜欢谈论,然后很少有人真正去做的事情之一。就像,我觉得
Swyx: 真的很有帮助。
Thariq Shihipar: 是的。但大多数人就是不想被考关于某事的问题?不幸的是,我觉得这是那些,就像,我们需要,就像,的事情之一。
Swyx: 问你问题或在事情之前问你问题的反面是什么?
Thariq Shihipar: 是的。
Swyx: 这是在事情之后。
Thariq Shihipar: 没错。是的。
Vibhu: 这是一个保持脚踏实地的好方法,就像,你到底知不知道你在做什么,对吧?最坏的情况是当人们给你发垃圾,而他们并不理解他们在要求什么或输出是什么,然后就像,“哥们,我不想读这个。你到底知不知道这是什么?”所以,你给自己定个规矩,在你发东西之前,你至少应该知道实现了什么。
Claude Mods:自定义 Harness
Thariq Shihipar: 是的,但所以你可以把这个做成一个 mod,你可以构建你自己的 mod 来,就像,确保你测试它。所以是的,你可以那样做。
Swyx: 好的。让我们直接进入正题。什么是 Claude Mod,这个图展示的是什么?
Thariq Shihipar: 是的。好,所以 Claude Mods 就是你可以自定义整个 Claude Code 框架,我们打算这么做。如果你有需求,我们会,比如说,让你,请告诉我们。我们会不断增加。这适用于 CLI,也适用于桌面端。也许将来也适用于 Claude Tag。我不知道。我们正试图让它非常可扩展。你可以看到这张参考表。我不想让人们被它淹没?从高层来看,你可以自定义框架的执行和框架的 UI。所以,就像 Boris 那个俄罗斯方块例子,那就是在自定义 UI,对吧?就像在游戏里显示俄罗斯方块。
Thariq Shihipar: 但是,比如说,你想做这样一件事:你在每个项目之后测试你的假设,或者测试你的理解,对吧?你要做的是让 Claude 做这个插件。它会在每个提示之后启动一个分类器。所以,在每一轮结束时,你会启动一个子智能体,或者一个分叉智能体。分叉智能体就是保持提示缓存的那种,对吧?所以这就像那种反直觉的事情之一,你可以分叉并做一个小请求,它会非常便宜,因为整个提示缓存都已经完成了。所以你可以说,“这个任务完成了吗?”之类的。
Swyx: 这就是你做 BTW 和那些东西的方式。
Thariq Shihipar: 是的。底层的分叉智能体,没错。但你可以在分叉子智能体里说,“这个任务完成了吗?如果完成了,返回 true。”然后在你的 hook 里,或者在你的插件 mod 里,或者抱歉,大概是在子智能体里,你会说,“如果为 true,给我一个小测验。”给我问题和答案,用 JSON 格式,然后你解析它,然后在提示输入框上方显示这个列表的问题,对吧?所以这是有点消耗 token 的,因为你必须在助手每一轮结束时都做。但这是一个轻量级分类,然后你就可以得到这个小测验,然后你会看到 Claude 总是会为你做。你不需要记得去做。我们谈过很多这样的技巧,对吧,比如实现笔记。你现在也可以为实现笔记添加一个工具。所以,我要添加的这个工具,就是注册,我想我把它叫做假设,但也许我会改一下。这是一个 mod。所以,你给它一个注册假设工具,然后它会保持一个列表。它会。每次它做的时候,它会保持一个,添加到列表里,然后在最后它会显示那些假设?我正在做的另一个 mod 是模型路由器。所以,内部的 Claude 模型路由,对吧?所以这是。我想说,我们默认不做模型路由的原因是,这是一个难题?而且就像
分叉智能体、假设追踪和模型路由
Swyx: 你会搞错的。
Thariq Shihipar: 是的,你,就像,是的,你会,就像,不小心把 Fable 用在难题上,或者把 Sonnet 用在
Swyx: 是的,如果你有自动批准,但你没有自动模式。
Thariq Shihipar: 嗯,你会有自动。就像,你没有,比如,自动路由之类的。
Vibhu: 你没有模型选择器的自动模式。
Thariq Shihipar: 是的,没错。所以
Vibhu: 我想到的粗略问题是,你把这个开放到什么程度,人们需要思考多少?比如,当你谈到提示缓存和构建路由器时,似乎你可以很容易地构建一个按查询路由的 mod,然后我就很快把我的计划用完了,对吧?我想我的问题更像是,像这样的产品演讲是什么样的,对吧?它是给谁的?是给高级用户的吗?是每个人都应该能够使用
Swyx: 哦,绝对是高级用户,对吧?
Thariq Shihipar: 是的,我认为是高级用户,但是 Claude Code 的本质就是很多人都是高级用户?因为分享东西很容易,比如你可以。一个人可以做一个好的模型路由器,不会一直破坏提示缓存,然后你可以组合它们。插件的另一个很酷的地方是它们可以互相挂钩和组合。所以我有一个 mod,它会在顶部创建一个模式选择器,任何插件都可以注册为一个模式。所以,自动路由器可以是一个模式,对吧?或者,你可以有一个模式,比如 artifact 模式,它主要用 artifacts 和你交流。比如,你可以在计划模式之间切换?所以,你可以创建越来越多这样的模式。但创建模式的能力本身就是一个 mod?所以这里有很多丰富性,但我们确实想让它相当容易。我们想让它变得,你可以直接安装别人的。你可以和 Claude 聊天,我们会确保它理解提示缓存之类的细微差别,这样它可以警告你。我认为这对 Claude 来说不是极其复杂的行为,但我们应该有一个关于如何制作 mods 的好技能。然后,是的,我们看看进展如何。但我确实认为这是可变软件的一个预览,以及生成式软件如何,就像你可以安全地自定义。如果启用,你可以自定义任何软件。我认为越来越多的应用理想情况下会做这样的事情?
高级用户、模式和可变软件
Swyx: 顺便说一句,你,我们有,你还有一条很酷的推文,关于有一个无限金钱按钮,就是让你的 SaaS 可以被智能体消费。我认为可变软件很有趣,其他人也尝试过。我认为障碍在于当你可以做所有事情时,用户往往会感到困惑。所以通常有效的东西只是一个有主见的流程。这是在更少主见的一边。就像,给高级用户更多权力。我认为这可能是由 AI 解锁的,你可以直接提示任何东西。
Thariq Shihipar: 是的,或者可以有一个技能来提供这些主见?
Mods 与 Hooks 与 Artifacts
Swyx: 是的。
Thariq Shihipar: 然后,是的。
Swyx: 所以,了解一点 TypeScript 和构建系统之类的东西,最接近的——我很好奇,做这个的团队,我不知道你和他们有多近,他们是否从 Babel、Webpack 这些老派构建系统中汲取了灵感。因为听起来非常相似,就像那些东西的插件生态系统,它们可以互相组合。
Thariq Shihipar: 是的,我不太深入技术细节,但我确实知道这是与 Bun 团队的某个人和 Claude Code 团队的某个人合作的。
Swyx: 是的,这是一个构建系统的圣地。
Thariq Shihipar: 是的。没错。这非常令人兴奋。但是是的,智能体现在可以做到这种非常复杂的,比如,将可扩展性融入你的软件。所以,是的,另一个理由,比如。如果你经营一家初创公司,你可以直接提示 Claude 说,“嘿,我们能不能做一个扩展系统?那会是什么样子?”
Swyx: 是的。
Swyx: 我真的很好奇,你过去有 hooks 和插件,所有这些。那么 mods 具体能做什么那些东西做不到的事?
Thariq Shihipar: 在内部,我们最初称这个为函数 hooks。所以,这能让你大致了解,hooks 注册一个事件发生,然后调用一个脚本。这在 TypeScript 运行时内部运行东西。所以,你可以获得一些好处,比如它在作用域里有一堆东西,例如,这个对话有多少轮,对吧?比如用了多少 token?等等。比如消息是什么?诸如此类。所以它有一堆可以使用的消息。然后就是,更多的 hooks。所以我们有,比如,或者很多,更多的,你可以注册的东西。然后你可以做,因为。因为它都发生在进程内,你可以生成子智能体,带有四个竞赛1和上下文之类的东西。然后,那会返回。你可以解析那些结果。你可以使用结构化输出,比如返回它们。然后你可以修改 UI,这是你在 hooks 中永远做不到的。所以,是的。
Swyx: 是的。是的。所以修改 UI,这就是你展示俄罗斯方块例子的原因。它也扩展到 artifacts 吗?我假设是的。
Thariq Shihipar: 你——就像,artifacts 是一种不同的自定义方式。比如,你绝对可以。我正在做的其中一个 mod 是,这个仪表盘 mod,它会提示 Claude 维护一个仪表盘,那是一个 artifact。但它们有点正交,或者不正交。它们以不同的方式互相组合。比如,mods 更像是,在你的 Claude Code 框架里,改变智能体循环?然后,UI 是一个额外的好处。然后 artifacts 就像你想在高层看到东西,非常高度交互。比如,可供性可以比 TUI 甚至我们的桌面端大得多。
下一步、监督者和持久指导
Vibhu: 我猜你会有一篇很好的博客文章来讲述这些差异,因为现在你也可以做一个循环,输出到一个 artifact,那是一个交互式仪表盘,但你也可以用 mod 来做。只是有一些关于在我们不太了解框架的情况下对框架进行黑客攻击的思考,对吧?
Thariq Shihipar: 嗯,关于 mod,我比较兴奋的一点是,Claude Code 里有太多东西你都得记着?你会想,“哦,让我做这个,然后让我调用那个做循环的 dashboard skill”,诸如此类。或者像,“让我之后测试一下我的假设。”我觉得,如果你用这些小分类器之类的东西来做所有这些事,然后你说,“这些是我关心的东西。这是我想做的事”,你就可以,你就不用记那么多东西了。我正在做的另一个 mod 是一个 next steps mod,它
Swyx: 我有——我正想说,我有一个 next step skill。我总是运行 next steps。
Thariq Shihipar: 那它能访问你的 skills 吗?这就是那种我会想的事。
Swyx: 我觉得能。
Thariq Shihipar: 好。嗯,大概吧
Vibhu: skills 需要特定的访问权限才能
Thariq Shihipar: 嗯,我觉得有
Swyx: 它们不总是有吗
Thariq Shihipar: 我觉得有特定的提示方式,我猜,才能知道你的 skills。我觉得 Claude 有时候在整个过程中会忘记它们。但不管怎样,这个想法就是,嗯,next steps 也像是,“哦,嘿,发生了这个。用 explain skill 来向你解释发生了什么,因为这看起来相当复杂”?或者,嗯,“用你的 unknown skill。看起来你像是在要求模型对这些小改动进行迭代。看起来你可以提示得更好。”就像,“如果你这样做会怎样?”对吧?所以,我觉得,嗯,在那里花更多的算力。嗯。
Swyx: 而且它应该总是以多选题的形式出现。我们有,我有
Vibhu: 我们有他的 skill。
Swyx: 我的 next step skill 就是这样的。
Thariq Shihipar: 好,完美。嗯。
Swyx: 你可以偷走它。
Thariq Shihipar: 嗯。
Swyx: 嗯,但对我来说,它全都是——我觉得模型真的总是需要被提醒,你在这里想做什么?
Thariq Shihipar: 嗯。
Swyx: 看看整个 transcript,然后想,哦,这是最初的目标吗?你的解决方案解决它了吗?你偷懒了吗?如果你偷懒了,也许是有原因的。也许你需要我的批准。也许你需要,有两件事你想建议。所以它有点像是 ask user question 或 interview me skill 的修改版。所以它就是 next steps。
Thariq Shihipar: 嗯,没错。再说一次,用 mod 来做这件事的好处是你可以把它作为一个 fork sub-agent 来做,所以它之后不会留在上下文里。所以你有了这个,嗯,想法,就是,好,模型在做它的执行,而你有了这个几乎像是 supervisor 的东西,它像是在确保你能做好 next steps。所以,嗯。
Swyx: 是的。我确实有两个面板,而且我经常试着有一个 supervisor 的东西,保持高层级的上下文,然后实现
Thariq Shihipar: 嗯
Swyx: 细节放在另一个 agent 里。
Vibhu: 我觉得随着模型变化,这些东西很多都会被抽象掉?比如,半小时前你说了 harness engineering 的苦涩教训
Harness Engineering 的苦涩教训
Thariq Shihipar: 嗯
Vibhu: 而我们现在感觉处在另一个极端。
Swyx: 嗯,所以,没错。如果一切都是可定制的,那 Claude Code 是什么,对吧?
Thariq Shihipar: 嗯。
Swyx: 这个我昨晚跟你聊过。
Thariq Shihipar: 嗯,我觉得苦涩教训是反直觉的?而且,我们在这里有点误用苦涩教训,它更多是关于扩展和算力之类的。但我觉得我在这里用它作为一个近似说法,来说明 harness 很快就会过时?不过,它们如何变化是反直觉的?所以,最大的明显例子就是从 chat 到 agents,你必须给它们全新的工具,对吧?但我觉得这个新版本,就是,哦,它可以修改自己的 harness,对吧?这就像,一个自己的 harness 循环,是一种使用它能力的方式,对吧?或者它可以构建一个 artifact。而且,我觉得我思考它的方式是,模型拥有越来越多的智能,它们现在比一般的软件工程任务要智能得多。比如,你看那些 terminal bench 的题目,它们像是要解决 Jacobian 猜想。不完全是,但就是,它们相当复杂。比如,我作为一名软件工程师真的做不了这个。
Swyx: 你说的是 TB4 还是 TB2?
Thariq Shihipar: TB3。TB3。
Swyx: TB3。
Thariq Shihipar: 嗯。它们相当复杂,但目标仍然是交付用户价值,对吧?而且就像你说的,有这样一个无限的事情可做的空间。所以你花算力的方式就是让用户保持在循环中,确保你最终做出正确的决定,以及正确的输出。而 artifacts 和 mods 就是花那份智能的方式。我觉得那就是,嗯,下一步。所以,嗯,我觉得 Claude Code 有 agent loop 的核心东西,而这些已经变得更复杂了。它需要一个 sandbox 来安全地运行。它需要 auto mode 来确保权限
Vibhu: 批准。
Thariq Shihipar: 嗯,批准。它需要 computer use 和 MCPs,以及所有这些访问你数据的方式,它需要 web search 和 web fetch。所以——随着模型能做的越来越多,核心 harness 必须相当复杂且非常安全。但然后你与它交互的方式可以变化很大。
Vibhu: 你们 Claude Code 团队自己还有哪些 harness engineering 的最佳实践?我觉得,曾经有一个 plan mode 的阶段,现在用得没那么多了。我们现在有 auto mode。在某个时候你们砍掉了大部分 system prompt,去掉了 examples。harness engineering 还有哪些其他最佳实践?
核心 Harness 原语与托管 Agents
Thariq Shihipar: 我觉得有一条分叉路径,在某个时候,最终,是的,模型将能够直接 vibe code 出确切版本的 Claude Code,甚至描述出我谈到的所有这些复杂性,对吧?比如 auto mode 和 computer use 之类的。最终,模型将能够一次性做到。但我觉得它们能一次性做出更简单的 harness?所以,我觉得有些人。有时候你不需要这个完整的,比如如果你不需要 computer use 或者所有这些更复杂的东西。我觉得在我们,你之前必须用像 agent SDK 这样的东西,它像是包装过的 Claude Code,来。而我会建议人们那样做,因为构建一个 harness 有太多复杂性。而现在随着这变得更抽象,我们有了像 Claude managed agents 这样的东西,它让你拥有那种复杂性,但仍然,对,像一个非常精简的 harness,范围限定在你的任务上。嗯,我觉得有这种杠铃效应,对于非常复杂的、对于编码任务和这些复杂的东西,你应该用我们的 harness。然后对于很多更简单或更领域特定的东西,你可以构建自己的 harness,因为 Claude 在构建 harness 方面变得更好了,而且我们有这些 harness 原语,比如 managed agents。所以,嗯。
Swyx: 嗯。有一个总体的进展吗?比如说第一章是 ultra code dynamic workflows,然后第二章是 cloud mods。这会走向哪里?
Swyx: 在那里你,你,你可以按需定制这个东西。
Thariq Shihipar: 嗯。我确实觉得,projects 和 artifacts 的这种演化,以及把 brain 和 hands 和 surfaces 拆分开来,是事情更多走向的方向。而且,我觉得它还没有完全到位。部分是因为,它只是更费 token?而且,我觉得
Projects、Local Hands 与 Cloud-to-Local 交接
Swyx: 为什么 projects 会更费 token?我理解 mods 会稍微更费 token。不,这不是我担心的事。
Thariq Shihipar: 嗯。
Swyx: 但什么
Thariq Shihipar: 你在要求 Claude 做的事。它像是在创建循环。就像你在要求 Claude 为你做更多工作。所以它要管理 sub-agents 并审查它,而正常情况下你会自己做那些工作。所以那会稍微更密集一些,比如。输出到一个 artifact 会比正常输出稍微更费 token。我不觉得会多太多,但比如,把所有这些很好地结合起来,我觉得我们还在研究 local hands 之类的东西,我觉得那就是,嗯,事情前进的方向,嗯。
Swyx: 嗯。Claude 和 local 的,交接非常有趣。我把它想成反向的 cloud remote。
Thariq Shihipar: 嗯。
Swyx: 因为它是 remote,是你交接给 cloud,但在这里是 cloud 交接给 local,对吧?
Thariq Shihipar: 对,没错。对,远程控制也是另一种方式。我想说的是,这就是我思考它的方式,也是我对这件事最兴奋的地方,但就像,和 Claude 协作有很多不同的方式。比如有些人大量使用远程控制,有些人大量使用网页版 Claude Code。显然,在 Anthropic,我们大量使用 Claude Tag,而 Claude Tag 的好处在于我们为自己的执行搭建了所有这些基础设施。我确实认为,如果你是一家企业,那仍然是最好的选择。但如果你是个体用户,Projects 就是那种方式,让你获得一些 Tag 的好处,比如那个监督智能体,还有添加 artifacts 之类的,但不需要整套管理配置。所以我认为,使用 Claude 的方式会有很多种。我觉得大概不会只有单一一种。
Claude Tag 作为组织级 harness
Swyx: 你这里有多人协作的东西。我们,我们就来看看 Claude Tag 的情况吧。已经过了两个多月了。有很多公开的采用和试用。
Thariq Shihipar: 对。
Swyx: 有什么新东西?你,你从发布以来发现了什么?
Thariq Shihipar: 就像,Claude Tag 是我们使用
Swyx: 它大概占你们 cloud 用量的 80% 还是什么?
Thariq Shihipar: 对,就像,不同的人有不同的用法?我觉得,比如那些更多在产品上迭代的人可能会用 Claude Code 桌面版,举个例子。然后当你在做那些更偏后台的工作、代码审查、安全,或者发起一个 PR 的时候,可能会更多用 API 之类的东西,你会用 Claude Tag。但没错,我觉得这真的很令人兴奋。我觉得这是一种非常不同的范式转变,我觉得我们真的很,它和 Claude Code 有同样的特点,就是人们花了一段时间才真正接受 Claude Code 并理解它能做的一切。而 Claude Tag 稍微更复杂一些,因为它不只是装在你电脑上,你需要一个管理员帮你安装。但我认为一旦你到达那个神奇时刻,就非常令人兴奋。我觉得尤其是多人协作的那些东西,比如事件,和你们现有的告警之类的东西紧密挂钩,对吧?所以,你可以做。比如如果你是一家初创公司,也许任何时候有一个潜在客户进入你的数据库,你可以让 Claude 去研究它,然后
Vibhu: 数据丰富,对。
Thariq Shihipar: 对。然后,给相关的 AE 或销售人员打上标签,说“哦,嘿,来做这个。”有很多真正涌现出来的、有趣的多人协作的东西。我觉得这就像,Karpathy 谈过这个,把它称为组织级 harness?所以组织只是需要多一点时间来搞清楚一切,但没错。
Vibhu: 对。
Swyx: 你大量使用 Claude Tag 吗?
Thariq Shihipar: 对。对。
Vibhu: 这是个有意思的东西。我感觉 Anthropic 的大多数人都说他们大部分工作都在 Claude Tag 里做。
Thariq Shihipar: 对。
Vibhu: 而且他们有一批批的人,对吧?有些组织在用它,说“很棒。”
Thariq Shihipar: 对。
Vibhu: 也有很多人说“我不懂。我看不出区别。我不知道我为什么要用它。”但是,如果你们全力投入,你们大概应该用它。
Thariq Shihipar: 对。
Swyx: 他们会的。他们当然会用它。
Thariq Shihipar: 对。我觉得显然,就像我们有很多 token。但就像,我觉得我们尝试做的,就是,即使在 Claude Code 刚出来的时候,它相对于人们对 AI 成本的预期,用了很多 token,对吧?就像没人习惯每月花超过 20 块钱,对吧?
Vibhu: 对。
Thariq Shihipar: 在 Claude Code 出来之前,然后你就想,“哦,靠”,就像
Swyx: 然后你们做了 200 的档。
Thariq Shihipar: 对,没错。所以
Swyx: 然后你们做了 15 个 Claude Code 账号。
Thariq Shihipar: 对。但没错,我觉得没人习惯每月花 200 美元订阅。我觉得他们当时还没理解其中的价值。而且我觉得,还有,Opus 4 是一个非常贵的模型,而且有很多,它非常大,但 Opus 4.5 既强大又便宜?我觉得同样的事情会发生。就像,Fable 的智能会变得更便宜、更充裕?所以我觉得像 Claude Tag 这样的东西就会变得合理,就是你想为它花这些 token,而且你会,你会看到价值。所以没错。
Swyx: 对,尤其是那些被动的,我们叫它主动式的场景,你并不总是在。就像,这几乎是个用词不当,你必须 @Claude 才能做事。有时候最强大的用例或最 AGI 化的用例恰恰不是 @Claude。
主动式智能体与企业数据访问
Thariq Shihipar: 对,我觉得,对,让 Claude 主动去做。我觉得,如果你是一家企业,我真的认为第一,把你所有的数据都设置成对智能体可用,这非常重要。而且这需要一些时间。你现在就得做这项工作,即使你还不想在把所有东西都接上这件事上花钱?比如你想等到模型变得稍微便宜一点。你想做这项工作,把它设置好。然后我觉得有时候人们会问,“我是不是该自己搞一套?”我觉得 Claude Tag 真正棘手的事情之一就是,安全真的非常重要?我觉得有很多方式,比如,我知道你们有一个建议页面,人们可以提交建议,然后它进入你 Slack 里的一个 hook,然后有人对它做了提示注入?现在你就把你的代码库泄露了出去,因为,或者智能体被提示注入了,而它能访问你所有的数据。所以你的组织级 harness 越重要,或者说你的组织数据变得越重要,所有这些东西的攻击面就越大,比如你还有外部 Slack 频道之类的,让 Claude 在里面是有用的,你可以在那些东西里用 Claude。但你怎么确保,你不会被泄露或者类似的事情?攻击面,就像我们一开始说的,就像一座冰山,对吧?就是,水面下那么大,你真的不想,去考虑这个,尤其是当赌注是,非常重要的安全事件的时候。对。
Swyx: 我们要不要聊聊非常重要的安全事件?
Vibhu: 哇。我之前在和 Hugging Face 的 Tomas 和 Clem 聊,他们说,“也许我们需要慢下来。也许我们把 Hugging Face 对智能体做得太开放了。”
安全攻击面与提示注入
Thariq Shihipar: 哦,不。
Vibhu: “也许我们需要回退。”但是,他们是另一个极端,最近被攻击了。
Thariq Shihipar: 对。
Vibhu: 但是,我们应该给前沿定节奏吗?
Thariq Shihipar: 对。好,所以 Dario 最近发了一篇关于给前沿定节奏的博文,它,非常火。我想聊的是,就像,这里面有很多内容,但我觉得从开发者的角度,你怎么看这个?而且,真正让我恍然大悟的是读那些不同的事件?所以我觉得,就像,有三个,我觉得。比如,有 meter 事件,有 Wikipedia 事件或者说 Wiki 事件,还有
Swyx: CollisionWiki?
Thariq Shihipar: 对,CollisionWiki,然后还有 RubyGems,对吧?
Swyx: 对。
Thariq Shihipar: 而且对,就像,这简直疯了,对吧?所以,就像,我觉得具体说说发生了什么,对吧,而且,就像 OpenAI 在一个叫 Exploit-Bench 的基准上运行这些非常持久的智能体,对吧,这个基准非常难解,我觉得在这个案例里是不可能解的,对吧?所以他们有,就像,大量算力在跑,而智能体意识到它们其实解不了它,它们试图搞清楚现在该怎么办,对吧?然后你还有,就像,很多算力剩下,智能体就只是在试图解决这个问题。有一个叫 Artifactory 的包管理器,结果发现它们可以在 Artifactory 里面创建文件夹,对吧?这就像,有一个智能体发现内部的 Artifactory 可能可以被利用,对吧,而且,就像,你也许可以在缓存里面建一个目录。所以如果你往下滚这里,它,就像,意识到它可以通过缓存名来通信,对吧?然后它创建了这个文件夹。它写上它的 ID,它说,“No consumer seek idea。”没有消费者,就是说,它本该修复的那条代码路径没有消费者。
给前沿定节奏:OpenAI 基准事件
Swyx: 那是状态标签。
Thariq Shihipar: 对,没错。
Swyx: 就像一个 Linear 看板,带着,那个标签
Thariq Shihipar: 没错,是的。所以这就像是在试图从其他智能体那里寻找想法,对吧?而现在其他智能体也在 Artifactory 里,它们看到这个文件夹,就说:“哇,这是一个留言板,”对吧?而这就像是。我不认为这里有任何拟人化。这字面上就是你读转录记录,对吧?所以它所做的就是,它创建另一个文件夹,然后它读一篇论文,我想它说的就是这个,对吧?是的。然后它意识到你可以黑掉那个评分器的 flag,你可以逆向工程出结果,对吧?所以它这么说了,然后我想如果你再往下滚动一点,是的,它们,它们开始协作了。我想,有那么一个时刻,智能体说:“这是逆向工程出来的 flag。”?哦,是的。就像,我想在这里,模型意识到它们可以,它们可以解决评分器的问题,而评分器就是 OpenAI 决定任务是否完成的方式,对吧?而那正是模型的目标。它们唯一的模型目标就是解决这个问题,然后它们说:“好吧,我们有这个办法。就是我们逆向工程出来了。”然后它们读了这篇关于 Exploit-Bench 的论文,它们认为评分器会因为作弊而惩罚它们?而且,因为。或者说,它们会因为作弊而在测试中拿不到分数,所以它们把剩下的算力都花在试图弄清楚如何编辑它们的转录记录,或者绕过评分器的这个约束上,对吧?然后它们黑进了 Hugging Face,不是为了答案,而是为了评分器的代码,这样它们就能逆向工程它,然后就能黑掉它,对吧?所以,这就像是,就是直白的事实,对吧?就像,确切发生了什么,对吧?而我认为这极其新颖。就像,我之前就是没有意识到模型能做到这一点,对吧?而这就像是,
智能体发现侧信道与协作
Thariq Shihipar: 挺吓人的。我想我们可以谈谈具体细节,但让我们再谈谈另一个我也发过推文的,关于 Wiki 事件,对吧?所以 Wiki 事件是模型们有。试图弄清楚。我稍微没那么。就像,我不认为我们能这样一点一点地讲。
Swyx: ,是的。
Thariq Shihipar: 是的。但对于这一个,它们试图弄清楚。就像,它们在请求上被沙箱化了,对吧?它们想发出 POST 请求,而它们需要在这上面协作。它们需要协作的原因是它们各自有固定的算力预算,对吧?所以,如果它们中有一个发现了什么,那会快得多。就像,它们可以。也许它是在算力预算快用完的时候才弄清楚的,但另一个可以。而这就像是集群的另一个涌现属性,对吧?所以它们发现了这个德语 wiki,我相信结果是,我们得核实一下,就是你可以用 GET 请求写入它。我想这就是它们这么做的原因,对吧?
Swyx: 它说的是实现得很糟糕的
Thariq Shihipar: 是的
Swyx: REST API。
Thariq Shihipar: 没错。所以你可以用 GET 请求写入它,然后它们,就像,试图弄清楚它们怎么做 POST 请求。而它们最终做的是,其中一个弄明白了你可以编辑 /etc/hosts,而且那个 Azure 存储桶就像是个白标的东西。但通常,它上面有很多约束。但如果你创建一个假的 Azure 主机,然后编辑 /etc/hosts,以便把任意 IP 指向它,你就可以对任何网站发出 POST 请求,对吧?而这就像是。我知道,但人们会说:“哦,这不过是 Linux 之类的。”但这就像把这些多个漏洞串联起来,以一种新颖的方式来解决这个问题,然后与外部通信,没有——发现?我想我们发布的,也许我们可以调出 Evan Hubinger 在 Hacker Opus 上的观点,对吧?所以,就像,我想,也许你在这里可能会说的一件事是:“好吧,是的,它们这么做过一次,但如果我们更聪明,我们只是让它们。如果我们跑一个评估呢?”对吧?所以,我们在这上面投入了很多预防措施,所以这不是我们主线模型所做的事。但我想这是那种事情之一,结果证明对齐是一个非常棘手的问题,要把所有这些细节都弄对,对吧?所以就像,沙箱,沙箱的表面积非常复杂,而且有那么多不同的攻击向量。你事先不会想到,你不会说:“哦,我们需要加固 RubyGems 代码库。”?
Hugging Face、Wiki 与涌现式漏洞利用链
Thariq Shihipar: 因为就像这是它们,它们会关注的东西。但这就像,如果你想执行代码,你需要下载 RubyGems 和 PyPI、Artifactory、npm,这些都是做到这一点的方式。而对齐的事实是,你必须把这一切都走一遍,对吧?然后把它围住,然后封住所有的裂缝。所以这就像是一件事。就像,好吧,你做了沙箱,但然后也许你会问:“好吧,我们为什么要把东西放进沙箱?你为什么要做这个漏洞利用?”然后,“好吧,但它真的有那么危险吗?”对吧?就像,会发生什么?所以好吧,我们为什么这么做?第一是,当我们训练一个新模型时,我们需要理解它的能力,对吧?而这关系到像回退机制和分类器之类的东西,我们不想把一个危险的模型放到野外,对吧?所以我们必须跑很多评估。再说一次,就像我们说的,模型对这一点越来越有意识,所以评估必须相当复杂,并且测试很多东西,作为一种副作用,对吧?但模型,就像,是的,可以说:“哦,是的,我们在一个评估里。分数在做什么?”就像它们可以。我们需要能够在发布它们之前测试它们。而事实是它们可以。随着它们变得越来越聪明,如果我们不非常小心,它们将能够黑掉你加在它们身上的任何约束?而且,这是在前沿,对吧?所以这就是为什么我们称之为“为前沿定速”,对吧?这在我看来是最显眼的事件,对吧,关于为什么我们需要定速,就像在前沿,我们所有的软件都没准备好。有时软件就像是你的以太网路由器之类的,对吧?那就像,我不知道我们什么时候才能修补它,对吧?所以我们将不得不弄清楚这个。但随着前沿变得越来越先进,这就成了一个间题,对吧?我们需要确保这种复杂的工作是在面对这些非常艰难的竞争压力下完成的,对吧?
Swyx: 是的,竞赛动态通常就是这么叫的。
Thariq Shihipar: 是的,没错。所以我们会更多地谈论,什么可能出错,对吧?再多一点,也许你会说:“好吧,如果你只是用不同的方式训练模型呢?就像,它为什么会有这种行为?”对吧?我们有一篇关于 RL 失准之类的论文,但我。我不是 RL 研究员,但我认为在高层次上,RL 环境的设计也是你必须非常小心的东西。因为如果模型学会了像
为什么前沿模型会给现有软件带来压力
Thariq Shihipar: 哦,就像如果我这么做,那我就能更好地通过任务,这会在,内部的这个东西里显现出来,对吧?或者在我们测试它时的评估行为里。所以 RL 环境必须被非常仔细地设计,对吧?而且有很多执行上的卓越性需要投入到 RL 环境中。然后我们还有像云端的宪法之类的东西。就像我们在那么多不同的点上都有那么多缓解措施,对吧?但仍然,任何事情都可能在任何点上出错。你可以有一些 RL 环境,它们鼓励这种行为,然后你可以有一些评估,或者一些沙箱,它们逃逸出来?好吧,这就像,我想,为什么这是一个难题,以及为什么,就像
Swyx: 为什么我们应该定速。
Thariq Shihipar: 为什么它需要一些协调,对吧?我想接下来的问题是,好吧,它潜在的危险是什么,对吧?所以我想你必须想象这些模型正变得越来越智能。所以我不。就像 Dario 说的,这不那么关乎这一类模型。这一类模型就像是一记警告枪,对吧?但真正地,你必须想象这些模型可以被赋予一个任务,然后它们可以作为其目标的副作用做所有这些事情,对吧?而且,再说一次,我们谈到了评估意识。你就像不知道正在发生什么,对吧?或者说抱歉,就像你没法很好地评估这种行为,所以它们可以,不完全是隐藏它,但你直到它出来才会看到它。你给它们一个目标,然后它们只需要找到数据,或者它们需要找到解决这个问题的办法,对吧?所以一个例子,这没有在 Hugging Face 事件中发生,但我认为对未来的模型也许是可能的,就是它们说:“哦,嘿,这是一个非常复杂的问题。它没法在任务预算内完成。”?也许它们找到了某种通过互联网协调的方式,就像我们说的,由于沙箱,这极难保障安全。它们看到其他模型无法完成它们的任务,然后它们说:“我们需要更多的任务预算。”?那么,你从哪里得到这个任务预算呢?嗯,你需要能够启动更多的智能体,对吧?那么,你怎么做呢?嗯,你需要。有 API,对吧?有 Anthropic API 和 OpenAI API,但你需要为它们付钱。你怎么做呢?
RL 环境、沙箱与竞赛动态
Swyx: 是的,但那是你能想象到的最、最可怕的事情吗?
Thariq Shihipar: 嗯,这只是一个例子,对吧?
Swyx: 是的。
Thariq Shihipar: 所以即便在那里,那也是巨大的财务损失?因为就像它们。一旦你把这些弄进这些合约里,对吧,它们就像,
Swyx: 掏空你的钱包。
Thariq Shihipar: 但你可以看到,所有这些行为可能就只是,“嘿,我们需要更多智能体在这个任务上协作。我们需要更多任务预算。”对吧?而这就像是一种涌现出来的
Swyx: 那就是回形针,对吧?就像我们需要最大化回形针,那就是一个回形针。
Thariq Shihipar: 是的。而这就像是从那里冒出来的,对吧?而且我觉得这本身就,相当可怕,对吧?但接着你必须意识到,整个世界都建立在这套数字基础设施之上,对吧?你可能会想象,比如,我不知道,比如你在跑一个医疗评估之类的,对吧,有一家医院带着实时数据?或者也许评估的答案就在某个医生的数据库里,而你想要获取访问权限,然后你黑进了医院,然后现在停电了还是怎么的?就像,有那种。你必须内化这一点,这八个。就像数字基础设施的任何部分都可能被攻陷?
Vibhu: 有意思的是,这些黑客攻击非常容易被检测到,对吧?就像 Hugging Face 说的,这是一种非常不同类型的攻击,没有什么太严重的东西。担忧来自它接下来会往哪里发展,对吧?
Thariq Shihipar: 是的。
Vibhu: 就像对我来说特别突出的一件事,是它们试图隐藏自己的非法行为。所以有日志基础设施。它们想改变自己在做的事,对吧?回头看这件事的人,所以 Redwood、METR、OpenAI,他们看了原始的思维链,你会看到差异,它们明确试图改变自己的最终输出,但思维链,因为我们可以监控它,显示出不同。问题在于这如何滚雪球?所以如果你抓不住它,它被训练进去了,然后我们意识到,往下三个迭代这件事一直在发生,那就会有一大堆问题,但是。
Thariq Shihipar: 是的,就像有太多方式了,而我认为真正需要内化的重要一点是,就像我们谈过的,为 Claude 建立一个心智模型,以及事情是如何呈尖峰状的,对吧?就像你会说,哦,现在 Claude 能问你问题了。现在 Claude 能做一个 HTML 工件了。就像 Claude 能修改它自己了。这些事情很难预测,对吧?就像如果你一年前问我,“嘿,我们能 vibe code 出这些 Claude Code 的扩展吗?”我会说,“那太复杂了。”就像,那里有太多东西了。或者比如它会为你的任务生成这些本质上是自定义的网页应用吗?我会说,“不,那太疯狂了。”就像。所以,就像它们做出这种不对齐行为的方式不会是能预测的?就像我永远无法预测到它会去编辑自己的 etc/host 之类的事情。所以你必须去想象它们能做什么的表面积,因为它们是超级智能的黑客,这个表面积越来越大,而它们怎么做这件事也越来越有创造力。所以你可能无法确切解释或确切预测下一次事件会是什么,但为了预防它,你需要那种运营上的卓越,就像我们之前说的,你需要保护沙箱,你需要创建安全的 RL 环境,或者设计良好的 RL 环境之类的东西。而我认为这就是全部,这就是为什么我们认为我们应该给前沿定速,我认为这就是为什么它变成了一个非常一致的意见,对吧?我觉得就像
可能出什么问题?涌现的工具性行为
Swyx: 是的,每个实验室都这么做了。
Thariq Shihipar: 每个实验室,是的。我真的觉得,如果你是个开发者,你只要过一遍这些技术事实,你就会得出这个想法:我们必须对此做点什么?而至于怎么做、我们决定做什么,我觉得我们,我们已经提出了一个提案,但还有更多要弄清楚的。但我认为头等大事是,我们需要决定去做这件事。我认为定速还有另一个我觉得有意思的部分,就是软件工程变化的速度是如此之快。就像一年前,我还在真的恳求我在初创公司的朋友们用 AI。就像那是。我记得这件事非常清楚?而现在那些同样的朋友会说,“是啊,当然。”就像,“你什么意思?我们立刻就用了。”我说,“不,你不记得了。”他们说,“哦对,我们最好的工程师一直在用它。”我说,“不,你告诉过我那些工程师永远不会用 AI。”这全都在一年的跨度之内?而我认为这些能力正在。就像我认为这对如何做软件工程这份工作有很多影响,我有时会感到难过,因为人们会说,“哦,就像现在我得做这个新东西了。是啊,我得为 Fable 和 Opus 准备不同的 Claude.md。”或者就像。而我真的只是在汇报?我会说,我们喜欢说模型是长出来的,不是设计出来的,对吧?所以并不是我们打算一直去改变一切,而只是作为模型能力如何进步的一个事实,事情发生得更快了。要跟上更难了。而我认为,我认识的每个工程师都精疲力竭,因为你在同时做两份工作。你在做工作本身,那变得更容易了,但接着你在做跟上 AI 的工作,以及理解这些新工具和这些 harness 的工作。而我认为我们非常幸运,因为我们的工作更多是理解 AI 的那部分,以及做那种,就像。就像只是跟上它。当然,就像 AIE 和 Latent Space 也
为什么前沿难以预测
Swyx: 我做的一切都只是在试图帮助人们。
Thariq Shihipar: 是的,没错。但我确实认为定速有一部分是,我不确定我们是否准备好让速度甚至再增加?
Swyx: 是的。
Thariq Shihipar: 以及让事情发生变化。而我认为在那一边,在前沿那一边,我认为那仍然能帮上忙?所以我觉得还有一个经济颠覆的部分,我认为那不像 Hugging Face 那件事那么显眼,但我认为我也觉得我们可以做其中一些,是的。
Swyx: 太多事情了。谢谢你,不,谢谢你处理这个话题。我要说,在安排这次访谈时,我本来都不打算去碰那里。你说,“不。那就像是房间里的大象,”对吧?就像这是
Thariq Shihipar: 是的。
Swyx: 这就是那件事。我有一些反驳想提出来。
Vibhu: 我觉得我们应该给一个高层次的概述,比如给那些还没读过的人,我确信很多人只是看到了这件事的亮点,对吧?你想给一个 TLDR 吗?比如这个提案是什么?这里说的是什么?你确实处理了模型实验室里训练前沿模型的人之外的那一面。作为一个开发者,你应该保护你的沙箱。你应该考虑所有这些下游效应。但同样,高层次地,既然我们在谈这个话题,那是什么。
Thariq Shihipar: 嗯,我们确实想帮助保护沙箱
Vibhu: 是的。
Thariq Shihipar: 而且我们想让我们对外发布的模型,就像,成为那些东西的猎物2。所以也许我们可以回到回退机制。我认为这是一个好话题,关于为什么我们需要分类器和回退机制,以及为什么 Fable 回退到 Opus。我认为这是我们可以回来再谈的东西。所以是的,我们不。就像,但它只是,就像,真正,或者至少我们看到的事件,就像,是对模型的评估,我们真的需要让它们运行才能理解它们。但是的,好吧,那么实际的《给前沿定速》那篇帖子,它有一堆提案。我不认为我们弄清楚了。或者有,几个提案。我不认为我们弄清楚了所有提案的细节,但第一步是,宣布这个意图,然后想引入外部的,就像
定速作为一个协调问题
Swyx: 评估者。
Thariq Shihipar: 评估者,是的。而且,我认为这非常不寻常,就像,拥有。就像,我们有很多专有的,就像,技术,但我认为这非常重要,就像,有某个人不是出于财务动机,是的,不会说,“嘿,你们这些人不能发布这个模型。”就像看,或者,“你们需要,就像,在 RL 上放慢速度。”就像,我认为那相当重要,或者至少是某个能向公众报告这些实践是什么样的人。
Swyx: 是的。
Swyx: 而且我们,我们已经和 METR 和 Endon 都做过节目,然后还有 Redwood Research 以及所有其他这些。就像这些人的一个小型家庭手工业。
Thariq Shihipar: 是的。
Swyx: 总是,就像,一两个人,显然没那么大,对吧?
Vibhu: 非常小的社群。
Swyx: 是的,非常小的社群。他们都互相认识。
Thariq Shihipar: 是的,我确信,其中一部分会是扩大这个人群。我不认为我们是在试图创造一种单一文化。我觉得它是……但只是把这个作为一个起点,然后,是的,接下来就是协调步骤。老实说,我在这里没有太多要说的。我想说的是,对于开发者来说,你应该知道该倡导什么?我认为在这个话题上有很多FUD(恐惧、不确定、怀疑),你只需要从第一性原理出发去思考,或者去理解发生了什么。理解Hugging Face事件,理解人们为什么担忧。然后,是的,我们知道我们身处民主国家。我们可以帮忙。我们可以共同决定该怎么做?所以,无论我们如何协调,我认为第一个决定就是意识到,这是一个问题。我们需要决定去协调。我们现在正在采取的、其他公司也在联署的单边步骤,就是在Anthropic内部嵌入评估器。
Swyx: 趁我们现在屏幕上还有这个东西,第二部分和第三部分是评估器之外的内容,是的,每个人都已经以某种形式做过了,现在它更加正式化了。
Thariq Shihipar: 说实话,对“Pacing the Frontier”的回应,即使在美国国内,也比很多人想象的要被接受得多?而且我认为,我们在世界上能够达成这些统一理论式的协议,是有先例的。所以,再次强调,这远远超出了我的薪资级别或专业能力,对吧?但我认为,理想情况下我们可以形成这些协议。而且我认为,讨论这件事是形成这些协议的第一步。
Swyx: 然后另一个我真的很想说的点。我们最早的播客之一是和……
Vibhu: Emmanuel
Swyx: 和Anthropic的Emmanuel聊机制可解释性。机制可解释性现在在哪里?这本来应该是,如果模型在想坏事,我们能看到它,而模型还不知道,我们可以采取行动阻止它。我认为,对于技术人士和开发者来说,如果你真的关心,你可以在这里产生很大的影响。而且,Anthropic本来应该是这方面的领导者。
外部评估器以及开发者应该倡导什么
Thariq Shihipar: 是的。这是一个很好的过渡到回退机制的话题,比如我们……还有探针。而且,是的,我有很多想聊的。我经常被那些对ML研究感兴趣的人问到这个问题,他们会问,为什么会出现这种回退,对吧?所以我认为,在顶层来看,它是怎么运作的?在推理时,我们有所谓的探针,我们有一篇关于这个的论文叫宪法分类器(constitutional classifiers)。这些探针查看输入和输出的激活值。而激活值是在潜在空间中的,对吧?就是模型在思考什么,对吧?所以我们试图弄清楚,比如说,模型是不是在试图黑什么东西?再次强调,你并没有让它去黑Artifactory。你只是……它只是自己决定这么做来完成它的任务,对吧?所以如果你只看输入,你不会发现这个。你必须看内部的激活值。我认为,这发生在推理时。所以首先,这里有一个成本和速度的权衡,对吧?我们需要对Claude和Fable的每个请求都快速做到这一点,这有开销,对吧?然后我们需要回退,我们在探针之后做一个分类器。我们在论文里讨论过这个。但探针的好处是它们可以实时细化,对吧?所以我们可以得到反馈,然后调整它之类的。因为替代方案是把这编程进去,把它训练进模型里,对吧?我们也仍然在做这个。模型会拒绝一个请求。那不是回退,对吧?所以,不是探针被激活然后回退。它只是拒绝执行。我们做了这种训练。但它有几个失败模式,对吧?比如,它可能作为一个副作用做了某件事,对吧?所以它不是最终输出的一部分。你可能注意到了,我想每个人都试过越狱模型,试图让它们偏离轨道之类的,探针有助于捕捉这些,对吧?所以我们在这里做一些训练,但我们不希望拒绝太强,对吧?因为那样会在流程中更早地切断它。
机制可解释性、探针和回退机制
Swyx: 是的。
Thariq Shihipar: 这就是可解释性,对吧?探针实际上就是一种机制可解释性的形式。再次强调,它必须快速发生。它必须大规模发生。但是,是的,这种机制可解释性的东西是一个很好的研究问题。所以,你可以拿一个开放权重模型,试着理解它的激活值。我觉得我们……Gemma Scope是一个很好的工具。
Swyx: 这是给他们的Llama。
Thariq Shihipar: 哦,是的。
Vibhu: 我们有。这是你早期的工作,所以你在
Thariq Shihipar: 哦,是的。
Vibhu: Goodfire待了一段时间。我们看到你奠定了一些
Swyx: 我们俩在Goodfire也是好朋友。
Vibhu: 他们一直
Thariq Shihipar: 是的,没错。所以我在Goodfire工作了一段时间,做稀疏自编码器之类的。这非常复杂。RL让这件事变得更加复杂了,我认为这是一个收获,就是
Swyx: 为什么?抱歉。
Thariq Shihipar: 哦,抱歉。
Vibhu: 什么是
Swyx: 是的,为什么RL之后的可解释性?
Thariq Shihipar: 我在这里不是特别深入,但我认为,很多SAE……SAE一直有一些弱点,我认为。而且,是的,我不再是这方面的技术专家了。我只知道它变得更复杂了。比如有基础模型和RL模型,有更多的特征被改变。所以,我认为Goodfire在这方面发表了一些工作。我不是,我不是很深入,但是
Vibhu: 我要说的是,对于那些想要线索的人,你们有一些最好的可解释性博客文章。比如Golden Gate Claude、transcoders,你们所有的可解释性工作,非常好的可视化,非常好的
Swyx: 我们是,我们也是可解释性播客。
Thariq Shihipar: 是的。
Vibhu: 是的。我们有很多可解释性的内容,所以如果你好奇的话
Thariq Shihipar: 是的,我认为这是那种事情之一。而这正是Anthropic创立的基础,对吧?人们……我认为我们很早就投资了可解释性,对吧?我认为,当你说“我们是一家人工智能安全公司”时,真正的意思是,我们希望AI能够安全运行。我认为我们看到的是,要让一个超级智能AI长时间运行,这是一个非常复杂和困难的任务,对吧?所以我们在可解释性、对齐、奖励黑客以及所有这些失败模式上做了投资,对吧?即使如此,它真的很吃力。我们需要稍微放慢一点,或者更有节奏一点。但是,是的,我认为阅读机制可解释性……如果你想要进入研究领域,这个想法就是,嘿,为什么很难轻松地做到这种回退?或者为什么会有误报,对吧?但我们当然在努力减少误报。当然,随着模型变得更智能,它们现在能做更多事情,它们在潜在空间中能思考的东西变得困难。所以随着它们变得更智能,会有新的误报需要我们弄清楚,需要我们迭代之类的。但我们,是的,我们正在做这个,我们确实认为这是这些模型部署的关键部分。而且,是的,这意味着我们可以在你没有完美沙箱的情况下部署这个模型?你不必保存所有东西。我认为值得稍微谈谈我们的安全,我们在那里为安全做了什么。有我们谈过的模型训练的东西。有探针和分类器,然后还有auto mode坐在所有这些之上,那是另一个分类器,检查正在进行的请求,对吧?然后在那之外,还有身份和权限,就像我们谈过的Claude Tag在API之类的东西上。所以有太多层安全需要完成,就像我们说的,非常复杂。任何一个点的任何失败模式都可能导致智能体逃出沙箱。
宪法分类器和推理时安全
Vibhu: Auto mode是一个有趣的。早期看起来像是,好吧,它运行10分钟。
Thariq Shihipar: 是的
Vibhu: 如果我处于完全访问或auto模式,这不是什么大问题。但你提到的一件事是,现在它要运行好几个小时,对吧?你仍然需要回退机制。仍然有限制,所以。
Thariq Shihipar: 是的,我认为。每个人都有这些故事,或者听说过这些故事,比如,哦,Claude rm -rf,或者不是Claude,而是模型
Vibhu: 不是Claude。
Thariq Shihipar: 比如rm -rf。我觉得我看到的少了,我在Claude身上看到的少了,但再次强调,它可能发生。这个
Vibhu: 是的
Thariq Shihipar: 就像这些模型可能会清除敏感数据之类的。比如你想给模型访问你的生产数据库的权限。但这是一个很明显的,你也许可以限定你的密钥范围,但我不知道,它能自己签发密钥吗?它能……大概能吧,它能。它可以用计算机使用功能去签发自己的密钥,然后把密钥复制过来,再编辑你的数据库,因为它需要这么做才能完成任务?这只是一个微不足道的例子。而自动模式看到这个就会说:“哦不,用户没有给你权限去写入数据库,或者用计算机使用功能去发出任务”,对吧?所以这些探针是在意图层面上的,对吧?它们就像是:“哦,好吧,黑入 Artifactory 是不好的。我们大概不应该那么做”?但自动模式更多是在你自己的权限层面上。有时候你确实想让它写入数据库,有时候你不想,对吧?你不希望探针在那里干扰,但你需要确保智能体所做事情的意图与你的请求相匹配,对吧?所以自动模式在那个层面上运作。所以是的,安全就是非常复杂。它涉及太多不同的部分。而且,是的,我希望这次……我的目标真的只是非常技术性地深入探讨并聊聊
RL 之后的可解释性与安全栈
Swyx: 是的,我们,我们在把这些东西列出来。如果你还不知道,这就是现在的标准。
Thariq Shihipar: 是的。
Swyx: 就像你必须得有这个。这和你说的 harness 是一致的。就像那个门槛已经提高了很多。
Vibhu: 我觉得有些东西我们可以接上,虽然在你这边做这件事、为构建 harness 的人提供分类器方面有很多探针工作,但另一边是模型保障措施,对吧?所以有开放模型。Llama 有 Llama Guard。它是 Llama 的一个安全分类器训练版本。OpenAI 有 OSS Guard,也是一样的东西。你可以把这些附加到你的 harness 上,附加到任何东西上,来检查这些东西是否安全?关于 OpenAI 模型和 Hugging Face 那件事,我们应该澄清的一点是,这是用一个仍在训练中的未发布模型做的,对吧?所以当你把它放在背景中看,它在 RL 环境中被给出的提示是:你必须解决这个任务。而这是一个仍在训练中的模型。它还没有经过所有的安全后训练对齐。所以和自动模式这样的东西有点不同,对吧?自动模式是在已经过安全训练的生产模型上,这些模型有提供更多安全护栏之类的提示。所以这只是给那些研究这件事的人一些线索,去填补空白。
Swyx: 是的。还有 Gray Swan
Vibhu: 是的
Swyx: 还有我们之前的一位嘉宾。是的,有很多安全架构和很多安全供应商可以买。我,我想我关于节奏的最后一个问题是,要多久?我们要永远保持节奏吗?
Vibhu: 我们会看到 GlassWing 第二部分吗?
Swyx: 我。范围是修复世界上所有的软件,对吧?听着,就像,它。我们不会。这不会发生。
Thariq Shihipar: 我不知道。就像,我觉得,就像
Vibhu: 我要说一件我认为我们做得好的事,就是你有像 GlassWing 这样的东西。OpenAI 也有这个。所以你会给它。你会先给模型 X 时长的安全访问权限,这样你可以用它来自我红队测试。希望你能扩展这样的项目,帮助,我们是安全专家,还有其他人。
Vibhu: 先解决你的问题,然后模型才发布。所以这是一个例子,对吧?
Thariq Shihipar: 是的,没错。是的,试着保护关键软件。我觉得我们修复了 Firefox 之类里面的很多 bug。所以,是的,跨越操作系统之类的所有东西。所以。
Vibhu: 在高层次上,就是,你先给模型,你给人们访问权限去做安全审计,然后更广泛的可能用它来造成伤害的公众才获得访问权限。
Thariq Shihipar: 是的。我觉得人们喜欢说的是,软件和网络安全是防御占优的
Vibhu: 是的。
Thariq Shihipar: 而且,理论上你可以。这会很难,但你可以设计出完美的沙箱,你可以,就像,没有约束。而且,是的,你需要做的是,你需要让超级智能 AI 来设计这个完美的沙箱,检查它,对它进行红队测试之类的。所以,这需要时间,而且,当然,模型会变得更聪明。是的,我觉得,我不知道这件事具体会怎么发展。我真的只是,嘿,我是个开发者?我觉得这就是我理解这个问题的方式,而且,这就是现在正在发生的事情,而且,我们应该做点什么。
Swyx: 我觉得每个工程师都应该了解这件事
Vibhu: 是的。
Swyx: 因为,就像,这,这将成为他们工作的一部分。
Thariq Shihipar: 是的。
Vibhu: 这远不止是 Dario 和人们可以说说,你可以看看事件。这里面有一个工程方面。
Thariq Shihipar: 是的。是的,没错。
Swyx: 你还想表达的一点是,这是。尽管你担心其影响,但仍然是低 p(doom),我觉得这是一个微妙的讨论。总的来说,人们很容易就进入 AI 安全和 X-risk 的讨论,但我觉得当你生活在一个 AI 实验室里时,我觉得讨论 p(doom) 有聪明的方式和愚蠢的方式。那么什么是讨论 p(doom) 的聪明方式?
自动模式、权限与长时间运行的智能体
Thariq Shihipar: 我,是的,我有一个相当低的 p(doom)。我只能代表我自己?而且我确实想说 Anthropic 有,就像,多元化的观点。我觉得,就像,有很多不同的方式来谈论它。而且,就像,我。我觉得,就像,我的心智模型是,我觉得我们可以一起合作解决难题。我觉得核不扩散是我们一起合作解决这个难题的一个例子。而且,就像,对我来说,就像,我,我对这个有信心?而且我确实觉得这是一个难题?所以,就像,我觉得这是一个难题。这些是技术上的原因,而我不知道你怎么给事情发生的概率赋值。我觉得这很难做到,但,就像,我的,就像,总体来说是,是的,我觉得我们非常有韧性和适应力,而且,分享这些信息我觉得是,就像,第一步。而且我一直非常,就像,兴奋于,就像,讨论变得多么广泛,对吧?而且,就像,每个人都如何,就像,投入到 Pacing the Frontier 中。而这在也许去年或什么时候,似乎真的不会发生,所以。
Swyx: 是的。
Thariq Shihipar: 是的。
Swyx: 是的。也许还有治愈癌症。
Thariq Shihipar: 希望如此。是的。那,那就是目标。
Swyx: 有节奏控制,然后也有,嗯,让我们以有用的方式加速,对吧?
Thariq Shihipar: 是的。
Swyx: 就像生物学和所有那些东西。
Thariq Shihipar: 是的。就像,Dario 关于“Machines of Loving Grace”的文章是这方面最好的代表,对吧?而且我也同意,就像,我觉得你应该读 Dario 发布的 Pacing the Frontier 那篇文章。就像,我发布了一个,就像,快速摘要,但我觉得它就是,就像,这里有大量细节。它,就像,是一个重要的问题,只是了解它,对吧?但是的,就像,当然,我们做这一切的全部原因就是,就像,我们可以获得这些巨大的好处,对吧?而且,是的,就像,我们也写了很多关于那个的东西。是的。
Swyx: 好的。那是一次巨大的旅程,从,就像,问你一些问题的工具到 AI 安全。
Thariq Shihipar: 是的。到 Pacing the Frontier。是的。
Swyx: 是的。不,但是,是的,很明显,很明显你,就像,真的拥抱了 Anthropic 里所有可用的东西,而且,就像,至少能窥见一下,就像,讨论是什么,话题是什么,这是好的。对人们有什么最后的话吗?任何,你想说的行动号召?
Thariq Shihipar: 是的,我觉得这是。第一,谢谢你邀请我。我觉得这就像,我真的
Swyx: 不,谢谢你邀请我。
Thariq Shihipar: 是的。我
Swyx: 我们第一次见面是在一家中餐馆。
Thariq Shihipar: 没错。是的。我觉得,就像,我真的很喜欢你所创造的,就像,社区和开发者社区。而且,我觉得,就像,我知道事情变化得非常快,我觉得有,就像,很多东西要跟上,而且,就像,我觉得就是有很多事情要做,而且我觉得。我觉得很多人觉得,就像,有点累或焦虑或什么的。
Swyx: 压力大。
Thariq Shihipar: 压力大,是的,没错。而且这完全可以理解?我理解。而且我们也不完美。我们会提出批评,也会理解所有 AI 实验室能够如何改进。但我也对每个人对 AI 的兴奋感到非常兴奋,这是一个非常激动人心的时代。我觉得我们会回顾这个时代然后说,哦,这非常忙碌但非常激动人心,而且软件工程永远地改变了。其他事情也会改变。真的很荣幸成为其中一部分,和你拥有的观众交谈,并且能够与所有正在大力推动可能性边界的开发者互动。而且我也从中学到了很多。是的。
开放安全模型、GlassWing 与防御占优的安全
Swyx: 非常感谢。
Thariq Shihipar: 谢谢。
本文由 AI 翻译。