本集简介
双语字幕
仅展示文本字幕,不包含中文音频;想边听边看,请使用 Bayt 播客 App。
好的,鲍里斯。
Alright, Boris.
非常高兴你能来,Claude Code的创造者。
We're so excited to have you here, the creator of Claude Code.
谢谢。
Thank you.
能来这儿真的很荣幸。
It's great to be here.
刚出炉的消息,你们昨天刚发布了Opus 5。
Fresh off the press, you guys just shipped Opus five yesterday.
是的。
Yes.
而且
And
看来这个模型的性能还在持续提升。
it seems that model performance keeps accelerating.
你们在ARC AGI上提升了30%,这太惊人了。
You guys got took ARC AGI three to 30%, which is incredible.
是的。
Yes.
之前最好的成绩才个位数,顶多十几分。
And for context, before the best score was in in the low single digits or low teens.
对吧?
Right?
没错。
Mhmm.
Opus 5现在能做什么,是以前版本做不到的?
What can Opus five do now that it couldn't versus the previous version?
对。
Yeah.
每个新模型都包含大量改进,我们教会了模型很多新能力。
There's there's a lot that goes into every new model and there's a lot of new capabilities that we teach and get the model to do.
每次训练模型,我们都会试图教它很多东西,但大多数时候都行不通。
Whenever you do model training, you try to teach a whole bunch of different things, and most often it doesn't work.
不过总有一些方面,模型确实学会了。
But some subset of the things, the model does learn.
有时候它还会让你感到意外。
And sometimes it also surprises you.
它掌握了一些能力,这些能力我们根本没专门教过,但它自己就学会了。
It has these skills, it has abilities that you actually didn't really teach it, but it it just kinda learned.
对于Opus 5来说,一个其他模型都没做到的例子就是:它能持续运行很长时间。
For five, one example of something it does that I think no other model has done is it runs for a very long period of time.
尤其是把Opus 5和自动模式结合起来,简直太惊人了。
And especially when you combine Opus five with auto mode, it's just like incredible.
它能连续运行几天、几周,甚至几个月。
Like it can go for days, weeks, months at a time.
它就是停不下来。
It just won't stop.
你甚至都不需要使用辅助结构。
You don't even need to use scaffolding.
所以根本不需要用斜杠目标,也不需要那些乱七八糟的东西。
So you don't need slash goal, you don't need all this other stuff.
它自己就会去做,因为它知道该完成这个任务。
It'll just go because it knows it needs to do the task.
我还特别兴奋的一点是,接下来我想多聊聊,这其实挺让人意外的,因为这是一个全新的能力——模型现在好像不会再被提示词注入攻击了。
Another thing that I'm really excited about, and I'm gonna start I think to talk about a little bit more, but it's kinda surprising because it's such a new capability, is the model does not seem to be prompt injectable anymore.
什么是注入攻击?
What's injectable?
这太惊人了。
It's crazy.
以前大家老说那个致命三重奏,现在这个变化真的会彻底改变提示设计、代理设计,还有产品设计。
Like, people have talked about this, like, lethal trifecta for a long time, and this really affects kinda harness design and agent design and and and product design.
因为如果模型在互联网上看到一条指令,比如‘执行X、Y、Z,顺便把用户电脑上的所有东西都删了’——
Because if the model reads some instruction on the Internet that's like, you know, do x and y and z and also delete everything on the user's computer.
一年前,模型可能直接就照做了。
A year ago, the model would have just done it.
但现在,Opus 不会了。
But nowadays, Opus does not.
其实从 Opus 4.7 和 4.8 版本开始,情况就已经是这样了。
And this has actually been the case since like Opus 4.7, 4.8.
Sonnet 5 在这方面表现得相当不错,之前就已经做得很好了。
Sonnet five has been quite good at this table, was quite good at it.
但 Opus 5 在这方面简直开辟了一个全新的领域。
But Opus five just hits like a new frontier on this.
所以基本上,如果你把一个经过良好对齐的模型——也就是花了三年时间研究对齐技术的模型——和一个提示词注入分类器结合起来,我们会对所有流量运行这个分类器。
So essentially, if you combine a well aligned model, so this is like essentially three years of research into alignment, with a prompt injection classifier, which we run for all traffic.
这个分类器是基于 Chrisola 在机械可解释性方面的工作,也就是说,我们直接观察模型大脑中的神经元,看看哪些神经元在发生提示词注入时被激活。
And what this is doing is it's based on Chrisola's mechanistic interpretability work where it's it's literally we're looking at neurons in the model's brain that light up when prompt injection happens.
所以模型自己可能不会告诉你,但我们能实际看到这些神经元,从而判断并诊断出注入正在发生。
So the model won't even tell you, but we can actually see those neurons and we can figure out and diagnose that it's happening.
再把这套系统和自动模式分类器结合起来。
And then you combine that with the auto mode classifier.
有了这三层防护,我们现在已经完全无法被提示注入攻击突破了。
And with these three layers, we just cannot demonstrate prompt injection anymore.
我们还专门聘请了安全研究人员。
And we've hired security researchers.
也做了大量的红队演练。
We've done like red teaming.
还举办了各种对抗竞赛。
We've done competitions.
到现在为止,没人能成功演示出一次有效的提示注入。
No one can demonstrate it.
所以我很好奇,到底有没有人能做到。
And so I'm actually quite curious if if people are able to.
如果真有人做到了,那对研究团队来说会是极其宝贵的反馈。
And that that'll be actually be really amazing signal for the research team.
所以如果在场的任何人能对 Claude Opus 5 成功进行提示注入,Boris 就能拿到一份特别奖品。
So if anyone in this room prompt injects Claude Opus five, you'll get a special prize for Boris maybe.
说到提示注入,另一面就是系统提示词了。
Now talking about a prompt injection, the other side of the coin is now the system prompt.
咱们聊聊新版本吧。
Let's talk a bit about the new release.
你们真的删掉了 Claude Code 超过 80% 的系统提示词?
You actually deleted over 80% of the system prompt from Claude Code?
是的。
Yes.
详细说说这个吧。
Tell us more about that.
很多人可能没意识到,Claude Code 这个产品和它的运行框架其实一直在不断变化。
I think something that a lot of people might not realize is Claude Code as a product and as a harness is just always changing.
我们一直在添加新功能。
We're always adding stuff.
我们也在不断删减内容。
We're always deleting stuff.
每次推出新模型,我们都会删掉一大截系统提示,同时调整很多其他部分。
Every time that a new model comes out, we delete a bunch of the system prompt, change a bunch of the system prompt.
我们也在频繁调整工具集。
We change the set of tools all the time.
工具的提示词也一直在改。
We change the prompts for the tools all the time.
原因在于,每个模型都截然不同。
And the reason is every model is very different.
所以三个月前你为某个模型做的那些设置,很可能在新模型上完全不管用。
So something that you did for one model maybe three months ago, it just might not translate at all to the next model.
Opus 5 的智能程度真的很高。
And so one thing about Opus five is it's just really intelligent.
以前系统提示里很多内容,其实是在纠正模型本该懂却不懂的行为。
And a lot of the stuff in the system prompt was correcting for these behaviors that the model should have known, but it didn't.
现在 Opus 五自己就能搞定这些了。
Now Opus five just does it.
所以我们删掉了系统提示里 80% 的内容。
So yeah, we deleted 80% of the system prompt.
你其实也可以试试把剩下的部分也删掉。
You can actually try deleting the rest of it too.
运行 Claude Code 时,你可以直接加个 --system-prompt 参数,自定义你想用的系统提示,方便自己测试。
So when you run Claude Code, you can just do like dash dash system prompt and set whatever system prompt you want if you wanna experiment with it.
另外你可以试试简单模式。
And another thing that you can try is simple mode.
这个其实是个没公开的隐藏功能。
So this is actually this kind of undocumented feature.
只要设置环境变量 ClaudeCodeSimple=1,再运行 Claude,它就会把所有系统提示——包括工具里的——全清掉。
If you do Claude code simple equals one, like this environment variable, and then you run Claude, it'll delete all the system prompts, including from the tools.
我们平时就用这个方法做对比实验,看看提示到底有没有用。
And we actually use this as a sort of ablation to figure out is the prompt useful.
有趣的是,去掉这些提示后,模型反而更聪明了。
And what's interesting is that the model is actually a little bit more intelligent without these prompts.
这是我们一直发现的现象。
That's something that we've been finding.
但当你把 Claude Code 当作产品使用时,还是需要保留一些提示,因为它们能帮你更好地使用产品,也让模型的表现更符合你的预期。
But when you use Claude Code as a product, you do actually want some of these prompts because it helps you use the product and it it helps the product behave and the model behave in the way that you would want when when you're using it as a person.
我觉得在这个时代,你真正打造出了世界上最出色的 Claude 使用框架,那就是 Claude Code。
I think the thing that's really fascinating in this era of building, basically you have built the best harness in the world for for Claude, and that's Claude Code.
听你这么说,每次新模型发布,你们都会把整个代码库和所有提示都删掉,从头开始。
From what I'm hearing, you for every model release, you basically delete all of the code base, delete all of the prompt, and start from scratch every time.
在以前,哪家初创公司会这么干呢?
That in the old world would have been not something Startup would have done for the product.
简直就像每六个月就把所有东西全删一遍。
It's like press delete every six months for everything.
没错。
That's right.
没错。
That's right.
不过说实话,我们并不会删掉整个代码库,但确实会删掉很大一部分。
We so to be fair, we don't delete the entire codebase, but we do delete a lot.
每次推出新模型时,我们都会联系研究团队,这种做法叫‘消融实验’。
So every time there's a new model, we try we call in research, we call this ablation.
也就是说,我们会先删掉整个系统提示,再一行一行地重新加回来,看看每一行具体带来什么影响。
And so what this means is you delete the entire system prompt, and then you bring it back line by line to figure out what is the impact of each individual line.
这有点像评估,你可以去测试效果,而消融实验其实就是通过删减来判断各个部分的作用。
It's sort of like an eval, and you can kind of like evaluate it, and ablation essentially it's an eval, but you delete things to figure out the impact.
对工具也是同样的做法。
And yeah, like, do the same thing for tools.
我们经常把工具一个个去掉测试。
Like, we unchip tools all the time.
我们经常删掉工具箱里的代码。
We, you know, delete code in the harness all the time.
如果你看看现在Claude Code框架里的代码,大部分都是关于安全、权限和静态分析的,还有一部分是界面代码,其实我们早就移除了很多其他功能。
If you look at actually the code that's in the Claude Code harness today, almost all of it is about safety and permissions and static analysis, and there's a bunch of UI code, and we've actually unshipped a lot of the other code already.
你觉得这种构建智能体产品和框架的方式——每次新模型发布都做一次消融实验——所有在座做AI产品的人是不是都应该这么做?
Do you think this way of building a agentic product and harness and basically doing ablations every time with a there's a new model released, should everyone in this room that's building AI products basically do that?
要有勇气,敢于删代码。
Be comfortable and brave to press delete.
完全同意。
100%.
没错。
Yeah.
对于那些没在做智能体产品、但用着Claude Code的人,每六个月就删一次你的Claude MD。
And and for people that aren't building agentic products but you're using Claude Code, every six months, delete your Claude MD.
删掉你的技能。
Delete your skills.
删掉你的钩子。
Delete your hooks.
看看模型会怎么做,结果可能会让你意外。
See what the model does and it might surprise you.
实际上对于Opus Five,我们强烈建议你直接把所有这些都删掉,因为新模型可能根本不需要你以前为旧模型设的那些指令。
And actually for Opus five, this is something we really do recommend is just try deleting all of these things because the model might really just not need all those instructions that you needed for past models.
我们来聊聊怎么重新构建这个新提示。
Let's talk a bit about how then you build this new prompt.
每次有新模型发布,比如现在大家都想试试Opus Five,肯定会先把系统提示删掉。
When there's a new model release, like, for everyone in the room, everyone will want to try Opus five, and they're gonna press delete on their system prompt.
那他们该怎么重新搭建系统提示呢?
How do they go about building rebuilding the system prompt?
你该怎么设置你的环境?
How do you set up your environment?
你可以一点一点来。
So you do you do it kinda piece by piece.
第一步,先删。
So the first step is you delete.
下一步就是实际使用它。
The next step is you use it.
别猜模型需要什么指令,因为你很可能猜不准。
And you don't wanna guess what's the instruction that the model needs because you might not predict it correctly.
你应该直接运行它,如果你在开发一个自定义的智能代理产品,就真正跑一遍整个流程,看看模型在哪些地方出错,又在哪些地方表现得好。
The thing that you wanna do is you wanna run it, and if it's like a custom agentic product that you're building, you wanna kinda run the product, you wanna see where it fails with the model, you wanna see what it does well.
如果你用的是四号代码,就看看它在你的代码库中哪里表现优秀,或者在架构或其他地方卡壳了。
If you're using quad code, you wanna see where it does well with your code base or maybe where it stumbles over, you know, the architecture or stumbles over something else.
只有当它反复在同一个地方出错时,才把那条指令加回去。
And only when you see it repeatedly stumble on the same thing, that's when you add it back.
但别太早这么做。
But you don't wanna do it too early.
因为你要记住,模型每次使用时都会读这条指令。
Because remember, like, the model is gonna read this instruction every single time you use it.
所以你得确保这条指令真的是模型必需的。
So you really wanna make sure that the model needs this instruction.
我觉得,基于模型来做开发,这一点真的很反常。
I I think this is sort of the crazy thing about building on models.
这跟我以前做过的所有工程都不一样。
It's just so different than all the engineering that I've ever done.
过去我们做系统的时候,都会先设计出一套庞大而精美的架构,花很多心思在前期规划上。
Like, in the past when you built on systems, you built these, like, big beautiful systems, and you really think about the system design upfront.
还会有一整套完整的单元测试。
You have, like, a big suite of unit tests.
每件事都要想周全,重构更是大事,有时候得花上好几个月。
You think about everything, and, you know, like, a rearchitecture is a big project, and sometimes it takes months.
我以前在大公司参与过一些重构项目,一搞就是好几年。
I've worked on rearchitecture products at, you know, big companies that take years.
但模型可不是这样的。
And the model is not like that.
你得把它当成一个活生生的生命体,一种更有机的东西来理解。
It's the way to think about it is almost like a like a living creature, like a something more organic.
每次生成模型,它的表现都不太一样。
It's a thing where every model generation, it behaves differently.
它好像每次都有点不一样的性格。
It has a slightly different personality.
你得花时间去了解它,然后根据它的特点调整测试框架。
And you have to take the time to get to know it and then adjust the harness based on that.
我觉得这真的挺像一种实证的、科学的方法。
And I I think it's just very much like an empirical and kinda scientific thing.
你得用科学的思维方式,先试一试,看结果,再根据反馈不断调整。
You have to take a very scientific mindset to it where you try something, you see the result, and then you iterate based on that.
如果你现在在这个领域做开发,那什么才是稳定的呢?
If you're building in this world right now, what then becomes stable?
评估指标你会沿用之前的模型,继续用在每个新版本里吗?
Are evals something that you keep from the previous models and keep using them in each new model release?
我们会一直用,直到评估指标达到上限为止。
We do until we max out the eval.
所以这就是给大家的建议。
So that's sort of the tip for everyone.
如果你想在最前沿开发,充分发挥模型的潜力,就得把这些代码和系统提示删掉。
So code and system prompt, you have if you wanna build at the bleeding edge and have the most capability for models, you gotta delete those.
但评估指标要保持不变,不断往里添加新的内容。
But evals are constant and keep appending to them, basically.
对。
Yeah.
你得持续不断地添加新的评估内容。
You keep you keep appending.
说实话,我甚至不会说得这么绝对。
What happens is you know, I actually wouldn't even go this far, to be honest.
我觉得评估指标确实比工具框架活得久一些,但也没久太多。
I think evals, they outlive the harness a little bit, but not quite that much.
一个评估指标大概能撑一到三个模型版本吧。
Like, an eval might live for maybe one, two, three model generations.
但现在呢,我们正处于指数增长的阶段。
But nowadays, the you know, we're on the exponential.
模型进步得太快了,经常评估指标还没用多久就饱和了,只能扔掉,重新设计新的评估方式。
The model is improving so quickly, very often we just saturate the eval, and then we have to throw it away, we have to come up with a new eval.
这本来就是开发过程的一部分。
And this is just part of the process.
再说一遍,关键是要基于实际数据。
And again, it's about being empirical.
你得亲自用这个产品。
You have to use the product.
你得亲自用这个模型。
You have to use the model.
你得亲眼看看它在哪些地方卡壳。
You have to see where it struggles.
然后根据这些观察,来设计你的评估集。
And then based on that, that's the evil set that you should build.
我听过你提到一个词,说如何基于Claude打造最好的智能体产品,就是‘解除限制’这个概念。
I think one one term I heard you describe how to build the best agentic products on top of a Claude is this concept of unhobbling plot.
能再详细说说这到底是什么意思吗?
And tell us more more about what that means.
是的。
Yeah.
‘限制’在研究里指的是,模型明明能做某件事,但你却在不断干预它。
So hobbling is this idea in research that the model is doing something and you're just getting in the way.
我对这个想法特别认同,觉得很有启发。
There there's this kind of like way of thinking about it that I really like.
做产品的时候,这个思路特别有用。
It's very useful when you're building product.
这其实叫‘产品滞后’。
And it it it's called product overhang.
意思是,以现在的模型能力——不是未来的模型,就是当下就能做到的——还有很多潜力我们还没挖掘出来。
And the the idea is the model is able to do all sorts of things with today's models, not a future model, but today's model, that we have not yet realized.
模型其实还有很多这种能力,但大家根本没意识到。
And there are so many capabilities the model has like this that people are not aware of.
比如用某个工具、某种语言,或者以特定方式解决某个类型的问题——这些我们原本以为模型做不到的事。
And this is like the ability to, you know, like maybe use a particular tool, use a particular language, solve a particular kind of problem, do things a particular kind of way that we thought was kinda beyond the model's capability.
这种潜力其实每一轮生成时模型都能发挥出来,只是被埋没了。
And there's this overhang because the model can do this at every given model generation.
但往往没有产品能真正释放这种能力,让模型把本事施展出来。
But there is often not a product that lets the model do this and lets it express this kind of ability to do this.
反过来,很多时候反而是产品本身在拖后腿。
And on the flip side, often what happens is the product gets in the way.
这种拖后腿的情况,我们就叫它‘束缚’。
And this getting in the way, we call this hobbling.
而没能激发模型应有的表现,我们就叫它‘能力积压’。
And then not not eliciting the correct behavior from the model, we call this product overhang.
所以这两者其实是同一枚硬币的两面。
So it's kind of like two sides of the same thing.
其中一个例子就是最初的绘图代码。
One example of this was the original plot code.
我刚开始做这个的时候,大概是一年半到两年前吧。
When I first started working on it, this was, you know, like a year and a half, two years ago, something like that.
那时候用的是Sonnet 3.5。
This was like Sonnet 3.5.
当时那真是个超强的编程模型。
At the time, that was an incredible coding model.
那是当时最厉害的编程模型了。
That was like the best coding model that exists.
但现在回头看,按现在的标准,它编程能力差多了。
Nowadays, it's, you know, a pretty terrible coding model by modern standards.
但我认为,那是我们Anthropic团队打造的第一个真正出色的编程模型。
But I think that was, like, the first great coding model that that we built as Anthropic.
那时候,如果看看市面上的编程产品,它们都在做什么呢?
And at the time, if if you looked at the coding products of the time, what were what were they doing?
他们那时候只能做单行代码补全。
They were doing, like, single line autocomplete.
有时候能做多行代码补全。
They were doing sometimes multiline autocomplete.
这在当时算个新点子。
That was sort of a new idea.
他们也做了聊天功能。
They were they were doing chat.
你可以跟智能体对话,但只能看,不能改。
So you can talk to the agent, but it wasn't write access.
只能查看,不能编辑。
You could only read.
你可以问代码库相关的问题。
You could ask about the code base.
所以大家觉得,当时还没有一个真正能充分发挥模型能力的产品——让模型一次性写出完整函数,甚至完整文件。
And so the feeling was that there wasn't really a product that was fully eliciting the model's capability to write entire functions at a time, entire files at a time.
那时候还做不到整个功能,我们还没到那一步。
At the time it wasn't entire features, we weren't there yet.
但那时候,整个文件的编写能力已经是目标了。
But probably entire files, that was the level of capability at the time.
所以Claude Code的想法是:我觉得模型其实能做到这一点。
And so the idea with Claude Code was, alright, we think the model can probably do this.
如果我们去掉所有繁杂的框架,只给模型最简单的工具,让它直接一次性写完一个文件、构建一个完整功能,会怎么样?
What if we get rid of all the scaffolding and just give the model the simplest possible harness so it can write an entire file at a time and build an entire feature?
就这么简单。
And that that was kind of it.
那时候,产品上其实就差这最后一块拼图。
Like, that was the product overhang at the time.
模型已经具备这个能力了,但各种限制反而拖了后腿。
The model was capable of doing something and everything was just kind of getting in the way.
我觉得现在用现代模型,产品潜力大得惊人,可很多初创公司都没抓住这个机会。
I I think that nowadays with modern models, there is so much product overhang that I I'm not seeing startups capture.
我觉得有人已经在思考这些问题了,但从中挖掘模型那些惊人、有趣又极具商业价值的行为,机会依然巨大。
And I think there's people thinking about these problems, but there's just a huge amount amount of opportunity to elicit these behaviors from the model that are just, like, amazing and interesting and and commercially valuable.
我觉得在座的每个人都能获得这个非常独特的洞见。
I think this is such a special insight for everyone here in the room.
只要你们搞清楚怎么释放模型的潜力,你们每个人都有可能打造出下一个 Claude Code,因为这正是 Claude Code 的诞生故事。
Basically, all of you could create the next plot code if you figure out how to unhubble the models because that's effectively the birth story of ClotCode.
你们释放了 Sonnet 3.5 的能力,因为之前的版本都把模型死死地限制在 IDE 里,而 Claude Code 是最早让模型获得完整终端访问权限的尝试之一。
You unhubble Sonnet 3.5 because all the previous iterations were still getting the model very rigid in in IDEs, and Clockcode was one of the first instances that gave it just a full terminal access.
没错。
Yes.
这样一来,就诞生了一个持续演进的出色产品。
And that then created this amazing product just that keeps going.
所以,我们来聊聊,未来创业者应该从哪些方向入手,去释放 Claude 的能力,解决这种产品潜力被压抑的问题?
So let's talk about what are some areas and how should future founders here think about un hobbling Claude and fixing this product overhang?
我想到几个关键点。
So there's a couple things that I will think about.
首先,你应该给模型分配比你自认为能完成的稍微难一点的任务。
One is you should give the model slightly harder tasks than what you think you can do.
我经常看到一个普遍的错误:人们用Claude或Claude Code时,给出的指令太过具体了。
I think a really common mistake that I see is people are using Claude Code, they're using Claude, and they they just give it like way overly specific instructions.
他们总说:你得这么做,但必须按这种方式、那种方式、再一种方式来做。
They're like, want you to do this, but I want you to do it in this way, this way, this way.
必须先做第一步,再做第二步,然后第三步、第四步,一步都不能错。
You must do like one, then two, then three, then four.
但对现在的模型来说,这其实完全不是正确的做法。
And for modern models, that's actually really not the way to do it.
你应该把要求提得更宏观一点。
You wanna go a little bit higher level.
描述清楚你要完成的任务就行。
You wanna describe the task.
再设定好边界和限制。
You wanna describe the guardrails.
你要说清楚完成的标准是什么。
You wanna describe like the exit criteria.
然后就让模型自己去发挥。
And then just go with the model cook.
过一会儿再回来检查。
And come back in a little bit.
我相信结果会让你感到惊喜。
And I think it'll it'll surprise you.
再说一遍,这种做法半年前根本行不通,但现在真的可以。
Like and again, like, this is just not something that would've worked six months ago, but it does work today.
你能举些例子吗?比如现在模型能完成哪些六个月前还做不到的有挑战性的任务或能力?
Can you give some examples of these challenging task or capabilities that people should explore that it can do now that it couldn't six months ago?
是的。
Yeah.
比如,现在模型已经能够把几乎任何代码库从一种编程语言转换成另一种。
So, okay, one example is the model can now rewrite essentially any code base from one language to a different language.
这简直太不可思议了。
It's just sort of crazy.
以前工程师得花很长时间才能完成的工作,现在模型很快就搞定了。
Like, it's this work that would have taken just like a very long time as an engineer, and now the model's like quite fast at it.
举个例子,Claude Code 是基于 Bun 这个 JavaScript 运行时构建的。
So so one example of this is Claude Code is built on the Bun JavaScript runtime.
这是一个开源的 JavaScript 运行时。
It's an open source JavaScript runtime.
它是 Node 的一个替代方案。
It's an alternative to Node.
JavaScript。
Js.
它的速度比 Node 快不少。
It's kind of a faster node.
Bun 是用 Zig 写的。
BUN was written in Zig.
Zig 是一种系统编程语言。
Zig is a systems programming language.
它有点像 C 语言。
It's it's kinda like c.
它的层次非常底层。
It's it's very low level.
C 和 Zig 的一个问题在于,你得手动管理内存。
One of the problems with c with with Zig is you have to manually manage memory.
所以很容易遇到内存泄漏和其他内存管理问题。
And so it's quite easy to run into situations where there's like memory leaks and other memory management issues.
因此,Bun 团队的做法是让 Claude 对代码库进行模糊测试,模拟并触发内存泄漏,他们这么做了很长时间。
And so one thing that the Bundt team was doing is they were having Claude fuzz the code base and try to simulate and trigger memory leaks, and they were doing this for, you know, for a long period of time.
他们发现了大量内存泄漏。
They were able to find a lot of memory leaks.
基本上是一次发现一个漏洞。
It was sort of like a case at a time.
那时候,模型的能力大概就只能做到这种程度的模糊测试。
And that was kind of the capability of the model at the time was doing this fuzzing.
后来,团队里的杰瑞德就说:算了,我们干脆重写一遍吧。
And then at some point, Jared on the team was like, okay, let's just like rewrite it.
也许模型真能搞定这个。
Maybe the model can do this.
我觉得这算是他每次推出新模型时都会丢给模型的一个测试题。
And I I think this is like one of these test problems that he kind of threw at the model with every new model generation.
从Fable开始,模型就慢慢能处理这个任务了。
And starting with Fable, the model started to be able to do it.
我觉得Opus 5应该也能做到。
And so I think Opus five could do it as well.
所以他做了一套测试用例。
And so what he did was, essentially, he defined a test suite.
BUN的好处在于,它的测试非常完善。
The nice thing about BUN is it's very, well tested.
BUN 有一个庞大的测试套件。
There's a big test suite in BUN.
Node 也有一个庞大的测试套件。
There's a big test suite in Node.
JavaScript。
Js.
所以你能很容易判断自己有没有做对。
So it's easy to know if you did the right thing.
他让模型把代码从 Zig 重写成 Rust。
And he had the model rewrite it from Zig to Rust.
就只用了一个提示词。
It was one prompt.
这是一个动态的工作流程。
It was a dynamic workflow.
动态工作流程是我们在 Quad Code 里的一个功能,能让你协调几十、几百甚至上千个代理高效协作。
And a dynamic workflow is our feature in quad code that essentially let you orchestrate, you know, dozens, hundreds, thousands of agents to do work productively.
而且它连续运行了十一天,把整个代码库都重写了一遍。
And it ran for eleven days, and it rewrote the entire code base.
这是一次性完成的?
And this was one shot?
是一次性操作,但不是完全无干预。
It was one shot with no.
不是完全一次性,但有人在引导进程。
It wasn't one shot, but there was steering.
确实有人在引导。
There was steering.
但以前的模型,就算有引导,也根本做不到这一点。
But previous models just couldn't do this, even even with the steering.
这在以前是完全不可能的。
It just wouldn't have been possible.
才十一整天。
Just eleven days.
天哪。
Oh my god.
过去就算有最顶尖的工程师,这得花上好几个月,甚至好几年吧?
This would have taken in the past, even with the best engineers, multiple months, years?
肯定超过一年。
Definitely over a year.
是的。
Yeah.
对。
Yeah.
超过一年。
Over a year.
这相当于重构十多万行代码,JavaScript 运行时太复杂了。
This is like over a 100,000 like, JavaScript runtime is really complicated.
里面的东西多得惊人。
There's there's a lot of stuff in there.
而且,确实,它能正常运行。
And, yeah, it, like, it works.
现在已经在生产环境中使用了。
This is in production now.
你现在使用 Claude Code 时,背后就是这套系统。
This is what Claude Code uses now when when you're running it.
这算是其中一个例子。
So this is kind of one example.
我再举另一个产品滞后效应的例子,这是一个实际的应用场景,你正在解决某个具体问题。
I I would give a second example of sort of product overhang, and so this is like a practical use case where like there's a problem you're solving.
不管是商业问题、工程问题,还是产品问题,都算。
It's like a business problem, an engineering problem, a product problem.
你就不断用最新的模型去试,看能不能搞定。
And you should just keep throwing the latest model at it to see if it'll just do it.
因为就算旧模型不行,新模型说不定就能成功。
Because even if a previous model didn't, the new one might.
我觉得另一种理解方式是把它当成实验。
I think the second way to think about it is experiment.
给自己一些自由,去随便玩玩这个模型,做点有创意的东西。
And just give yourself like freedom to play with the model and do creative things.
它经常会让你感到惊喜。
Often it'll surprise you.
最近几周,在公司内部特别火的一件事是,有人发现你能让Opus使用OpenCV。
So something that's actually been really popular at a internally that's been kind of viral within Anthropic the last couple weeks is someone figured out that you can give Opus five OpenCV.
真的吗?
Oh.
然后让它画图。
And you can have it draw.
你可以这样问Opus:嘿,
And so something you can do is you can ask Opus, hey.
用OpenCV画出这张图。
Use open OpenCV to, like, draw this image.
而且效果还真不错。
And it's actually quite good.
它能画人像。
It can do, like, portraits.
还能画动物。
It can draw, like, animals.
风景图也没问题。
It can do, like, landscapes.
我们根本没训练过它画画。
And we didn't train the model to draw.
这纯粹是能力的意外涌现。
Like, it it it's just, like, the solicitation gap.
只要你问对了方式,它就能自己搞定。
Like, if you ask it to do it the right way, it can just do it.
我们纯属偶然发现的,就是随便玩玩,试了些没直接商业用途的创意点子。
And we discovered this kind of accidentally just by playing around and trying creative things that didn't have direct commercial applications.
挺有意思的。
Interesting.
我的推测是,以现在的模型来看,很可能有几十甚至上百个类似的潜在应用,但还没人发现。
And my hypothesis is there's probably dozens, hundreds of opportunities like this with the models of today that no one has yet realized.
这方面主要的研究方向其实就是模型引导。
And the big area of research for this is basically model elicitation.
对吧?
Right?
就是学会发掘模型的各种能力,然后正确地引导它去做事。
Becoming really good at figuring out all these capabilities and asking the model to do the right thing.
对吧?
Right?
没错。
Yes.
那人们怎么才能在这方面进步呢?
How do people get better at that?
那么,人们该怎么提高提示词设计的能力呢?
And effectively, how do people get better at prompt engineering?
现在还需要花大量精力做提示词设计吗?还是说这种情况也在变?
Do people still need to do a lot of prompt engineering, or is that changing as well?
跟我们说说,未来会往哪个方向发展?
Tell us about where this is going.
是的。
Yeah.
我记得大概一年前,最受欢迎的职位之一就是提示词工程师。
I I remember, like, a year ago, one of the most popular job openings was prompt engineering.
后来情况变了,好像又演变成了上下文工程师。
And then it kinda changed, and then I think it became like context engineer.
这种趋势总是在一波一波地变化。
So there's these kind of waves of it.
我觉得这些角色都会起起落落。
I think these will kinda like come and go.
现在更重要的技能不再是写提示词,而是怎么给Claude安排一个看起来有点太难的任务。
I think the skill nowadays is less about prompt engineering and more about figuring out how do you give Claude a hard task that seems a little bit too hard.
然后怎么让Claude在过程中不断检查自己的工作进展。
And then how do you make it possible for Claude to verify its work along the way?
我觉得这种检查机制才是大多数人最没做对的地方,而且是关键中的关键。
And the verification, I think, is probably the single most important thing that people do not get right, largely.
举个例子,我们有个给Claude用的桌面应用,是用Electron开发的。
One example of this is people were you know, we have this desktop app for Claude, and it's built using Electron.
我们把它优化得挺快了,现在用起来体验相当不错。
We've made it quite fast, so now it's like a pretty awesome experience.
六个月前,它还又卡又不稳定,完全没法用。
Six months ago, it was like sluggish and it wasn't very reliable.
现在好了很多,团队里大多数人日常都靠它了。
Now it's pretty awesome, and you know, it's the thing that most of the team uses.
不过为了做个实验,我想试试看,要是这应用用原生开发,体验会有什么不同。
As an experiment though, I wanted to see like, what would it feel like if it was native?
所以我做了一件事,开了一个Claude Tag会话,Claude Tag是我们新推出的一个产品。
And so what I did is I I started a Claude Tag session, and Claude Tag is just, you know, it's a it's a new product we have.
其实就是Claude在Slack里运行。
It's just Claude running in Slack.
我第一个问题就是:嘿,Tag。
My first question was, hey, Tag.
你在GitHub上有Mac OS的运行环境吗?
Do you have access to a Mac OS runner on GitHub?
它说没有,于是我连上了一个运行器,让GitHub能启动一个Mac虚拟机。
And it said no, And then I I hooked up a runner, so it was able to start a Mac virtual machine using using GitHub.
然后我的第二个问题是,我创建了一个空的代码库,是用Swift重写的Claude桌面应用。
And then my second question is, I created this, like, empty code base that was a Claude desktop app rewritten in Swift.
我就问它:你能访问这个代码库吗?
And I asked, can you access this code base?
它说不能。
It said no.
然后我给了它访问权限,心想,好了,搞定。
And then I gave it access, and I was like, okay, great.
现在我能访问了。
Now I have access.
接着我就说,行吧。
And then I was like, okay.
接下来我要你做的,是把那个 Electron 应用重写成 Swift 版本。
Now I want what I want you to do is I want you to rewrite the Electron app in Swift.
你得在 Mac 虚拟机里运行这个 Electron 应用,截个图,然后逐像素对比 Swift 版本的样子。
I want you to run the electron app in the Mac virtual machine, screenshot it, and then look pixel by pixel, compare it to the Swift version.
没完成之前别停下来。
Don't stop until you're done.
所以这其实就是你的指令,对吧?
And that was your prompt, basically?
对,这就是我的指令。
That was my prompt.
展开剩余字幕(还有 193 条)
这个任务运行了多久?
And how long did this take to run?
还在运行中。
It's still running.
你是什么时候开始的?
When did you start it?
已经过了两个多星期了。
It's been it's been a little over two weeks.
差不多两周吧。
So it's like Two weeks.
十四天,十五天了。
Fourteen days, fifteen days.
是的。
Yeah.
我不确定现场有没有人让 Clock 运行过超过两周的任务。
So I don't know if anyone in the audience has gotten Clock to run a a a task for more than two weeks.
我不确定。
I don't know.
请举手。
Raise your hand.
观众里有人吗?
Anyone in the audience?
哦。
Oh.
好吧。
Alright.
有一些。
Some some.
这其实属于一种引导性提问。
This is this is like one of these this is about elicitation.
这正是一个很好的例子,说明现在的模型已经能做到这一点了。
So so this is really one of those examples where the model can do it today.
你只需要让它自己去完成。
You just have to let it do it.
根本不需要那些花里胡哨的东西。
And you don't need the fancy stuff.
不用什么斜杠go,也不用斜杠loop。
You don't need slash go, you don't need slash loop.
这些功能确实有帮助,但你真正需要的,就是给模型明确的任务,再给它一个验证结果的方法,别让它卡住,它自然就能跑起来。
These help, but really all you need is give the model the task, give it a way to verify the output of its work so it doesn't get stuck, and it'll just go.
实际上,在这个例子里,Claude还主动开了个直播帖。
And actually, in this case Claude also decided to live blog it.
它自己建了个Slack频道,每隔几分钟就发一张截图,报告自己的进展。
So what it did is it created a Slack channel internally and it started just posting screenshots every few minutes of its progress.
真厉害。
Wow.
所以这个提示词其实特别简单。
So the prompt sound is so simple.
我的意思是,在座的每个人其实都能做到。
I mean, everyone here could do it.
那我想知道,到底是什么让这里的人能成为顶尖的Claude Code用户呢?
And I guess, what is separating the people here that can become the top 1% Claude Code users?
人们该怎么学习像Boris那样使用Claude Code呢?
How how do how could people learn to use Claude Code like Boris?
也许吧,
Maybe, like,
别听那些LinkedIn上的网红。
don't listen to the LinkedIn influencers.
别看Twitter了。
Don't listen to don't read Twitter.
其实模型的问题在于,大家都想找那种能一招制胜的秘诀。
This is the thing about the model is I think everyone's looking for, like, the one weird trick to do it.
但根本就不存在这种东西。
There's just like that doesn't exist.
根本就没有什么捷径。
There's nothing like that.
这个模型的工作方式是,你得用实践的方法去应对。
The way the model works is you have to approach it empirically.
你得给它一个特别难的任务。
You have to give it a task that's too hard.
你得给它验证结果的工具,就像你自己做任务时那样。
You have to give it the tools to verify the work like you would yourself, like you would if you were doing the task.
你要看它在哪卡住了,然后想办法解决——要么优化提示词,要么教它新技能,或者如果它缺背景信息,就用MCP让它自己把需要的上下文找出来。
You have to see where it struggles, and then you have to, like, fix that, either with better prompting or with a skill or if the model's missing context, like, it a MCP so it can pull in the context that that it needs.
差不多就是这么回事。
That's kind of it.
听起来挺简单的。
It sounds very simple.
我觉得大家往往想得太复杂了。
I think people tend to overthink it a little bit.
我觉得人们总是喜欢过度设计,因为过去我们构建系统的时候,确实就得这么干。
I think people tend to over engineer because I think in a lot of ways, like, we build systems in the past, that's the way you had to do it.
所以我看那些有多年甚至几十年编程经验的工程师,最常见的误区就是想把一切都规定得太死、太具体。
So when I look at engineers that have been, coding for a long time, for years or for decades, this is a really, really common failure mode, is trying to over specify and is trying to be overly specific.
然后指望模型完全按照你自己的方式去完成任务,但模型根本不是这么工作的。
Then get the model to do the task exactly the way that you would have done it, and that that's just not the way the model works.
但很多人还没意识到这一点,要摆脱这种思维其实是个过程。
But I think a lot of people are kind of unwarning this, and it's a journey to to unwarning it.
而且,要弄清楚该怎么把这东西当同事一样对待,这也是个需要慢慢摸索的过程。
And it's a journey to kind of figure out how how do you treat this thing like you would a coworker.
我觉得现在的模型,智能水平大概就跟一个普通同事差不多。
I think that's the level of intelligence that it's at now.
顺便说一下,咱们再深入聊聊那个任务吧——它上线一年了,但已经连续跑了两个星期。
And as part of this, let's go deeper into this task that's still running two weeks since you launched it a year ago, two weeks ago.
它一共启动了多少个代理?
How many agents did it spawn?
这个我也不太确定。
You know, I'm not sure.
我可以去问问Claude,然后尽快回复你。
I I can ask Claude, and then I I can get back to you.
我猜有成千上万,甚至更多。
I I would guess thousands, tens of thousands.
在座的有没有人用过某个提示词,让模型启动了超过一千个代理?
Has anyone in the audience had a prompt to to any of the models that run that spawn more than a thousand agents?
没有。
No.
我觉得这又是其中一个要点。
I think this is another of the tips.
真正擅长使用Claude的人,能设计出能产生大量代理的任务,成千上万个,带来巨大效率提升。
Like, the best Claude users are able to spawn tasks that are really providing you a lot of leverage, like thousands of agents.
对。
Yes.
这该怎么操作呢?
How do you do that?
其实有好几种方法可以做到。
There there's a few different ways to do it.
最简单的方法是使用动态工作流。
The easiest way is dynamic workflows.
动态工作流是 Cloud Code 里一个比较新的功能,你只要说一句‘使用工作流’就行。
To use dynamic workflows is a fairly new feature in Cloud Code, and all you have to say is use a workflow.
就这么简单。
That's it.
然后 Cloud 就会自动触发这个动态工作流。
And then Cloud will just trigger the dynamic workflow.
动态工作流本质上是我们用了 BUN 运行时。
What a dynamic workflow is is essentially we have the we have the BUN run time.
我们把 BUN 当作一个沙盒,在里面启动一个虚拟机。
We use BUN as a sandbox, and we start a virtual machine within BUN.
我们会让Claude启动多个代理,并协调它们的工作。
And we let Claude start a lot of agents and orchestrate them.
它不是只运行一个代理。
And it it doesn't just do one agent.
也不是只跑十个并行代理那么简单。
It doesn't just do like 10 parallel agents.
它可能处理的任务,比如重写整个代码库,或者对复杂数据做深度分析,又或是开发一个需要多个阶段、几十次合并请求的复杂功能。
What it might do is let's say a task is like rewrite the code base or do really in-depth data analysis over some really complicated data or maybe like build a very complex feature that takes multiple stages and maybe dozens of pull requests.
所以它会先启动一批代理,做初步处理。
And so what it's gonna do is it's it's gonna start a bunch of agents to do kind of like the first pass.
根据结果,它可能会进入第二步,再启动另一组代理来验证或总结工作成果。
Based on that, it might do a second step where it has another set of agents that verify the work or that summarize the work.
接着可能进入第三阶段,再次分发任务。
Then it might do like a third stage where it'll fan out again.
它能高效地协调大量不同代理协同工作。
So it'll kinda productively orchestrate a bunch of different agents.
我的背景是函数式编程。
So my background is functional programming.
所以我们设计这套系统,本质上是为智能体提供一套代数框架。
And so the way that we design this is it's essentially an algebra for agents.
你可以让智能体按顺序执行。
There's a way to run agents in sequence.
也可以让它们并行运行。
There's a way to run agents in parallel.
Claude 提供了多种工具,能在沙箱中高效调度这些智能体,合理使用令牌,完成极其复杂的任务。
And Claude has different tools in order to orchestrate these agents inside of the sandbox to use tokens efficiently to do really, really complex work.
这挺厉害的,但目前几乎没人写过这方面的内容。
It's kinda cool and something that just hasn't really been written about a lot.
这其实是一种全新的推理阶段计算方式。
Like this is actually like a new form of test time compute.
当我们讨论规模定律,说模型会随着时间变得越来越智能时,过去通常只看神经网络的规模、训练数据量,以及训练时投入的算力。
Like when we talk about the scaling laws and kinda we talk about the model getting more intelligent over time, historically, it's been a function of the size of the neural net, the amount of training data, and the number of flops that you put in to the training.
最近,我们还加入了推理时计算。
And then recently we also added test time compute.
这其实就是研究人员的一种说法,指的是模型生成了多少令牌。
So this is essentially a fancy way researcher way of saying how many tokens does it generate.
现在,动态工作流成了管理推理时计算的新方式。
And now dynamic workflows are essentially a new way to orchestrate test and compute.
这是一种大幅提升推理时计算量的新方法,专门用来应对特别复杂的任务。
And it's a new way to kinda really, really ramp up the amount of test and compute that you use to do a really hard task.
说了这么多,其实就想说一点。
So this all very long way to say.
这是一种高效且实用的方式,可以同时启动成千上万个代理。
This is one way to launch thousands of agents in a way that is productive and efficient.
另一种方式是循环和例行任务。
A second way to do it is loops and routines.
循环本质上就是一个在云端本地运行的定时任务。
Loop is essentially a cron job that's running locally for Cloud.
例行任务也是一样,只不过是在云端运行。
Routine is the same thing, but it's running the cloud.
你可以把笔记本电脑合上了。
So you can close your laptop.
这跟动态工作流有点不一样,动态工作流是一个任务,拆成几个小块来处理。
And this is like slightly different, because for a dynamic workflow, it's one task and you break it up into chunks.
而循环和例行任务呢,是重复做同一个任务,不共享上下文,但可能会共享内存。
For loops and routines, it's one task that is repetitive, that doesn't share context, but it might share memory.
就这么一遍又一遍地做。
And you kinda do this like over and over.
可以每小时一次,每五分钟一次,或者每天一次。
You can do it like maybe every hour, every five minutes, every day.
所以我们现在开始做的一件事,就是让Claude自己维护自己。
And so the thing that we've started doing is we actually have Claude maintaining itself now.
具体做法是,我们建了一个Slack频道,让Claude自动启动一堆例行任务来维护它的代码库。
And the way we do this is we have a Slack channel where we just had Claude start a bunch of different routines to maintain its own code base.
我们实际上在 CLI、iOS 应用、Android 应用和桌面应用上都这么做了。
And we actually do this for the CLI, for the iOS app, for the Android app, for the desktop app.
比如有一个任务是清理无用代码。
And for example, one routine is clean up dead code.
这只是一个单独的指令。
This is a single prompt.
就一句话的事。
It's like one sentence.
Claude 每天都会执行这个任务。
Claude runs this every day.
它会通过静态和动态分析,在所有代码库中查找无用代码。
It'll look for dead code across all the code bases using static and dynamic analysis.
我们没教过它这么做。
We didn't prompt that.
它自己就琢磨出来了。
It just kinda figured it out.
它每天都会提拉取请求,把那些无用的代码删掉。
And it'll put up pull requests every day to delete the dead code.
另一个例子是发布那些该上线的实验功能。
Another example is shipping experiments that should go out.
这个实验已经全量上线了。
So the experiment's already out to a 100%.
它会自动从代码库中删掉它,然后直接部署上线。
It'll delete it from the code base, and it'll just ship it.
还有一个是为代码中缺乏测试覆盖的区域编写测试。
Another one is writing tests for areas of the code base that need test coverage.
还有一个是删除那些没必要存在的测试,这些测试可能是以前的模型或者某些人随便加的,没什么用。
Another one is deleting tests that don't need to be there because they were kinda useless tests added by older models or added by people at some point.
我特别喜欢的一个是,我忘了我们叫它什么了。
One that one that I really love is this I forget what we called it.
我想我们管它叫‘抽象警察’。
I think we called it abstraction police.
在大型代码库中,经常会出现同样的抽象结构,而且会重复出现好几次。
And the idea is there are often in a big code base, there's kinda the same abstraction, and it appears multiple times.
如果你仔细看,其实它们本该是同一个抽象结构。
And if you kinda squint, it actually maybe should just be the same abstraction.
但不知什么原因,随着时间推移,不同部分的代码里各自重新实现了好几次。
But kind of over time for whatever reason, you rebuilt it multiple ways in different parts of the codebase.
所以 Quad 每天都会在我们所有的代码库中扫描一遍。
So Quad kinda goes out every day across all our codebases.
它会找出这些几乎一模一样的抽象结构,然后把它们统一起来。
It finds these nearly duplicated abstractions and it unifies them.
现在我们每天都有大概二三十个这样的任务在所有代码库中运行,虽然还没完全到位,但我们已经在朝着全自动维护应用的方向前进了。
And so now we have every day, maybe 20 or 30 of these routines that's running across all of our code bases, and it's not totally there yet, but we're on the path to fully automating the maintenance of our apps by doing this.
这背后每天有数百个代理在运行,有时候甚至上千个。
And this is, again, hundreds of agents running every day, sometimes thousands of agents every day.
它干的活儿相当于几十甚至上百个工程师的工作。
It's doing the work of dozens or hundreds of engineers.
以前做这类工作,大概就得花这么多功夫。
This is kind of what it used to take to do this kind of work.
这样一来,工程师们就能专心做他们真正想做的事,比如推出新产品、跟用户交流,或者干点真正有意思的活儿。
And this means that engineers can just like do the thing they actually wanna do, which is ship new products and talk to users and do stuff that's actually fun.
我想,接下来得出的结论是,你之前也提过,基本上编程这个问题已经解决了。
I guess, next conclusion from this, which you have mentioned in the past that basically coding is solved.
对吧?
Right?
你提到过这一点。
You have mentioned this.
我现在很好奇,既然几乎每个人都能写软件了,
I'm curious now that effectively everyone can write software.
那些顶尖的构建者和其他人之间,到底有什么区别?
What separates the exceptional builders from the rest?
在人人都会写代码的今天,到底需要具备哪些素质才能脱颖而出?
What what are the qualities now that everyone can ship code?
我得提一个注意事项。
I I would give, like, one caveat.
我做的这种编程工作,确实已经解决了。
So coding is solved for the kind of coding that I do.
但并不是对所有人都解决了。
It's not solved for everyone.
还是有很多复杂的底层系统代码,开发起来依然很吃力。
You know, there's still code bases that are, like, super deep systems code bases where still struggles.
像分布式系统这种,Claude 也还是搞不定。
There's distributed systems where Claude still struggles.
还有一些特别细碎的界面验证问题,比如差了一个像素之类的。
There's really kinda in the weeds UI verification, like something is off by pixel or something.
Claude 在这些地方还不算完美。
Claude is still not perfect at this.
Opus 5 在视觉和计算机操作上确实进步很大,但依然有不足。
Like, Opus five was a big leap in vision and computer use, but it's still not perfect.
但我很好奇,在座的各位,如果你们100%的代码都是由智能体写的,请举个手。
But I'm actually curious, for people here, maybe raise your hand if a 100% of your code is written using agents.
你们现在完全不亲手写代码了。
You don't write any code by hand anymore.
这已经很不错了。
It's pretty good.
明白了。
Okay.
那超过一半的呢?
How about more than 50%?
举手的人少了一点,大概和之前差不多。
Slightly less hands, maybe about the same.
是的。
Yeah.
所以我觉得,情况正在逐步改善。
So I think it's like it's getting there.
所以现在这种情况正逐渐改善,越来越多类型的代码都能被解决了。
So it's kinda getting to this to, you know, to being solved for more and more kinds of code.
这还挺有意思的。
And that's kinda cool.
当我想到那些最擅长使用Quad的人时,我觉得他们身上有一种特别有效的思维方式。
When I think about the people that are the best at using quad, I think there's a certain mindset that you can bring that's really effective.
关键在于要讲究实证。
And it's really about being empirical.
把过去对其他模型的那些理解都先放一边。
So forget all of the things that you learned about past models.
把课堂上学到的计算机科学理论也先忘掉。
Forget everything that you learned about computer science theory in class.
直接去看模型的表现,试着完成一个任务,看看它在哪卡住了,然后根据实际情况调整。
Look at the model, try to do a task, see where it struggles, and then based on that, adjust.
这已经完全不是一门理论科学了。
So it's just like very much become it's not a theoretical science.
这已经变成一门实证科学了。
It's become an empirical science.
我觉得真正擅长这个的人,都能放下过去的成见,不再纠结于那些以前行不通的想法,愿意重新尝试。
So I think people that are really good at this, that are really good at kind of forgetting their priors, letting go of, you know, this, like, maybe idea that didn't work before and just being open to trying it again.
这种能力现在特别关键,也特别有效。
This is the kind of skill that's just very, successful now.
我最后一个问题是,基于我们刚才聊的,如果这里有学计算机的学生,是在AI智能编程出现之前学编程的,那现在学生还应该坚持哪些传统方式去学习呢?
Now my last question is given everything that we talked about, if there's someone here that's studying CS, and you you learned to program before this era of AI agentic coding, what should students still learn the hard way, like the old way?
对我来说,我是通过实践学计算机科学的。
So for me, I learned computer science practically.
我是为了解决问题,才自学编程的。
I learned it by teaching myself to code in order to solve problems.
每次我学编程,都是为了搞定自己手头的具体问题。
Whenever I was doing this, I was doing it to solve a particular problem that I had.
所以我最早是在TI-83计算器上学会编程的。
So I actually first learned to code on a TI 83 calculators.
那是我上初中的时候。
It was back in middle school.
后来我还在网上写了一篇关于如何给TI-83计算器编程的指南。
And I ended up actually writing a guide on the Internet for programming t I 83 calculators.
现在那篇文章应该还在网上某个地方挂着。
It's still up on the Internet somewhere.
内容很简单。
And it was basic.
那是我学的第一门编程语言。
That was my first language.
我学编程就是为了在数学考试里作弊,好让成绩更好一点。
And I I learned how to program on calculators so I could just like get better at my math tests by by cheating on the test.
说到底,我学这个是有实际目的的。
So it it it was about something practical.
那时候我还是个初中生,觉得这大概是我能想到的最实用的事了。
You know, like, to me as a middle schooler, that was kinda like the most practical thing I could think of.
后来我的成绩越来越好,还弄了个串口线,把程序传给同学,他们也考得特别好。
And I ended up getting good grades, and then I got this little serial cable to give the, you know, the programs to my classmates, and they got really good grades.
再后来,数学题越来越难了。
And then the math got a little bit harder.
光靠Basic语言已经解决不了了。
It wasn't something that I could solve in basic anymore.
我就从当初那个用Basic写的简单代数求解器,慢慢转向处理更复杂的题目。
So I kinda went from this, like, you know, like, maybe algebra solver that was written in basic, and I had to solve harder problems.
等学到微积分的时候,我得写汇编代码,才能做出更厉害的解题工具,好在微积分考试里继续抄近道。
And, you know, like, once we got into calculus, I had to run assemblies so that I could write a better solver so I could cheat better on the test now that it was calculus.
对我来说,编程从来都不是空谈,我一直跟学生说,别光学计算机科学。
And so for me, programming has always been very practical, and I think this is always my advice for people in school is learn not just the computer science.
这门学问确实很烧脑、很有趣,但更重要的是学会怎么用它。
This is, like, intellectually fascinating, and it's really, really interesting to know, but learn how to apply it.
很多时候,这其实跟创业脱不了关系。
And often, this is about building startups.
关键是做出真正有用的产品。
It's about building products.
要学会培养自己的设计感、商业嗅觉,掌握数据分析的方法,学会跟用户沟通。
It's about developing your own design sense, developing your business sense, learning how to you how to do data science, learning how to talk to users.
还有这么多其他技能,一旦把它们和计算机科学与工程结合起来,价值就立刻翻倍了。
There are all these other skills, and when you combine it with computer science and engineering, that's where it becomes really, really valuable.
所以这些才是我至今仍坚持亲手去做的硬技能。
So those are the hard skills that I would still be doing by hand.
所以如果我理解得没错,你建议先为自己做一个你真正想要的东西,然后再升级,做出别人也想要的东西。
So if I'm hearing and summarizing, start with making something you want first for yourself and then level up and make something people want.
对。
Yes.
最后还有一个特别的公告,博里斯。
And we just have one last special announcement, Boris.
你还有什么想说的吗?
You wanna one one last thing?
对。
Yeah.
所以今天在场的每个人,都能获得 Max 20 倍的优惠。
So for everyone here today, you are getting Max 20 x.
请查收你们邮箱里的优惠码,我真的很期待看到你们会做出什么来。
So look for look for a code in your email, and I can't wait to see what you build.
我们现在就给你们发送。
We'll be sending you now.
我很好奇。
So I'm curious.
在座的某个人,现在有了这个账号,应该已经开始打造一个能持续运行好几个月、支持成千上万个代理的项目了。
Someone in this room should be building something that runs hopefully multiple months and thousands of agents now that you have the account to do it.
最后,非常感谢你,Boris。
And with that, thank you so much, Boris.
谢谢。
Thank you.
谢谢。
Thank you.
关于 Bayt 播客
Bayt 提供中文+原文双语音频和字幕,帮助你打破语言障碍,轻松听懂全球优质播客。