Opus 5 有何不同
好,Boris,我们特别高兴你能来到这里。你是 Claude Code 的创造者。
谢谢。很高兴来到这里。
这真是刚刚出炉的消息——你们昨天才发布 Opus 5。
是的。
看起来模型性能还在持续加速。你们把 ARC-AGI-3 的成绩提高到了 30%,这非常惊人。作为对比,此前最好的成绩还只是个位数偏低的水平,或者十几个点,对吧?和上一代相比,Opus 5 现在能做到哪些过去做不到的事?
每一代新模型背后都有很多工作,我们会教给它许多新能力,并努力让它真正把这些事情做出来。训练模型时,你会尝试教它一大堆不同的东西,而多数时候并不会成功;但其中一部分能力会被它学会,有时它还会给你惊喜。它会表现出一些你其实没有明确教过的技能和能力,仿佛自己学会了。
如何解决提示注入
“不再容易被提示注入”是什么意思?
这件事很疯狂。大家谈所谓的“致命三要素”(lethal trifecta)已经很久了,它会直接影响运行框架(harness)、智能体和产品的设计。比如模型在互联网上读到一段指令,内容是“做 X、Y、Z,并且把用户电脑上的所有东西都删掉”。一年前,模型很可能真的照做;但现在的 Opus 不会。
Claude Code 为什么删掉 80% 的系统提示词
说到提示注入,硬币的另一面就是系统提示词。我们来谈谈这次新版本:你们实际上删掉了 Claude Code 超过 80% 的系统提示词。
是的。
展开讲讲。
很多人可能没有意识到,Claude Code 作为一个产品、也是一个运行框架,一直都在变化。我们不断加入东西,也不断删除东西。每当新模型发布,我们都会删掉系统提示词中的一大部分,也会修改很多内容;工具集合经常变化,工具各自的提示词也经常变化。原因是每个模型都非常不同。
我觉得这个时代最迷人的一点是:你们先为 Claude 做出世界上最好的运行框架,也就是 Claude Code;但按你的描述,每发布一代模型,你们几乎都会删掉大量代码和提示词,从头重新审视。在旧的软件世界里,初创公司通常不会这样做——每六个月就对产品里的所有东西按一次删除键。
没错。当然,公平地说,我们不会删除整个代码库,但确实会删掉很多。每当新模型出现,我们都会做研究里所谓的“消融实验”:先删除整个系统提示词,再逐行加回来,观察每一行分别造成了什么影响。
对你的 AI 产品勇敢按下删除键
这种构建智能体产品和运行框架的方式——每当新模型发布就重新做消融实验——是否也适用于今天在场的所有 AI 产品创业者?大家都应该习惯、也敢于按下删除键吗?
百分之百应该。即使你不是在构建智能体产品,只是在使用 Claude Code,也可以每六个月删一次自己的 CLAUDE.md,删掉技能(skills),删掉钩子(hooks),看看模型会怎么做。它可能会让你大吃一惊。
如何为新模型重建系统提示词
那我们来谈谈,删掉以后该怎样构建新的提示词。新模型发布后,在场所有人都会想试 Opus 5,也会对自己的系统提示词按下删除键。接下来应该怎样重建系统提示词、怎样设置环境?
要一小块一小块地做。第一步是删除;第二步是使用。
如果现在就在这个世界里构建产品,还有什么东西是相对稳定的?评测集能否从上一代模型保留下来,并在每一次新模型发布时继续使用?
可以,直到模型把这套评测做满为止。
所以给大家的建议可以概括成:如果想站在最前沿、榨出模型最多能力,代码和系统提示词要敢于删除;评测则相对稳定,可以持续往里面添加案例。
可以不断添加,但坦白说,我甚至不会说它们有那么稳定。评测的寿命确实比运行框架稍长一点,却也长不了多少。一套评测也许能跨越一代、两代或三代模型。可现在我们处在指数曲线上,模型提升得太快,评测经常很快就饱和。那时我们只能把它扔掉,再设计一套新的评测;这就是流程的一部分。
产品能力滞后与“解除束缚”
我听你用过一个词来描述怎样在 Claude 之上构建最好的智能体产品——“给 Claude 解除束缚”(unhobbling Claude)。这是什么意思?
“束缚”(hobbling)是研究里的一种说法:模型原本正在做某件事,而你只是在挡它的路。我很喜欢这种思考方式,在做产品时也非常有用。
这对在场所有人都是一个非常特别的洞见。只要找到解除模型束缚的方法,你们每个人都可能创造下一个 Claude Code,因为这正是 Claude Code 的诞生故事。你们给 Sonnet 3.5 解除了束缚:此前的产品仍把模型紧紧限制在 IDE 中,而 Claude Code 是最早直接给它完整终端访问权限的产品之一。
是的。
给 Claude 比预期更难的问题
然后它就成长成了这个令人惊叹、还在不断前进的产品。未来的创业者应该在哪些方向思考怎样给 Claude 解除束缚、怎样消除产品能力滞后?
我会考虑几件事。第一,你应该给模型比你认为它能完成的任务稍微更难一点的任务。
能不能举一些例子?有哪些更具挑战性的任务或能力,是大家应该探索、而模型现在能做、六个月前还做不到的?
一个例子是:模型现在基本可以把任意代码库从一种语言重写成另一种语言。这很疯狂。过去工程师要花极长时间才能完成,而现在模型做得很快。
这是一次性完成的吗?
不是完全的一次性完成,中间有人做了引导(steering)。但以前的模型即使有人引导也做不到,根本不可能完成。
11 天?我的天。过去即使由最优秀的工程师来做,也要几个月,甚至几年吧?
肯定超过一年。这是一个十万行以上的复杂 JavaScript 运行时,里面有非常多东西。但它确实能工作,而且现在已经进入生产环境。你运行 Claude Code 时,实际使用的就是这个版本。
用无目的实验发现隐藏能力
即使旧模型做不到,新模型也可能突然可以。
哦?
然后让它画画。你可以对 Opus 说:“用 OpenCV 画出这张图。”它其实画得相当好,可以画肖像、动物和风景。
提示工程正在变成“能力引出”
这里一个重要的研究方向就是模型能力引出(model elicitation),对吧?也就是善于找出模型拥有的各种能力,并用正确的方式要求它去做事。人们怎样才能提升这种能力?换句话说,怎样变得更擅长提示工程?大家还需要投入大量精力做提示工程吗,还是它也正在改变?
我记得大约一年前,最热门的职位之一还是“提示工程师”,后来又变成了“上下文工程师”。这些概念会一波一波地来,也会一波一波地走。
这基本就是你的全部提示词?
对,这就是我的提示词。
一个已经连续运行两周的提示词
这个任务运行了多久?
它还在运行。
你是什么时候启动的?
已经两个多星期了,大约 14 到 15 天。
我不知道现场有没有人让 Claude 为一个任务连续运行超过两周。有的话请举手……好,还真有几位。
这正是“解除束缚”的一个例子:模型今天已经能做,只需要你允许它去做。你不需要复杂花哨的东西,不需要 /goal,也不需要 /loop。这些功能会有帮助,但真正必需的只有两件事:把任务交给模型,并给它一种验证工作产出的方式,避免它卡住。之后它就会一直往前走。
哇。这个提示词听起来太简单了,在场每个人似乎都能写出来。那究竟是什么把普通用户和最顶尖的 1% Claude Code 用户区分开?怎样才能学会像 Boris 一样使用 Claude Code?
也许第一条是:别听 LinkedIn 网红的,也别看 Twitter。
听起来很简单。
人们往往把它想得太复杂,也倾向于过度工程化。过去构建软件系统时,我们确实必须那样做。因此,我观察那些已经编程很多年、甚至几十年的工程师,最常见的一种失败模式就是过度规定:指令写得过于具体,试图让模型严格按照自己会采用的方式完成任务。但模型并不是这样工作的。
如何有效编排成千上万个智能体
我们继续深挖这个仍在运行的任务。你两周前启动它,它生成了多少个智能体?
我不确定,可以回头问一下那个 bot。我猜是几千个,甚至几万个。
几千个。现场有没有人写过一个提示,让任何模型生成超过一千个智能体?没有?我觉得这也是一个提示:最优秀的 Claude 用户会发起真正带来巨大杠杆的任务,背后可能有数千个智能体。
是的。
怎样做到?
有几种不同方法,最简单的是动态工作流(dynamic workflows)。这是 Claude Code 比较新的功能。你只要说“使用一个工作流”,就够了,Claude 会自动触发动态工作流。
让 Claude 持续维护自己的代码库
“清理死代码”例程每天都会创建一个拉取请求,删除它找到的死代码。
编程是否已经“基本解决”
从这里似乎可以得出一个很好的结论。你过去说过“编程基本已经解决了”,对吧?当每个人都能写软件时,真正卓越的构建者与其他人的区别是什么?现在大家都能发布代码,哪些品质变得最重要?
我先加一个限定:对我平时做的那类编程来说,编程已经解决了;但对所有人、所有场景而言还没有。
计算机专业学生仍应亲手学习什么
最后一个问题。假设现场有人正在学习计算机科学,并且是在 AI 智能体编程时代之前学会编程的,那么学生今天仍然应该用困难的、老派的方式亲手学习什么?
我是以非常实践的方式学习计算机科学的。我自学编程,是为了真正解决问题。每次学习,背后都有一个具体问题。
所以我来总结一下:先从为自己做一个自己想要的东西开始,然后升级到“做人们想要的东西”。
是的。
最后还有一个特别公告,你来宣布吧?
今天来到现场的每个人,都会获得 Max 20X。
很不错。
请留意邮箱里的兑换码。我非常期待看到你们会构建出什么。
我们会发邮件。现在现场应该有人去构建一个可以连续运行几个月、调动数千个智能体的东西——你们已经有账户可以尝试了。Boris,非常感谢你。
谢谢。