HomeVideos

[한영자막] Cursor 핵심 개발자 Lauren Tan: AI 에이전트를 실전에서 제대로 신뢰하는 법 (xAI GrokBot 워크숍)

Now Playing

[한영자막] Cursor 핵심 개발자 Lauren Tan: AI 에이전트를 실전에서 제대로 신뢰하는 법 (xAI GrokBot 워크숍)

Transcript

1473 segments

0:00

Everyone, I am Lauren Lauren Tan. I

0:03

guess not many people know my last name.

0:05

Uh, I am Potato on Twitter. Uh, potato

0:10

with spelled with an E. Um, and I have

0:13

been at Cursor for about 5 months. Uh,

0:18

previously I was at Meta where I worked

0:20

on the React team. Uh, specifically

0:22

working on the React compiler, uh, which

0:25

was a whole lot of fun. Uh I'm still on

0:27

the on the core team and and uh

0:29

contributing to open source here and

0:30

there. Uh so that that's really nice

0:33

that they still let me do that. Uh and

0:36

before Meta, I was at Netflix uh where I

0:38

was uh both a tech lead and uh I

0:43

transitioned to be be an engineering

0:45

manager um for about two years.

0:49

So I've had a I've have had a lot of

0:51

experience going between engineering

0:54

management and being an individual

0:56

contributor. Uh and I think something

0:58

I've noticed actually which is quite

1:00

interesting is that there are so many

1:02

parallels with you know management

1:04

skills and how to like manage agents. Uh

1:07

and that's actually a big part about

1:09

what I wanted to chat with you and

1:11

everybody else about today. Um but yeah

1:14

that's that's me. Uh I do have some like

1:17

very light slides but uh it's not going

1:20

to be uh just rambling. So let me just

1:23

share my screen

1:25

and hope that I don't leak anything. Uh

1:33

oh no I need to allow permissions.

1:36

>> No worries. Oh take your time. There's

1:38

always tech tech trouble. Uh give me one

1:41

second to rejoin.

1:42

>> Yeah go for it.

1:46

I see many of you already know Lauren

1:48

from from the looks of the chat here.

1:50

Um, so yeah, it's exciting to to get a

1:53

chance to chat with her uh and and go

1:55

through some of her her recent work. As

1:57

you guys heard, you know, a lot of

1:58

recent experience from from Netflix to

2:01

to Meta and then now over at Cursor. Uh,

2:04

we're going to chat a little bit about

2:05

Grockbot as well. So, uh, that'll be

2:08

exciting. I don't know if you guys saw

2:09

that was a recent release. I think

2:10

literally maybe yesterday or the day

2:12

before uh from the cursor team which is

2:14

kind of like um let's call it like

2:16

agents for everyone. You can go check it

2:18

out if you want and learn a little bit

2:19

more about the product but um but yeah

2:22

we'll we'll explore that a little bit

2:23

today as well.

2:26

All righty. Welcome back.

2:40

And Lauren, you're just on mute there if

2:42

uh you want to hop off of mute if you're

2:43

chatting.

2:44

>> Yeah, sorry.

2:45

>> No worries.

2:47

>> It's 2026 and I still don't know how to

2:49

use Zoom.

2:50

>> That's [laughter] all good.

2:51

>> Uh okay. So, I assume you can see my

2:53

screen.

2:54

>> Yes. Yeah, we're good. Um, so yeah,

2:56

today, yeah, I think I think the big

2:58

theme for me as I've been using agents

3:01

to write code, and I'm sure a lot of you

3:03

have had the same experience as well, is

3:06

how do you trust it? You know,

3:07

especially if you are an engineer that's

3:10

been writing code for a very long time,

3:12

you have a lot of opinions and lessons

3:15

that you've learned about doing good

3:17

engineering. And when you see agents

3:20

just, you know, winging it and, you

3:22

know, guessing, hallucinating,

3:24

uh, you know, confidently stating that

3:27

they found the smoking gun, uh, for the

3:29

hundth time, uh, but it's actually not

3:32

the real problem. You lose a lot of

3:34

trust. And when you lose when you don't

3:36

have much trust in your agents,

3:39

I feel like you you really can't get the

3:41

most out of them. And for me, the

3:43

parallel is like with management. Uh so

3:46

if I'm an a manager an engineering

3:48

manager of a team and I have a bunch of

3:51

you know I have a team of engineers uh

3:54

on my team and I don't trust them then

3:57

the mode of operation I'm going to be in

3:59

is going to be like micromanagement

4:00

right I'll have to spend a lot of time

4:03

looking over my reports shoulders and

4:06

checking that they're doing their work

4:08

well you know that they're not shipping

4:09

bugs to production

4:13

and so I drew this chart cuz uh it's not

4:16

it's not a very scientific chart but

4:18

like this is how I imagine myself and my

4:22

journey through using agents. So you

4:25

know like fast forward or back forward

4:29

uh or fast back uh fast backwards like a

4:33

year or so when you know nobody was or

4:35

not many people were using agents to

4:37

code. Uh I think you

4:41

uh you know get into this mode where you

4:43

are

4:45

in very heavily in the loop with one or

4:48

several like a handful of agents and you

4:51

find yourself just constantly fig uh you

4:54

know trying to understand what your

4:55

agents are doing uh and you're very very

4:57

in loop. You're watching every single

4:59

output. you are sitting there prompting

5:03

um and you really can't parallelize

5:05

beyond that because you don't again you

5:08

don't have that trust right you can't go

5:09

to a 100 agents uh like spawn 100 agents

5:13

when you don't even trust the output of

5:14

one agent

5:17

so over the past 5 months I feel like

5:20

I've really been able to uh like ascend

5:23

this trust curve and now I'm at the

5:26

point where uh I actually have this

5:29

Sounds kind of scary to say this and it

5:31

makes me sound like a slop artist, but I

5:33

I promise I'm not, but I actually have

5:36

my agents now um automerging PRs for me.

5:39

Uh which is like a wild thing to say,

5:42

but um like I woke up today and there

5:44

were like 20 PRs landed and I just

5:47

reviewed them on Maine like they were

5:49

already landed and they were good. Uh so

5:52

how did I get to that point is basically

5:55

what I wanted to talk about today.

5:58

Uh and again like yeah feel free to jump

6:00

in if you have questions Colin. Um but

6:04

uh oh yeah of course I got to show this

6:07

this chart. Uh where uh

6:12

no do not trust to someone requested to

6:16

control my computer. Uh probably won't

6:18

do that. Uh but yeah, so this chart I

6:22

think I I'm I'm sharing this chart not

6:24

to kind of like flex but to kind of show

6:27

like the journey like so you can see

6:29

like the curve like it sort of like

6:31

inversely matches the contributions I've

6:34

been able to land at cursor. So I joined

6:37

five months ago and five months ago like

6:39

I you know my first month I was like not

6:41

very productive because I was ob you

6:43

know I was learning the codebase didn't

6:45

know what the heck was going on and as I

6:48

got more confident in in my agents uh

6:51

I've really been able to kind of ramp up

6:53

my productivity uh and again like yeah

6:56

like last month I shipped a thousand PRs

7:00

which is ridiculous. Uh, and then this

7:02

month we're only on the 12th. I'm

7:04

already at like almost 800 PRs landed.

7:09

Uh, so the velocity is definitely high

7:12

and you you I'm sure a lot of you will

7:14

definitely be questioning like how how

7:16

much of this code is actually good. Um,

7:18

and I think yeah, like that's definitely

7:21

fair to question.

7:23

Um, but uh, yeah, I think I think if you

7:28

set up your agents well, you can

7:30

definitely get to a very similar level.

7:34

Um, and so I'm going to talk about how

7:35

we do that.

7:38

Uh so for me I think I'm curious like I

7:42

guess call in your experience as well

7:44

but uh for me I think the most important

7:48

skill that you should have in your

7:51

toolbox when you work with agents is

7:53

verification.

7:55

Uh and by verification I mean the

7:57

ability for an agent to actually run the

8:00

code uh or take CPU traces or heap

8:05

snapshots or uh you know open an iOS

8:09

simulator whatever you know however your

8:12

application is exposed to your users it

8:15

can do the same thing and uh run it for

8:19

real and actually test and verify it

8:21

don't work because that's the thing that

8:23

really closes the loop. Uh it doesn't

8:26

guarantee your agent writes good code.

8:29

Uh but it allows them to at least write

8:31

correct code. Uh which is a big a really

8:34

big step forward for being able to trust

8:37

your agents. Um

8:40

I will I can share one example that we

8:43

have uh within cursor. Uh

8:49

oops

8:50

where let me open this. Let's

9:00

make this uh make me full screen. There

9:03

you go.

9:05

Uh so for the for cursors agent window

9:09

uh so this is actually an interesting

9:11

story but uh when I joined cursor 5

9:14

months ago uh they're actually uh well I

9:18

was supposed to join a different team. I

9:20

was supposed to join like the cloud

9:21

agents team. Uh but then since I have a

9:24

lot of experience working on react and

9:26

agents window is a react application. Uh

9:29

I was

9:31

uh I was asked to basically help out

9:34

with uh the agent window work. Uh but um

9:40

there wasn't really a lot of like skills

9:43

to help me. So I just found myself like

9:45

okay uh agents is going to launch in

9:47

like a week right we have a really tight

9:49

deadline and um there was uh you know I

9:54

was just sitting there like okay I'm

9:55

going to open up the performant the the

9:57

chrome dev tools and just like take a

9:59

trace look at it myself and try to make

10:01

sense of this flame graph and keep in

10:03

mind I was just like in my first week so

10:06

I had no idea what I was looking at no

10:07

idea what you know I mean I had some

10:09

idea but you know the codebase was

10:11

completely fresh to me Uh, and I

10:14

realized like my agent had no idea

10:17

either, you know, like I would take a

10:18

screenshot of the tree, I download

10:19

trades, I would send it to it, and it be

10:21

like, "Yeah, it kind of looks like this,

10:23

you know, uh, and it would like

10:25

confidently state like it's this thing."

10:27

And then I try to fix that. And turns

10:29

out that's not the actual thing.

10:32

So, this was very very slow process. And

10:34

if you've ever done any like performance

10:36

work yourself or you know just even

10:38

development with an agent where you

10:40

don't have a verification skill, you are

10:43

the verifier, right? You you're the

10:45

bottleneck. You you you tell your agent

10:47

to do something and then it goes off and

10:49

write some code. Then you open up your

10:51

you know local dev build and then you

10:53

start to say oh you know doesn't work.

10:54

Then you got to copy paste screen uh you

10:56

know screenshots or console errors or

10:59

whatever. uh and then your agent like

11:01

slowly kind of like uh you know works

11:04

with that and then tries to understand

11:06

it and um fix the thing but then you're

11:10

constantly just in the loop and and

11:12

being a bottleneck. So there's really no

11:13

way to parallelize. So the control glass

11:16

skill is like one of the first skills I

11:18

built uh for cursor. Uh and glass by the

11:21

way is the code name for agents window

11:24

that we use internally but it's just

11:27

cursor I guess. Um, and so this skill uh

11:31

is I guess the the the code itself is

11:33

not super interesting. Your agent can

11:35

very easily make one for you. Uh where

11:38

if if you're building an Electron app or

11:40

a web app or even iOS uh applications,

11:45

uh you can teach your agent how to use

11:47

like the ChromeDev tools protocol or

11:50

through uh Apple has some utilities as

11:53

well for running the simulator and

11:55

taking traces and controlling

11:56

programmatic control.

11:58

as well. Uh so that's really useful. Uh

12:03

but one thing I want to talk about is uh

12:06

the

12:08

this thing

12:10

uh where is the read me? Uh so this

12:14

skill comes with this very unique

12:16

feature called or not feature uh unique

12:19

file called a feature map. And so the

12:23

story then is like I built this skill

12:25

and so now the agent was able to uh

12:28

actually run the agent window and take

12:30

traces and whatnot. Uh but it had no

12:33

idea what what the agent window was. So

12:38

um you know like someone would say like

12:40

oh the the left sidebar is like laggy or

12:44

something like that or you know the

12:46

right side the the PR tab is not working

12:48

and the agent would just be like kind of

12:50

flailing around. it would spend a lot of

12:51

time trying to like look up the code and

12:53

you know where is this feature? How do I

12:55

actually get to it on the UI which made

12:58

it basically completely useless. Uh you

13:00

know like we would I would run this

13:03

skill locally and you know it would

13:05

spawn a dev build uh but then it' just

13:08

be churning like I just try to click

13:11

here. It wouldn't know how to get to

13:13

things um and it was just an awful

13:15

experience. Uh so who is putting arrows

13:19

on my screen? Um so uh yeah this this

13:24

feature map has been really useful uh

13:26

because it teaches the agent how to get

13:28

to all of the features that you have. Um

13:31

and in PAC the plugin that I I've made

13:35

uh if you search for PAC cursor on

13:39

Google you you'll find it. Uh, but there

13:41

is a create verification skill in that

13:44

plug-in where it actually helps you set

13:46

up something like this for yourself. Um,

13:49

including the feature map. So, it will

13:50

actually explore the code and build up

13:52

this initial feature map that tells your

13:54

agent how to get to all of the different

13:57

features that you have. Uh, and this is

13:59

extremely powerful because now like you

14:02

have these user reports that come in.

14:04

Uh, you you can actually map even like a

14:07

vague report or even a screenshot. So we

14:10

have this uh internally at cursor where

14:14

uh we have a slack channel where you

14:16

know lots of people giving us feedback

14:18

on the agents window and rockbot and

14:20

whatnot. Uh, and often times the report

14:24

is very bad, like very low quality, like

14:26

someone will just put very often we get

14:29

like a screenshot like and then someone

14:30

just says question mark question mark

14:32

question mark like what is this? And you

14:34

know like without this your agent like I

14:37

have no clue, right? But with a feature

14:39

map like this, it has a lot more context

14:42

and understanding of how to actually

14:45

navigate, how to get to all the

14:47

different features. Uh so like you know

14:49

example like I guess like the sidebar

14:51

like what is the sidebar uh you know

14:54

like all the different sub features that

14:56

are present in it um like from the user

14:59

point of view here's where how do I get

15:01

to it all the different keyboard

15:03

shortcuts

15:05

uh even like the the what do you call it

15:07

the DOM elements or yeah like the

15:10

attributes that you use for selecting

15:12

things through the CDP uh are all there.

15:16

So uh again yeah this is like really

15:19

really powerful uh for for agents

15:23

>> uh and pstack ships uh that create

15:26

verification skill but also a maintain

15:28

verification skill uh so you can keep

15:30

this up to date.

15:32

>> Cool. Yeah, I was just going to ask how

15:34

you created that. So do you mind sharing

15:35

a little bit more about um that that

15:37

process in the context of Pstack and

15:39

maybe just what Pstack is for the folks

15:40

who aren't familiar?

15:42

Yeah. So, P stack is pretty interesting

15:44

because uh well, first of all, the name

15:47

is kind of goofy. like the P the P and P

15:50

stack is like potato potato snack

15:54

because I um so uh uh there is a pretty

15:59

uh famous person Gary Tan who is the CEO

16:02

of Y Combinator and he's come up with

16:05

this plugin called GStack uh Gary Stack

16:09

and uh funnily enough we share the last

16:12

name we have no relations uh but I

16:14

thought it would be funny to kind of you

16:16

know poke fun at Gary and make peace

16:18

stack my version of of of of [laughter]

16:21

his plugin. Uh but kind of tailor it to

16:24

my own set of p engineering practices.

16:29

Uh but I honestly actually never set out

16:31

to build PAC. Uh it just started with a

16:33

bunch of skills, right? Like I started

16:35

with that control glass skill and then I

16:37

started with another skill like called

16:39

how which I also noticed through like

16:42

observing agents. Um, so like you know

16:46

in the early days of me, you know,

16:47

trying to climb this ladder, I was like

16:49

super in the loop and I was basically

16:51

nitpicking my agents to an extreme

16:53

degree. I was uh like I would tell it um

16:57

you know this feature has stopped

16:59

working here's a bug report like why

17:01

isn't it working?

17:04

And very often the agent would just like

17:06

confidently state like oh it has to be

17:09

this right it has to be this thing. And

17:11

I noticed like when I looked at the

17:13

actual tool calls, I noticed it wasn't

17:15

actually reading the code that I thought

17:18

should be affected. And that made me

17:20

just extremely suspicious. And at that

17:22

point, I was like, I'm not going to I

17:24

can't trust any this agent anymore cuz

17:26

it's just it's just completely

17:27

hallucinating.

17:29

And I think

17:31

I think it's very easy to just, you

17:33

know, like build up that distrust and

17:35

not and kind of feel helpless like, you

17:38

know, you don't know how to help your

17:40

agents succeed. But like again, I think

17:43

the the the management analogy is super

17:45

helpful because like imagine if you were

17:46

a manager of an engineering team and you

17:49

had an engineer on your team who was a

17:52

really good coder, no business context

17:54

whatsoever. you know they they just you

17:56

just hired them and they they onboarded

17:58

you know like 5 seconds ago. Uh and so

18:02

how do you actually teach that person to

18:04

be effective?

18:05

So how you do that is through a skill.

18:08

uh a skill being just you know it's just

18:09

markdown right but you know it encodes a

18:12

lot of information instructions a lot of

18:16

uh you can really draw out a lot of

18:19

intelligence from an agent by well some

18:22

people on Twitter call it like you know

18:23

pull the agent to a different latent

18:26

space which is kind of like a fancy way

18:28

of just saying like since uh you LLMs

18:30

are sort of like they predict the next

18:32

token uh when you give it some high

18:35

quality tokens uh to to begin with then

18:38

you know it it can kind of pattern match

18:40

on like a higher space that's you know

18:43

smarter

18:45

um so that's like a very interesting

18:48

model there but yeah I built Pstack very

18:50

very incrementally uh so uh started with

18:54

just really observing how agents you

18:56

know all the fail different failure

18:58

modes of of that agents were having and

19:01

every time I saw that I just okay I'm

19:02

just going to make that a skill right

19:04

like stop hallucinating actually go and

19:07

search up, look up the code, use a lot

19:09

of sign agents, uh, and yeah, stop

19:12

guessing.

19:16

>> Yeah, that makes sense. One, one kind of

19:18

followup question here, uh, both from

19:19

myself and from a bunch of people in the

19:20

chat. So,

19:22

>> I guess it's two two parts. So, one is

19:23

like how do you maintain these skills?

19:25

So, like the product changes over time.

19:27

Obviously, there's a lot of people who

19:28

are shipping against the codebase. So,

19:30

how do these skills get maintained? Uh

19:32

and then second to that is like how do

19:34

you know when your verification is is

19:35

good enough? Uh like and you know you

19:38

can trust that the ver verification

19:40

loops that you've built are going to I

19:42

guess you trust the outputs uh when

19:44

they're done.

19:47

>> Uh yeah maybe I'll talk about um I think

19:50

some are related. Maybe I'll start with

19:52

this one first. So like how do I

19:56

maintain these skills?

19:59

So, um, if you're not familiar with this

20:01

concept, an eval [clears throat] is

20:03

essentially like a way to, uh, well, I

20:06

the mental model I have is like it's

20:07

like a unit test for an agent. Um, and,

20:11

uh, you can actually make your own eval.

20:14

You don't need like a special framework

20:15

for them. You can build you can you can

20:18

build one depending on like, you know,

20:20

how scientific and how rigorous you want

20:22

to be. Uh, my screen is red.

20:26

>> Yeah, there's a little button. Um,

20:28

sorry. Do you mind like disabling the

20:31

drawing or something? I I can't see my

20:32

screen.

20:33

>> Yeah, sorry. If you guys could not draw

20:35

on the screen, that'd be great. But, um,

20:36

there's a little button in the

20:38

>> Is that a troll?

20:39

>> Yeah, the little drop down.

20:42

>> How do I clear?

20:44

>> Yeah, you got it. Perfect.

20:49

>> Yeah. So, eval

20:52

test your skills basically. And actually

20:55

in Pstack we ship uh under potato mode

20:59

there's a playbook if you search for it

21:00

called eval playbook. Um and it's uh

21:05

uh it's like not it's actually pretty

21:07

pretty rigorous the way it's done. Uh

21:10

but um essentially what I do is I spawn

21:13

a lot of different sub agents. I have

21:15

like my main coordinator agent uh come

21:18

up with a rubric for uh what I want the

21:22

skill to do. Um, and then it spawns all

21:25

these sub aents and it it creates

21:28

individual directories for them uh which

21:31

are cleverly named to not let the sub

21:35

agent know that it's being evaluated

21:37

because uh agents can actually tell and

21:40

when they do they change their behavior.

21:42

Uh, but it does a bunch of stuff like

21:44

that to um essentially yeah like test

21:49

whether or not the skill I'm making or

21:51

changing is actually doing what I think

21:53

it does. Um, and one of the really nice

21:56

things about cursor is that we are we we

21:58

support so many different models. So you

22:01

can actually eval your skill across all

22:03

sorts of different models um and you

22:06

know get a sense of how well it performs

22:08

across that different matrix. um

22:12

especially for the models that you use.

22:15

Uh so I do this a lot. Every time I I

22:17

modify a skill, I will run one of these

22:20

uh like the ebal playbook uh and make

22:22

sure that you know it's actually leading

22:25

to a result I want. Uh but I will say

22:28

like

22:29

maintaining skills is actually pretty

22:32

hard. Uh it requires I think a lot of

22:34

taste and observation. So, you kind of

22:37

need to be very good at being a backseat

22:40

driver, you know what I mean? Like, if

22:42

you do pair, if you ever done pair

22:44

programming, for example, uh, and you

22:46

watch a co-orker code and you just like

22:48

you, you could probably do this better,

22:50

you know, you could do, you know, like

22:51

why did you not do this, right? You you

22:53

ask a lot of questions to your coworker

22:55

and it's kind of a similar thing here.

22:56

You like you don't want to just be a

22:58

passive observer of your agent. You want

23:00

to be very in the driver seat in the

23:03

initial stages when you're building up

23:04

your own set of skills. uh you know

23:06

obviously you can use something like PAC

23:08

but if you're building your own set of

23:10

skills it's very I think you know

23:13

opening up the all the tool calls and

23:15

like reading the code and reading all

23:17

the uh the agent behavior and their

23:20

thinking blocks is a really great way to

23:23

see where they they fail right like what

23:26

what you know where are they being done

23:29

and then you can go and build a skill

23:30

for that and then with verification how

23:33

you trust it is it's I think it's also a

23:36

very similar iteration loop uh where you

23:38

know like I actually did the same

23:40

process for verifying the verification

23:43

skill where I actually get um so one

23:47

thing that's interesting about eval is

23:49

that you can sort of hill climb them

23:51

meaning that uh your eval can produce a

23:54

score right uh a score that you can get

23:57

your coordinator to produce uh but also

24:00

comp uh you can have a judge agent of a

24:02

different model to uh kind cross

24:06

reference and make sure that the first

24:08

model is not being biased, right? The

24:10

model that's judging all of the sub

24:12

aents that are running the thing. Uh but

24:14

you can also like hill climb. So meaning

24:16

that you can you can use like /loop in

24:19

cursor and you can say okay keep looping

24:22

on this eval right until everything is

24:25

10 out of 10 as an example. Uh and I did

24:28

the same the basically the same approach

24:30

with the control skill. And so I kind of

24:32

it was very it was very hands-off

24:33

actually. Uh so you know I uh I kind of

24:37

built I built that skill that way like

24:39

the CLI in that skill. Um and over time

24:43

it's gotten really good. Uh but yeah it

24:46

was definitely not super smooth at the

24:48

beginning. It required a lot of

24:50

iteration and I think there's an analogy

24:53

here for me which is um well I make this

24:57

analogy later in a different slide on my

24:59

drawing here. Uh but I think of it like

25:03

uh you know as a as a engineer now

25:06

you're sort of more like you uh like

25:09

maybe a manager or the analogy I like is

25:12

like you're like a a chef in a

25:14

restaurant. Uh you you're the head chef.

25:17

Uh you're not cooking all the food

25:18

yourself anymore. You have a team of

25:20

cooks, right? You have line cooks, you

25:22

have a sue chef, you have, you know, all

25:24

these different stations.

25:26

Um and it's your job to really design

25:28

the environment. you know, you you're in

25:31

charge of setting up the kitchen. You're

25:32

in charge of, you know, like giving

25:35

tasks to different people. So,

25:39

um yeah, it's a very interesting way of

25:42

working. Uh but yeah, that's that's how

25:45

I've basically built uh these

25:47

verification skills.

25:48

>> Yeah, just just one followup there on

25:50

like to go try to go one layer deeper.

25:52

So, are you let's say we wanted to build

25:56

um an eval or a skill for for something

25:59

and we wanted to kind of get better on

26:01

its own, which is is what I think you're

26:03

suggesting. Uh are you doing that in

26:05

like a work tree kind of isolated with

26:08

like the sub aents and and then the

26:09

reviewer agent and and all that? Is it

26:11

happening like in some type of cloud

26:13

hosted environment? Like what's the the

26:15

more the practical steps? If I wanted to

26:17

go do this uh and like set up a

26:19

verification system for something, what

26:20

would I what would I do or where would I

26:21

start?

26:24

Um I think that uh the best place to

26:27

start is local because you can observe

26:31

you can definitely observe what your

26:32

agents are doing. So, uh, if you're

26:34

building a verification skill for

26:36

yourself, uh, I would definitely start

26:38

local and just have your agent bring up

26:40

the application, whether it's like a CLI

26:43

or, uh, desktop app or whatever. And so,

26:46

you can actually observe, right? You can

26:47

see how the agent is interacting with

26:50

the the application. You can see it, you

26:53

know, how it calls like the different

26:56

APIs that that allow it to interact with

26:58

the uh the application.

27:02

Um but uh for me personally uh I have

27:06

basically been kind of all in mostly all

27:08

in on cloud agents because they're

27:10

extremely powerful. Uh and the really

27:13

powerful thing about cursor is the the

27:15

cloud agents actually where if you spend

27:18

a little bit of time setting up your

27:19

environment

27:21

these control skills these verification

27:23

skills pay a huge amount of dividends

27:26

because it's not just something that

27:28

makes you as a single engineer better.

27:31

It actually levels up your whole team uh

27:33

and even your whole company because uh

27:36

you can actually start thinking about

27:38

cloud agents. start thinking about

27:39

automations that automatically do things

27:43

like uh I I get I I kind of talk about

27:46

this a bit later, but I'll just kind of

27:49

get into it. Uh where where you know,

27:51

for example, like I talk a lot about

27:53

this agent we have called Benny, right?

27:55

who who uh you know takes all of the bug

27:59

reports that we get and it automatically

28:02

goes off in the cloud, opens up a cloud

28:04

uh it's you know its desktop. It runs

28:07

cursor in its own computer and it uses

28:10

the same control skills to interact with

28:13

the application and try to reproduce the

28:15

bug uh or the user report, right? And

28:17

this is so so powerful because at once I

28:20

can immediately I I get so much

28:22

information from this automatically like

28:24

here in this example you can see that uh

28:26

the Benny actually reproduced the bug uh

28:30

but it's already fixed on main. So it

28:33

actually confirms that we fixed this

28:35

problem already and all I need to do is

28:37

just release another build of of cursor.

28:40

Uh, so that's like huge information

28:42

there that I didn't have to go off and

28:44

sit with an agent, you know, and spend

28:46

an hour trying to figure like is this

28:47

fixed, is this not fixed. So you you you

28:50

gain back so much time. Uh, but you

28:52

know, everybody on my team benefits from

28:54

this. Everybody at the company benefits

28:56

from this. Uh, so definitely think that

29:00

uh, you know, keeping these using cloud

29:03

agents is super powerful. Uh, but yeah,

29:06

it's like a journey. You have to trust

29:08

it first, right? before you you get to

29:10

this point. And that's it goes back to

29:12

what I was saying here where, you know,

29:14

it's very hard. It's almost impossible.

29:16

And I would definitely encourage you not

29:18

to try to jump from, you know, like if

29:21

you're still in this zone, you don't

29:24

want to jump to like I'm going to spawn

29:26

a hundred of thousand or thousands of

29:28

cloud agents right now because you're

29:30

just going to waste a lot of tokens. Um,

29:32

and it's going to be extremely

29:34

expensive.

29:35

>> Yeah. So just to kind of recap so far,

29:37

basically the if we wanted to go on the

29:39

journey that you've kind of gone on, it

29:40

would be to start with verification,

29:43

building some some skills and some some

29:46

ways of determining that the agents are

29:47

producing at least like correct code.

29:50

Whether like you said whether it's good

29:51

code or not is maybe a separate

29:52

question, but like it's it's technically

29:53

solving the problem by looking at you

29:56

know stack traces, looking at you know

29:58

the the actual behavior in the app and

29:59

so on. Um, and then once we trust it

30:01

locally, then we can start to think

30:03

about scaling into the cloud and running

30:05

more agents that are picking up signals,

30:07

I guess, on their own, right? So whether

30:09

that's like a bug report that comes in

30:10

or something, they can go and pick it up

30:12

and solve the problem and and give us

30:14

back a PR. And then maybe the last step

30:16

is like automerging the PRs, which uh is

30:19

where you're at, maybe not where

30:20

everyone is at.

30:21

>> Um, and then and reviewing them on main,

30:23

but um, is that is that about right?

30:26

>> Yeah, exactly. I think yeah, that's why

30:27

I drew this this uh this this curve,

30:29

right? because that this this basically

30:31

describes my journey of you know when I

30:34

started barely could use a couple agents

30:36

and I was just observing every single

30:38

thing. I think there's really no

30:40

shortcut for going from here to there

30:42

because this is really about your

30:44

personal level of trust in agents,

30:47

right? Um obviously, you know, as a as

30:49

engineer, you don't want to just slop

30:50

code into production. So, how do you

30:53

actually build up that trust? Takes um a

30:56

lot of uh I guess taste and judgment. Um

30:59

but uh you know, like I think plugins

31:02

like Pstack definitely kind of help you

31:05

uh get up to speed much quicker. Uh, and

31:08

so I guess it's like if you trust me and

31:11

you trust Pstack, then in by extension

31:14

you can maybe trust your agents. But if

31:16

you don't trust me, and I I definitely

31:18

would not encourage people to blindly

31:20

trust me. Uh, uh, you know, if you build

31:24

up your own set of skills that you can

31:26

obviously, you know, take a look at PA

31:28

and kind of fork it, make it your own,

31:30

improve the skills. Definitely encourage

31:32

that. Uh but for me it's really all

31:35

about it just keeps coming back to

31:37

trust. You know every one of us here in

31:39

this chat have a different standard for

31:41

engineering. Uh and there are different

31:43

things that are important for us in our

31:46

codebase. And uh when you are able to

31:50

encode all of that into skills and you

31:51

can verify that your agent is actually

31:53

doing them that allows you to really

31:55

kind of ascend this curve and um uh you

32:00

know start automating things. Uh there's

32:02

another piece I wanted to talk about. Um

32:05

if there's more

32:06

>> Yeah, go for it. I'll I'll pick up more

32:08

questions as I go. But

32:09

>> yeah, I think there's a third part to

32:10

this which I haven't talked about yet,

32:12

which is kind of an interesting one

32:14

which is like refactoring and rewriting

32:17

like one of the uh I guess most

32:19

controversial one of the most

32:21

controversial topics in the industry I

32:23

think is like should you rewrite your

32:25

app or not? Um because I think engineers

32:30

are very prone to this where especially

32:32

when you join a company you come in and

32:34

you see like the codebase and you're

32:35

like oh man this is like who wrote

32:38

this code you know it's terrible I want

32:40

to rewrite the whole thing there is a

32:42

very common inclination and I think a

32:44

lot of you know before agents um and I

32:48

guess arguably even now people will

32:50

definitely discourage you from re

32:51

rewriting stuff but I'm actually here to

32:54

make a case for why you might want to

32:56

consider But

32:58

um because

33:00

I think it really depends uh you know uh

33:03

brownfield applications I think are

33:05

actually in a pretty good spot

33:07

especially if they're set up well

33:09

already. Uh and like recently I've been

33:12

talking to some people but uh you know I

33:14

I was just observing I I just noticed

33:17

this parallel which is that a lot of big

33:21

tech company problems are now

33:23

everybody's problems. Um, and the big

33:26

tech company problem, you know, like

33:27

when I was working at Meta, like we had

33:29

this giant monora repo, we had like, I

33:31

don't know, tens of thousands of

33:33

engineers just, you know, like banging

33:35

on their keyboards and and shipping code

33:38

and

33:40

a lot of really great engineers at Meta.

33:42

Uh, but, uh, I'll say like, you know,

33:45

you'll be surprised that the code

33:46

quality is actually not that good.

33:48

[laughter] Um, and so I often joke that

33:51

like, you know, before AI sloth, we had

33:53

human sloth. Um and so uh you know I

33:56

think a lot of big tech infra like uh

33:58

like what Meta has or Google you know

34:01

you know really big tech companies are

34:03

actually designed for that where you

34:05

you're sort of like you're catering to

34:07

the the you know like uh sounds that

34:10

sounds so bad to say but like the the

34:11

least capable engineer on your team

34:13

right you build you build frameworks you

34:16

build conventions you build guard rails

34:19

you know you restrict credentials so

34:21

that you know your intern doesn't wipe

34:22

your production database

34:24

Um

34:26

there's uh you know if you have that

34:28

level of infra already I think your

34:31

agents can actually already do a very

34:33

solid job right because they have the

34:35

the guard rails are already in place for

34:38

agents to not cause havoc or not cause

34:41

too much havoc uh in your codebase um

34:44

and you can always add more you know

34:46

guard rails. Uh but I think like green

34:49

field applications especially are you

34:50

know like the brand new applications are

34:53

like the biggest risk in my opinion. Uh

34:56

and also the greatest opportunity

34:58

because you know if you vibe code a

35:00

project uh a prototype um like we did

35:04

for Grockbot you know Grockbot was spun

35:05

up very very very quickly. Um and if you

35:08

if you haven't heard of of Grockbot it's

35:10

like our a new application we just

35:12

launched yesterday. Uh it's it's really

35:14

cool. uh lets you orchestrate your

35:18

create like individual agents that have

35:20

their own identity and you can kind of

35:21

orchestrate them. It's super cool.

35:23

Definitely check it out. Um but yeah,

35:25

that was it's like a very it was a very

35:26

green field application like most

35:29

prototypes are so like vibe coded very

35:32

quickly. Humans were not reading the

35:34

code at all. And uh I had this tweet

35:38

recently uh where I said something about

35:41

organic architecture. Um

35:45

maybe I'll find it. Uh but the idea is

35:49

that

35:50

uh when you have a completely vibe coded

35:52

application, you essentially have no

35:54

guard rails whatsoever. So uh your

35:57

agents

35:59

when you give them a task, they will

36:01

just solve it in whatever method is the

36:03

most convenient. And over time you get

36:06

into this uh situation where you have a

36:09

codebase that is spiraling out of

36:11

control because you don't understand it.

36:14

Uh your agents understand it I guess in

36:16

a way but like they've built something

36:18

that is you know optimized for short for

36:21

shortcuts. Uh and uh you know it will

36:24

you will suffer you'll have a lot of of

36:27

issues with that application.

36:30

Uh so I think starting your codebase

36:33

with uh like very strong constraints is

36:37

very much needed uh because like when

36:40

you have a codebase that you can trust,

36:43

right? when you have guardrails that

36:44

actually help you uh uh help your agents

36:48

write good code, you can get into the

36:50

you know like into this part of the

36:52

curve where I I where like I I said you

36:55

know I woke up today and I had like 20

36:57

PRs merged u by my agents and that's

37:00

because I invested a lot a lot of time

37:04

uh over 600 PRs I I I calculated

37:06

yesterday uh when I refactored all of

37:10

Grockbot to this new architecture that

37:12

I've been

37:14

Um,

37:15

and yeah, I've gotten to a point where I

37:19

I don't really look I really don't look

37:20

at the code anymore. And um, I say that

37:24

not just, you know, to sell you tokens,

37:25

but because I, you know, it it it took a

37:29

lot of work to get to that point. I

37:30

spent a lot of tokens to get the

37:32

codebase to this point where I no longer

37:34

have to look at it. Uh but I'm very

37:37

excited because you know of the

37:39

potential where you know it's not just

37:41

this doesn't just benefit me it benefits

37:43

everyone contributing to Grockot and it

37:46

also empowers you know designers and

37:49

product managers and you know pe uh even

37:52

GTM people to add features to Grockbot

37:55

and I don't have to worry you know I

37:56

don't have to to wake up at night in in

37:59

the middle of the night and worry like

38:00

oh someone's just merged a perf

38:02

regression right I have a ton of

38:05

constraints and CI is like it's actually

38:07

very annoying to write code in in graph

38:09

web but like agents absorb all of that

38:11

annoyance.

38:13

Um but yeah I'm happy to talk about what

38:16

exactly that is. Um

38:18

>> yeah I think one question um

38:21

>> before we get into the this part here is

38:23

just around that element of like what

38:26

your your your CI looks like or maybe

38:28

some of the constraints and then also

38:29

like the average PR size. I saw a

38:30

question about that earlier just to give

38:32

people you know kind of a a glance. It

38:35

doesn't have to be like mathematically

38:36

average, but just uh you know like what

38:38

generally the size of the a PR is. Um if

38:41

it's only a couple lines of code or you

38:43

know um yeah

38:45

>> um

38:47

I think it depends. Uh let me

38:51

I'm trying to do this in a way where I'm

38:53

not going to like

38:54

>> you. Yeah, you don't have to share the

38:55

actual number like an actual average. I

38:57

think this this is fine

38:58

>> benchmark

38:59

>> but like we have so okay this is not

39:02

that interesting but uh well fun fact is

39:05

that virtualization in grabbot and in uh

39:09

cursor is actually powered by uh pretext

39:13

uh which is a sort of new library that

39:16

someone's built um that's really

39:19

interesting you should you should check

39:20

it out but that's not really that

39:22

important uh I think the average PR size

39:25

I actually don't know. I pro I don't

39:27

know if I want to click on these. Uh I

39:29

probably can, but I would say like they

39:32

can range anywhere from a few hundred

39:34

lines or 50 lines to like a thousand

39:37

depending on what the thing is doing. Uh

39:40

so like here I'm actually like deleting

39:42

a bunch of files. So I expect that it's

39:44

just like mostly deletion. Uh but yeah,

39:47

it kind of varies.

39:49

There's no like Yeah,

39:51

>> there's no like hard cap or hard limit.

39:52

Are there all like 50 line PR?

39:53

>> There's no hard cap. Yeah, there's

39:54

definitely no hard cap. But I I do

39:56

encourage my agents to split up their

39:57

work into multiple PRs. Uh I do that

40:01

mostly because uh I like I like the idea

40:05

of the I guess maybe this is much harder

40:07

to do now as in the world of agents and

40:10

you have like so many commits, but I

40:12

like the idea that you know the git

40:13

history is a very rich source of

40:15

context. Uh, and I like the I like each

40:19

PR to sort of atomically describe what

40:22

that small piece of thing is doing,

40:25

which also makes it easier for me to

40:26

revert changes and like figure out, you

40:28

know, oh, I shipped a bug and it's just

40:30

it's here, right? It's not in this

40:32

40,000 line PR where who knows what

40:36

landed in there.

40:38

Uh, but I don't have a hard cap on PR

40:41

size.

40:42

>> Cool. And then um yeah, also quick

40:45

question on like CI. So again, you don't

40:46

have to go into like uh the screen share

40:48

of like your CI does, but just generally

40:51

would you describe what the CI kind of

40:53

looks like uh or how strict it is?

40:56

>> Uh yeah, so

40:58

uh well specifically for Grockbot. So

41:01

Dune is the is the sort of cheeky code

41:04

code name for the architecture that

41:06

we've built for Grockbot. Um the CI

41:10

looks pretty annoying because there's

41:13

checks for everything. So like literally

41:16

I have um uh well if you've written any

41:19

React for example you know you know that

41:21

one of the biggest foot guns in React is

41:22

use effect. Uh so in

41:26

uh Dune and in graphbot we've banned use

41:29

effect. So Dune is just you can the the

41:32

mental model of what Dune is uh you can

41:34

kind of think of it as like Nex.js JS

41:36

for uh electron apps and it's designed

41:39

for agents to write uh and it's like

41:42

custom for you know our agent powered

41:45

applications. Um so the CI checks are

41:48

very like specific to that like you know

41:50

don't use use effect. It's it's it's

41:52

banned like CI will fail uh and yell at

41:55

you. We have like some of the more

41:57

interesting ones that people might raise

41:59

eyebrows is like I actually ban code

42:01

comments as well uh which is very

42:04

interesting. Uh, but I've noticed that

42:08

99% of the time agents just write code

42:11

comments that kind of describe some

42:13

historical thing that is actually

42:15

totally irrelevant to the code. Um, like

42:18

it will often say like you know, oh

42:19

Lauren said you should never do this and

42:21

it's now in in a code comment like what

42:23

like why that was I didn't say that as

42:26

like a durable you know global rule. I

42:28

just meant like your this PR sucks and

42:31

you should change that part.

42:34

agents don't really understand us that

42:36

well surprisingly uh and or they kind of

42:39

assume too much and they kind of do

42:41

things in like very stupid ways. So like

42:44

yeah we just ban everything everything

42:46

you can imagine like the agents are bad

42:49

at we ban. Uh so one example that we

42:53

actually suffer a lot in the agents

42:55

window is we have uh you know you if

42:58

you've used the agents window you've

42:59

definitely seen performance issues and

43:01

you know we're constantly trying to fix

43:02

them. Uh but it's like a it's a never-

43:06

ending struggle because there's so many

43:08

pull requests that get merged. Every any

43:10

one of them could just regress

43:12

performance or stability or reliability.

43:15

Uh you know the agents window doesn't

43:16

have this architecture yet. I plan to do

43:18

bring this learning back there and kind

43:21

of refactor everything there. Uh but uh

43:25

it just regresses super often. uh

43:28

because uh there's just one example is

43:30

like we have very poor um isolation

43:34

between processes. So like on you know

43:36

on on Electron you have a renderer

43:38

thread that renders your UI but you also

43:40

have like a main thread that you can run

43:42

other code that you know doesn't need to

43:44

block the renderer.

43:46

Um, but we do a poor job of separating

43:49

those things and so often times you just

43:51

accidentally have code that gets pulled

43:53

into running on the renderer thread and

43:56

then all of a sudden you're competing

43:57

with the the renderer that you know that

44:00

has a very if you want like 60 fps you

44:03

have to every frame that gets drawn has

44:05

to be done in 16 milliseconds. So very

44:08

very small you know deadline per frame

44:11

uh if you want you know a very smooth

44:13

product. Uh and when you start building

44:15

bringing in accidentally bringing in you

44:17

know things that are like very

44:19

computationally heavy or they have a lot

44:21

of IO uh then you just get into like a

44:24

lot of jank right your your FPS really

44:27

drops you start uh you know losing

44:29

frames you get long tasks that take more

44:32

than 16 milliseconds and you just get

44:34

this really choppy experience.

44:37

So all of those patterns that we've

44:38

learned basically building electron apps

44:40

we've encoded into this framework and it

44:43

becomes like a hard failure. So I

44:45

literally in in grabbot we literally

44:47

have a directory called electron main

44:49

electron renderer and we have uh import

44:54

uh CI guess where we actually check the

44:58

dependency graph to make sure you're not

44:59

accidentally importing code from one

45:02

directory to another. Uh so that's

45:04

enforced by CI um as well as bug bots uh

45:09

which is our which cursors um like code

45:13

review tool that runs on CI uh you know

45:15

in our agents MD it's everywhere like so

45:18

I I I I um I have this thing here where

45:22

I I talk about like um you know like

45:25

there are multiple layers I think for

45:27

building a good codebase. Uh obviously

45:30

the codebase is one where uh if you have

45:32

an architecture like this where it's

45:34

extremely strict uh you know the the the

45:38

way to build features is very

45:39

conventional that's like the strongest

45:42

strongest level of enforcement because

45:44

agents just love to copy existing

45:46

patterns. So uh one example of this in

45:49

rockbot is like we have this these

45:51

concepts called like a feature and we

45:54

have entry points and transcript cards

45:56

like oh you know the cards that you see

45:57

in the chat these are all like like

46:01

nouns I guess in in the framework and so

46:03

there's a very conventional way of

46:05

creating them and so like a feature is

46:09

all in in a single directory as an

46:10

example and so all of the code that

46:13

contributes to that feature lives in one

46:15

directory so it's all collocated in one

46:17

place makes it super easy. You know,

46:19

agents don't have to like uh grap around

46:21

and try to figure out like where all the

46:23

things are. It just looks at the feature

46:25

and like, oh, okay, I'm working on the

46:27

onboarding feature in Grockbot. Uh I'm

46:31

just going to work in this directory.

46:32

And for 80% of the work, it's mostly

46:35

just very encapsulated there. But, uh

46:38

like it's like very it's like designed

46:41

again for you know like the dumbest

46:43

agent like you don't have to think,

46:45

right? the the the one of the key

46:48

principles I have for this framework is

46:50

like the shortest the shortest path is

46:52

the best path.

46:55

So uh because that plays exactly to how

46:57

agents love to write code is like they

46:59

like to take shortcuts really you know

47:01

they they'll find the quickest way to

47:04

solve the problem. So why not make that

47:06

the best way to solve the problem? Uh so

47:10

I I I probably won't get into all the

47:12

specific details. Um and uh the the this

47:16

framework is really more of a collection

47:17

of ideas and principles rather than

47:19

something that will open source. Uh you

47:22

can you can you know screenshot this I

47:23

guess if you want and uh tell your agent

47:26

to uh do some build build something like

47:29

this for you too.

47:31

Um yeah, but it's really all about the

47:34

layers uh you know like the the codebase

47:36

is one part with features uh and

47:38

directories and you know import or

47:41

blocking import dependencies uh that

47:44

shouldn't be imported. Uh but and and it

47:47

all enforces that and static analysis.

47:49

So like uh there's CI checks, we have a

47:52

lot of lints for bad patterns that we

47:55

observe. Uh compiler diagnostics. Uh

47:59

there's also rules and bugbot which are

48:02

um I think like three four five are more

48:05

soft right these two actually make make

48:09

CI red right so that you know there's a

48:12

hard constraint where the agent can't

48:13

just write crappy code

48:16

for rules and skills and buggbot your

48:20

agents can still forget right you can

48:22

still or it may not always consistently

48:25

apply them so I like to layer them, but

48:30

I don't I don't like to rely on them as

48:32

the only source of enforcement because

48:35

it's very very soft, right? And if you

48:37

if you only have rules and bug bar and

48:39

skills and a style guide for your code,

48:41

you will it's only a matter of time

48:43

before your codebase looks like complete

48:46

trash. I'm sorry to say that, but uh I

48:49

definitely recommend yeah like you know

48:50

investing in you know things that can be

48:53

hard and forced, right? And this is why

48:56

you know maybe the choice of text stack

48:59

that you use is also very important. Um

49:02

like I think for example Rust is sort of

49:04

making you know it's like getting super

49:06

popular again. Uh because the compiler

49:10

is so strict right the compiler enforces

49:12

so many different things. you know,

49:14

there's a borrow checker that you have

49:15

to appease and if as long as you make

49:17

sure your agents don't write unsafe code

49:20

blocks, uh you can more or less feel

49:22

somewhat confident that if the code

49:24

compiles, it probably works and it's

49:26

good. Uh but you see it gives you that

49:29

level of trust and confidence that you

49:32

as a human engineer no longer need to go

49:35

and check it yourself. you know, you you

49:38

rely on code and static analysis to

49:42

actually make that uh a lot smoother.

49:46

Um, and I I guess the worst part, the

49:49

worst place to be in is if you are stuck

49:52

in code review land where you actually

49:54

enforce all of the constraints, the

49:56

invariance in your codebase by literally

50:00

the human person saying, you know,

50:02

reading the code and like, okay, you

50:03

should not do this, right?

50:06

Every time you have to do that, you

50:07

should consider that as a code smell,

50:08

like a anti- pattern and you should say,

50:11

"Okay, instead of me commenting on the

50:13

PR, how do I turn this into a hard rule,

50:17

right? How do I turn this into a lint

50:19

rule? How do I turn this into a CI

50:21

failure? Or how do I even categorically

50:23

eliminate this problem uh entirely?" Uh

50:28

I I can talk about another migration

50:30

I've done, but I'll probably pause here.

50:32

>> Sure.

50:33

>> Yeah. I feel like that's that's where I

50:34

am to be honest is is what you're

50:36

describing right now which is that like

50:38

I don't have all of these rules. So I

50:40

have some things to go do after this

50:41

session in terms of being able to scale

50:43

my agents. I'm I'm definitely on like

50:45

the uh you know maybe a couple of

50:47

parallel ones locally stage. So like two

50:50

to three locally and I'm sure most

50:51

people here are on the same. So uh yeah

50:54

I know we only have a couple minutes

50:55

left. Lauren, was there anything else

50:57

that you wanted to to highlight? I

50:58

obviously there's lots of questions so I

51:00

can grab more but I want to give you a

51:02

few minutes uh if there's anything else

51:03

you want to talk about

51:03

>> I think I've been yapping for quite a

51:05

lot so maybe let's just do questions.

51:08

>> Okay cool. Uh one question that had uh a

51:10

couple of uh came up a couple times was

51:12

just around like token usage.

51:15

>> So the the question is like is is what

51:17

you're describing a realistic thing for

51:19

people who are on you know uh a normal

51:23

set of token usage they don't have you

51:25

know basically unlimited tokens uh to

51:27

work with.

51:29

I think that's a really good point. I

51:30

mean, like obviously, you know, I work

51:32

at a AI lab where we have unlimited

51:34

tokens. So, uh I definitely cannot

51:39

say that, you know, this is something

51:41

everyone should do in the exact same way

51:43

that I did it. I think it's possible to

51:45

get to this point without, you know,

51:47

breaking the bank.

51:49

But you know if you're like an

51:50

engineering leader or you know you're

51:52

you you have a startup that you lead um

51:55

I think to me it's a question of ROI um

51:58

and it's like uh yes you spend a lot of

52:03

money on tokens in the upfront stage you

52:06

know like refactoring a code base is

52:07

going to take a lot of tokens uh adding

52:09

all these things uh is going to take a

52:11

bunch of tokens but if we're heading to

52:14

a world where agents are writing all the

52:16

code and you know You want to be very

52:20

lean, right? You don't want to have to

52:22

hire, you don't want to be, you don't

52:23

want to become like meta, right? Like I

52:25

mean like in terms of you don't want to

52:26

become a 10,000 person engineering or

52:29

because I mean that's a cool problem to

52:32

have, but also you you have so much

52:34

overhead. There's like planning, you

52:37

know, like you it's it's a personally I

52:39

I wouldn't uh it it's not super fun, but

52:43

um I think you want to stay very nimble,

52:46

right? And you want to you want to be

52:47

like agents are all about allowing you

52:50

to do things that you couldn't do

52:51

before. That's really to me like the

52:53

value of agents, you know, it's not just

52:56

storing tokens on every single little

52:58

thing, but um to me like the thing I

53:00

couldn't do before is like enforce this

53:03

level of constraints in a codebase by

53:06

myself, right? Like I'm just a single

53:09

person, you know? uh it would have taken

53:11

me years to build this framework uh and

53:15

do all the refactoring and test

53:18

everything myself and verify you know

53:20

like run imagine if there it was just me

53:22

right no in in pre- agent era just like

53:25

running you know by it would take me so

53:28

long right and my salary is pretty high

53:30

right like so you know the the question

53:34

I think an engineering leader might have

53:35

is just then you know like what is

53:38

there's a trade-off of do Do you hire

53:40

someone to do this or do you spend the

53:43

tokens to set up a codebase so that even

53:46

the the most naive, right, the dumbest

53:49

agents can do a good job? And when you

53:52

actually get to this point, like even

53:54

agents that are not, you know, fable

53:56

size do an excellent job of writing

53:58

code. And this pays a lot of dividends

54:01

as well for me personally where I've

54:04

empowered not just myself but again like

54:07

PMs, designers, engineers who are not

54:10

familiar with Grockbot to just

54:12

contribute in a way that is sustainable.

54:16

So I think yeah it's definitely like a

54:18

trade-off for sure. You know like

54:20

nothing is like free for sure. Uh and

54:22

tokens are pretty expensive. Uh but oh

54:25

actually uh I I I don't know how many of

54:27

you have seen this but we actually

54:29

announced Grock 4.6 today. So very

54:32

exciting finally out. Um so yeah graph

54:35

4.6 would be like a great it was very

54:37

very smart. Uh it's really good on the

54:40

on the benchmarks. Uh and it's the same

54:42

the tokens uh well uh I hopefully I'm

54:45

not saying this incorrectly but uh I

54:47

believe the cost per token is the same

54:50

as 4.5. So you're actually getting more

54:53

intelligence for the same cost. Uh I

54:57

think this is an area that cursor tries

54:59

to cursor and SpaceX AI try to really

55:02

optimize for like that heredto frontier

55:05

of you know cost versus intelligence. Uh

55:08

you know we don't necessarily want to

55:10

build the biggest model ever because

55:12

that is extremely expensive to run. It's

55:14

really about like how do you find that

55:16

sweet spot right? you don't you don't

55:18

need a giant model, but it's just super

55:19

smart, right? And it's not very

55:21

expensive for inference.

55:24

Uh but um yeah, I think to kind of round

55:27

it up, um I think it's like a it's it's

55:30

there's a if you do your own analysis, I

55:33

feel like it's pretty positive. It it'll

55:36

be pretty positive that the ROI you get

55:38

from investing in stuff like this uh

55:41

just empowers not just yourself, but

55:44

your whole team to be so much more

55:46

productive, right? right? Like imagine

55:47

if you have an army of engineers like me

55:49

who are shipping so much improvements

55:52

and and bug fixes uh you know every day,

55:56

right? Like that is pretty exciting.

56:00

>> Cool. Uh one last question before we

56:01

wrap up. This one is for the people in

56:03

product on the on the call.

56:05

>> So let's say we do have an army of

56:07

engineers who are shipping like Lauren.

56:09

I'm just curious like how is the product

56:11

team or other functions of your company

56:13

keeping up given that like if you're

56:15

shipping so quickly have are they using

56:18

AI more to do their jobs like as much as

56:20

you can speak to that obviously you

56:21

don't have like you're not in that role

56:23

but just curious about how that works.

56:25

Um I think this is where Grothbot has

56:28

been actually exceedingly powerful. Uh

56:31

where so before grabbot like you know uh

56:34

obviously cursor only had cursor like we

56:37

only had agents window we had a CLI we

56:39

had an IDE and these are really like

56:42

power user tools right like de they're

56:44

designed for developers so it's very

56:46

very developerentric you can do

56:48

knowledge work in them but it like the

56:50

UI is not really optimized for that. So

56:54

we actually didn't really have uh well I

56:57

think like a lot of people like you know

56:58

GTM product like they might have used

57:01

cursor uh to do their work but it

57:04

definitely wasn't like a delightful

57:05

experience for them. Um I think now with

57:08

Grogbot

57:10

uh it's become Grogbot is basically like

57:13

the kusher moment for people who are not

57:16

in tech in my opinion like it's like

57:18

it's like a very very accessible way to

57:21

use agents in a very comfortable very

57:24

familiar interface. It looks like

57:25

iMessage

57:27

um and it's very fun to you know you can

57:29

give your agent a fun name. uh you can

57:32

have you can kind of do orchestration

57:34

with in a very like natural way where

57:36

you can sort of you know each agent is

57:38

like a person right now you got a team

57:39

of agents like working on you have one

57:41

one agent per account that you manage as

57:43

an example or if you're a PM you have

57:46

you know you can have an agent that

57:47

summarizes all the work that Lauren did

57:49

last night and then now you know what I

57:51

did right so I think our PMs are

57:53

leveraging that a lot and they're

57:56

shipping code too uh so you know like

57:58

oftent times they will just say oh

57:59

here's a bug I fixed can you look at it

58:01

and then I'll go review it and actually

58:04

it's just perfect. I'm like okay stamp.

58:06

Uh so uh that I think that shows that

58:08

you know the the Dune architecture is

58:10

holding up right the all the the really

58:13

strict constraints allow people who are

58:16

not experts in engineering to contribute

58:18

at a high level. Uh so I'm I feel like

58:21

I'm already seeing that pay off a lot

58:23

where uh you know designers and PMs are

58:26

just able to to to ship features

58:29

directly. Um and that just makes the

58:32

Grockbot team super fast, right? Where

58:35

we can ship so quickly. Um and we have a

58:40

lot planned. So I'm very excited uh to

58:43

you know uh to to ship more ship more

58:46

stuff.

58:47

>> Yeah, that's awesome. Uh well, we are at

58:49

time. So, uh I guess Lauren, if if folks

58:52

want to support you, maybe go try out

58:53

Grockbot, try out uh 46 and uh you know,

58:57

get provide some feedback. But yeah,

58:59

this was awesome. Really appreciate you

59:00

taking the time. Uh thanks everyone for

59:02

all the messages in the chat. Lots of

59:03

good questions. I know we didn't get

59:04

through everything, but as kind of said

59:06

at the top, way more questions than than

59:07

we could get through, but uh yeah,

59:09

really really thanks thanks for for

59:11

joining. Thanks everyone for joining and

59:13

hopefully you enjoyed the session.

59:15

>> Yep.

59:16

>> All right. Yeah, I see your man. Thanks

59:18

for having me. And uh if you have any

59:19

more questions yet, just DM me on

59:20

Twitter. I'll I'll open them up. I guess

59:23

I'll let the let the

59:24

>> You're going to get a lot of DMs.

59:26

>> Yeah, I'll open the updates. So, yeah,

59:28

DM me. Maybe I'll do like a Twitter

59:30

space at some point. That's all for more

59:32

questions. But

59:33

>> really appreciate everyone for showing

59:34

up uh you know, taking an hour out of

59:36

your day.

59:37

>> Yeah. All right. Thanks all. I'll see

59:38

you the next one.

59:39

>> Okay. Thanks everyone. And bye.

Interactive Summary

Lauren Tan, known as 'Potato' on Twitter, discusses her journey in building trust with AI agents, drawing parallels with engineering management. She emphasizes that verification, the ability for agents to actually run and test code, is crucial for agents to write correct code and build trust. She demonstrated this with the 'control glass' skill and 'feature map' in Cursor's agent window, and detailed how her Pstack plugin helps create and maintain these verification skills using 'evals'. Lauren shared her experience scaling agent productivity, where her agents now auto-merge dozens of PRs daily, a feat achieved by heavily investing in a strict 'Dune' architecture for Grockbot. This architecture, designed for agents, includes hard CI checks (e.g., banning useEffect, code comments, enforcing module isolation) and strong conventions, enabling even non-engineers to contribute effectively. While acknowledging the token cost, she argues for the high ROI of this upfront investment in building trusted, agent-friendly codebases, allowing lean teams to achieve high velocity.

Suggested questions

8 ready-made prompts