Full episode · 1 h 10 m
The Secrets of Claude Code From the Engineers Who Built It
Cat Wu and Boris Cherny say Claude Code grew by solving engineers’ own problems and staying open to new uses.
AI & I · Dan Shipper
- Cat Wu · Head of product, Anthropic
- Boris Cherny · Creator of Claude Code, Anthropic
The best minutes
- 26:11Turn past code and mistakes into compounding leverage7 min
- 21:43Use parallel agents to migrate code and filter false positives5 min
- 2:20Claude Code began as a lightweight terminal prototype5 min
Also worth watching
- 15:46A throwaway build can clarify a feature before planning5 min
- 33:09Latent demand shows what to build next4 min
- 40:57Agentic search avoids stale indexes and simplifies deployment4 min
- 45:01The next coding models may run autonomously for days3 min
- 7:57Anthropic's internal dogfooding gives Claude Code rapid feedback6 min
Skip the sponsor read, the later discussion of simplifying prompts, prototypes and demos, and the closing exchange about imitation and unshipping.
Summary · 5 min read
The YouTube description identifies Cat Wu and Boris Cherny as Claude Code’s creators at Anthropic. Wu says she focuses on pricing, packaging, and feature launches, while Cherny sets technical direction and has driven many product features.
Wu and Cherny say Claude Code began as an internal terminal prototype, not a planned replacement for the IDE, and that giving the model access to Bash made the approach useful. They describe Anthropic’s dogfooding, simple tool design, and extensibility as ways to learn from users and turn their workflows into product features. They say agents can use codebases, sub-agents, and agentic search to handle complex work, while permissions, planning, and human review still matter. They expect coding interfaces to keep changing and say product teams must balance fast prototyping with intuitive design and the willingness to remove features.
Minute by minute
- 2:20
Claude Code began as a prototype. Cherny says Claude Code grew out of an experiment, not a plan to replace the IDE. After his manager rejected a hand-written PR, he tried the predecessor Clyde; although it was slow and needed fixes, it showed him that a model could handle a coding task. He later built a terminal chat prototype and found that giving the model Bash let it use tools on its own.
- 5:47
Keep the toolset simple. Wu and Cherny say Claude Code has a dozen or so tools, which the team adds and removes regularly. They cite a dedicated search tool for clearer results and permission controls, but say they removed the LS tool once Bash could enforce directory permissions. Fewer tools also mean less choice for the model and less in its context.
- 6:59
Dogfooding surfaces product needs. Wu says Cherny sets technical direction, while she focuses on pricing, packaging, and feature launches. She says 70% or 80% of Anthropic’s technical employees use Claude Code every day, with internal feedback arriving about every five minutes. The team develops features from employees’ own needs, then tests them internally.
- 13:59
Commands structure feature work. Wu describes slash commands that bundle steps, pre-authorize specific tool calls, and can use a faster, cheaper model. Cherny says the team’s feature-development command walks Claude through requirements, a plan, and a to-do list. Shipper says he sometimes first lets Claude attempt an underspecified feature, then uses what it learned to write a better plan.
- 18:51
Build for the strongest model. Wu says the team prioritizes a premium experience with its strongest model rather than optimizing first for smaller models. Cherny says he removed about 2,000 tokens from the system prompt because Sonnet 4.5 no longer needed guidance that Opus 4.1 had needed. He says researchers use Claude Code and share feedback through evaluations, especially on tasks that reveal differences between models.
- 21:43
Sub-agents tackle parallel work. Cherny says he uses planner and code-review sub-agents, and that teams use multiple agents for large migrations. One command assigns agents to check codebase rules, Git history, and likely bugs, then uses more agents to filter false positives. Shipper describes using separate agents to debate expense claims, while Wu is testing a Playwright-based front-end tester.
- 26:11
Past code becomes leverage. Shipper says teams can inspect other products’ code or open-source projects to reuse patterns without first building a formal API. Cherny says Claude Code can query version-control systems for prior implementations, while some employees have agents write task diaries and synthesize lessons from them. Shipper describes a compounding-engineering process that turns lessons into prompts, tests, sub-agents, and slash commands.
- 33:09
Extensibility reveals latent demand. Wu says Claude Code exposes extension points such as slash commands and hooks, while plugins help users bring them into their workflows. Cherny says the team looks for latent demand by making a product hackable and watching how people use it. He recalls Facebook profile-view patterns and buy-sell posts in groups as signals that informed product ideas, and says user requests for Slack notifications led the team to expose hooks.
- 36:33
The agent works beyond coding. Wu says the team saw people use Claude Code for blogging, email assistance, and market research, and that thousands of companies were already using its SDK for non-coding tasks. Cherny describes internal uses including issue deduplication, first-pass fixes, and collecting logs. He says these tasks work because the agent can run code and use tools such as Bash.
- 40:57
Agentic search avoids index upkeep. Wu says the team initially used vector embeddings but found them difficult to keep current with code changes and local edits, and saw security risks in enterprise deployments. She says agentic search can reach similar accuracy with a cleaner deployment story, while users can connect their own semantic-search index through an MCP tool. Cherny says plan mode can raise success rates two to three times; he also recommends shared settings and stop hooks.
- 45:01
The CLI is not the final interface. Wu and Cherny say the team is experimenting with a CLI, IDE extensions, GitHub, and web and mobile access. Cherny says model autonomy is now measured in double-digit hours, with the latest model around 30 hours and a future model potentially reaching days. He expects longer-running agents to need remote environments and interfaces for people to inspect and coordinate them.
- 47:53
GUI access can lower the barrier. Shipper says the terminal can intimidate non-technical users; Wu says a marketing teammate encountered 30 permission pop-ups on a first attempt. Wu describes the VS Code GUI extension and Claude Code on the web as easier starting points, while saying the team remains focused on software engineering. She also says some engineers are learning to use the terminal through the product.
- 55:11
Demos speed up product iteration. The guests say demos have become an important way to communicate work because people can understand a product by seeing it in use. They describe building and rebuilding prototypes to test how an interaction feels, then carrying forward useful patterns such as shift-tab. Cherny says the team is still working out how to teach models the product judgment involved in removing anything that does not solve the user’s problem.
- 1:00:54
More output makes editing matter. Wu says Anthropic roughly doubled in size since January while productivity per engineer rose almost 70%; she says PRs are the simplest measure, but do not capture easier prototyping or features teams would not previously have attempted. The guests say increased output also raises the need for code review and product coherence. Shipper describes Instagram’s willingness to remove features with low usage, while Cherny says an unshipped feature should be replaced with something better.
Published Oct 29, 2025.
Transcript · 1 h 2 m read
AI & I, hosted by Dan Shipper, with Cat Wu and Boris Cherny.
From the transcript AI & I publishes with the episode.
- 0:00
What made it work really well is that QuadCode has access to everything that an engineer does at the terminal. Everything you can do, QuadCode can do. There's nothing in between. There's actually an increasing number of people internally at Anthropic that are using a lot of credits, spending over a thousand bucks every month. We see this like power user behavior. This is something that they teach in YC. If you can solve your own problem, it's much more likely you're solving the problem for others. There's this like really old idea and product called latent demand. You build a product in a way that is hackable, that is kind of open-ended enough that people can abuse it for other use cases it wasn't really designed for.
- 0:31
And you build for that because you kind of know there's demand for it. Do you think the CLI is the final form factor? Are we going to using cloud code in the CLI primarily in a year or in three years? Or is there something else that's better? This podcast is sponsored by Google. Hey, folks, I'm Ammar, product and design lead at Google DeepMind. We just launched a revamped vibe coding experience in AI Studio that lets you mix and match AI capabilities to turn your ideas into reality faster than ever. Just describe your app, and Gemini will automatically wire up the right models and APIs for you.
- 1:18
And if you need a spark, hit I'm feeling lucky, and we'll help you get started. Head to ai.studio slash build to create your first app. Kat, Boris, thank you so much for being here. Thanks for having us. Yeah. So for people who don't know you, you are the creators of Claude Code. Thank you very much from the bottom of my heart. I love Claude Code. That's amazing to hear. That's what we love to hear. Okay, I think the place I wanna start is, when I first used it, there was like this moment, like I think it was around when Sonnet 3.7 came out, where I was like, I used it and I was like, holy shit, this is like a completely new paradigm.
Read the whole transcript
- 1:58
It's a completely new way of thinking about code. And the big difference was you went all the way and just eliminated the text editor. And you're just like, all you do is like talk to the terminal. And that's it. And, you know, previous paradigms of AI programming... previous harnesses have been like you have a text editor and you have the AI on the side and it's kind of like, or it's a tab complete. So take me through like that decision process, that process of architecting this new paradigm. How do you think about that? Yeah, I think the most important thing is it was not intentional at all.
- 2:38
Okay. We sort of ended up with it. So at the time when I joined Anthropic, we were still on different teams at the time. There was this previous predecessor to QuadCode. It was called Clyde, like C-L-I-D-E. And it was this like research project. You know, it took like a minute to start up. It was this kind of like really heavy Python thing. It had to like run a bunch of indexing and stuff. And when I joined, I wanted to ship my first PR. And I hand wrote it like a noob in the time. I didn't know about any of these tools. Thank you for admitting that on the podcast. I didn't know any better. And then I put up this PR.
- 3:17
And Adam Wolf, who was the engine manager for our team for a while, he was my ramp up buddy. And he just rejected the PR. And he was like, you wrote this by hand? What are you doing? He was Clyde. Because he was also hacking a lot on Clyde at the time. and so I tried Clyde I gave it the description of the task and it just like one shot at this thing and this was like you know sonnet 3.5 so I still had to fix the thing even for this kind of basic task and the harness was super old so it took like five minutes to turn this thing out and just took forever and um but it but it worked and I was just mind blown that this this was even possible and they just kind of got the gears turning maybe you don't actually need an IDE and And then later on, I was prototyping using the Anthropic API.
- 4:03
Boris ChernyAnd the easiest way to do that was just building a little app in the terminal because that way I didn't have to build a UI or anything.
- 4:10
And I started just making a little chat up. And then I just started thinking, maybe we could do something a little bit like Clyde. So let me build like a little Clyde. And it actually ended up being a lot more useful than that without a lot of work. And I think the biggest revelation for me was when we started to give the model tools, they just started using tools. And it was just, it was this insane moment. Like the model just wants to use tools. Like we gave it bash and it just started using bash, writing Apple script to like automate stuff. in response to questions. And I was like, this is just the craziest thing.
- 4:43
I've never seen anything like this. Because at the time I had only used IDEs with like text editing, a little like one line autocomplete, multi-line autocomplete, whatever. So that's where this came from. It was this kind of convergence of like prototyping, but also kind of seeing what's possible in kind of like a very rough way. And this thing ended up being surprisingly useful. And I think it was the same for us. I think for me, it was like kind of Sonnet 4, Opus 4, that's where that magic moment was. Where it's like, oh my God, this thing works. That's interesting. So tell me about the tool moment, because I think that is one of the special things about Cloud Code, is it just writes Bash and is really good at it.
- 5:24
And I think a lot of previous agent architectures, or even anyone building an agent today, your first instinct might be... Okay, we're going to give it a find file tool, and then we're going to give it a open file tool. And you build all these like custom wrappers for, you know, all the different actions you might want the agent to take. But CloudCo just uses Bash, and it's like really good at it. So how do you think about what you learned from that? Yeah, I think we're at this point right now where QuadCode actually has a bunch of tools. I think it's like a dozen or something like this. We actually like add and remove tools most weeks.
- 5:59
So this changes pretty often. But today there actually is a search, there's a tool for searching. And we do this for two reasons. One is the UX, so we can show the result a little bit nicer to the user because there's still a human in the loop right now for most tasks. And the second one is for permissions. So if you say in your like quad code, like settings.json, this file you cannot read, we have to kind of enforce this. We enforce it for bash, but we can do it a little bit more efficiently for if we have a specific search tool. But definitely we want to like unship tools and kind of keep it simple for the model.
- 6:34
Like last week or two weeks ago, we unshipped the LS tool. Because in the past we needed it, but then we actually built a way to enforce this kind of permission system for Bash. So in Bash, if we know that you're not allowed to read a particular directory, Quad's not allowed to elicit that directory. And because we can enforce that consistently, we don't need this tool anymore. And this is nice because it's a little less choice for Quad, a little less stuff in context. Got it. And how do you guys split responsibility on the team? I would say Boris sets the technical direction and has been the product visionary for a lot of the features that we've come out with.
- 7:12
I see myself as more of a supporting role to make sure that, one, that our pricing and packaging resonates with our users, two, making sure that we're shepherding our features across the launch process so... from deciding, all right, these are the prototypes that we should definitely ant food, to setting the quality threshold for ant fooding, through to communicating that to our end users. And there's definitely some new initiatives that we're working on that I would say historically, a lot of quad code has been built bottoms up, like Boris and a lot of the core team members have just had these great ideas for to-do lists, sub-agents, hooks, all these are bottoms up.
- 7:53
As we think about expanding to more surfaces and bringing quad code to more places, I think a lot of those are more like, all right, let's talk to customers. Let's bring engineers into those conversations and prioritize those surfaces and knock them out. Got it. What is AMP fooding? Oh, ant fooding is... Oh, ant fooding? Oh, it means dog fooding. Anthropic ant. I got it. Yeah, our nickname for internal employees is ant. And so ant fooding is our version of dog fooding. Internally, over...
- 8:28
Cat WuI think 70% or 80% of ants, technical anthropic employees, use Kali code every day.
- 8:34
And so every time we are thinking about a new feature, we push it out to people internally, and we get so much feedback. We have a feedback channel. I think we get a post every five minutes. And so you get really quick signal on whether people like it, whether it's buggy, or whether it's not good and we should unship it. You can tell. You can tell that someone that is building stuff is using it all the time to build it. Because like it's ergonomics just makes sense if you're trying to build stuff and that that only happens if you're like ant fooding. Yeah. And I think that that's a really interesting paradigm for building new stuff like that sort of bottoms up.
- 9:17
I make something for myself. Tell me about that. Yeah, and Cat is also so humble. I think Cat has a really big role in the product direction also. Like, it comes from everyone on the team. And, like, these specific examples, this actually came from everyone on the team. Like, to-do lists and sub-agents, that was Sid, Hooks, Dixon shipped that, plugins, Daisy shipped that. So, like, everyone on the team, like, these ideas come from everyone. Yeah. And so I think for us, like we build this core agent loop and this kind of core experience, and then everyone on the team uses the product all the time.
- 9:50
And so everyone outside the team uses the product all the time. And so there's just all these chances to build things that serve these needs. Like for example, like bash mode, you know, like the exclamation mark and you can type in bash commands. This was just like many months ago, I was using quad code and I was going back and forth between two terminals and just thought it was kind of annoying. And just on the way my ass quad to kind of think of ideas, I thought of this like exclamation mark bash mode. And then I was like, great, make it pink and then ship it. It just did it. And like that's the thing that's still kind of persisted.
- 10:20
And, you know, now you see kind of others also kind of catching on to that. That's funny. I actually didn't know that. And that's extremely useful because I always have to open up a new tab to like run any bash commands. So you just you just do an exclamation point and then it just like runs it directly instead of filtering it through all the cloud stuff. Yeah. And quad code sees the full output too. Interesting. That's perfect. So anything you see in the Cloud Code view, Cloud Code also sees. Okay, that's really interesting. And this is kind of a UX thing that we're thinking about. Like in the past, tools were built for engineers, but now it's equal parts engineers and model.
- 10:51
And so as an engineer, you can see the output, but it's actually quite useful for the model also. And this is part of the philosophy also, like everything is dual use. So for example, the model can also call slash commands. So I have a slash command for a slash commit, where I run through kind of a few different steps, like diffing and generating a reasonable commit message and this kind of stuff. I run it manually, but also Claude can run this for me. And this is pretty useful because we get to share this logic. We get to kind of define this tool, and then we both get to use it. Yeah. What are the differences in designing tools that are dual use from designing tools that are used by one or the other?
- 11:31
Surprisingly, it's the same. Okay. So far. Yeah. I sort of feel like this kind of elegant design for humans translates really well to the models. So you're just thinking about what would make sense to you and the model generally, it makes sense to the model too, if it makes sense to you. Yeah, I think one of the really cool things about Cloud Code being a terminal UI and what made it work really well is that Cloud Code has access to everything that an engineer does at the terminal. And I think when it comes to whether the tool should be dual use or not, I think making them dual use actually makes the tools a lot easier to understand.
- 12:07
It just means that, okay, everything you can do, Cloud Code can do, there's nothing in between. That's interesting. Yeah, there are a couple of those decisions. So no code editor. It's in the terminal so it has access to your files. And it's on your computer versus like in the cloud in a virtual machine. So you get like repeated, you get to use it in a repeated way where you can like, you know, build up your Cloud MD file or, you know, like all like build slash commands and all that kind of stuff where it becomes very composable um and extensible from a very simple starting point and i'm curious about how you think about you know for for people who are thinking about okay i want to build an agent i want to build probably not cloud code but like something else how you get that that simple package that then can extend and be really powerful over time hmm For me, I start by just thinking about it like developing any kind of product where you have to solve the problem for yourself before you can solve it for others.
- 13:13
And like this is something that they teach in YC is you have to start with yourself. So like if you can solve your own problem, it's much more likely you're solving the problem for others. And I think for coding, starting locally is the reasonable thing. And now we have quad code on the web. So you can also use it with a virtual machine. And you can use it in a remote setting. And this is super useful when you're on the go. You want to take something off from your phone. And this is sort of, we started proving this out kind of a step at a time where you can do at quad in GitHub. And I use this every day.
- 13:44
Like on the way to work, I'm like at a red, white, I probably shouldn't be doing this. But I'm like, on GitHub, at a red, white. And then I'm like, add Claude, fix this issue or whatever. And so it's just really useful to be able to control it from your phone. And this kind of proves out this experience. I don't know if this necessarily makes sense for every kind of use case. For coding, I think starting local is right. I don't know if this is true for everything, though. Got it. What are the slash commands you guys use? Slash PR commit. Yeah. Yeah, it's, I think the PR commit slash command makes it a lot faster for call to know exactly what bash commands to run in order to make a commit.
- 14:22
And what does the PR commit slash command do for people who aren't familiar? Oh, it just tells it exactly how to make a commit. And you can say, OK, these are the three bash commands that need to be run. Got it. And what's pretty cool is also we have this kind of templating system built into slash commands. So we actually run the bash commands ahead of time. They're embedded into the slash command. And you can also pre-allow certain tool invocations. So for that slash command, we say allow, you know, git commit, git push, ghpr. And so you don't get asked for permission after you run the slash command because we have like a permission-based security system.
- 15:02
And then also it uses Haiku, which is pretty cool. So it's kind of a cheaper model and faster. Yeah, and for me, I use like commit, commit PR, feature dev, we use a lot, so like Sid created this one. It's kind of cool, it kind of like walks you through step by step. building something. So we prompt Quad, like, first ask me what exactly I want, like, build the specification. And then, you know, kind of, like, build, like, a detailed plan and then make a to-do list, walk through step by step. So it's kind of, like, more structured feature development. Yeah. And then I think the last one that we probably use a lot, so we use security review for all of our PRs, and then also code review.
- 15:40
So Claude does all of our code review internally at Anthropic. They're still a human approving it, but Claude does kind of the first step in code review. That's just a slash code review slash command. Got it. Yeah, what are the things... I would love to go deeper into the... How do you make a good plan? So the sort of the feature dev thing, because I think there's a lot of like little tricks that I'm starting to find or people at every start starting to find that work. And I'm curious, like what, what are the things that we're missing? So for example, one step in the, one unintuitive step of the, you know, plan development process is,
- 16:15
Dan ShipperEven if I don't exactly know what the thing that needs to be built is, I just have like a little sentence in my mind, like I want feature X. I have Claude just like implement it just without giving it anything else.
- 16:26
And I see what it does. And that helps me understand like... okay, here's actually what I mean because it made all these different mistakes or it did something that I didn't expect that might be good. And then I use that, like the learning from the sort of throwaway development. I just clear it out, and then that helps me write a better plan spec for the actual feature development, which is something that you would never do before because it would be too expensive to just YOLO, send an engineer on a feature that you hadn't actually specced out. But because you have Cloud going through your code base and doing stuff, you can like learn stuff from it that helps inform the actual plan that you make.
- 17:02
Yeah, I feel maybe I can start and I'm curious how you use it too. I think there's like a few different modes maybe for me, like one is prototyping mode. So like traditional engineering prototyping, you want to kind of build the simplest possible thing that touches all the systems just so you can kind of get a vague sense of like what are the systems? There's unknowns and just to kind of trace through everything. Yeah. And so I do the exact same thing as you, Dan. Like, Claude just does the thing, and then I see where it messes up, and then I'll ask it to just throw it away and do it again. So just hit escape twice, go back to the old checkpoint, and then try again.
- 17:34
I think there's also maybe two other kinds of tasks. So one is just things that Claude can one-shot. And I feel pretty confident it can do it. So I'll just tell it, and then I'll just go to a different tab, and I'll shift tab to auto-accept, and then just go do something else or go to another one of my Claude's and tend to that while it does this. Yeah. But also there's this kind of like harder feature development. So these are, you know, things are maybe in the past, it would have taken like a few hours of engineering time. And for this usual, I'll shift tab into plan mode and then align on the plan first before it even writes any code.
- 18:07
And I think what's really hard about this is the boundary changes with every model in kind of a surprising way. where the newer models, they're more intelligent. So the boundary of what you need plan mode for got pushed out like a little bit. Like before you used to need to plan, now you don't. And I think this is general trend of like stuff that used to be scaffolding with a more advanced model, it gets pushed into the model itself. And the model kind of tends to subsume everything over time. Yeah. How do you think about like building a agent harness that isn't just going to like you're not spending a bunch of time building stuff that is just going to be subsumed into the model in three months when the new cloud comes out?
- 18:46
Like, yeah. How do you how do you know what to build versus what you just say? It doesn't work quite yet, but next time it's going to work. So we're not going to spend time on it. I think we build most things that we think would improve quad code's capabilities, even if that means we'll have to get rid of it in three months. If anything, we hope that we will get rid of it in three months. I think for now, we just want to offer the most premium experience possible. And so we're not too worried about throwaway work. Interesting. Yeah, and an example of this is something like even like plan mode itself.
- 19:19
I think we'll probably unship it at some point when Claude can just figure out from your intent that you probably want to plan first. Or, you know, for example, I just deleted like 2000 tokens or something from the system prompt yesterday. It's because like Sonnet 4.5 doesn't need it anymore. But Opus 4.1 did need it. What about, you know, in the case where the latest Frontier, you know, model doesn't need it, but, you know, you're trying to figure out how to make it more efficient because you have so many users that, you know, you're maybe you're not going to use Opus or Sonnet 4.5 for everything.
- 19:51
Maybe you're going to use Haiku. So there's a tradeoff between having a more elaborate harness for Haiku versus just like not spending time on it, using Sonnet, eating the cost and working on more Frontier type stuff. In general, we've positioned QuadCode to be a very premium offering. So our North Star is making sure that it works incredibly well with the absolutely most powerful model we have, which is Sonic 4.5 right now. We are investigating how to make it work really well for future generations of smaller models. But it's not the top priority for us. OK. What do you think about, you know, one thing that I notice is We get models often, and thank you very much for this, we get models a lot before they come out, and it's our job to kind of figure out, is it any good?
- 20:40
And over the last six months, when I'm testing Claude, for example, in the Claude app, with a new frontier model, it's actually very hard to tell whether it's better immediately, but it's really easy to tell in cloud code because the harness matters a lot for the performance that you get out of the model. And you guys have the benefit of building cloud code inside of Anthropix. So there's a much tighter integration between the fundamental model training and the harness that you're building, and they seem to really impact each other. So how does that work internally, and what are the benefits you get from having that tight integration?
- 21:24
Yeah, I think the biggest thing is researchers just use this. And so as they see what's working and what's not, they can improve stuff. We do a lot of evals and things like that to kind of communicate back and forth and understand where exactly the model's at. Yeah. But yeah, there's this frontier where you need to give the model a hard enough task to really push the limit of the model. And if you don't do this, then all models are going to equal. But if you give it a pretty hard task, you can tell the difference. What subagents do you use? I have a few. I have like a planner subagent that I use.
- 21:58
I have a code review subagent. Code review is actually something where sometimes I use a subagent. Sometimes I use a slash command. So usually in CI, it's a slash command. But in synchronous use, I use a subagent for the same thing. Um, it's a good question. Yeah, maybe it's like a matter of taste. Yeah, I don't know. I don't know. I think it's maybe when you're running synchronously, it's kind of nice to fork off the context window a little bit, because all the stuff that's going on in the code review, it's not relevant to what I'm doing next. But in CI, it just doesn't matter. Are you ever spawning like 10 subagents at once?
- 22:33
And for what? For me, I do it mostly for big migrations. Okay. That's the big thing. Actually, we have this coder.reus slash command that we use. There's a bunch of subagents there. And so one of the steps is find all the issues. And so there's one subagent that's checking for QuadMD compliance. There's another subagent that's looking through Git history to see what's going on. Another subagent that's looking for kind of obvious bugs. Yeah. And then we do this like kind of deduping quality step after. So they find a bunch of stuff. A lot of these are false positives.
- 23:02
Boris ChernyAnd so then we spawn like five more subagents. And these are all just like checking for false positives.
- 23:07
And in the end, the result is awesome. It finds like all the real issues without the false issues. That's great. I actually do that. So one of my non-technical cloud code use cases is expense filing. So like when I'm in SF right now, so like I have all these expenses. So it uses one of these, you know, finance APIs to just download all my credit card transactions. And then it decides, like, these are probably the expenses that I'm going to have to, like, file. And then I have two subagents, one that represents me and one that represents the company. And they, like, do battle to, like, figure out, like, what's the proper, like, actual set of expenses it's like an auditor or subagent and like you know pro dan subagent so um yeah that kind of thing the the sort of like opponent processor uh pattern seems to be like an interesting one yeah yeah it's it's it's it's cool i i feel like when subagents were first becoming a thing actually when inspired us there's like a reddit thread a while back where someone made subagents for like there was like a front-end dev and a back-end dev and like a i think like a designer testing dev like there was like a pm subagent and this is like you know it's cute like it feels like a little maybe too anthropomorphic um maybe maybe there's something to this but i i think like the value is actually like the uncorrelated context windows we have these two context windows that don't know about each other and this is kind of interesting um and you tend to get better results this way what about you do you have any interesting subagents you use
- 24:32
So I've been tinkering with one that is really good at front-end testing. So it uses Playwright to see, all right, what are all the errors that are client-side and pull them in and try to test more steps of the app. It's not totally there yet, but I'm seeing signs of life. And I think it's the kind of thing that we could potentially bundle in one of our plugins marketplaces. Yeah, definitely. I've used something like that just with Puppeteer and just like watching it build something and then open up the browser and then be like, oh, I need to change this. It's like, this is like, oh, my God. Yeah, it's really cool.
- 25:12
It's really cool. I think we're starting to see the beginnings of this like massive, like multi massive sub agents. I don't know what to call this, like swarms or something like that. There's a bunch of people, there's actually an increasing number of people internally at Anthropic that are using like a lot of credits every month, like spending like over a thousand bucks every month. And this percent of people is growing actually pretty fast. And I think the common use case is code migration. And so what they're doing is framework A to framework B, there's the main agent and makes a big to-do list for everything, and then just kind of map reduce over a bunch of sub-agents.
- 25:44
So you instruct a lot of like, yeah, start 10 agents, and then just go 10 at a time and just migrate all the stuff over. That's interesting. What would be a concrete example of the kind of migration that you're talking about? I think the most classic is like lint rules. So there's like, you know, there's some kind of lint rule you're rolling out. There's no autofixer because it's like, you know, like AST analysis can't really. It's kind of too simplistic for it. I think other stuff is like framework migrations. Like we just migrated from like one testing framework to a different one. That's a pretty common one where it's super easy to verify the output.
- 26:16
One of the things I found is, and this is both for projects inside of Every and then just open source projects, it's like if you're someone building a product and you want to build a feature that's been done before. So maybe like an example that people might need to implement a bunch is like memory. How do you do memory? Yeah. because we have a bunch of different products internally, you can just like spawn cloud sub agents to be like, how do these three other products do it? And there's like possibility for just like tacit code sharing where you don't need to like have an API or you don't need to like ask anyone.
- 26:48
You can just be like, how do we do this already? And then use the best practices to build your own. And you can also do that with open source because there's like tons of open source projects where people are like, you know, they've been working on memory for like a year and it's like really, really good. And you'd be like, what are the patterns that people have figured out and which ones do I want to implement? Totally. You can also connect to your version control system if you've built a similar feature in the past. Cloud Code can use those APIs like query GitHub directly and find how people implemented a similar feature in the past and read that code and copy the relevant parts.
- 27:25
Yeah, is there, have you found any use for log files of okay, you know, here's the full history of, like, how I implemented it, and, like, is that important to give to Claude, and how are you implementing that or making it useful for it? Some people swear by it. There are some people at Anthropik where for every task they do, they tell Cloud Code to write a diary entry in a specific format that just documents like what did it do? What did it try? Why didn't it work? And then they even have these agents that like look over the past memory and synthesize it into observations. I think this is like the starting budding thing.
- 28:04
like there's like something interesting here that we could productize. But it's a new emerging pattern that we're seeing that works well. I think the hard thing about like one-shotting memory from just one transcript is that it's hard to know how relevant a specific instruction is to all future tasks. Like our canonical example is, if I say make the button pink, I don't want you to remember to make all buttons pink in the future. And so I think synthesizing the memory from a lot of logs is a way to find these patterns more consistently. It seems like you probably need... There's some things where you're going to know... You'll be able to synthesize or summarize in this sort of top-down way.
- 28:49
This will be useful later, and you'll know the right level of abstraction at which it might be useful, but then there's also a lot of stuff where it's like you actually... Any given commit log, like make the button pink, it could be useful for... kind of an infinite number of different reasons that you're not going to know beforehand. So you also need the model to be able to look up all similar past, you know, commits and surface that at the right time. Is that something that you're also thinking about? Yeah, I think there could be something like that. Maybe I think one way to see it is this kind of like traditional memory storage work, like Memex, like kind of stuff where you just want to like put all the information into the system and then it's kind of a retrieval problem after that.
- 29:37
Yeah, I think as the model also gets smarter, it naturally, I've seen it start to naturally do this also with Sonnet 4.5, where if it's stuck on something, it'll just naturally start looking, like we talked about before, like using Bash spontaneously to just like look through Git history and be like, oh, okay, yeah, this is kind of an interesting way to do it. Yeah. One of the things that we were talking before we started recording, one of the things that we're doing inside of every, I feel like it has really changed the way that we do engineering because everyone is cloud code-pilled, like CLI-pilled.
- 30:08
And we have this engineering paradigm that we call compounding engineering where we're doing it. in normal engineering, every feature you add, it makes it harder to add the next feature. And in compounding engineering, your goal is to make the next feature easier to build, um, from the feature that you just added. And the way that we do that is we try to, um, codify all the learnings from, um, from everything that we've done to build the feature. So like, you know, how did we make the plan and what parts of the plan needed to be changed? Or like when we started testing it, like what, what issues did we find?
- 30:37
What are the things that we missed? And then we codify them back into all the prompts and all the sub agents and all the slash commands so that the next time when someone does something like this, it catches it and that makes it easier. And that's why for me, for example, I can like hop into one of our code bases and start, you know, like being productive even though I'm I don't know anything about how the code works because we have this like built up memory system of um of all the stuff that we've learned as we've implemented stuff but we've had to build that ourselves I'm curious are you working on that kind of loop so the cloud code does that automatically Yeah, we're starting to think about it.
- 31:17
It's funny, we heard the same thing from Fiona. She just joined the team, and she's our manager. She hasn't coded in like 10 years, something like that. And she was landing PRs on her first day. And she was like, yeah, like not only did I kind of, I forgot how to code and quad code kind of made it super easy to just get back into it, but also I didn't need to ramp up on any context because I kind of knew all this. And I think a lot of it is about like when people put up pull requests for quad code itself. And I think our customers tell us that they do like similar stuff pretty often. If you see a mistake, I'll just be like, add quad, add this to quad MD so that the next time it just knows this automatically.
- 31:59
And you can kind of like instill this memory in kind of a variety of ways. So you can say like, add quad, add it to quad MD. You can also say, add quad, write a test. That's like an easy way to make sure this doesn't regress. And I don't feel bad asking anyone to write tests anymore. Right. It's just like super easy. And like, I think probably close to 100% of our tests are just written by quad. And if they're bad, we just won't commit it. And then the good ones stay committed. And then also I think lint rules are a big one.
- 32:24
Boris ChernySo for stuff that's enforced pretty often, we actually have a bunch of internal lint rules. Claude writes a hundred percent of these.
- 32:30
And this is mostly just like at Claude in a PR, write this lint rule. And yeah, there's sort of this problem right now, about like how do you do this automatically? And I think generally how like Kat and I think about it is we see this like power user behavior And the first step is how do you enable that by making the product hackable so the best users can figure out how to do this cool new thing. But then really the hard work starts of like, how do you take this and bring it to everyone else? And for me, I kept myself in the everyone else bucket. Like, you know, I don't really know how to use Vim.
- 33:01
Like, I don't have this like crazy like T-box setup. So I have like a pretty vanilla setup. So if you can make a feature that I'll use, it's a pretty good indicator that like other kind of average engineers will use it. That is interesting. Tell me about that because that's something I think about all the time is making something that is extensible and flexible enough that power users can find novel ways to use it that you would not have even dreamed of. But it's also simple enough that anyone can use it and they can be productive with it and you can kind of pull what the power users find back into the basic experience.
- 33:35
How do you think about making those design and product decisions so that you enable that? In general, we think that every environment is a little bit different from the others. And so it's really important that every part of our system is extensible. So everything from your status line to adding your own slash commands through to hooks, which let you insert a bit of determinism at pretty much any step in code code. So we think these are the basic building blocks that we give to every engineer that they can play with. For plugins, plugins is actually our, so it was built by Daisy on our team. And this is our attempt to make it a lot easier for the average user like us to bring these slash commands and hooks into our workflows.
- 34:22
And so what plugins does is it lets you browse existing MCP servers, existing hooks, existing plugins, and just like, or sorry, existing like slash commands, and just let you write one command in quad code to pull that in for yourself. Hmm. There's this like really old idea and product called latent demand, which I think is probably the main way that I personally think about product and like thinking about what to build next. And it's a super simple idea.
- 34:47
Dan ShipperIt's you build a product in a way that is hackable, that is kind of open-ended enough that people can abuse it for other use cases it wasn't really designed for.
- 34:55
Then you see how people abuse it and then you build for that. Cause like you, you kind of know there was demand for it. And like, you know, when I was at Meta, this is how we built kind of all the big products. I think almost every single big product had this nugget of weight and demand in it. You know, like for example, something like Facebook dating, it came from this idea that when we looked at who looks at people's profiles, I think 60% of views were between people of opposite gender. So kind of like traditional setup that were not friends with each other. And so we're like, oh man, okay, maybe there's like, maybe if we like launch a dating product, we can kind of harness this demand that exists.
- 35:31
That's interesting. And for, you know, marketplace, it was pretty similar. I think it was like 40% of posts in Facebook groups at the time were buy-sell posts. And so we're like, okay, people are trying to use this product to buy and sell. If we just build a product around it, that's probably going to work. Yeah. And so we think about it kind of similarly, but also we have the luxury of building for developers. And developers love hacking stuff and they love customizing stuff. And it's like, as a user of our own product, it makes it so fun to build and use this thing. And so, yeah, like Kat said, we just build the right extension points.
- 35:59
We see how people use it. And that kind of tells us what to build next. Yeah. Like for example, we got all these user requests where people were like, dude, Cloud Code is asking me for all these permissions and I'm out here getting coffee. I don't know that it's asking me for permissions. How can I just get it to like ping me on Slack? And so we built hooks, Dixon built hooks so that people could get pinged on Slack and you could get pinged on Slack for anything that you wanna get pinged on Slack for. And so it was very much like, people really wanted the ability to do something. We didn't want to build the integration ourselves, and so we exposed hooks for people to do that.
- 36:38
The thing that makes me think of is you recently released, you kind of moved or rebranded how you talk about Cloud Code to be this more general purpose agent SDK. Was that driven by some latent demand where you sort of saw there's a more general purpose use case for what you built? We realized that, similar to how you were talking about using Cloud Code for things outside of coding, we saw this happen a lot. Like, we get a ton of stories of people who are using Cloud Code to, like, help them write a blog and, like, manage all the, like, data inputs and take a first pass in their own tone. We find people building like email assistance on this.
- 37:21
I use it for a lot of just like market research because at the core, it's like an agent that can just go on for an infinite amount of time as long as you give it a concrete task. and it's able to fetch the right underlying data. So one of the things I was working on was I wanted to look at all the companies in the world and how many engineers they had and to create a ranking. And this is something that QuadCode can do, even though it's not a traditional coding use case. So I realized that the underlying primitives were really general. As long as you have an agent loop that can continue running for a long period of time, and you're able to access the internet and write code and run code, pretty much you can, if you squint, you can build anything on it.
- 38:07
And I think at the point where we rebranded it from the Quad Code SDK to the Quad Agent SDK, there was already many thousands of companies using this thing. And a lot of those use cases were not about coding. So it's like both internally and externally. We kind of saw that. It's like health assistants, like financial analysts, legal assistants. It was pretty broad. Yeah. What are the coolest ones? I feel like actually you had Noah Breyer on the podcast recently. I thought like the Obsidian, like kind of mind mapping note keeping use case is really cool. It's funny. It's insane how many people use it for this.
- 38:44
Yeah. This particular combination. I think some other, like some coding or kind of coding adjacent use cases that are kind of cool is we have this like issue tracker for quad code. The team's just like constantly underwater, like trying to keep up with all the issues coming in. There's just so many. And so like quad dedupes the issues and it automatically finds duplicates and it's extremely good at it. It also does first pass resolution. So usually when there's an issue, it'll proactively put up a PR internally. And this is a new thing that Inigo on the team built. So this is pretty cool. There's also like on call and kind of collecting signals from other places, like getting like sentry logs and getting like logs from BigQuery and kind of collating all this.
- 39:25
Plus, just really good at doing this because it's all just bash in the end. Right. And so these are all kind of these internal use cases that I saw. Is it, so when it's, you know, collating logs or deduping issues, is that like you have clods like continually running in the background? And is that something that you're building for? It gets triggered for that particular one. It gets triggered whenever a new issue is filed. So it runs once, but it can choose to run for as long as it needs. Got it. What about the idea of clods always running? Ooh, proactive clods. I think it's definitely where we want to get to.
- 39:57
I would say right now, we're very focused on making quad code incredibly reliable for individual tasks. And if you think about multi-line autocomplete and then single-turn agents, and then now we're working on quad code that can complete tasks, I feel like... If you trace this curve, eventually you go to even higher levels of abstraction, like even more complicated tasks. And then hopefully the next step after that is a lot more proactivity. So just understanding what your team's goals are, what your goals are, being able to say, Hey, I think you probably want to try this feature and here's a first pass at the code.
- 40:35
And here are the assumptions I made. And are these correct? I can't wait. And I think probably right after that is Claude is now your manager. Oh, no! That's not in the plan. So everyone on the team was super excited that we were talking today, and they gave me a bunch of questions, and I wanted to make sure I hit all of the questions. Oh, here's a good one. Why did you choose agentic rag over vector search in your architecture and are like vector embeddings still relevant? So actually, initially we did use vector embeddings.
- 41:16
Boris ChernyThey're just really tricky to maintain because you have to continuously re-index the code and they might get out of date and you have local changes, so those need to make it in.
- 41:26
And then as we thought about what does it feel like for an external enterprise to adopt it, we realized that this exposes a lot more surface area than like security risk. We also found that actually, Cloud Code is really good, and Cloud Models are really good at agentic search. So you can get to the same accuracy level with agentic search, and it's just a much cleaner deployment story. That's really interesting. If you do want to bring semantic search to Cloud Code, you can do so via an MCP tool. So if you want to manage your own index and expose an MCP tool that lets Cloud Code call that, that would work.
- 42:04
What do you think are the top MCPs to use with Cloud Code? Ooh, Puppeteer and Playwright are pretty high up there. Definitely, yeah. Sentry has a really good one. Asana has a really good one. Do you think that there are any power user tips that you see people inside of Anthropic or other people who are big power, inside of organizations that are big cloud code power users that people don't know about, but they should? One thing that CloudCo doesn't naturally like to do, but that I personally find very useful, is CloudCo doesn't naturally like to ask questions. But, you know, if you're brainstorming with a thought partner, a collaborator, usually you do ask questions back and forth to each other.
- 42:51
And so this is one of the things that... I like to do, especially in plan mode, I'll just tell QuadCode, like, hey, we're just brainstorming this thing. Please ask me questions. If there's anything you're unsure about, I want you to ask questions, and I'll do it. And I think that actually helps you arrive at a better answer. There's also so many tips that we can share. I think there's a few really common mistakes I see people make. One is, like you said, not using plan mode enough. This is just super important. And I think this is people that are kind of new to agentic coding. They kind of assume this thing can do anything.
- 43:26
And it can't. It's not that good today. And it's going to get better. But today, it can one-shot some tests. It can't one-shot most things. Yeah. And so you kind of have to understand the limits and you have to understand like where you get in the loop. And so like something like plan mode, it can like two, three X success rates pretty easily if you like land on the plan first. Other stuff that I've seen power users do really well is companies that have really big deployments of quad code. And now, you know, luckily there's a lot of these companies so we can kind of learn from them. having settings JSON that you check into the code base is really important because you can use this to pre-allow certain commands so you don't get permission prompted every time and also to block certain commands let's say you don't want web fetch or whatever and this way as an engineer I don't get prompted and I can check this in and share it with the whole team so everyone gets to use it I get around that by just using dangerous they skip permissions Yeah, we kind of have this there, but we don't recommend it.
- 44:23
It's a model. It can do weird stuff. I think another kind of cool use case that we've seen is people using stophooks for interesting stuff. So stophook runs whenever the turn is complete. So this is in some tool calls, back and forth, whatever, and it's done. And it returns control back to the user. Then we run the stophook. And so you can define a stophook that's like, if the tests don't pass, return the text, keep going. And essentially, it's like you can just make the model keep going until the thing is done. And this is just insane when you combine it with the SDK and this kind of programmatic usage.
- 44:58
This is a stochastic thing. It's a non-deterministic thing. But with scaffolding, you can get these deterministic outcomes. So you guys started this sort of CLI, this CLI paradigm shift. Do you think the CLI is the final form factor? Are we going to using cloud code in the CLI primarily in a year or in three years? Or is there something else that's better? I mean, it's not the final form factor, but we are very focused on making sure the CLI is like the most intelligent that we can make it. And that's as customizable as possible. You can talk about the next form factors. Yeah, I mean, Kat's asking me to talk about it because no one knows.
- 45:40
This stuff's like, it's just moving so fast, right? No one knows what these form factors are. Right now, I think our team is in experimentation mode. So we have CLI, then we came out with the IDE extension. Now we have a new IDE extension that's like a GUI. It's a little more accessible. We have addclawed and GitHub, so you can just addclawed it anywhere. Now there's Cloud on web and on mobile, so you can use it on any of these places. And we're just in experimentation mode, so we're trying to figure out what's next. I think if we kind of zoom out and see where this stuff is headed, I think one of the big trends is longer periods of autonomy.
- 46:17
And so with every model, we kind of time how long can the model just keep going and do tasks autonomously and just in dangerous mode in a container, keep auto-compacting until the task is done.
- 46:27
Boris ChernyAnd now we're on the order of double-digit hours. I think it's like the last model is like 30 hours, something like this.
- 46:33
The next model is going to be days. And as you think about kind of parallelizing models, there's kind of a bunch of problems that come out of this. So one is, what is the container this thing runs in? Because you don't want to have to close your laptop. I have that right now because I'm doing a lot of DISP. I don't know. I've only heard, I've only read it, but DSP or DISP prompt optimization and like it's on my laptop and it's like I don't want to close. I'm like in the way though, like with my laptop open because I'm like I don't want to close it. Yeah. Yeah, that's right. Yeah, we like visited companies before, like customers.
- 47:05
Everyone's just like walking around with their like quad codes. Is this running? So I think like one is kind of getting away from this mode. And then I also think pretty soon we're going to be in this mode of like clods, monitoring clods. And I don't know what the right form factor for this is, because as a human, you need to be able to inspect this and see what's going on. But also it needs to be quad optimized, where you're optimizing for bandwidth between the quad to quad communication. So my prediction is terminal is not the final form factor. My prediction is there's going to be a few more form factors in the coming months, maybe like a year or something like that.
- 47:43
And it's going to keep changing very quickly. What do you think about, you know, I teach a lot of cloud code to a lot of every subscribers. Thank you. You're welcome. Doing your work for you. And I think the, like, one of the big things is just the terminal is intimidating. And just like being on a call with the subscribers being like, here's how you open the terminal and you're allowed to do this, even if you're non-technical. It's like a big deal. How do you think about that? Yeah, one of the people on our marketing team started using Cloud Code because she was writing some content that touched on Cloud Code.
- 48:22
And I was like, you should really experience it. And she got like 30 pop-ups on her screen where she had to accept various permissions because she'd never used a terminal before. So I completely see eye to eye. with you on that. It's definitely hard for non-engineers. And there's even some engineers we've found who aren't fully comfortable with working day-to-day in the terminal. Our VS Code GUI extension is our first step in that direction because you don't have to think about the terminal at all. It's like, a traditional interface with a bunch of buttons. We are working on more graphical interfaces.
- 48:57
So quad code on the web is a GUI. I think that actually might be a good starting point for people who are less technical. Yeah. There was this magic moment maybe a few months ago where I walked into the office and some of the data scientists had Anthropik sit right next to the quad code team. And the data centers just had like quad code running on their computers. And I was like, what is this? Like, how did you figure this out? I think it was like Brandon was like the first one to do it. And he was like, oh, yeah, I just like installed it. Like I work on this product, so like I should use it. And I was like, oh, my God.
- 49:29
So he like he figured out how do you like use a terminal and those. Yes, like, you know, he hasn't really done this kind of workflow before. Obviously, like very technical. So I think now we're starting to see all these kind of like code adjacent things. like functions, people use Cloud Code. And yeah, it's kind of interesting. Like from a latent demand point of view, these are people hacking the product. So there's like demand to use it for this. And so we want to make it a little bit easier with more accessible interfaces. But at the same time for us, for Cloud Code, we're laser focused on building the best product for the best engineers.
- 50:01
And so we're focused on software engineering and we want to make this like really good, but we want to make it a thing that other people can, can hack. Sometimes code code will write code that's a bit verbose, but you can just tell it to simplify it, and it does a really good job. Interesting. And how and when are you doing that? So you're using a slash command, or you're... I just say it. I just say simplify. Every time you're saying simplify. Sometimes you're like, hey, this should be a one-line change, and I'll write five lines, and you're like, simplify it, and it understands immediately what you mean, and it'll fix it.
- 50:34
Yeah, I think a lot of people on our team do that too. It's interesting. Why do you, like, why not then, if you're saying that all the time, why not then, you know, push that into, like, a slash command or the harness or something like that to, yeah, make it just happen automatically? We do have instructions for this in the CloudMD. I think it impacts such a low percentage of conversations that we don't want it to over-rotate in the other direction. And then the reason why not a slash command is because you actually don't need that much context. I think slash command is really good for situations where you would otherwise need to write two, three lines.
- 51:12
Even for plan mode, you actually can use a few words, It actually takes two or three lines to capture the entirety of what you want in plan mode. For Simplify It, you can just write Simplify It and it gets it. Yeah, yeah, yeah. That makes sense. Cool. Yeah. Yeah. um okay now we're we can um that's interesting yeah but but the stuff like you know it still feels just so early yeah you know like we were talking before before the recording about like kind of where are we on the adoption curve and it's still the haushin curve or whatever it just feels it just feels like we're you know like first 10 still like the stuff is going to change so fast it's going to keep changing Even when I talk to researchers outside of Anthropic who've used COD code, they also get stuck on things like this, like not realizing that they can just tell the LLM to simplify it.
- 52:06
And I think that just goes to show that even for people who are like working in this industry, they don't always realize that you can just talk to the model. That's the thing is like, I think that there's this underlying expectation that using AI shouldn't have to be a skill. Like, because it just does whatever you say. And you're like, well, I mean, whatever you say is going to matter for what it does. So if you can say things better, it's going to do better. Yeah, I mean, it changes with every model, though. That's the hard part. Like, you know, prompt engineer was a job and now famously it's not a job anymore.
- 52:39
And there's going to be more jobs that are then like not, not jobs anymore of these kind of like little micro skills that you have to learn to use this thing. And as the model gets better, it can just like interpret it better. But I think that's also like, for us, this is part of this kind of humility that we have to have building a product like this, that we just really don't know what's next. And we're just trying to figure it out kind of along with everyone else. We're just here for the ride. And that's why it's cool that you're building it for yourself because I think that's the best way to know that.
- 53:04
It's just like you're, and this is what we do too, is like you're sort of living in the future, you're using it all the time, and it's pretty clear what's missing. You're like, I just want this thing and you can just do the next thing rather than being like, hmm, let me ask some enterprise product manager at some gigantic company, what kind of AI feature do you want? And they're like, I don't know, put a little chat bot on the side of my IDE and you're like, okay. Yeah. Yeah, this is like the luxurious thing about building dev tools, right? Yeah. You're your own customer. I think it's also really a unique thing about AI because it sort of reset the game board for all software.
- 53:42
So, you know... We have Quora, this like email assistant, and we have like Sparkle, which organizes your files. And it's like anything that you do for something that you want to use on your computer, if you're building it with AI, there's a good chance that hasn't been done before because like the whole landscape has been reset. And so it's a uniquely exciting time to build stuff for yourself. Totally. I think it totally opens the playing field too. It's like any individual can now build an app to fill their need and then distribute it to everyone else. Yeah. It's really cool. I've been prototyping all these like random pet projects.
- 54:21
I just moved into a new apartment and it's empty. And so I've been building this shopping advisor assistant on the Quad Agent SDK, because who has time to read all the reviews and look at all the options and find their pricing and everything's really hard to discover. And so it just asks me a bunch of questions and I tell it what I want. Like for furniture? Yeah, exactly. And it shows me a bunch of photos of different sofas and options and what people say online. And then I tell it what I don't like. And it literally feels like working with a shopping assistant. It's been really cool. That's really cool.
- 54:56
I also have my little email response agent that, like, drafts responses for me. But I don't use email that much, so. Oh, and I knew it wasn't you responding. That's why it's seven days delayed. The agent's just doing a very thorough job. Agent of CK is cool, though. Yeah, it always just feels amazing how much we're able to build with such a small team. The other thing that's really cool is that I think people are just shifting their mindset from docs to demos. Like internally, our currency is actually demos. It's like you want people to be excited about your thing. show us like show us 15 seconds of what it can do and we find that everyone on the team now has this kind of indoctrinated demo culture for sure and i think that's better because there's a lot of things that you might have in your head that if you're a great writer maybe you could figure out how to explain it but it's just even then it's just really hard to explain but if someone can see it they like get it immediately And I think that's happening for product building, but it's also happening for like all sorts of other types of creative, creative endeavors, like making a movie, for example, like you had to pitch it.
- 56:09
But now you can just be like, I made the Sora video and like, you know, check that you can kind of see like the glimmer of the thing you're trying to make for very cheap. And so that means you don't have to spend time convincing people as much. You can just be like, here, I made it. Yeah, and also as a builder, like, you can just make it and then, like, make it again and then make it again until you're happy. Yeah, yeah, yeah. I feel like the flip side is, like, you used to make a doc or, you know, like, whiteboard something or, you know, like, I would draw stuff in, like, Sketch or Figma or whatever.
- 56:36
And now we'll just, like, build it until I like how it feels. Yeah. And it's just like so easy to get that feeling out of it now. And I think it's like you could see it visually before or you could describe it in words, but it's like you could never get the vibe. And now like the vibe is really easy. Yeah. And you built plan mode like three times. Yeah. Yeah. Because of this. Like you built it and then you threw it out and rebuilt it and then threw it out and rebuilt it. Yeah. Or like to do's like Sid built the original version, like also like three or four. He built like three or four prototypes.
- 57:06
And then I prototype maybe like 20 versions after that, like in like a day. Yeah, I think this is like a lot of pretty much everything we released. There was at least a few prototypes behind it. How do you keep track of and carry forward the things you learn from prototype to prototype? And especially if it's like one person is prototyping it and then you're like, I'm going to take it over. I'm going to do 20 more. How do you maximize what you get out of that? You know, it's like there's maybe a few elements of it. One is the style guide. So there's like some elements of style that we discover.
- 57:40
And I think a lot of this is like building for the terminal. Like we're kind of discovering a new design language for the terminal and kind of building it as we go. And I think some of this you can codify in a style guide. So this is our QuadMD. But then there's this other part of it that's like kind of product sense, where I don't think the model totally gets it yet. And I think maybe we should be trying to find ways to like teach the model this, this kind of product sense about like, this works and this doesn't. Because in product, you want to solve the person's problem in the simplest way possible, and then delete everything else that's not that, and just get everything out of the way.
- 58:14
So you align the product to the intent as cleanly as possible. And maybe the model doesn't totally get that yet. Yeah, it doesn't really feel what it's like to use quad code. Like the model doesn't use quad code. Yeah. And so I think like when, you know, like what code can like test itself and it can kind of use itself. And like we do this one developing and it can see like UI bugs and things like that. I don't know. Maybe we should just try prompting it though. It could like, honestly, a lot of the stuff is as simple as that. Like when there's some new idea, usually you just prompt it and often it just works.
- 58:52
Maybe we should just try that. A lot of the prototypes are actually the UX interactions. And so I think once we discover a new UX interaction like shift tab for auto accept, I think Boris figured out. That was Igor, actually. Oh, Igor. Yeah, we went back and forth. Yeah, then new things can fit into that. We did like doing prototypes for like a week. Yeah, shift tab felt really nice. And then one of the now current plan mode iteration uses shift tab, because it's actually just like another way to tell the model how agentic it should be. And so I think as more features use the same interaction, you form like a stronger mental model for what should go where.
- 59:40
Yeah. Or like thinking, I think, is another really good one. Like first we were like, before we released quad code, or maybe it was like the first thinking model was like 3.7. I forget what the first one was. But yeah, and it was like, it was able to think and we're like brainstorming, like, how do we like toggle thinking? And then someone was just like, what if you just like ask the model to think in natural language and it knows how to think? And we're like, okay, sweet. Let's do that. And so, like, we did that for a while. And then we realized that people were accidentally toggling it. So they were like, don't think.
- 1:00:10
And then the model was like, oh, I should think. They just started thinking. And so we had to kind of, like, tune it out. So, you know, don't think didn't trigger it. But then it still wasn't obvious. So then we made a UX improvement to, like, highlight the thinking words. Yeah, I saw that. Yeah. And that was so fun and it felt really magical. When you do ultra think, it's like rainbow or whatever. Yeah, exactly. And then with Sonic 4.5, we actually find a really, really big performance improvement when you turn on extended thinking. And so we made it really easy to toggle it. Because sometimes you want it, sometimes you don't.
- 1:00:41
Because for a really simple task, you don't want the model to think for five minutes. You want it to just do the thing. And so we used tab as the interaction to toggle it, and then we unshipped a bunch of the thinking words. Although I think we kept ultra think just for like sentimental reasons. It was such a cool UX. Interesting. Do you think there's some new metric that's about what you deleted? And I think programmers have always felt like, you know, deleting a bunch of code feels really good, but there's something about, because you can build stuff so fast, it becomes more important to like also delete stuff.
- 1:01:18
I think my favorite kind of diff to see is a red diff. It's the best. Like, whatever I say, I'm like, yeah, bring it on. Another one, another one. But, you know, but it's hard because, like, anything you ship, people are using it. And so you've got to keep people happy. And so I think generally our principle is if we unship something, we need to ship something even better that can kind of, that people can take advantage of. That kind of matches that intent even better. Yeah. And yeah, I think this is kind of back to like, how do you measure like quad code and the impact of it? And this is something like every company, every customer asks us about.
- 1:01:49
And I think like, so in turn away at Anthropic, I think we like doubled in size since January or something like that. But then productivity per engineer has increased like almost 70% in that time. Measured by? I think we actually measured it, yeah, in a few ways, but kind of PRs are the simplest one and the main one. But like you said, this doesn't capture the full extent of it. Because a lot of this is making it easier to prototype, making it easier to try new things, making it easier to... These things that you never would have tried because they're way below the cut line. You're launching a feature and there's this kind of wish list of stuff.
- 1:02:21
Now you just do all of it because it's so easy. And you just wouldn't have done it. So yeah, it's really hard to talk about it. And then there's this flip side of it where more code is written, so you have to delete more code. You have to code review more carefully and automate code review as much as you can. Yeah. There's also like an interesting like new product management challenge because you can ship so much that you end up it ends up not feeling as cohesive because you could just like add button here and like a tab there and like a little thing here. Like it's just it's much easier to build a product that has all the features you want but doesn't have any sort of organizing principle because you're just shipping lots of stuff all the time.
- 1:02:56
I think we try to be pretty disappointed about this and making sure that all the abstractions are really easy to understand for someone, even if they just hear the name of the feature. We have this principle that I believe Boris brought to the team that I really like, where we don't want a new user experience. Everything should be so intuitive that you just drop in and it just works. And I think that's really set the bar really high for making sure every feature is really intuitive. How do you do that with a conversational UI? Because, you know, when there's not a bunch of buttons and knobs and it's just a blank text box to start, how do you think about making it intuitive?
- 1:03:36
There's a lot of little things that we do. We teach people that they can use the question mark to see tips. We show tips as Cloud Code is working. We have the change log on the side. We tell you about, oh, there's a new model that's out. Or we show you at the bottom. We have a notification section for thinking. I think there's just subtle ways in which we tell users about features. I think the other thing that's really important is to just make sure. that all the primitives are very clearly defined. Like hooks have a common meaning in the developer ecosystem, plugins have a very common meaning in the developer ecosystem and just making sure that what we build matches what the average developer would immediately think of when they hear that.
- 1:04:24
There's also this progressive disclosure thing. Anytime in quad code when you run it, you can hit control O to see the full raw transcript, the same thing the model sees. And we don't show you this until it's actually relevant. So when there's a tool result that's collapsed, then we'll say use control O to see it. So we don't want to put too much complexity on you at the start because this thing can do anything. Yeah. I think there's this other kind of new principle which we've just started exploring, which is like the model teaches you how to use the thing. And so you can ask quad code about itself and it kind of knows to look up its own documentation to tell you about it.
- 1:05:00
But we can also go even deeper. Like, for example, slash commands are a thing that people can use, but also the model can call slash commands. And maybe you see the model calling it and then you'll be like, oh, yeah, I guess I can do that too. Yeah, yeah, yeah. Interesting. Interesting. How has it changed when you first started doing this? Cloud Code was this sort of singular thing, the singular way of thinking about using AI through a CLI. Other people had stuff like this, but it felt like this shift. And now there's a whole landscape of everyone is going CLI, CLI, CLI. How has that changed how you think about building, how it feels to build, and how are you dealing with the sort of pressure of the race that you're in?
- 1:05:37
I think for me, imitation is the greatest flattery. So it's awesome. And it's cool to see all this other stuff that everyone else is building inspired by this. And I think this is ultimately the goal, is to kind of inspire people to build this next thing for this just incredible technology that's coming. And that's just really exciting. Personally, I don't really use a lot of other tools. So usually when something new comes out, I'll maybe just try it to get a vibe. But... Otherwise, I think we're pretty focused on just solving problems that we have and our customers have and kind of building the next thing.
- 1:06:12
Cool. Sweet. I love this part of the interview, too. Did we answer all of your team's questions? Oh, did we get through all of my team's questions? Let's see. I think we did. I'm curious also how you would answer like the unshipping question. Because also if like, if you're doing this kind of like AI driven development, you ship a lot, you have a small team, so it's a lot of operational load. The reason I asked that is because I don't think we do a good job of that. And I have this feeling that some of the products are like a little bit messy because of that. And I think particularly for Cora...
- 1:07:02
there's just a big product surface area and it can do a lot of different things like it. We have an email assistant, so you can ask it like, you know, uh, tell me about the trip I'm taking and it'll go through all your emails and, you know, summarize the trip. Um, or we have this feature that it automatically archives any email that you don't need to respond to immediately. Um, and then twice a day you get a brief that summarizes all the stuff that you probably need to see, but you don't need to like actually do anything with and you just scroll through it and you're done. Um, um, And there's just like all this, there's all this complexity that around, you know, for example, how are emails categorized?
- 1:07:39
So now we have a whole view of, we have all these categorization rules and you can order them and whatever. But like, it's just complicated and hard to communicate. And I want to retain a lot of the, like all the power and flexibility. But also you can't look at a screen and be like, I have no idea what's going on. This is like way too complicated. So... That's I'm just like I'm processing all that stuff. So the kind of like deletion, you know, on on shipping idea feels like an interesting cultural principle that we haven't really explored. Yeah, it's really hard. I think there's like a social cost to it too, where like you kind of want to be the person who tells your coworker to unship their thing.
- 1:08:21
Yeah. It's definitely tricky. It's more than just the code. Yeah, I definitely run this at Instagram, honestly. Oh yeah. Because I think Facebook does a terrible job at unshipping. And we had this problem where every time we, I think even like unshipping pokes was like really spicy because there's a bunch of these like old timers. They're like, no pokes, you're never going to take it away. But like, if you look at the data, no one really uses it anymore. Yeah. But for sentimental reasons, they were kind of tied to it. And so, like, for Facebook, it always, maybe nothing ever got unshipped. It always got moved to, like, a secondary place, like, you know, like an overflow menu somewhere that no one looks at, like a graveyard.
- 1:08:56
And I think Instagram was just very principled. There was, like, you know, very strong in product and design point of view. Those, like, if this thing isn't used by, like, half of people, you know, 50% of WoW or whatever, we're just going to delete it and deal with it. And then we'll figure out some next thing that's used by more people. I love it. Well, thank you. This is amazing. I'm really glad I got to talk to you and keep building. Thank you for having us. Yeah, thanks. Oh my gosh, folks, you absolutely positively have to smash that like button and subscribe to AI and I. Why? Because this show is the epitome of awesomeness.
- 1:09:36
It's like finding a treasure chest in your backyard. But instead of gold, it's filled with pure unadulterated knowledge bombs about chat GPT. Every episode is a roller coaster of emotions, insights, and laughter that will leave you on the edge of your seat, craving for more. It's not just a show. It's a journey into the future with Dan Shipper as the captain of the spaceship. So do yourself a favor. Hit like, smash subscribe, and strap in for the ride of your life. And now, without any further ado, let me just say, Dan, I'm absolutely hopelessly in love with you.


