HomeVideos

Peter Steinberger | OpenClaw Creator

Now Playing

Peter Steinberger | OpenClaw Creator

Transcript

576 segments

0:00

Last [music] year, I was constrained by

0:02

token.

0:03

Now, I fixed that by joining Open AI.

0:07

Then,

0:08

I was constrained [music]

0:09

by

0:11

CPU.

0:12

And now, I feel my constraint is

0:14

actually attention.

0:16

You want to [music] optimize how often

0:19

do you need to be in the loop with your

0:21

agent.

0:26

>> [music]

0:32

>> Here we go.

0:33

>> Okay, everyone.

0:35

Don't worry, this one this one's going

0:36

to be a little bit quicker.

0:38

So, I'm Peter. Recently moved here.

0:41

Um

0:43

And you know, when you do

0:46

when you do a trending engineering,

0:49

I feel last year,

0:52

up until maybe February, I was

0:54

constrained by token.

0:56

Now, I fixed that by moving by joining

0:59

Open AI.

1:00

>> [laughter]

1:01

>> Then,

1:02

I was constrained by

1:04

CPU.

1:07

Um

1:08

I fixed that with something crap box.

1:10

I'll show you later.

1:12

And now, I feel my my constraint is

1:15

actually attention, right? So, so

1:18

all the things that you heard about like

1:21

creating loops. I mean, for me this was

1:24

like mostly a [ __ ] post and it kind of

1:26

exploded.

1:27

But what you really want to optimize

1:29

when you work

1:31

I think you Windows.

1:33

What you really want to optimize when

1:34

you work is you want to optimize how

1:37

often

1:39

do you need to be in the loop with your

1:41

agent? So, right? You need to like we

1:43

want to expand

1:44

all the things that your agent can do

1:46

from the prompt to like verification.

1:48

So, this is really

1:50

where you get more value out of it.

1:53

Also, by the way, I I forgot the ending

1:56

of the Pokémon thing. So, there's 46

1:59

endings that have exactly two Pokémon.

2:01

Uh

2:03

I don't know which one it was, but yeah,

2:04

it

2:05

It's like

2:06

well,

2:08

code fixes everything.

2:09

Um

2:11

So, I'll I'll show you like three little

2:13

things today that I think are really

2:14

cool and help our workflow.

2:17

So, number one,

2:18

you know, like I I built this thing

2:20

little thing called OpenClaw.

2:22

Uh

2:24

One of the big issues we had is

2:27

we're getting a lot of PRs, like a lot

2:30

of PRs.

2:32

And the problem is

2:34

some people literally make a PR by

2:35

typing into the coding agent

2:37

fix

2:39

and then some number

2:41

and it'll fix it and make a PR, right?

2:43

Like zero effort. And then you have a PR

2:46

that's like this long, like 4,000 lines,

2:48

and you don't really know like how much

2:50

time did that person actually Is this

2:51

even worth my time?

2:53

Uh so, one thing I ex- very method that

2:55

actually works out pretty well is

2:58

I'm going to I made a small skill.

3:01

And the skill does the following, like

3:02

after

3:03

after you create a PR, be it with Codex

3:06

or we're not discriminating here,

3:07

Claude. Um it'll ask you, "Hey, do you

3:10

want to upload the transcript? Like a a

3:13

sanitized version of the transcript."

3:15

Because

3:16

And

3:17

and let me tell you, if you do, like it

3:19

the chances that

3:21

someone looks at your PR much higher.

3:23

So, now actually we're getting a lot of

3:25

PRs. Look at this.

3:27

They like include

3:31

how people work on this.

3:34

And I find it not just me, me and also

3:38

my agent find it incredibly useful

3:39

because now I actually have a more data

3:41

points, like

3:42

did you spend 1 minute prompting this?

3:44

Did you spend 1 hour prompting this? And

3:45

like the longer your transcript is, the

3:47

higher is my confidence that you

3:49

actually care about what you fix, that

3:51

you actually understand, or at least try

3:53

to understand what you fix.

3:55

Um

3:57

and

4:00

this took me way too long because like I

4:01

was thinking too complicated. Oh, do I

4:03

need hooks? How do I build this? But

4:05

actually it's just a skill.

4:07

So I wrote this little agent transcript

4:09

skill that just basically explains

4:12

the agent how to find a transcript. I

4:14

made it so it works with every coding

4:16

agent cuz ultimately it's just JSON.

4:18

I load the JSON, it like tries its best

4:20

to sanitize it. Um I mean

4:23

ultimately trust the same agent, so it

4:25

probably won't be perfect, but you

4:26

probably don't like

4:28

don't write your

4:29

your most private secrets into the

4:31

coding session. Uh so usually it will be

4:33

fine.

4:35

And and that's it because I'm the

4:38

benevolent dictator for life, I just

4:40

made this the a default skill. So anyone

4:43

who who checks out the repository

4:45

automatically

4:47

gets the skill.

4:49

And the agent knows how to load the

4:50

skill and the and the description says,

4:52

"Load the skill when you make a PR or an

4:54

issue." Um

4:56

and bam, like our quality of PRs and

4:58

issues

4:59

for some people who do it then massively

5:01

up. Big win.

5:02

Easy to add.

5:04

Now, the second thing I want to show you

5:07

is

5:09

auto review.

5:11

Um

5:12

this is my favorite skill of all time.

5:14

Also it made everything way slower. It's

5:16

kind of like a a

5:17

continuation of what George started.

5:20

You know, whenever you you create code

5:24

it

5:24

the agent will probably do its best and

5:26

like get a version that's good.

5:29

And then you would do a PR and then like

5:30

some other agent would spin up and do a

5:32

review.

5:34

But that's slow. And that's also like

5:38

not really very practical. Um

5:44

and again it took me way too long

5:45

because I was thinking too complicated.

5:47

But really this skill again is just a

5:49

default skill and

5:52

the agent gets told load this when you

5:53

do a PR or a commit.

5:57

And then it will just invoke the CLI and

6:00

it by default it just look what's what

6:02

you have in your system and maybe maybe

6:04

codex maybe chord maybe pie maybe

6:07

anyone using open code?

6:08

But it supports open code too.

6:10

Um

6:13

and it will just invoke invoke this

6:14

skill and then

6:16

the CLI with like here review this it

6:18

will get feedback.

6:20

The beauty is

6:22

feedback goes to the coding session

6:24

where you work because that one has a

6:27

lot more context because what I

6:28

sometimes saw is

6:30

somebody would create a PR

6:32

I would load it into my codex.

6:34

Codex would do a review find three

6:35

things I fix those things but I actually

6:38

haven't fully understood what the PR is

6:40

about and all the constraints and I

6:42

actually break things

6:44

because

6:46

like from a naive standpoint yeah there

6:47

might be issues but like if you deeply

6:49

understand it maybe that's actually a

6:51

design decision right? So the beauty of

6:53

this skill is it

6:55

invokes review it gets the review back

6:57

to the original session and then the

6:59

session can decide

7:00

yeah this is right but actually no.

7:04

And the beauty of this again is if you

7:06

do that then I added instructions that

7:08

it will actually change the PR

7:10

description to include the decisions.

7:13

So then the next person who actually

7:15

looks at my PR doesn't break it again

7:17

because the naive review would find

7:19

something that you actually don't want.

7:21

Uh very easy to add again because I'm

7:23

the dictator I just made it a default.

7:26

I think I made like both anthropic and

7:28

open AI millions with just this

7:30

because it's like the massive token

7:31

burner.

7:32

Um

7:34

but you know like they have to like get

7:35

their money back at some point.

7:37

>> [laughter]

7:39

>> And uh

7:40

so and the third thing the thing that I

7:43

loved the most is

7:45

you know,

7:46

if you like

7:48

if you have these long-running sessions,

7:50

you're going to you don't want to stare

7:52

at the code. You do another session,

7:53

another session, another session. And

7:54

you have like you have like 10 coding

7:56

sessions. At some point, your it feels

7:57

like your

7:59

your your MacBook starts to become like

8:01

will take off because the CPU's are

8:03

spinning as crazy and everything become

8:05

really slow.

8:06

Um

8:11

That was seriously slowing me down. Like

8:13

at some point, I had you see like I have

8:15

multiple machines here. This is like my

8:17

computer. This is my Mac in the cloud.

8:19

This is my Mac Studio. And then this is

8:20

like I have multiple Macs where I was

8:22

like working.

8:23

But that's also kind of annoying and it

8:24

can't possibly be the perfect solution.

8:27

I felt like a crutch.

8:29

So,

8:31

cuz you keep the crustacean theme double

8:33

crap box.

8:35

Um and I actually got this idea because

8:37

I used

8:38

a blacksmith had this thing where they

8:40

created

8:41

test boxes.

8:42

But they had like daily daily outages,

8:45

so I got annoyed and I wanted to fall

8:46

back.

8:47

And then

8:48

once I had this like the affordances

8:50

kept coming.

8:51

And what it does really is it gives your

8:53

agent a little box where it can rsync

8:57

uh your changes of the repo. Like it can

8:58

actually sync it starts with the the

9:01

same state that you already have in your

9:02

GitHub Actions.

9:04

So, by default, if you have CI, which I

9:07

assume you do, it'll just work.

9:09

And then it'll rsync the changes and

9:11

then it'll run the tests in that box.

9:14

So, now no more CPU spinning because all

9:15

everything that's expensive,

9:17

it just does in that box.

9:19

And

9:20

by now it feels like it's his own

9:22

Pokémon because I support like 30

9:23

providers, um including

9:27

really weird things if you work at

9:28

companies with high security like

9:29

OpenAI.

9:31

Uh or even Parallels. So,

9:34

you will find one provider that you

9:36

like.

9:38

But then like once I had this, I was

9:40

like I was getting ideas, you know? I

9:41

was like

9:43

And initially it was just Linux. And I'm

9:45

like, ah, I have to spark, but it's like

9:47

a launch debug. It's only for Mac OS.

9:49

And this these sparks are like

9:50

especially nasty because if I test it on

9:53

my system,

9:54

my system probably is already in some

9:57

way configured and I have like

9:58

something. So, my agent will probably

10:01

break something or maybe

10:03

maybe passes because I changed something

10:05

in the past. What you really want to do

10:07

is to increase your confidence that what

10:09

you actually prompt is something that

10:11

works. You want to start with a fresh

10:13

machine.

10:15

So, I just added Windows and Linux

10:16

support.

10:17

And now

10:19

my agent has this new primitive where if

10:21

I tell him

10:23

Oops.

10:25

If I tell him, "Hey, install Open Claw

10:29

for me on

10:30

What OS is this? This is Linux.

10:33

And

10:35

Mac OS.

10:38

And Windows,

10:39

it can just do that.

10:44

And then I I gave my agent a little bit

10:46

of eyes and ears.

10:47

Uh not ears, just eyes.

10:49

Um

10:50

So, it can it can get screenshots. It

10:52

can click into it. So, I have like Chips

10:55

and Computer computer use.

10:57

So, it can actually set up your system

11:00

just as you want. And agents by now are

11:02

really good because we train them on it.

11:04

So, you can just tell him, "Hey, set up

11:06

a system where you like open

11:08

open a web browser. You preconfigure

11:10

this and this." And it'll it'll work and

11:12

like you can verify because you can see

11:14

the screens. And it might take a while,

11:15

but then at at some point you have

11:18

this thing where you can exactly on a

11:20

fresh system verify

11:22

uh your setup. And it's it's much nicer

11:25

because if you

11:26

if you would use classical computer use,

11:28

at some point you would fight with your

11:30

your cursor or like the focus would

11:32

change or like you know, it's or like

11:33

even browser users would get annoying.

11:35

And because Devon uses a fresh box, and

11:37

then you just like VNC into it,

11:39

um

11:41

you don't have any of that pain.

11:43

So, let's see if I can work this. Like

11:45

here, I have like one thing where

11:48

I was like, "This looks too boring.

11:50

Make it super gay and rainbows."

11:55

>> [laughter]

11:57

>> I should have done this before. It'll

11:58

probably take too long.

11:59

Um

12:02

or even break. Let's see. Let's see if

12:04

it manages. The The other The other

12:06

thing that that is cool on that is

12:09

um those links are shareable.

12:12

So, if I create an environment where

12:14

like, "Hey, I'm going to testing this

12:15

new feature."

12:17

I can just send this to a friend. I

12:19

mean, we we using like GitHub orgs as

12:21

the odd layer, but you can like use any

12:23

odd layer. And then they can click

12:24

around and try it, and

12:27

it's instant, right?

12:29

Um so, like I have like right now it

12:31

says, "You control."

12:32

But, I can take this link,

12:35

go on my other computer.

12:42

Oh, yeah. I also added dark and white

12:44

mode on Linux. I have no clue how it

12:45

works, but I just look for it and now

12:47

changes everything to light and dark

12:49

mode, cuz it's important when you work

12:50

all day.

12:51

Um and then like

12:54

somebody else in your org could take

12:55

control and try the new thing.

13:00

It doesn't really matter if it's slow or

13:01

fast. Like it

13:04

you'll get the job done. Like you can

13:05

imagine, hypothetically spoken,

13:09

that I work at some company where we

13:11

have a feedback channel, and like people

13:13

say,

13:14

"Wouldn't this feature be cool?" And

13:16

then like we hypothetically spoken, we

13:18

have like a

13:20

a bot in that where the bot would say,

13:22

"Yeah, let me implement this." And then

13:24

it would reply with a the

13:26

a true to a VNC session where someone

13:29

who doesn't know how to code can try out

13:31

the new feature and then realize it's a

13:32

very dumb idea.

13:34

Uh or

13:35

>> [laughter]

13:37

>> But ultimately, that's what you want,

13:38

right? You want to You want to extend

13:40

the loop. So so

13:42

any input can actually be verified. And

13:44

like And then some people realize, oh

13:46

yeah, that actually was a dumb idea. Or

13:48

some people realize, yeah, no, do it

13:49

like this. And then it was a great idea.

13:51

And then

13:53

I only need to look so like maybe a

13:54

third of the feedback things to figure

13:56

out what's actually interesting cuz it

13:58

already has been verified. Uh

14:00

and again, just by

14:02

people working in Slack using

14:05

using cloth.

14:07

Uh

14:08

so where's my rainbow?

14:10

Let's see.

14:12

Uh I guess it's still working.

14:15

Uh I should have I should have just went

14:17

with like frog green.

14:20

But yeah, those those are pretty much

14:21

it. Those are the three things that

14:24

changed my coding over the last few

14:25

months the most. We have

14:29

transcripts, which also is really great

14:31

at companies.

14:32

We have auto review.

14:35

Um

14:36

sometimes it can a little go a little

14:37

bit overboard. So you want to make sure

14:39

that

14:40

in your agents indeed, [clears throat]

14:41

you define some

14:42

some invariants. Like no, these files

14:45

will

14:46

not change after the app started. Or

14:48

like we can assume things, you know?

14:50

Like coding agents always like write for

14:52

the worst case.

14:53

And number three,

14:56

crap box.

14:57

Thanks for my TED Talk.

14:59

>> [applause]

15:06

>> Yeah.

15:07

>> The The first time we met, you told me

15:08

about your first aha moment with Open

15:11

Cloud where you sent it a voice note and

15:13

it didn't have like it found an API key

15:15

on your computer and sent you back

15:17

voices something along those lines.

15:18

>> That was scary, right?

15:20

>> And that was probably one of your like

15:22

aha moments. Have you had anything

15:24

recently that has just blown your mind

15:26

where

15:27

something really surprised you?

15:30

>> Yeah, but I can't tell you.

15:32

>> [laughter]

15:34

>> Was it stable five?

15:36

>> Uh

15:40

Fumble five? No.

15:41

>> [laughter]

15:42

>> Oh, we're getting the rainbow. Look.

15:44

Look.

15:45

Yeah, that's matching for pride.

15:50

>> So, are you using loops?

15:53

>> Um

15:54

I mean, honestly, like I think loops is

15:56

just a very very fancy work for

15:57

workflow.

15:58

So, if you create an issue now on one of

16:00

my open source repositories, an agent

16:02

will spin up

16:03

and like

16:04

verify if this is a great idea or a very

16:07

dumb idea based on the vision.md or I

16:10

just kind of define of like where I

16:11

think the project should go.

16:12

If the agent thinks it's a great idea,

16:14

it might still be a dumb idea.

16:16

But it will it will like create a PR,

16:18

another agent will spin up.

16:20

So, they're already a loop.

16:21

It's like basically it's loops and loops

16:22

because agents are already loops. But

16:24

another agent will spin up, like will

16:25

will review the PR, will like repair the

16:27

PR, make sure everything is great. So,

16:29

when I then actually have my little time

16:32

and look at the look at the open source,

16:33

I can say this, this, this and

16:34

everything's ready uh to be merged. I

16:36

don't have to

16:37

to

16:38

look 20 minutes at like a stream of

16:42

coding agents doing their thing. So,

16:43

yeah.

16:47

>> When you're designing these feedback

16:48

loops, how much uh human in the loop do

16:50

you do now versus when you first

16:52

started?

16:55

>> I mean, in the beginning I was like

16:57

kicking and screaming because the model

16:58

wouldn't do what I want when I started

17:00

like a year ago. I don't know.

17:02

The the times where I was screaming at

17:04

Claude.

17:05

Uh

17:07

And now

17:10

now it's more thinking up front.

17:14

But then it might take 1 hour, to hours

17:17

to implement and then it's basically uh

17:20

or get a look look at for example

17:23

what you can very easily implement when

17:25

you have crab box. You can create

17:26

prompts that make videos. So this is

17:29

just one feature and because videos

17:31

don't really work on GitHub we'll make a

17:33

GIF GIF I don't know. Uh and then you

17:35

basically have to be four and after

17:37

state.

17:38

And

17:39

from the prompt I have my visual

17:41

verification is like yeah, I see that

17:43

the bug here. I see that the fix here

17:44

and then press merge. So yeah, much

17:47

less.

17:49

>> At the beginning you talked about

17:51

attention being a problem. Have you

17:53

solved that?

17:58

>> I can't kill them all you know.

18:00

>> [laughter]

18:01

>> No

18:04

Well to a degree to a degree. Like I I

18:08

my agents need much less babysitting

18:09

because you just give them more tools

18:11

to do the work until at some point but

18:13

you still need

18:15

the sinking of like is this actually

18:17

something we want nobody can take away.

18:24

>> You got to be faking a transcript make

18:26

themselves sound smarter.

18:30

>> I'm honestly honestly like you know we

18:33

had this review bot

18:34

a grab tile for a while that gives the

18:37

the PR rating rating from one to five.

18:40

And we found like more than one instance

18:42

where it would give it a two and then

18:44

people just manually edited the

18:45

description to give it a five and say

18:47

this is a great PR merge. So I would not

18:49

I would not be surprised.

18:52

>> What bothers you the most about your

18:54

current workflow right now?

19:05

>> That it still requires so much sinking.

19:09

Like like we produce much more code and

19:13

we build much more complex system, which

19:15

just means that

19:18

it requires a lot more thinking. Cuz

19:20

like Asians are just not really good at

19:22

understanding how does this one thing

19:24

fit into the big picture? They focus on

19:26

the one thing. You know, they're like

19:28

this, like horses. And you're going to

19:30

push them to like look around.

19:33

But if you don't keep

19:34

the system, like how does everything fit

19:36

together? Does it actually feel right?

19:39

Yeah.

19:40

Asians can't do that yet.

19:44

All right?

19:45

>> Sweet. Thank you, Peter.

19:46

>> Thank you. [applause]

Interactive Summary

Peter discusses his evolved workflow for coding with AI agents, moving past constraints like tokens and CPU limitations to focus on optimizing 'attention'. He introduces three core tools he developed: OpenClaw for PR transcripts to improve context, an automated review system that keeps feedback loops within the original coding session, and 'CrapBox', an isolated environment that allows agents to test changes on fresh OS systems without impacting the local machine. Peter emphasizes that these tools allow for better asynchronous verification of features, ultimately reducing the need for constant human supervision in the coding process.

Suggested questions

3 ready-made prompts