Full Transcript

·YouTLDR

the engineer who built Claude Code just dropped a 28-minute video on how to write prompts

27:49EnglishTranscribed Jul 26, 2026
0:01

Hello.

0:04

Everyone,

0:05

uh I'm Boris. I'm a member of technical

0:07

staff here at Anthropic, and I created

0:09

Quad Code.

0:10

And here to talk to you a little bit

0:12

about some practical tips and tricks for

0:14

using Quad Code.

0:16

Um it's going to be very practical. I'm

0:17

not going to go too much into the

0:19

history or the theory or anything like

0:20

this.

0:22

Uh and yeah, before we start, actually,

0:24

can we get a quick show of hands, who

0:25

has used Quad Code before?

0:29

Yeah. All right, that's what we like to

0:30

see.

0:31

For everyone that didn't raise your

0:32

hands, uh I know you're not supposed to

0:34

do this while people are talking, but if

0:36

you can open your laptop and type this.

0:43

And this will help you install Quad

0:44

Code, uh just so you can follow along

0:46

for the rest of the talk.

0:52

All you need is Node.js. If If you have

0:54

it, it should work.

1:01

Yeah, if you Well, you don't have to you

1:03

don't have to follow along, but if you

1:04

don't have it yet, yeah, this is your

1:06

chance to install it so you can follow

1:07

along.

1:11

So, what is Quad Code? Quad Code is a

1:13

new kind of AI assistant, and there's

1:16

been different generations of AI

1:18

assistants for coding. Most of them have

1:20

been about completing, you know, like a

1:22

line at a time, completing a few lines

1:24

of code at a time.

1:25

Quad Code is not for that. It's fully

1:27

agentic. So, it's meant for building

1:30

features, for writing entire functions,

1:32

entire files,

1:34

fixing entire bugs at at the same time.

1:38

And what's kind of cool about Quad Code

1:39

is it works with all of your tools, and

1:42

you don't have to change out your

1:43

workflow. You don't have to swap

1:44

everything to start using it. So,

1:45

whatever IDE you use, if you use VS Code

1:48

or if you use Xcode, or if you use uh

1:51

JetBrains IDEs,

1:53

there's some people at Anthropic that

1:55

you can't pry them from their cold, dead

1:57

hands, but they use Quad Code

1:59

because Quad Code works with every

2:00

single IDE, every terminal out there.

2:03

It'll work locally, over remote SSH,

2:05

over tmux, whatever environment you're

2:07

in,

2:08

you can run it.

2:12

It's general purpose, and this is

2:14

something where if you haven't used

2:16

these kind of free-form coding

2:17

assistance in the in the past, it can be

2:19

kind of hard to figure out how to get

2:21

started cuz you open it up and you just

2:22

see a prompt bar, and you might wonder

2:24

like what do I what do I do with this?

2:25

What do I type in?

2:27

It's a power tool, so you can use it for

2:28

a lot of things, but also because it can

2:30

do so much, we don't try to guide you

2:32

towards a particular workflow. Because

2:34

really, you should be able to use it

2:35

however you want as an engineer.

2:42

As you open up Quad Code for the first

2:43

time, there's a few things that we

2:45

recommend doing

2:46

to get your environment set up. And

2:48

these are pretty straightforward. So,

2:49

run terminal setup. This will give you

2:51

shift enter for new lines, so you don't

2:52

have to do like backslashes to enter new

2:54

lines. This is, you know, it it makes it

2:56

a little bit nicer to use.

2:58

Do /theme to set light mode or dark mode

3:01

or Daltonize themes.

3:04

Um you can do /install GitHub app. So,

3:06

today when we announced a GitHub app,

3:09

where you can at-mention

3:11

uh Claude on any GitHub issue or pull

3:13

request. So, to install it, just run

3:15

this command in in your terminal.

3:18

Um you can customize the set of allowed

3:20

tools that you can use, so you're not

3:21

prompted for it every time. This is

3:23

pretty convenient um for stuff that I'm

3:24

prompted about a bunch, I'll definitely

3:26

customize it in this way, so I don't

3:27

have to accept it every time.

3:29

And something that I actually do is for

3:31

a lot of my prompts, I won't hand type

3:33

them into a Quad Code. If you're on

3:35

macOS, you can go into your system

3:37

settings under accessibility is

3:38

dictation, and you can enable it. And

3:41

so, something I do is you just hit like

3:42

that dictation key twice, and you can

3:45

just speak your prompt.

3:47

And it helps a lot to have specific

3:48

prompts. So, this is actually pretty be

3:50

You can just talk to Quad Code and like

3:52

you would another engineer and you don't

3:54

have to type a lot of code.

3:59

So, when you're starting out with Claude

4:01

code, it's so free form and it can do

4:03

everything. What do you start with? The

4:05

thing I recommend above everything else

4:07

is starting with code base Q&A. So, just

4:08

asking your question asking questions to

4:10

your code base.

4:12

This is something that we teach new

4:13

hires at Anthropic. So, on the first day

4:16

in technical onboarding, you learn about

4:17

Claude code, you download it, you get it

4:19

set up and then you immediately start

4:21

asking questions about the code base.

4:23

And in the past when you're doing

4:24

technical onboarding, it's something

4:26

that taxes the team a lot.

4:27

Right? You have to ask other engineers

4:29

on the team questions.

4:31

You have to look around the code and

4:32

this takes a while. You have to figure

4:33

out how to use the tools. This This

4:35

takes a long time.

4:37

With Claude code, you can just ask

4:38

Claude code and it'll explore the code

4:40

base, it'll answer these kind of

4:41

questions. And so, at Anthropic,

4:43

onboarding used to take about two or

4:44

three weeks for technical hires, it's

4:46

now about two or three days.

4:50

What's also kind of cool about Q&A is we

4:52

uh we don't do any sort of indexing. So,

4:54

there's no remote database with your

4:56

code. We don't upload it anywhere. Your

4:57

code stays local. We do not train

5:00

generative models on the code.

5:02

So, it's there, you control it, there's

5:04

no indices or anything like this.

5:06

And what that means is also there's no

5:08

setup. So, you start Claude, you

5:09

download it, you start it, there's no

5:11

indexing, you don't have to wait, you

5:12

can just use it right away.

5:16

This is a technical talk. So, um I'm

5:17

going to show some very specific prompts

5:19

and very specific code samples that you

5:20

can use and hopefully improve and up

5:22

level your Claude code experience.

5:25

So, some kind of questions that you can

5:26

ask is uh you know, like how is this

5:28

particular piece of code used or how do

5:30

I instantiate this thing? And Claude

5:32

code, it won't just do like a text

5:33

search and try to answer this. It'll

5:35

often go a level deeper and it'll try to

5:37

find examples of how is this class

5:38

instantiated? How is it used?

5:41

And it'll give you a much deeper answer.

5:43

So, something that you would get out of

5:44

a wiki or documentation instead of just

5:46

like command F.

5:49

Something that I do a lot also is ask

5:51

about Git history.

5:52

So, for example, you know, why does this

5:54

function have 15 arguments and why are

5:56

the arguments named this weird way?

5:58

And this is something I bet in all of

5:59

our code bases, you have some function

6:01

like this or some class like this.

6:04

And Cloud Code can look through Git

6:05

history and it'll look to figure out how

6:08

did these arguments get introduced and

6:09

who introduced them and what was the

6:10

situation? What are the issues that

6:12

those commits link to? And it'll look

6:14

through all this and summarize it. And

6:15

you don't have to tell it that in all

6:17

these in all this detail.

6:18

You just ask it. So, just say look

6:20

through Git history and it'll know to do

6:21

this.

6:23

The reason it knows it, by the way, is

6:24

not because we prompted it to. There's

6:26

nothing in the system prompt about

6:27

looking through Git history. It knows it

6:29

because the model was awesome. And if

6:31

you tell it to use Git, it'll know how

6:32

to use Git.

6:34

So, we're lucky to be building on such a

6:35

good model.

6:37

I often ask about GitHub issues. So, you

6:41

know, it can use web fetch and it can

6:43

fetch issues and look up context on

6:45

issues, too, and this is pretty awesome.

6:48

And this is something that I do every

6:50

single Monday in our weekly stand-up is

6:52

I ask what did I ship this week and

6:54

Cloud Code looks at the log, it knows my

6:56

username and it'll just give me a nice

6:57

readout of everything I I shipped. And

6:59

I'll just copy and paste that into a doc

7:01

somewhere.

7:06

So, yeah, that's tip number one for

7:07

people that have not used Cloud Code

7:09

before. If you're just showing it to

7:10

someone for the first time, onboarding

7:12

your team, the thing we definitely

7:13

recommend is start with code base Q&A.

7:15

Don't start by using fancy tools, don't

7:17

start by editing code, just start by

7:18

asking questions about the code base and

7:20

that'll teach people how to prompt. And

7:22

it'll start teaching them this boundary

7:23

of like what can Cloud Code do? What is

7:25

it capable of versus what do you need to

7:27

hold its hand with a little bit more?

7:29

What can be one-shotted? What can be

7:30

two-shotted, three-shotted? What do you

7:32

need to use interactive mode for in a

7:34

repl?

7:37

Once you're pretty comfortable with Q&A,

7:39

you can dive into editing code.

7:41

This is the next thing.

7:43

And the cool thing about uh any sort of

7:46

agentic,

7:47

you know, like using a LLM in a agentic

7:49

way is you give it tools and it is just

7:50

like magical. It figures out how to use

7:52

the tools.

7:53

And with Quad Code, we give it a pretty

7:54

small set of tools. It's not a lot.

7:57

And so, it has a tool to edit files. It

7:59

has a tool to run bash commands. It has

8:01

a tool to search files. And it'll string

8:03

these together to explore the code,

8:05

brainstorm, and then finally make edits.

8:09

And you don't have to prompt it

8:10

specifically to use this tool and this

8:11

tool and this tool. You just say, you

8:13

know, do this thing and it'll figure out

8:14

how to do it. It'll string it together

8:15

in the right way that makes sense for

8:17

Quad Code.

8:22

There's a lot of ways to use this.

8:23

Something I like to do sometimes is

8:25

before having Quad jump in to write

8:28

code, I'll ask it to brainstorm a little

8:30

bit or make a plan.

8:32

This is something we highly recommend

8:34

and something I see sometimes is people,

8:35

you know, they take Quad Code and they

8:38

ask it, "Hey, implement this enormous

8:40

like 3,000 line feature." And sometimes

8:42

it gets this right on the first shot.

8:44

But sometimes what happens is the thing

8:46

that it builds is not at all the thing

8:47

that you wanted.

8:49

And the easiest way to get the result

8:50

you want

8:51

is ask it to think first. So, brainstorm

8:54

ideas, make a plan, run it by me, ask

8:56

for approval before you write code.

8:58

And you don't have to use plan mode. You

9:00

don't have to use any special tools to

9:01

do this. All you have to do is ask Quad.

9:04

And it'll know what to do this. So, just

9:05

say, "Before you write code, make a

9:06

plan." That's it.

9:10

This is also I want to think with this

9:12

one this commit push here. This is a

9:13

really common incantation that I use.

9:15

There's nothing special about it, but

9:16

Quad is kind of smart enough to

9:17

interpret this. So, it'll make a commit.

9:19

It'll push it to the branch, make a

9:20

branch, and then make a pull request for

9:21

me on GitHub. You don't have to explain

9:23

anything. It'll look through the code.

9:24

It'll look through the history. It'll

9:26

look through the git log by itself to

9:27

figure out the commit format and all the

9:29

stuff. And it'll make the commit and

9:30

push it the right way.

9:33

Again, we're not system prompting it to

9:36

do this. It just knows how to do this.

9:37

The model was good.

9:41

As you get a little bit more advanced,

9:43

you're going to want to start to plug in

9:44

your team's tools. And this is where

9:46

Quad Code starts to really shine.

9:48

And there's generally two kinds of

9:49

tools. So, one is bash tools. And an

9:52

example of this, I just made up this

9:53

like barley CLI. This isn't a real

9:55

thing.

9:56

Um but you can say use this CLI to do

9:57

something. And you can tell Quad Code

9:59

about this. And you can tell it to use,

10:01

for example, like {dash} {dash} help to

10:03

figure out how to use it. And this is

10:04

efficient.

10:06

If you find yourself using it a lot, you

10:07

can also dump this into your quad MD,

10:09

which we'll talk about in a bit. So,

10:10

Quad can remember this across sessions.

10:12

But this is a common pattern we follow

10:14

at Anthropic. And we see external

10:16

customers use, too.

10:18

And same thing with MCP. Um Quad Code

10:20

can use bash tools. They can use MCP

10:22

tools. So, you know, just tell it about

10:24

the tools. And you can add MCP tool, and

10:26

you can tell it how to use it, and it'll

10:27

it'll just start using it.

10:30

And this is extremely powerful cuz when

10:32

you start to use code on a new code

10:34

base, you can just give it all of your

10:36

tools, all the tools your team already

10:38

uses for this code base, and Quad Code

10:40

can use it on your behalf.

10:47

There's a few common workflows.

10:50

And this is the one that I talked about

10:51

already. So, kind of do a little bit of

10:53

exploration, do a little bit of

10:54

planning, and ask ask me for

10:56

confirmation before you start to write

10:58

code.

10:59

These other two on the right are

11:01

extremely powerful.

11:02

When Quad has some way to check its

11:04

work, so for example, by writing unit

11:06

tests or screenshotting in Puppeteer or

11:09

screenshotting the iOS simulator,

11:11

then it can iterate.

11:13

And this is incredible because if you

11:14

give it, for example, a mock and you say

11:16

build this web UI, it'll get it pretty

11:18

good. But if you let it iterate two or

11:20

three times, often it gets it almost

11:22

perfect.

11:23

So, the trick is give it some sort of

11:25

tool that it can use for feedback to

11:27

check its work. And then based on that,

11:29

it will iterate by itself, and you're

11:30

going to get a much better result.

11:32

So, for whatever your domain is, if it's

11:34

unit test or integration test or

11:35

screenshots for apps or web or anything,

11:38

just give it a way to see its result and

11:40

it'll iterate and get better.

11:46

So, these are the next steps. Teach Quad

11:47

how to use your tools and figure out the

11:49

right workflow. If you want Quad to jump

11:51

in a code, if you want it to brainstorm

11:53

a little bit, make a plan, if you want

11:54

it to iterate, kind of have some sense

11:56

of that so you know how to prompt Quad

11:58

to do what you want.

12:03

As you go deeper, beyond tools, you want

12:05

to start to give Quad more context. And

12:07

the more context, the smarter the

12:09

decisions will be because as an engineer

12:11

working in a code base, you have a ton

12:12

of context in your head about your

12:13

systems and all the history and and

12:16

everything else. So, you can there's

12:17

different ways to give this to Quad.

12:19

And as you give Quad more context, it'll

12:20

do better.

12:22

There's different ways to do this. The

12:24

simplest one is what we call Quad MD.

12:27

And quad.md is the special file name.

12:30

The simplest place to put it is in the

12:32

project root. So, the same directory you

12:34

start Quad in,

12:36

put a quad.md in there and that'll get

12:37

automatically read into context at the

12:39

start of every session. And essentially,

12:41

the first user turn will include the

12:42

quad.md.

12:45

You can also have a local quad.md and

12:48

this one you don't usually check into

12:50

source control. So, quad.md you should

12:52

check into source control, share with

12:53

your team so that you can write it once

12:55

and share it with your team.

12:57

This one you don't check in. It's just

12:59

for you.

13:00

The kinds of things you put in quad.md,

13:02

it's like common bash commands, common

13:04

MCP tools,

13:05

architectural decisions, important

13:07

files, anything that you would kind of

13:09

typically need to know in order to work

13:11

in this code base.

13:12

Try to keep it pretty short cuz if it

13:14

gets too long, it's just going to use up

13:15

a bunch of context and it's usually not

13:17

that useful. So, just try to keep it as

13:19

short as you can.

13:20

And for for example, in our code base,

13:22

we have uh

13:24

common bash commands, we have a style

13:25

guide, we have a few core files, kind of

13:27

things like that.

13:29

All the other quad MDs, you can put them

13:30

in other nested child directories, and

13:33

quad will pull them in on demand.

13:36

So, these are the quad MDs that will get

13:37

pulled in automatically. Um but then

13:39

also you can put in put quad MDs in

13:42

nested directories, and those will get

13:43

put those will get automatically pulled

13:45

when quad works in those directories.

13:48

Um and of course, if you're, you know, a

13:50

company, maybe you want a quad MD that's

13:51

shared across all the different code

13:53

bases, and you want to manage it on

13:54

behalf of your users, and you can put it

13:56

in your enterprise root, and that'll get

13:58

pulled in automatically.

14:03

There's a ton of ways to pull in

14:04

context. I actually had a lot of trouble

14:05

putting this slide together just to

14:07

communicate the breadth of ways you can

14:08

do this.

14:10

But, quad MD is pulled in automatically.

14:12

You can also use slash commands. So,

14:13

this is dot quad slash commands, and

14:15

this can be in your home directory, or

14:17

it can be checked into your project. And

14:18

this is for slash commands.

14:21

And over here,

14:23

we have a few examples of the slash

14:25

commands that we have in quad code

14:27

itself.

14:29

And so, for example, if you're in the

14:30

quad code repo, and you see issues

14:32

getting labeled, that's actually this

14:34

workflow running here. It's label GitHub

14:36

issues.

14:37

And we have a GitHub action running, the

14:39

same one we talked about this morning,

14:41

where quad code will run this command,

14:43

and it's just a slash command. It'll

14:45

run, and it'll label the issues, so

14:46

humans don't have to. It just saves us a

14:48

bunch of time.

14:50

And of course, you can add mention files

14:51

to pull them into context. Um and like I

14:54

said before, quad MDs in a nested

14:56

directory get pulled in when quad works

14:58

in that directory.

15:03

So, give quad more context, and it's

15:06

definitely worth taking the time to tune

15:08

context. You can run it through a prompt

15:09

improver, consider

15:11

who the context is for, if you want to

15:13

pull it in every time, if you want to

15:14

pull it in on demand, if you want to

15:16

share it with a team, if it's a personal

15:17

preference.

15:18

Definitely take the time to tune it.

15:19

This will improve performance

15:20

dramatically

15:21

uh if you do it right.

15:27

As you get more advanced,

15:29

you're going to want to think about this

15:30

a little bit more of this kind of

15:31

hierarchy of different ways to pull in

15:33

everything. So like not just Quad MD,

15:35

but also config and

15:38

uh

15:39

kind of everything about Quad you can

15:40

pull in in this hierarchical way.

15:42

So projects uh are specific to your Git

15:45

repo, and this you can check in or you

15:46

can make it just for you.

15:48

You can also have global configs that

15:49

are for across all your projects, or you

15:51

can have enterprise policies. And this

15:53

is essentially a global config that you

15:55

roll out for all of your employees,

15:56

everyone on your team automatically.

15:59

And this slide is like pretty

16:00

information dense, but the point is this

16:03

applies to a lot of stuff. So you can do

16:04

this for slash commands, you can do it

16:06

for permissions. So for example, if you

16:08

have a bash command that you would run

16:09

for all your employees, uh like all your

16:12

employees use this like test command for

16:13

example,

16:14

you can actually just check it into this

16:16

enterprise policies file,

16:18

and then any employee when they run this

16:20

command, it will be auto-approved, which

16:21

is pretty convenient.

16:23

And you can also use this to block

16:24

commands. So for example, let's say

16:25

there's a URL that should never be

16:26

fetched, um just add it to this config,

16:29

and that'll make it so an employee

16:31

cannot override it. And that that URL

16:34

can never be fetched.

16:35

So pretty convenient both to unblock

16:36

people and also just to keep your code

16:38

base safe.

16:40

And then same thing for MCP servers.

16:42

Have a MCP JSON file, check it into the

16:44

code base, that way anytime someone runs

16:46

Quad code in your code base, they'll be

16:48

prompted to install the MCP servers. And

16:50

share it with the team.

16:55

If you're not sure which of these to

16:56

use, this is like a kind of an insane

16:58

matrix cuz we support a lot of stuff,

17:00

and engineer workflows are very

17:01

flexible, and every company is

17:02

different, so we kind of want to support

17:03

everything. So if you're not sure how to

17:05

get started, I would recommend start

17:07

with shared project context.

17:09

You write this once, and then you share

17:11

it with everyone on the team, and you

17:12

get this kind of network effect where,

17:13

you know, someone does a little bit of

17:15

work, and everyone on the team benefits.

17:20

There's a lot of tools built into Quad

17:22

to manage this. Uh so, as an example, if

17:24

you run {slash} memory, you can see all

17:26

the different memory files that are

17:27

getting pulled in. So, maybe I have an

17:29

enterprise policy, I have my user

17:31

memory, I have project Quad MD, and then

17:33

maybe there's a nested Quad MD. That's

17:35

only pulled in for certain directories.

17:39

And then, similarly, when you do {slash}

17:41

memory, you can edit particular memory

17:42

files. When you type pound sign to

17:44

remember something, you can pick which

17:45

memory you want it to go to.

17:51

So, yeah, that's the next tip. Take the

17:53

time to configure

17:55

Quad MD, MCP servers, all the stuff that

17:57

your team uses, so that you can use it

17:59

once, configure it once, and then share

18:01

it with everyone.

18:04

Um an example of this is uh in our apps

18:07

repo uh for Anthropic, this is like the

18:09

repo that we have all of our web and

18:12

apps code in. There's a Puppeteer MCP

18:14

server, and we share this with the team.

18:16

Um and there's an MCP JSON checked in,

18:18

so any engineer working in that repo can

18:20

use Puppeteer in order to pilot

18:21

end-to-end tests and to screenshot

18:23

automatically and iterate, so that every

18:24

engineer doesn't have to install it

18:26

themselves.

18:31

This is a talk about pro tips, so I I

18:32

just want to take a quick interlude to

18:34

talk about some common key bindings that

18:36

people may not know. It's a It's very

18:37

hard to build for a terminal. It's also

18:39

very fun. It feels like rediscovering

18:41

this new design language. But, something

18:43

about terminals is is It's extremely

18:45

minimal. And so, sometimes it's hard to

18:48

discover these key bindings. And here's

18:50

just a quick reference sheet. So,

18:51

anytime, you can hit shift tab to accept

18:54

edits.

18:55

Uh and this switches you into auto

18:56

accept edits mode. So, bash commands

18:58

still need approval, but edits are auto

19:00

accepted. And you can always ask Quad to

19:01

undo them later.

19:03

Um for example, I'll do this if I know

19:05

Quad's on the right track, or if it's

19:06

writing unit tests and iterating on

19:07

tests, I'll usually just switch into

19:09

auto accept mode, so I don't have to

19:11

okay every single edit.

19:14

Anytime you want Claude to remember

19:15

something, so for example, if it's not

19:17

using a tool correctly and you want it

19:19

to use it correctly from then on, just

19:20

type the pound sign and then tell it

19:22

what to remember and it'll remember it.

19:24

It'll incorporate it into Claude MD

19:25

automatically.

19:27

If you ever want to drop down to bash

19:29

mode, so just run a bash command, you

19:30

can hit the exclamation mark and type in

19:32

your command. That'll run locally, but

19:34

that also goes into the context window.

19:36

So, Claude will see it on the next turn.

19:39

Um and this is pretty good for

19:40

long-running commands if you know

19:41

exactly what you want to do or any

19:43

command that you want to get into

19:44

context. And Claude will see the command

19:45

and the output.

19:48

You can @ mention files and folders. Uh

19:50

anytime you can hit escape to stop what

19:52

Claude is doing. Um no matter what

19:54

Claude is doing, you can always save if

19:55

we hit escape. It's not going to corrupt

19:57

the session. It's not going to mess

19:58

anything up. So, maybe Claude is doing a

20:00

file edit. I'll hit escape. I'll tell it

20:02

what to do differently. Or maybe it

20:04

suggested a 20-line edit and I'm like,

20:06

"Actually, 19 of these lines look

20:07

perfect, but one line you should

20:08

change." I'll hit escape. I'll tell it

20:10

that and then I'll tell it to redo that

20:11

edit.

20:14

Uh you can hit escape twice to jump back

20:16

in history.

20:17

Um and then after you're done with the

20:18

session, you can start Claude with the

20:20

resume to resume that session if you

20:21

want. Um or dash dash continue.

20:25

And then anytime if you want to see more

20:27

output, hit control R and that'll show

20:29

you the entire output, the same thing

20:31

that Claude sees in its context window.

20:39

The next thing I want to talk about is

20:40

the Claude Code SDK. So, we talked about

20:42

this at the top. Uh right after this,

20:44

Sid is doing a session, I think just

20:46

across the hallway and he's going to go

20:47

super deep on the SDK. If you hadn't

20:50

played around with this, if you use the

20:52

dash P flag in Claude, this is what the

20:54

SDK is.

20:55

And we've been adding a bunch of

20:56

features over the last few weeks to make

20:58

it even even better.

21:00

Um so yeah, you can you can build on top

21:02

of this. You can do cool stuff. This is

21:03

exactly the thing that Claude Code uses.

21:05

It's exactly the same SDK.

21:08

And so for example, something you can do

21:09

is quad-p. So this is the the CLI SDK.

21:13

You can pass up you can pass a prompt.

21:15

You can pass some allowed tools which

21:16

could include specific bash commands.

21:19

And you can tell it which format you

21:20

want. So you might want JSON or you

21:22

might want streaming JSON if you want to

21:24

process this somehow.

21:26

So this is awesome for for building on.

21:28

We use this in CI all the time. We use

21:30

this for incident response. We use this

21:32

in all sorts of pipelines. So really

21:34

convenient. Just think of it as like a

21:35

Unix utility. You give it a prompt, it

21:37

gives you JSON. You can use this in any

21:39

way. You can pipe into it, you can pipe

21:40

out of it.

21:45

The piping is also pretty cool. So you

21:47

can use like for example get status and

21:50

pipe this in and you know use JQ to

21:52

select the result. It

21:54

The combinations are endless and it's

21:55

sort of this new idea. It's like a super

21:57

intelligent Unix utility. And I think

21:59

we've barely scratched the surface of

22:01

how to use this. We're just figuring

22:02

this out.

22:04

You can read from like a GCP bucket,

22:06

read you know like a giant log and pipe

22:08

it in and tell quad to figure out what's

22:09

interesting about this log.

22:11

Um you can fetch data from like the

22:13

century uh CLI. You can also pipe it in

22:16

and have quad do something with it.

22:23

The final thing and this is probably

22:25

like the most advanced use cases we see.

22:27

I'm sort of a quad normie. So I'll have

22:29

usually like one quad running at a time

22:31

and maybe I'll have like a few terminal

22:32

tabs for a few different repos running

22:34

at a time. When I look at power users in

22:36

and out of Anthropic,

22:38

almost always they're going to have like

22:40

SSH sessions. They'll have uh like tmux

22:42

tunnels into their quad sessions.

22:44

They're going to have a bunch of

22:45

checkouts of the same repo so that they

22:47

can run a bunch of quads in parallel in

22:49

that repo. Or they're using Git

22:50

worktrees to have some kind of isolation

22:52

as they do this.

22:54

And we're actively working on making

22:55

this easier to use, but uh

22:57

for now like these these are some ideas

22:59

for for to do more work in parallel with

23:01

Cloud. You can run as many sessions as

23:03

you want.

23:05

Uh and there's a lot that you can get

23:06

done in parallel.

23:10

So, yeah, that's it. I wanted to also

23:12

leave some time for Q&A.

23:14

So, I think this is the last slide that

23:16

I have. And yeah, if folks have

23:18

questions, there's mics on both sides.

23:21

And yeah, would love to answer any

23:22

questions.

23:24

>> [applause]

23:35

>> Skip the file command.

23:38

>> [laughter]

23:39

>> I did. Slide five.

23:43

>> [laughter]

23:46

>> Hey Boris. Um thanks for building a

23:48

Cloud Code. And I was wondering what was

23:50

the hardest implementation like part of

23:52

the implementation for you

23:54

of building it?

23:56

I think there's a lot of tricky parts.

24:00

Um I think one part that is especially

24:03

tricky is the things that we do to make

24:05

bash commands safe.

24:06

Um bash is inherently pretty dangerous

24:08

and it can change system state in

24:10

unexpected ways. But at the same time,

24:12

if

24:14

you have to manually approve every

24:16

single bash command, it's super annoying

24:18

as an engineer and you can't really be

24:19

productive cuz you're just constantly

24:20

approving every command.

24:22

And just kind of navigating how to do

24:24

this safely in a way that that scales

24:26

across the different kinds of code bases

24:27

people have cuz not everyone runs their

24:29

code in a Docker container.

24:31

Um was was pretty tricky. And

24:33

essentially the thing we landed on is

24:34

there's some commands that are

24:35

read-only. There's some static analysis

24:37

that we do in order to figure out which

24:39

commands can be combined in safe ways.

24:41

And then we have this pretty complex

24:43

tiered permission system so that you can

24:45

allow list and block list commands at

24:46

different levels.

24:50

Hi Boris.

24:51

You mentioned uh giving an image to

24:54

Cloud Code which made me wonder if

24:55

there's some sort of multimodal

24:57

functionality that I'm not aware of. Is

24:59

that Are you just pointing it at an

25:00

image on the file system or something?

25:02

Yeah, so Claude code is fully

25:04

multimodal. Um it has been from the

25:06

start. It's in a terminal, so it's a

25:07

little uh hard to discover.

25:09

Uh but yeah, you can take a image and

25:11

just drag and drop it in. That'll work.

25:13

Uh you can give it a file path. That'll

25:14

work. Um you can copy and paste the

25:17

image in and that works, too.

25:20

Um so I'll use this pretty often for if

25:22

I have like a mock of something, I'll

25:23

just drag and drop drop in the mock.

25:25

I'll tell it to implement it. I'll give

25:26

it a puppeteer server so it can iterate

25:28

against it. And yeah, it's just fully

25:30

automated.

25:33

Um hey, uh

25:35

why did you build a CLI tool instead of

25:37

an IDE?

25:40

Yeah, it's a it's a good question. I

25:41

think there's probably two reasons. One

25:42

is uh

25:44

we started this at Anthropic and at

25:46

Anthropic people use a broad range of

25:47

IDEs. And some people use VS Code, other

25:50

people use Zed or Xcode or Vim or Emacs.

25:55

And it was just hard to build something

25:56

that works for everyone. And so terminal

25:58

was just the common denominator.

26:00

The second thing is at Anthropic, we're

26:03

uh

26:04

we see up close how fast the model is

26:06

getting better.

26:08

And so I think there's a good chance

26:09

that by the end of the year people

26:10

aren't using IDEs anymore.

26:13

And so we want to get ready for this

26:14

future and we want to avoid

26:15

over-investing in UI and other layers on

26:17

top given that

26:19

the way the models are progressing, it

26:21

just it might not be useful work pretty

26:23

soon.

26:28

Yeah.

26:29

How much have you I don't know if this

26:30

is Is this on?

26:32

How much have you Claude code for

26:34

machine learning modeling and almost

26:36

that auto ML experience? I was curious

26:39

what the experience has been so far with

26:40

that. Yeah, I think I think the question

26:42

was how much are we using Claude code

26:44

for machine learning and and modeling.

26:47

We actually use it for this a bunch, so

26:49

both engineers and researchers at

26:51

Anthropic use Claude code every day. Um

26:53

I think about 80% of people at Anthropic

26:56

that are technical use Claude code every

26:58

day.

26:58

And hopefully you can see that in the

27:00

product and kind of the amount of love

27:01

and dogfooding we've put into it.

27:03

Um but this includes researchers who use

27:05

tools like the notebook notebook tool to

27:07

edit and run notebooks.

27:09

Okay, very cool. Thank you.

27:13

All right, I think that's it. Thanks.

27:14

[applause]

27:17

>> [music]

27:46

[music]

More transcripts

Explore other videos transcribed with YouTLDR.

Get the TLDR of any YouTube video

Transcribe, summarize, and repurpose videos in 125+ languages — free, no signup required.

Try YouTLDR Free