Go back

Boris Cherny: Building Claude Code

36m 13s

Boris Cherny: Building Claude Code

In this interview, Boris, creator of Claude Code, discusses the release of Opus 5 and its transformative capabilities. The model achieves unprecedented performance, including a 30% score on ARC AGI, and can run for extended periods without scaffolding, autonomously completing complex tasks. A major breakthrough is its resistance to prompt injection, achieved through three layers of defense: alignment research, a prompt injection classifier based on mechanistic interpretability, and auto mode, which red teaming has failed to bypass. Consequently, Claude Code deleted 80% of its system prompt, as the model performs better with less instruction, and simple mode allows full deletion for ablation testing. Boris emphasizes a scientific, iterative approach to building agent products: delete prompts, test, and reintroduce only what’s necessary, since each model generation behaves differently. Evals, while useful, are short-lived and often saturated quickly, requiring constant renewal. He introduces "product overhang" and "unhobbling," where models have untapped abilities that products often block. Examples include rewriting Bun from Zig to Rust in 11 days using a dynamic workflow and using Opus 5 with OpenCV to draw, showcasing unexpected skills. The key takeaway is to give models harder tasks, experiment freely, and focus on eliciting capabilities rather than over-engineering prompts. This approach, which founded Claude Code, offers vast opportunities for founders to unlock model potential and create innovative products.

Transcription

6548 Words, 34818 Characters

English
[MUSIC PLAYING] All right, Boris, we're so excited to have you here, the creator of "Flat Code." Thank you. [APPLAUSE] It's great to be here. Fresh off the press, you guys just shipped Opus 5 yesterday. Yes. [APPLAUSE] And it seems that model performance keeps accelerating. You guys got-- took Arc AGI 3 to 30%, which is incredible. Yes. And for context, before the best score was in the low single digits or low teens, right? What can Opus 5 do now that it could him versus a previous version? Yeah, 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 just kind of learned. 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. And especially when you combine Opus 5 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 a 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 going to start, I think, to talk about a little bit more. But it's kind of surprising because it's such a new capability is the model does not seem to be prompt injectable anymore. That's prompt injectable. It's crazy. Like people have talked about this lethal trifactive for a long time. And this really affects kind of harness design at each and design and product design. Because if the model reads some instruction on the internet, that's like, 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. But nowadays, Opus does not. And this has actually been the case since Opus 4.7, 4.8. Sonnet 5 has been quite good at this. Pables quite good at it. But Opus 5 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. And what this is doing is it's based on Chris Olas mechanistic interpretability work, where 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 a red teaming. We've done competitions. No one can demonstrate it. And so I'm actually quite curious if people are able to. And that'll be actually a really amazing signal for the research team. So if anyone in this room, prompt injection, the other side of the coin is now the system prompt. Let's talk a bit about the new release. You actually deleted over 80% of the system prompt from clock code. Yes. Tell us more about that. I think something that a lot of people might not realize is cloud 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. And so one thing about OPAS 5 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. Now OPAS 5 just does it. So yeah, we deleted 80% of the system prompt. You can actually try deleting the rest of it too. So when you run cloud code, you can just do like dash dash system prompt and set whatever system prompt you want, if you want to experiment with it. And another thing that you can try is simple mode. So this is actually this kind of undocumented feature. If you do cloud code simple equals one like this environment variable, and then you run cloud, 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. But when you use quad code as a product, you do actually want some of these prompts because it helps you use the product. And it helps the product behave and the model behave in the way that you would want when you're using it as a person. I think the thing that's really fascinating in this era of building basically, you'll build the best hardness in the world for for cloud and that's cloud code. From what I'm hearing, you for every model released, 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 started to be done for the product. It's like, press delete every six months for everything. That's right, that's right. So to be fair, we don't delete the entire code base, but we do delete a lot. So every time there's a new model, we try-- we call it in research, you 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 the ablation essentially it's an eval, but you delete things to figure out the impact. And yeah, we do the same thing for tools. We unshipped tools all the time. We delete code in the harness all the time. If you look at actually the code that's in the cloud 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. Do you think this way of building a agent product and harness and basically doing ablations every time with a-- there's a new model release. Should everyone in this room that's building AI products basically do that, be comfortable and brave to press delete? 100%. Yeah. And for people that aren't building agent products, but you're using cloud code, every six months, delete your bottom D. Delete your skills. Delete your hooks. See what the model does. And it might surprise you. And actually for Opus 5, this is something we really do recommend is just try to waiting 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. When there's a new model release, like for everyone in the room, everyone will want to try Opus 5. And they're going to 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 it kind of piece by piece. So the first step is you delete. The next step is you use it. And you don't want to guess what's the instruction that the model needs, because you might not predict it correctly. The thing that you want to do is you want to run it. And if it's like a custom agent product that you're building, you want to run the product, you want to see where it fails with the model, you want to see what it does well. If you're using quad code, you want to see where it does well with your code base, or maybe where it stumbles over the architecture or stumbles over something else. And only when you see it, repeated we stumble on the same thing. That's when you add it back. But you don't want to do it too early. Because remember, the model is going to read this instruction every single time you use it. So you really want to make sure that the model needs this instruction. 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 big, beautiful systems. And you really think about the system design up front. You have a big suite of unit tests. You think about everything. And a re-architecture is a big project. It's sometimes it takes months. I've worked on re-architecture products at big companies that take years. And the model is not like that. The way to think about it is almost like a living creature, 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 think it's just very much like an empirical one. Kind of 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 you vows? Something that you keep from the previous models, and keep using them in each new model release? We do until we max out. about the eval. So that's sort of the tip for everyone. So code and system from, if you want to build up the bleeding edge and have the most capability for models, you've got to delete those. But evals are constant and keep appending to them, basically. Yeah, you keep appending. What happens is-- I actually wouldn't even go this far to be honest. I think evals, they outlive the harness a little bit, but not by that much. Like an eval might live for maybe one, two, three model generations. But now it is that 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, and 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 eval set that you should build. I think one, one term I heard you describe how to build the best agentic products on top of a plot is this concept of a unhobbling plot. And tells more about what that means. Yeah, so hobbling is this idea and a research that the model is doing something, and you're just getting in the way. There's this kind of way of thinking about it that I really like-- it's very useful when you're building product. And it's called product overhang. And 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 maybe use a particular tool, use a particular language, solve a particular problem, do things a particular kind of way that we thought was kind of 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 that we call this hobbling, and then not eliciting the correct behavior from the model will be called this product overhang. So it's kind of like two sides of the same thing. One example of this was the original product code. When I first started working on it, this was like a year and a half, two years ago, something like that. This was like Psalm 3.5. At the time, that was an incredible coding model. That was like the best coding model that exists. Now it is a pretty terrible coding model by modern standards. But I think that was like the first great coding model that we built as a product. And at the time, if you looked at the coding products of the time, what were they doing? They were doing like single line autocomplete. They were doing sometimes multi-line autocomplete. That was sort of a new idea. They were doing chat. So you can talk to the agent, but it wasn't right 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. And so the deal with quad code was, all right, we think the model can probably do this. But if we get rid of all this 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 was kind of it. Like that was the product overhang of the time. The model was capable of doing something and everything was just kind of getting in the way. I think that nowadays, with modern models, there's so much product overhang that I'm not saying start-ups capture. And I think there's people thinking about these problems, but there's just a huge amount of opportunity to elicit these behaviors from the model that are just like amazing and interesting and commercially valuable. I think this is such a special insight for everyone here in the room. Basically, all of you could create the next cloud code if you figure out how to unhobble the models because that's effectively the first story of cloud code. You unhobble Sonic 3.5 because all the previous iterations were still getting the model very rigid and idease. And cloud code was one of the first instances that gave it just a full terminal access. And that then created this amazing product just that keeps going. So let's talk about what are some areas and how should future founders here think about unhobbling cloud and fixing this product overhang? - So there's a couple of things that I will think about. One is you should give the model slightly harder tasks than what you think you can do. I think a really common mistake that I see is people are using cloud code, they're using cloud and they just give it way overweat specific instructions. They're like, "I want you to do this, "but I want you to do it in this way, this way, this way." You must do like one and two, then three, then four. And for modern models, that's actually really not the way to do it. You want to go a little bit higher level. You want to describe the tasks, you want to describe the guard rules, you want to describe the exit criteria, and then just go at the model cook and come back in a little bit. And I think it'll surprise you. And again, this is just not something that would have worked six months ago, but it does work today. - Can you give some examples of these challenging tasks 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. 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. So one example of this is Cloud Code is built on the bun JavaScript runtime. It's an open source JavaScript runtime. It's an alternative to Node.js, it's kind of a faster node. Bun was written in ZIG. ZIG is a systems programming language. It's kind of like C, it's very well level. One of the problems with ZIG is you have to manually manage memory. And so it's quite easy to run into situations where there's like memory weeks and other memory management issues. And so one thing that the bun team was doing is they were having Clawed fuzz the code base and try to simulate and trigger memory weeks, and they were doing this for a long period of time. They were able to find a lot of memory weeks. 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 fuzz thing. 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 think this is like one of these test problems that he kind of threw at the model with every new model generation. And starting with Fable, the model started to be able to do it. And so I think Opus 5 could do it as well. And so what he did was essentially he defined a test suite. The nice thing about bun is it's very, very well tested. There's a big test suite in bun. There's a big test suite in Node.js. So it's easy to know if you did the right thing. And he had the model rewrite it from Zig to Rust. It was one prompt. It was a dynamic workflow. And a dynamic workflow is our feature in quad code that essentially let you orchestrate dozens, hundreds, thousands of agents to do work productively. And it ran for 11 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 with a steering, it just wouldn't have been possible. Just 11 days. Oh my god. This would have taken in the past, even with the best engineers, multiple months years. Definitely over a year. Yeah, over a year. This was like over 100,000-- JavaScript runtimes really complicated. There's a lot of stuff in there. And yeah, it works. This is in production out. This is what quad code uses now. When you're running it. So this is kind of one example. I would give a second example, so a product overhang. And so this is like a practical use case where there's a problem you're solving. It's like a business problem and 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 freedom to play with the model and do creative things. Often it'll surprise you. So something that's actually been really popular at an internally that's been kind of viral within an anthropic the last couple of weeks is someone figured out that you can give Opus 5 OpenCV. And you can have a draw. And so something you can do is you can ask Opus like, hey, use OpenCV to draw this image. And it's actually quite good. It can do portraits. It can draw animals. It can do landscapes. And we didn't train the model to draw. It's just like the solicitation gap. If you ask it to do it the right way, you can just do it. And we discover this kind of accidentally just by playing around and trying creative things that didn't have direct commercial applications. But it's just kind of 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 more and more. really good at figuring out all these capabilities and asking the model to 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 remember like a year ago, one of the most popular job openings was prompt engineer. And then it kind of changed and I think it became like context engineer. So there's these kind of waves of it. I think these will kind of like come and go. I think the skill nowadays is less about prompt engineering and more about figuring out how do you give quite a hard task that seems a little bit too hard. And then how do you make it possible for caught 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 virtually. One example of this is people were, you know, we have this desktop app for caught 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 Svagesh 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? And so what I did is I started a quad tag session and quad tag is just, you know, it's a new product we have. It's just quad running and Slack. My first question was, hey, tag, do you have access to a Mac OS runner on GitHub? And it said no. And then I hooked up a runner so it was able to start a Mac virtual machine using GitHub. And then my second question is, I created this like empty code base that was a quad desktop app rewritten and switched. And I asked, can you access this code base? It said no. And then I gave it access and it was like, okay, great. Now I have access. And then I was like, okay, now I want what I want you to do is I want you to rewrite the electron app in 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. And how long did this take to run? It's still running. When did you start it? It's been a little over two weeks. It's like 14 days, 15 days. Yeah, so I don't know if anyone in the audience has gotten clock to run a it's asked for more than two weeks. I don't know, raise your hand anyone in the audience. This is like one of these, this is about a listitation. 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. You don't need slash go. You don't need slash group. 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 will just go. And actually in this case, Quattro also decided to live block it. So what it did is it created a Slack channel internally and it's sort of disposing screenshots every few minutes of its progress. Wow. So the prompt sound is so simple. I mean, everyone here could do it. And I guess what is separating the people here that can become the top 1% clock users? How could people learn to use clock code like Boris? Maybe like, don't listen to the LinkedIn influencers. So listen to it. Drone's wheat 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. 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 give it an mcp so it can pull in the context 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 overengineer because I think in a lot of ways like when we build systems in the past that's the way you have to do it. So when I look at engineers that have been coding for a long time like for years or for decades this is a really, really common failure mode is trying to overspecify and it's trying to be overweigh specific and get the model to do the task exactly the way that you would have done it and 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 unburn it and it's a journey to kind of figure out how do you treat this thing like you would a coworker. I think that's the level of intelligence that it's now. And as part of this let's go deeper into this task is still running two weeks since you launched it a go two weeks ago. How many agents did it spawn? No I'm not sure. I can ask for it and then I can get back to it. I would guess thousands tens of thousands. Has anyone in the audience had a prompt to run you the models that spawn more than a thousand agents? I think this is another of the tips like the best quad 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's a few different ways to do it. The easiest way is dynamic workflows. To use dynamic workflows is a fairly new feature in quad code and all you have to say is use a workflow. That's it. And then quad would just trigger the dynamic workflow. What it did in my workflow is essentially we have the bun run time. We use bun as a sandbox and we start a virtual machine within bun. And we let quad start a lot of agents and orchestrate them. And it doesn't just do one agent. It doesn't just do like 10 parallel agents. What it might do is let's see a task as I can rewrite the code base or do really in depth data analysis or some really complicated data or maybe build a very complex feature that takes multiple stages and maybe dozens of forward quests. And so what it's going to do is it's going to 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 kind of productively orchestrate a bunch of different agents. So my background is functional programming. And so the way that we design this is essentially an algebra for agents. So there's a way to run agents in sequence. There's a way to run agents in parallel. And quad 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 kind of cool and something that just hasn't really been written about a lot. Like this is actually like a new form of test-em compute. Like when we talk about the scaling laws and kind of we talk about the model getting more intelligent over time. Historically, it's been a function of the size of the neurone that the amount of training data and the number of flops that you put in to the training. And then recently we also added test-em compute. So this essentially a fancy researcher way of saying how many tokens does it generate. And now, dynamic workflows are essentially a new way to orchestrate test-em compute. And it's a new way to kind of really, really ramp up the amount of test-em compute that you use to do a really hard task. So this is all very one 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 quad. Routine is the same thing but it's running the cloud in the cloud. So you can close your laptop. And this is like slightly different because for 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 in my chair memory. And you kind of do this like over and over. You can do it like maybe every hour, every five minutes, every day. And so the thing that we've started doing is we actually have quad maintaining itself now. And the way we do this is we have a swag channel where we just had quad start a bunch of different routines to maintain its own code base. 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. Quad 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 kind of figured it out. And it'll put up a request every day to delete the dead code. Another example is shipping experiments that should go out. So the experiments are ready out to 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 kind of useless tests added by older models or added by people at some point. One that I really love is this, I forgot 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 kind of the same abstraction and it appears multiple times. And if you kind of went, 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 code base. So Quad kind of goes out every day across all our code bases. It finds these near-weeper and it unifies them. And so now we have every day, maybe 20 or 30 of these routines, it'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, you know, 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 want to do, which is shifting products and talk to users and do stuff that's actually fun. I guess makes a 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 are the qualities now that everyone can ship code? I would give like one caveat. So coding is solved for the kind of coding that I do. It's not software everywhere. You know, there's still code bases that are like super deep systems code bases, where quad-store struggles. There is distributed systems, where quad-store struggles. There's really kind of in the weeds you have your application, like something is off by pixel or something. But it's still not perfect at this. Like, Opus 5 was a big leap in vision and computer use, but it's still not perfect. But I'm actually curious. For people here, maybe raise your hand if 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 kind of getting to this to, you know, to being solved for more and more kinds of code. And that's kind of cool. 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 the things that you learn about past models. Forget everything that you learned about computer science theory and 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, very successful now. Now my last question is given everything that we talked about. If there's someone here that's studying CS. You learned a program before this era of AI, eugenic 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. So I actually first learned to code on a TI 83 calculators. This back in middle school and I did actually writing a guide on the internet for programming TI 83 calculators. It's still off on the internet somewhere. And it was a, it was basic that those my first language. And I, I learned how to program on calculators. So I could just like get better at my math test by, by cheating on the test. So it was about something practical. You know, like, to me as a middle school, where that was kind of 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. It wasn't something that I could solve in basic anymore. So I kind of went from this like, you know, like maybe algebra solver that was written basic. And I had to solve harder problems. And, you know, like once we got into calculus, I had to learn assembly 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 we're not out by 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 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 for us. You want to one last thing. Yes. So for everyone here today, you are getting max 20x. [Cheering] Very good. So look for a quote in your email. And I can't wait to see what you built. What is something you know? [Cheering] 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 their account to do it. And with that, thank you so much for us. Thank you. Thank you. [Cheering]

Podcast Summary

Key Points:

  1. Opus 5, newly released, achieves 30% on ARC AGI, up from low single digits, and runs autonomously for days, weeks, or months without scaffolding.
  2. The model is no longer prompt injectable, thanks to alignment research, a prompt injection classifier, and auto mode, with red teaming failing to bypass it.
  3. Claude Code deleted 80% of its system prompt for Opus 5, as the model is more intelligent without it; simple mode allows full deletion for testing.
  4. Building agent products requires empirical iteration
  5. Evals are temporary, often saturated within a few model generations, so they must be constantly replaced and updated.
  6. "Product overhang" and "unhobbling" mean models have untapped capabilities; giving them harder tasks, like rewriting a codebase, can unlock huge value.
  7. Examples include rewriting Bun from Zig to Rust in 11 days via a dynamic workflow, and using Opus 5 with OpenCV to draw images, showcasing unexpected skills.

Summary:

In this interview, Boris, creator of Claude Code, discusses the release of Opus 5 and its transformative capabilities. The model achieves unprecedented performance, including a 30% score on ARC AGI, and can run for extended periods without scaffolding, autonomously completing complex tasks. A major breakthrough is its resistance to prompt injection, achieved through three layers of defense: alignment research, a prompt injection classifier based on mechanistic interpretability, and auto mode, which red teaming has failed to bypass.

Consequently, Claude Code deleted 80% of its system prompt, as the model performs better with less instruction, and simple mode allows full deletion for ablation testing. Boris emphasizes a scientific, iterative approach to building agent products: delete prompts, test, and reintroduce only what’s necessary, since each model generation behaves differently. Evals, while useful, are short-lived and often saturated quickly, requiring constant renewal.

He introduces "product overhang" and "unhobbling," where models have untapped abilities that products often block. Examples include rewriting Bun from Zig to Rust in 11 days using a dynamic workflow and using Opus 5 with OpenCV to draw, showcasing unexpected skills. The key takeaway is to give models harder tasks, experiment freely, and focus on eliciting capabilities rather than over-engineering prompts.

This approach, which founded Claude Code, offers vast opportunities for founders to unlock model potential and create innovative products.

FAQs

Opus 5 is the latest model from Anthropic, showing significant improvements like running for days, weeks, or months without scaffolding and being resistant to prompt injection attacks. It also excels at tasks like rewriting entire codebases and drawing with OpenCV.

Opus 5 is no longer prompt injectable, meaning it won't follow malicious instructions from external sources. This is achieved through a combination of alignment research, a prompt injection classifier, and an auto mode classifier, making it a new frontier in security.

The system prompt was reduced because Opus 5 is more intelligent and doesn't need the corrective instructions required by previous models. Deleting the prompt, through a process called ablation, showed the model performs better without it, though some prompts remain for product usability.

Start by deleting the entire system prompt and using the model, then add instructions back line by line only when you observe repeated failures. This empirical approach ensures you only include necessary guidance, avoiding unnecessary overhead.

Product overhang refers to the gap between what a model can do and what current products allow it to do. Hobbling is when the product or scaffolding gets in the way of the model's capabilities. Unhobbling involves simplifying the harness to let the model express its full potential.

Yes, the Bun team used Claude with a dynamic workflow to rewrite the entire Bun JavaScript runtime from Zig to Rust in 11 days, a task that would have taken over a year for engineers. This was done with one prompt and minimal steering, showcasing the model's advanced coding ability.

Chat with AI

Loading...

Pro features

Go deeper with this episode

Unlock creator-grade tools that turn any transcript into show notes and subtitle files.