HomeVideos

Lauren Tan workshop XAi Grokbot

Now Playing

Lauren Tan workshop XAi Grokbot

Transcript

1474 segments

0:00

Everyone, I am Lauren Laurent 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:39

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. So I've

0:50

had a I've have had a lot of experience

0:52

going between engineering management and

0:55

being an individual contributor. Uh and

0:58

I think something I've noticed actually

0:59

which is quite interesting is that there

1:02

are so many parallels with you know

1:04

management skills and how to like manage

1:06

agents. Uh and that's actually a big

1:09

part about what I wanted to chat with

1:10

you and everybody else about today. Um

1:14

but yeah that's that's me. Uh I do have

1:17

some like very light slides but uh it's

1:20

not going to be uh just rambling. So let

1:23

me just 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. 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 the looks of the chat here. Um, so

1:51

yeah, it's exciting to to get a chance

1:53

to chat with her uh and and go through

1:55

some of her her recent work. As you guys

1:57

heard, you know, a lot of recent

1:59

experience from from Netflix to to Meta

2:02

and then now over at Cursor. Uh, we're

2:04

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:20

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. [laughter]

2:50

>> That's 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:18

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

4:21

myself and my journey through using

4:23

agents. So you know like fast forward or

4:27

back forward uh or fast back uh fast

4:32

backwards like a year or so when you

4:34

know nobody was or not many people were

4:36

using agents to 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 figure uh

4:53

you 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:15

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

oh do do not trust to someone requested

6:16

to control my computer. Uh probably

6:18

won't do that. Uh but yeah, so this

6:21

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

6:24

chart not to kind of like flex but to

6:26

kind of show like the journey like so

6:29

you can see like the curve like it sort

6:30

of like inversely matches the

6:33

contributions I've been able to land at

6:35

cursor. So I joined five months ago and

6:38

five months ago like I you know my first

6:40

month I was like not very productive

6:42

because I was obvious you know I was

6:43

learning the codebase didn't know what

6:45

the heck was going on and as I got more

6:48

confident in in my agents uh I've really

6:52

been able to kind of ramp up my

6:54

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:05

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:36

we do that.

7:39

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:24

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 agent. 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.

9:00

Let's make this uh make me full screen.

9:03

There you go. Uh so for the for cursors

9:08

agent window uh so this is actually an

9:11

interesting story but uh when I joined

9:14

cursor 5 months ago uh they're actually

9:18

uh well I was supposed to join a

9:19

different team. I was supposed to join

9:20

like the cloud agents team. Uh but then

9:23

since I have a lot of experience working

9:25

on react and agents window is a react

9:28

application. Uh I was

9:31

uh I was asked to basically help out

9:34

with uh the agent window work. Uh but um

9:41

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 which is going to launch

9:47

in like a week right we have a really

9:49

tight deadline and um there was uh you

9:53

know I was just sitting there like okay

9:55

I'm going to open up the performant the

9:57

the chrome dev tools and just like take

9:59

a trace look at it myself and try to

10:01

make sense of this flame graph and keep

10:03

in mind I was just like in my first week

10:05

so I had no idea what I was looking at

10:07

no idea where you know I mean I had some

10:09

idea but you know the the code base 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 trailer, I would

10:19

download trades, I would send it to it,

10:20

and it be like, "Yeah, it kind of looks

10:22

like this, you know, uh, and it would

10:24

like confidently state like it's this

10:26

thing." And then I try to fix that and

10:28

turns 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:34

idea what what the agent's window was.

12:37

So um you know like someone would say

12:40

like oh the the left sidebar is like

12:43

laggy or something like that or you know

12:45

the right side the the PR tab is not

12:48

working and the agent would just be like

12:50

kind of flailing around. it would spend

12:51

a lot of time trying to like look up the

12:53

code and you know where is this feature?

12:54

How do I actually get to it on the UI

12:57

which made it basically completely

12:59

useless. Uh you know like we would I

13:01

would run this skill locally and you

13:05

know it would spawn a dev build uh but

13:08

then it just be turnurning like it just

13:10

try to click here. It it wouldn't know

13:12

how to get to things um and it was just

13:15

an awful experience. Uh so who's putting

13:19

arrows on my screen? Um so uh yeah this

13:24

this feature map has been really useful

13:26

uh because it teaches the agent how to

13:28

get to all of the features that you

13:30

have. Um and in PAC the plugin that I

13:34

I've made uh if you search for PAC

13:38

cursor on Google you you'll find it. Uh

13:41

but there is a create verification skill

13:43

in that plug-in where it actually helps

13:45

you set up something like this for

13:47

yourself. Um including the feature map.

13:50

So it will actually explore the code and

13:52

build up this initial feature map that

13:54

tells your agent how to get to all of

13:56

the different features that you have. Uh

13:59

and this is extremely powerful because

14:01

now like you have these user reports

14:03

that come in uh you you can actually map

14:06

even like a vague report or even a

14:08

screenshot. So we have this uh

14:11

internally at cursor where uh we have a

14:14

slack channel where you know lots of

14:17

people giving us feedback on the agents

14:19

window and rockbot and whatnot. Uh, and

14:22

often times the report is very bad, like

14:26

very low quality, like someone just put

14:28

very often we get like a screenshot like

14:30

and then someone just says question mark

14:31

question mark question mark like what is

14:33

this [laughter] and you know like the

14:35

without this your agent is like I have

14:37

no clue, right? But with a feature map

14:40

like this, it has a lot more context and

14:43

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:17

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, Pstack is pretty interesting

15:44

because uh well, first of all, the name

15:47

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

15:50

sack is like potato potato stack because

15:54

I um so uh uh there is a pretty uh

16:00

famous person Gary Tan who is the CEO of

16:03

Y Combinator and he's come up with this

16:05

plugin called GStack uh Gary Stack and

16:10

uh funnily enough we share the last name

16:12

we have no relations uh but I thought it

16:15

would be funny to kind of you know poke

16:16

fun at Gary and make Pack back my

16:19

version of of of of his plug-in. Uh but

16:23

kind of tailor it to my own set of pract

16:26

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:52

nitpicking my agents to an extreme

16:53

degree. I was uh I would tell it um you

16:58

know this feature has stopped working.

16:59

Here's a bug report like why isn't it

17:02

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. And I think

17:31

I think it's very easy to just you know

17:33

like build up that distrust and not and

17:36

kind of feel helpless like you know you

17:39

don't know how to help your agents

17:40

succeed. But like again I think the the

17:43

the management analogy is super helpful

17:45

because like imagine if you were a

17:47

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? So how you do that is

18:06

through a skill. uh skill being just you

18:09

know it's just markdown right but you

18:11

know it encodes a lot of information

18:13

instructions a lot of uh you can really

18:17

draw out a lot of intelligence from an

18:20

agent by well some people on Twitter

18:23

call it like you know pull the agent to

18:25

a different latent space which is kind

18:27

of like a fancy way of just saying like

18:29

since uh you LLMs are sort of like they

18:31

predict the next token uh when you give

18:35

it some high quality tokens uh to begin

18:37

with then you know it it can kind of

18:39

pattern match on like a higher space

18:42

that's you know 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 sub 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, I guess it's two two parts.

19:23

So, one is like how do you maintain

19:24

these skills? So, like the product

19:26

changes over time. Obviously, there's a

19:27

lot of people shipping against the

19:28

codebase. So, how do these skills get

19:31

maintained? Uh and then second to that

19:33

is like how do you know when your

19:34

verification is is good enough? Uh like

19:37

and you know you can trust that the ver

19:39

verification loops that you've built are

19:41

going to I guess you trust that the

19:43

outputs uh when they're done.

19:47

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

19:50

there are some related maybe I'll start

19:52

with 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:16

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:23

to be. Uh, my screen is red.

20:26

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

20:28

sorry. Do

20:29

>> you mind like disabling the drawing or

20:31

something? I I can't see my 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:56

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:26

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:09

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 Eval 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:30

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're just

22:48

like, you you could probably do this

22:50

better, you know, you could do, you

22:51

know, like, why did you not do this,

22:52

right? You you ask a lot of questions to

22:54

your coworker. And it's kind of a

22:56

similar thing here. You like you don't

22:57

want to just be a passive observer of

22:59

your agent. You want to be very in the

23:02

driver seat in the initial stages when

23:04

you're building up your own set of

23:05

skills. uh you know obviously you can

23:07

use something like PAC but if you're

23:09

building your own set of skills it's

23:11

very I think you know opening up the all

23:14

the tool calls and like reading the code

23:16

and reading all the uh the agent

23:19

behavior and their thinking blocks is a

23:22

really great way to see where they they

23:24

fail right like what what you know where

23:28

are they being done and then you can go

23:29

and build a skill for that and then with

23:32

verification how you trust it is it's I

23:35

think it's also a very similar iteration

23:37

loop uh where you know like I actually

23:39

did the same process for verifying the

23:42

verification skill where I actually get

23:46

um so one thing that's interesting about

23:48

eval is that you can sort of hill climb

23:51

them meaning that uh your eval can

23:54

produce a score right uh a score that

23:56

you can get your coordinator to produce

23:59

uh but also comp uh you can have a judge

24:01

agent of a different model to uh kind

24:05

cross reference and make sure that the

24:08

first model is not being biased, right?

24:10

The 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 and 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 thought 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 agents 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. change that thing 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 for

27:51

example like I talk a lot about this

27:54

agent we have called Benny right who who

27:57

uh you know takes all of the bug reports

28:00

that we get and it automatically goes

28:02

off in the cloud opens up a cloud uh

28:04

it's you know its desktop it runs cursor

28:08

in its own computer and it uses the same

28:11

control skills to interact with the

28:13

application and try to reproduce the bug

28:15

uh or the user report right and this is

28:18

so so powerful because at once I can

28:20

immediately I I get so much information

28:23

from this automatically like here in

28:25

this example you can see that uh the

28:27

benny actually reproduced the bug uh but

28:30

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 there

28:43

that I didn't have to go off and sit

28:44

with an agent you know and spend an hour

28:46

trying to figure like is this fixed is

28:48

this not fixed

28:49

So you you you gain back so much time.

28:52

Uh but you know everybody on my team

28:54

benefits from this. Everybody at the

28:55

company benefits from this. Uh so

28:59

definitely think that uh you know

29:01

keeping these uh using cloud agents is

29:04

super powerful. Uh but yeah it's like a

29:06

journey. You have to trust it first

29:09

right before you you get to this point.

29:11

And that's it goes back to what I was

29:13

saying here where you know it's very

29:15

hard. It's almost impossible. And I

29:17

would definitely encourage you not to

29:18

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

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 just start with verification.

29:43

um building some some skills and some

29:45

some ways of determining that the agents

29:47

are 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 question

29:52

but like it's it's technically solving

29:54

the problem by looking at you know stack

29:56

traces looking at you know the the

29:58

actual behavior in the app and so on um

30:00

and then once we trust it locally then

30:02

we can start to think about scaling into

30:04

the cloud and running more agents that

30:06

are picking up signals I guess on their

30:08

own right so whether that's like a bug

30:09

report that comes in or something they

30:11

can go and pick it up and solve the

30:13

problem and and give us back a PR and

30:15

then maybe the last step is like

30:17

automerging the PRs which uh is where

30:19

you're at and maybe not where I want to

30:20

go.

30:21

>> Um and then reviewing them on main but

30:24

um is that is that about right?

30:26

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

30:27

drew this this uh this curve, right?

30:29

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:43

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:26

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 it.

32:58

Um because

33:00

I think it really depends. Uh you know,

33:03

uh 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,

33:14

I I was just observing I I just noticed

33:17

this parallel, which is that a lot of

33:21

big 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 monor 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:59

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 this sounds so

34:10

bad to say but like the the least

34:12

capable engineer on your team right you

34:14

build you build frameworks you build

34:16

conventions you build guard rails you

34:19

know you restrict credentials so that

34:21

you know your intern doesn't wipe your

34:22

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

guardrails. 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:27

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

code base 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:17

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:41

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:07

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 Grothbot 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 grabbot

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:58

the middle of the night and worry like

38:00

oh someone's just merged a perf

38:01

regression right I have a ton of

38:04

constraints and CI is like it's actually

38:07

very annoying to write code in in grabb

38:10

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:24

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:31

question about that earlier just to give

38:32

people you know kind of a a glance. So

38:35

it doesn't have to be like

38:35

mathematically average but just uh you

38:37

know like what generally the size of the

38:39

a PR is. Um if it's only a couple lines

38:42

of code or you 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.

38:57

This this is fine

38:58

>> benchmark

38:59

>> but like we have so okay this is not

39:03

that interesting but uh well fun fact is

39:05

that virtualization in Grockbot and in

39:09

uh cursor is actually powered by uh

39:12

pretext uh which is a sort of new

39:15

library that someone's built um that's

39:19

really interesting you should you should

39:20

check it out but that's not really that

39:22

important uh I think the average PR size

39:25

I actually don't No, I pro I don't know

39:27

if I want to click on these. Uh, I

39:29

probably can, but I would say

39:31

[clears throat] like they can range

39:33

anywhere from a few hundred lines or 50

39:35

lines to like a thousand depending on

39:38

what the thing is doing. Uh, so like

39:41

here I'm actually like deleting a bunch

39:42

of files. So I expect that it's just

39:44

like mostly deletion. Uh, but yeah, it

39:48

kind of varies.

39:49

>> There's no like Yeah,

39:51

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

39:52

Are they're all like 50 line VR?

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 you 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:47

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:23

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. I'm like,

42:23

what? Like why what that was? I didn't

42:26

say that as like a durable, you know,

42:27

global rule. I just meant like your this

42:30

PR sucks and you should change that

42:32

part.

42:34

uh agents don't really understand us

42:36

that well surprisingly uh and or they

42:39

kind of assume too much and they kind of

42:41

do things in like very stupid ways. So

42:44

like yeah we just ban everything

42:46

everything you can imagine like the

42:48

agents are bad at we ban. Uh so one

42:52

example that we actually suffer a lot in

42:54

the agents window is we have uh you know

42:57

you know if you've used the agents

42:58

window you've definitely seen

42:59

performance issues and you know we're

43:01

constantly trying to fix them. Uh but

43:04

it's like a

43:05

it's a never- ending struggle because

43:07

there's so many pull requests that get

43:09

merged. Every any one of them could just

43:11

regress performance or stability or

43:13

reliability. Uh you know the agents

43:16

window doesn't have this architecture

43:17

yet. I plan to do bring this learning

43:20

back there and kind of refactor

43:22

everything there. Uh but uh it just

43:25

regresses super often. uh because uh

43:29

there's just one example is like we have

43:31

very poor um isolation between

43:34

processes. So like on you know on on

43:36

electron you have a renderer thread that

43:38

renders your UI but you also have like a

43:40

main thread that you can run other code

43:42

that you know doesn't need to block the

43:44

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:50

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:05

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:35

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 coll-located in

46:17

one 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.

46:37

[clears throat] But, uh like it's like

46:40

very it's like designed again for you

46:42

know like the dumbest agent like you

46:44

don't have to think, right? the the the

46:47

one of the key principles I have for

46:49

this framework is like the shortest the

46:51

shortest path is 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 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:39

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,

47:58

uh there's also rules and bugbot which

48:01

are um I think like three, four, five

48:04

are more soft, right? These two actually

48:07

make make CI red, right? So that you

48:11

know there's a hard constraint where the

48:13

agent can't just write crappy code

48:17

for rules and skills in Bogbot. 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 bot 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 tech 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 is

49:10

so strict right the compiler enforces so

49:13

many different things you know there's a

49:14

borrow checker that you have to appease

49:16

and if as long as you make sure your

49:18

agents don't write unsafe code blocks uh

49:21

you can more or less feel somewhat

49:23

confident that if the code compiles it

49:25

probably works and it's good. Uh but you

49:28

see it gives you that level of trust and

49:30

confidence that you as a human engineer

49:34

no longer need to go and check it

49:36

yourself. You know you you rely on code

49:40

and static analysis to actually make

49:43

that uh a lot smoother. Um, and I I

49:48

guess the worst part, the worst place to

49:50

be in is if you are stuck in code review

49:53

land where you actually enforce all of

49:55

the constraints, the invariance in your

49:57

codebase by literally the human person

50:01

saying, you know, reading the code and

50:03

like, okay, you should not do this,

50:04

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

50:11

say, okay, instead of me commenting on

50:13

the PR, how do I turn this into a hard

50:17

rule, right? How do I turn this into a

50:18

lint 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 I

50:28

I can talk about another migration I've

50:30

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:44

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 couple minutes left.

50:56

Lauren, was there anything else that you

50:57

wanted to to highlight? I obviously

50:59

there's lots of questions so I can grab

51:00

more but I want to give you a few

51:02

minutes if there's anything else you

51:03

want to talk about.

51:03

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

51:05

lot so I maybe let's just do questions.

51:08

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

51:10

a couple of uh came up a couple times

51:12

was 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 at

51:32

a AI lab where we have unlimited tokens.

51:35

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 your 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 org

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 to hire

53:40

someone to do this or do you spend the

53:43

tokens to set up a code base so that

53:45

even the the most naive, right, the

53:48

dumbest agents can do a good job. And

53:51

when you actually get to this point,

53:53

like even agents that are not, you know,

53:55

fable size do an excellent job of

53:58

writing code. And this pays a lot of

54:00

dividends as well for me personally

54:02

where I've empowered not just myself but

54:06

again like PMs, designers, engineers who

54:10

are not 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 Gro 4.6

54:35

would be like a great it was very very

54:37

smart. Uh it's really good on the on the

54:40

benchmarks. Uh and it's the same the

54:43

tokens uh well uh I hopefully I'm not

54:45

saying this incorrectly but uh I believe

54:48

the cost per token is the same as 4.5.

54:51

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:22

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

56:23

but just curious about how that works.

56:26

Um I think this is where grabbot 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:09

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 and now you got a

57:39

team of agents like working on you have

57:41

one one agent per account that you

57:43

manage as an example or if you're a PM

57:45

you have you know you can have an agent

57:47

that summarizes all the work that Lauren

57:49

did last night and then now you know

57:50

what I 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

often times they will just say oh here's

58:00

a bug I fixed can you look at it and

58:02

then I'll go review it and actually it's

58:04

just perfect. I'm like okay stamp. Uh so

58:07

uh that I think that shows that you know

58:09

the the Dune architecture is holding up

58:11

right the all the the really strict

58:14

constraints allow people who are not

58:16

experts in engineering to contribute at

58:19

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

58:21

already seeing that pay off a lot where

58:24

uh you know designers and PMs are just

58:26

able to to to ship features directly.

58:30

Um, and that just makes the Grockbot

58:33

team super fast, right? Where we can

58:36

ship so quickly. Um, and we have a lot

58:40

planned, so I'm very excited uh to, you

58:43

know, uh to to ship more ship more

58:46

stuff.

58:47

>> Yeah, that's awesome. We are at time, so

58:50

uh I guess Lauren, if if folks want to

58:52

support you, maybe go try out Grockbot,

58:54

try out uh 46 and uh you know, get get

58:57

provide some feedback. But yeah, this

58:59

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 I kind of

59:06

said at the top, way more questions than

59:07

than 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.

59:16

>> Yeah, I see see thanks for having me and

59:18

uh if you have any more questions yet,

59:20

just DM me on Twitter. I'll I'll open

59:22

them up. I guess I'll let the

59:24

>> You're gonna get a lot of DMs.

59:26

>> I'll open the floodgates. So yeah, DM

59:28

me. Maybe I'll do like a Twitter space

59:30

at some point as well for more

59:32

questions. But really appreciate

59:34

everyone for showing up. Uh, you know,

59:35

taking an hour out of your day.

59:37

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

59:38

you the next one.

59:39

>> Okay. Thanks everyone. Bye.

Interactive Summary

Lauren Laurent Tan, a software engineer at Cursor with experience at Meta and Netflix, discusses the crucial importance of building trust with AI agents. She explains that shifting from a 'micromanager' mindset to a 'head chef' mindset—where the engineer designs the environment and constraints rather than writing every line of code—allows for massive increases in productivity. Key takeaways include the necessity of 'verification' (enabling agents to run and test code themselves), the use of 'feature maps' to provide context, and implementing strict 'guardrails' through CI checks, linting, and architectural constraints to maintain codebase quality while automating PRs.

Suggested questions

3 ready-made prompts