YouTube2Text

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

by Tech Bridge · 10,751 words · 1,473 segments · language en · Watch on YouTube

Full transcript

  1. 0:00Everyone, I am Lauren Lauren Tan. I
  2. 0:03guess not many people know my last name.
  3. 0:05Uh, I am Potato on Twitter. Uh, potato
  4. 0:10with spelled with an E. Um, and I have
  5. 0:13been at Cursor for about 5 months. Uh,
  6. 0:18previously I was at Meta where I worked
  7. 0:20on the React team. Uh, specifically
  8. 0:22working on the React compiler, uh, which
  9. 0:25was a whole lot of fun. Uh I'm still on
  10. 0:27the on the core team and and uh
  11. 0:29contributing to open source here and
  12. 0:30there. Uh so that that's really nice
  13. 0:33that they still let me do that. Uh and
  14. 0:36before Meta, I was at Netflix uh where I
  15. 0:38was uh both a tech lead and uh I
  16. 0:43transitioned to be be an engineering
  17. 0:45manager um for about two years.
  18. 0:49So I've had a I've have had a lot of
  19. 0:51experience going between engineering
  20. 0:54management and being an individual
  21. 0:56contributor. Uh and I think something
  22. 0:58I've noticed actually which is quite
  23. 1:00interesting is that there are so many
  24. 1:02parallels with you know management
  25. 1:04skills and how to like manage agents. Uh
  26. 1:07and that's actually a big part about
  27. 1:09what I wanted to chat with you and
  28. 1:11everybody else about today. Um but yeah
  29. 1:14that's that's me. Uh I do have some like
  30. 1:17very light slides but uh it's not going
  31. 1:20to be uh just rambling. So let me just
  32. 1:23share my screen
  33. 1:25and hope that I don't leak anything. Uh
  34. 1:33oh no I need to allow permissions.
  35. 1:36>> No worries. Oh take your time. There's
  36. 1:38always tech tech trouble. Uh give me one
  37. 1:41second to rejoin.
  38. 1:42>> Yeah go for it.
  39. 1:46I see many of you already know Lauren
  40. 1:48from from the looks of the chat here.
  41. 1:50Um, so yeah, it's exciting to to get a
  42. 1:53chance to chat with her uh and and go
  43. 1:55through some of her her recent work. As
  44. 1:57you guys heard, you know, a lot of
  45. 1:58recent experience from from Netflix to
  46. 2:01to Meta and then now over at Cursor. Uh,
  47. 2:04we're going to chat a little bit about
  48. 2:05Grockbot as well. So, uh, that'll be
  49. 2:08exciting. I don't know if you guys saw
  50. 2:09that was a recent release. I think
  51. 2:10literally maybe yesterday or the day
  52. 2:12before uh from the cursor team which is
  53. 2:14kind of like um let's call it like
  54. 2:16agents for everyone. You can go check it
  55. 2:18out if you want and learn a little bit
  56. 2:19more about the product but um but yeah
  57. 2:22we'll we'll explore that a little bit
  58. 2:23today as well.
  59. 2:26All righty. Welcome back.
  60. 2:40And Lauren, you're just on mute there if
  61. 2:42uh you want to hop off of mute if you're
  62. 2:43chatting.
  63. 2:44>> Yeah, sorry.
  64. 2:45>> No worries.
  65. 2:47>> It's 2026 and I still don't know how to
  66. 2:49use Zoom.
  67. 2:50>> That's [laughter] all good.
  68. 2:51>> Uh okay. So, I assume you can see my
  69. 2:53screen.
  70. 2:54>> Yes. Yeah, we're good. Um, so yeah,
  71. 2:56today, yeah, I think I think the big
  72. 2:58theme for me as I've been using agents
  73. 3:01to write code, and I'm sure a lot of you
  74. 3:03have had the same experience as well, is
  75. 3:06how do you trust it? You know,
  76. 3:07especially if you are an engineer that's
  77. 3:10been writing code for a very long time,
  78. 3:12you have a lot of opinions and lessons
  79. 3:15that you've learned about doing good
  80. 3:17engineering. And when you see agents
  81. 3:20just, you know, winging it and, you
  82. 3:22know, guessing, hallucinating,
  83. 3:24uh, you know, confidently stating that
  84. 3:27they found the smoking gun, uh, for the
  85. 3:29hundth time, uh, but it's actually not
  86. 3:32the real problem. You lose a lot of
  87. 3:34trust. And when you lose when you don't
  88. 3:36have much trust in your agents,
  89. 3:39I feel like you you really can't get the
  90. 3:41most out of them. And for me, the
  91. 3:43parallel is like with management. Uh so
  92. 3:46if I'm an a manager an engineering
  93. 3:48manager of a team and I have a bunch of
  94. 3:51you know I have a team of engineers uh
  95. 3:54on my team and I don't trust them then
  96. 3:57the mode of operation I'm going to be in
  97. 3:59is going to be like micromanagement
  98. 4:00right I'll have to spend a lot of time
  99. 4:03looking over my reports shoulders and
  100. 4:06checking that they're doing their work
  101. 4:08well you know that they're not shipping
  102. 4:09bugs to production
  103. 4:13and so I drew this chart cuz uh it's not
  104. 4:16it's not a very scientific chart but
  105. 4:18like this is how I imagine myself and my
  106. 4:22journey through using agents. So you
  107. 4:25know like fast forward or back forward
  108. 4:29uh or fast back uh fast backwards like a
  109. 4:33year or so when you know nobody was or
  110. 4:35not many people were using agents to
  111. 4:37code. Uh I think you
  112. 4:41uh you know get into this mode where you
  113. 4:43are
  114. 4:45in very heavily in the loop with one or
  115. 4:48several like a handful of agents and you
  116. 4:51find yourself just constantly fig uh you
  117. 4:54know trying to understand what your
  118. 4:55agents are doing uh and you're very very
  119. 4:57in loop. You're watching every single
  120. 4:59output. you are sitting there prompting
  121. 5:03um and you really can't parallelize
  122. 5:05beyond that because you don't again you
  123. 5:08don't have that trust right you can't go
  124. 5:09to a 100 agents uh like spawn 100 agents
  125. 5:13when you don't even trust the output of
  126. 5:14one agent
  127. 5:17so over the past 5 months I feel like
  128. 5:20I've really been able to uh like ascend
  129. 5:23this trust curve and now I'm at the
  130. 5:26point where uh I actually have this
  131. 5:29Sounds kind of scary to say this and it
  132. 5:31makes me sound like a slop artist, but I
  133. 5:33I promise I'm not, but I actually have
  134. 5:36my agents now um automerging PRs for me.
  135. 5:39Uh which is like a wild thing to say,
  136. 5:42but um like I woke up today and there
  137. 5:44were like 20 PRs landed and I just
  138. 5:47reviewed them on Maine like they were
  139. 5:49already landed and they were good. Uh so
  140. 5:52how did I get to that point is basically
  141. 5:55what I wanted to talk about today.
  142. 5:58Uh and again like yeah feel free to jump
  143. 6:00in if you have questions Colin. Um but
  144. 6:04uh oh yeah of course I got to show this
  145. 6:07this chart. Uh where uh
  146. 6:12no do not trust to someone requested to
  147. 6:16control my computer. Uh probably won't
  148. 6:18do that. Uh but yeah, so this chart I
  149. 6:22think I I'm I'm sharing this chart not
  150. 6:24to kind of like flex but to kind of show
  151. 6:27like the journey like so you can see
  152. 6:29like the curve like it sort of like
  153. 6:31inversely matches the contributions I've
  154. 6:34been able to land at cursor. So I joined
  155. 6:37five months ago and five months ago like
  156. 6:39I you know my first month I was like not
  157. 6:41very productive because I was ob you
  158. 6:43know I was learning the codebase didn't
  159. 6:45know what the heck was going on and as I
  160. 6:48got more confident in in my agents uh
  161. 6:51I've really been able to kind of ramp up
  162. 6:53my productivity uh and again like yeah
  163. 6:56like last month I shipped a thousand PRs
  164. 7:00which is ridiculous. Uh, and then this
  165. 7:02month we're only on the 12th. I'm
  166. 7:04already at like almost 800 PRs landed.
  167. 7:09Uh, so the velocity is definitely high
  168. 7:12and you you I'm sure a lot of you will
  169. 7:14definitely be questioning like how how
  170. 7:16much of this code is actually good. Um,
  171. 7:18and I think yeah, like that's definitely
  172. 7:21fair to question.
  173. 7:23Um, but uh, yeah, I think I think if you
  174. 7:28set up your agents well, you can
  175. 7:30definitely get to a very similar level.
  176. 7:34Um, and so I'm going to talk about how
  177. 7:35we do that.
  178. 7:38Uh so for me I think I'm curious like I
  179. 7:42guess call in your experience as well
  180. 7:44but uh for me I think the most important
  181. 7:48skill that you should have in your
  182. 7:51toolbox when you work with agents is
  183. 7:53verification.
  184. 7:55Uh and by verification I mean the
  185. 7:57ability for an agent to actually run the
  186. 8:00code uh or take CPU traces or heap
  187. 8:05snapshots or uh you know open an iOS
  188. 8:09simulator whatever you know however your
  189. 8:12application is exposed to your users it
  190. 8:15can do the same thing and uh run it for
  191. 8:19real and actually test and verify it
  192. 8:21don't work because that's the thing that
  193. 8:23really closes the loop. Uh it doesn't
  194. 8:26guarantee your agent writes good code.
  195. 8:29Uh but it allows them to at least write
  196. 8:31correct code. Uh which is a big a really
  197. 8:34big step forward for being able to trust
  198. 8:37your agents. Um
  199. 8:40I will I can share one example that we
  200. 8:43have uh within cursor. Uh
  201. 8:49oops
  202. 8:50where let me open this. Let's
  203. 9:00make this uh make me full screen. There
  204. 9:03you go.
  205. 9:05Uh so for the for cursors agent window
  206. 9:09uh so this is actually an interesting
  207. 9:11story but uh when I joined cursor 5
  208. 9:14months ago uh they're actually uh well I
  209. 9:18was supposed to join a different team. I
  210. 9:20was supposed to join like the cloud
  211. 9:21agents team. Uh but then since I have a
  212. 9:24lot of experience working on react and
  213. 9:26agents window is a react application. Uh
  214. 9:29I was
  215. 9:31uh I was asked to basically help out
  216. 9:34with uh the agent window work. Uh but um
  217. 9:40there wasn't really a lot of like skills
  218. 9:43to help me. So I just found myself like
  219. 9:45okay uh agents is going to launch in
  220. 9:47like a week right we have a really tight
  221. 9:49deadline and um there was uh you know I
  222. 9:54was just sitting there like okay I'm
  223. 9:55going to open up the performant the the
  224. 9:57chrome dev tools and just like take a
  225. 9:59trace look at it myself and try to make
  226. 10:01sense of this flame graph and keep in
  227. 10:03mind I was just like in my first week so
  228. 10:06I had no idea what I was looking at no
  229. 10:07idea what you know I mean I had some
  230. 10:09idea but you know the codebase was
  231. 10:11completely fresh to me Uh, and I
  232. 10:14realized like my agent had no idea
  233. 10:17either, you know, like I would take a
  234. 10:18screenshot of the tree, I download
  235. 10:19trades, I would send it to it, and it be
  236. 10:21like, "Yeah, it kind of looks like this,
  237. 10:23you know, uh, and it would like
  238. 10:25confidently state like it's this thing."
  239. 10:27And then I try to fix that. And turns
  240. 10:29out that's not the actual thing.
  241. 10:32So, this was very very slow process. And
  242. 10:34if you've ever done any like performance
  243. 10:36work yourself or you know just even
  244. 10:38development with an agent where you
  245. 10:40don't have a verification skill, you are
  246. 10:43the verifier, right? You you're the
  247. 10:45bottleneck. You you you tell your agent
  248. 10:47to do something and then it goes off and
  249. 10:49write some code. Then you open up your
  250. 10:51you know local dev build and then you
  251. 10:53start to say oh you know doesn't work.
  252. 10:54Then you got to copy paste screen uh you
  253. 10:56know screenshots or console errors or
  254. 10:59whatever. uh and then your agent like
  255. 11:01slowly kind of like uh you know works
  256. 11:04with that and then tries to understand
  257. 11:06it and um fix the thing but then you're
  258. 11:10constantly just in the loop and and
  259. 11:12being a bottleneck. So there's really no
  260. 11:13way to parallelize. So the control glass
  261. 11:16skill is like one of the first skills I
  262. 11:18built uh for cursor. Uh and glass by the
  263. 11:21way is the code name for agents window
  264. 11:24that we use internally but it's just
  265. 11:27cursor I guess. Um, and so this skill uh
  266. 11:31is I guess the the the code itself is
  267. 11:33not super interesting. Your agent can
  268. 11:35very easily make one for you. Uh where
  269. 11:38if if you're building an Electron app or
  270. 11:40a web app or even iOS uh applications,
  271. 11:45uh you can teach your agent how to use
  272. 11:47like the ChromeDev tools protocol or
  273. 11:50through uh Apple has some utilities as
  274. 11:53well for running the simulator and
  275. 11:55taking traces and controlling
  276. 11:56programmatic control.
  277. 11:58as well. Uh so that's really useful. Uh
  278. 12:03but one thing I want to talk about is uh
  279. 12:06the
  280. 12:08this thing
  281. 12:10uh where is the read me? Uh so this
  282. 12:14skill comes with this very unique
  283. 12:16feature called or not feature uh unique
  284. 12:19file called a feature map. And so the
  285. 12:23story then is like I built this skill
  286. 12:25and so now the agent was able to uh
  287. 12:28actually run the agent window and take
  288. 12:30traces and whatnot. Uh but it had no
  289. 12:33idea what what the agent window was. So
  290. 12:38um you know like someone would say like
  291. 12:40oh the the left sidebar is like laggy or
  292. 12:44something like that or you know the
  293. 12:46right side the the PR tab is not working
  294. 12:48and the agent would just be like kind of
  295. 12:50flailing around. it would spend a lot of
  296. 12:51time trying to like look up the code and
  297. 12:53you know where is this feature? How do I
  298. 12:55actually get to it on the UI which made
  299. 12:58it basically completely useless. Uh you
  300. 13:00know like we would I would run this
  301. 13:03skill locally and you know it would
  302. 13:05spawn a dev build uh but then it' just
  303. 13:08be churning like I just try to click
  304. 13:11here. It wouldn't know how to get to
  305. 13:13things um and it was just an awful
  306. 13:15experience. Uh so who is putting arrows
  307. 13:19on my screen? Um so uh yeah this this
  308. 13:24feature map has been really useful uh
  309. 13:26because it teaches the agent how to get
  310. 13:28to all of the features that you have. Um
  311. 13:31and in PAC the plugin that I I've made
  312. 13:35uh if you search for PAC cursor on
  313. 13:39Google you you'll find it. Uh, but there
  314. 13:41is a create verification skill in that
  315. 13:44plug-in where it actually helps you set
  316. 13:46up something like this for yourself. Um,
  317. 13:49including the feature map. So, it will
  318. 13:50actually explore the code and build up
  319. 13:52this initial feature map that tells your
  320. 13:54agent how to get to all of the different
  321. 13:57features that you have. Uh, and this is
  322. 13:59extremely powerful because now like you
  323. 14:02have these user reports that come in.
  324. 14:04Uh, you you can actually map even like a
  325. 14:07vague report or even a screenshot. So we
  326. 14:10have this uh internally at cursor where
  327. 14:14uh we have a slack channel where you
  328. 14:16know lots of people giving us feedback
  329. 14:18on the agents window and rockbot and
  330. 14:20whatnot. Uh, and often times the report
  331. 14:24is very bad, like very low quality, like
  332. 14:26someone will just put very often we get
  333. 14:29like a screenshot like and then someone
  334. 14:30just says question mark question mark
  335. 14:32question mark like what is this? And you
  336. 14:34know like without this your agent like I
  337. 14:37have no clue, right? But with a feature
  338. 14:39map like this, it has a lot more context
  339. 14:42and understanding of how to actually
  340. 14:45navigate, how to get to all the
  341. 14:47different features. Uh so like you know
  342. 14:49example like I guess like the sidebar
  343. 14:51like what is the sidebar uh you know
  344. 14:54like all the different sub features that
  345. 14:56are present in it um like from the user
  346. 14:59point of view here's where how do I get
  347. 15:01to it all the different keyboard
  348. 15:03shortcuts
  349. 15:05uh even like the the what do you call it
  350. 15:07the DOM elements or yeah like the
  351. 15:10attributes that you use for selecting
  352. 15:12things through the CDP uh are all there.
  353. 15:16So uh again yeah this is like really
  354. 15:19really powerful uh for for agents
  355. 15:23>> uh and pstack ships uh that create
  356. 15:26verification skill but also a maintain
  357. 15:28verification skill uh so you can keep
  358. 15:30this up to date.
  359. 15:32>> Cool. Yeah, I was just going to ask how
  360. 15:34you created that. So do you mind sharing
  361. 15:35a little bit more about um that that
  362. 15:37process in the context of Pstack and
  363. 15:39maybe just what Pstack is for the folks
  364. 15:40who aren't familiar?
  365. 15:42Yeah. So, P stack is pretty interesting
  366. 15:44because uh well, first of all, the name
  367. 15:47is kind of goofy. like the P the P and P
  368. 15:50stack is like potato potato snack
  369. 15:54because I um so uh uh there is a pretty
  370. 15:59uh famous person Gary Tan who is the CEO
  371. 16:02of Y Combinator and he's come up with
  372. 16:05this plugin called GStack uh Gary Stack
  373. 16:09and uh funnily enough we share the last
  374. 16:12name we have no relations uh but I
  375. 16:14thought it would be funny to kind of you
  376. 16:16know poke fun at Gary and make peace
  377. 16:18stack my version of of of of [laughter]
  378. 16:21his plugin. Uh but kind of tailor it to
  379. 16:24my own set of p engineering practices.
  380. 16:29Uh but I honestly actually never set out
  381. 16:31to build PAC. Uh it just started with a
  382. 16:33bunch of skills, right? Like I started
  383. 16:35with that control glass skill and then I
  384. 16:37started with another skill like called
  385. 16:39how which I also noticed through like
  386. 16:42observing agents. Um, so like you know
  387. 16:46in the early days of me, you know,
  388. 16:47trying to climb this ladder, I was like
  389. 16:49super in the loop and I was basically
  390. 16:51nitpicking my agents to an extreme
  391. 16:53degree. I was uh like I would tell it um
  392. 16:57you know this feature has stopped
  393. 16:59working here's a bug report like why
  394. 17:01isn't it working?
  395. 17:04And very often the agent would just like
  396. 17:06confidently state like oh it has to be
  397. 17:09this right it has to be this thing. And
  398. 17:11I noticed like when I looked at the
  399. 17:13actual tool calls, I noticed it wasn't
  400. 17:15actually reading the code that I thought
  401. 17:18should be affected. And that made me
  402. 17:20just extremely suspicious. And at that
  403. 17:22point, I was like, I'm not going to I
  404. 17:24can't trust any this agent anymore cuz
  405. 17:26it's just it's just completely
  406. 17:27hallucinating.
  407. 17:29And I think
  408. 17:31I think it's very easy to just, you
  409. 17:33know, like build up that distrust and
  410. 17:35not and kind of feel helpless like, you
  411. 17:38know, you don't know how to help your
  412. 17:40agents succeed. But like again, I think
  413. 17:43the the the management analogy is super
  414. 17:45helpful because like imagine if you were
  415. 17:46a manager of an engineering team and you
  416. 17:49had an engineer on your team who was a
  417. 17:52really good coder, no business context
  418. 17:54whatsoever. you know they they just you
  419. 17:56just hired them and they they onboarded
  420. 17:58you know like 5 seconds ago. Uh and so
  421. 18:02how do you actually teach that person to
  422. 18:04be effective?
  423. 18:05So how you do that is through a skill.
  424. 18:08uh a skill being just you know it's just
  425. 18:09markdown right but you know it encodes a
  426. 18:12lot of information instructions a lot of
  427. 18:16uh you can really draw out a lot of
  428. 18:19intelligence from an agent by well some
  429. 18:22people on Twitter call it like you know
  430. 18:23pull the agent to a different latent
  431. 18:26space which is kind of like a fancy way
  432. 18:28of just saying like since uh you LLMs
  433. 18:30are sort of like they predict the next
  434. 18:32token uh when you give it some high
  435. 18:35quality tokens uh to to begin with then
  436. 18:38you know it it can kind of pattern match
  437. 18:40on like a higher space that's you know
  438. 18:43smarter
  439. 18:45um so that's like a very interesting
  440. 18:48model there but yeah I built Pstack very
  441. 18:50very incrementally uh so uh started with
  442. 18:54just really observing how agents you
  443. 18:56know all the fail different failure
  444. 18:58modes of of that agents were having and
  445. 19:01every time I saw that I just okay I'm
  446. 19:02just going to make that a skill right
  447. 19:04like stop hallucinating actually go and
  448. 19:07search up, look up the code, use a lot
  449. 19:09of sign agents, uh, and yeah, stop
  450. 19:12guessing.
  451. 19:16>> Yeah, that makes sense. One, one kind of
  452. 19:18followup question here, uh, both from
  453. 19:19myself and from a bunch of people in the
  454. 19:20chat. So,
  455. 19:22>> I guess it's two two parts. So, one is
  456. 19:23like how do you maintain these skills?
  457. 19:25So, like the product changes over time.
  458. 19:27Obviously, there's a lot of people who
  459. 19:28are shipping against the codebase. So,
  460. 19:30how do these skills get maintained? Uh
  461. 19:32and then second to that is like how do
  462. 19:34you know when your verification is is
  463. 19:35good enough? Uh like and you know you
  464. 19:38can trust that the ver verification
  465. 19:40loops that you've built are going to I
  466. 19:42guess you trust the outputs uh when
  467. 19:44they're done.
  468. 19:47>> Uh yeah maybe I'll talk about um I think
  469. 19:50some are related. Maybe I'll start with
  470. 19:52this one first. So like how do I
  471. 19:56maintain these skills?
  472. 19:59So, um, if you're not familiar with this
  473. 20:01concept, an eval [clears throat] is
  474. 20:03essentially like a way to, uh, well, I
  475. 20:06the mental model I have is like it's
  476. 20:07like a unit test for an agent. Um, and,
  477. 20:11uh, you can actually make your own eval.
  478. 20:14You don't need like a special framework
  479. 20:15for them. You can build you can you can
  480. 20:18build one depending on like, you know,
  481. 20:20how scientific and how rigorous you want
  482. 20:22to be. Uh, my screen is red.
  483. 20:26>> Yeah, there's a little button. Um,
  484. 20:28sorry. Do you mind like disabling the
  485. 20:31drawing or something? I I can't see my
  486. 20:32screen.
  487. 20:33>> Yeah, sorry. If you guys could not draw
  488. 20:35on the screen, that'd be great. But, um,
  489. 20:36there's a little button in the
  490. 20:38>> Is that a troll?
  491. 20:39>> Yeah, the little drop down.
  492. 20:42>> How do I clear?
  493. 20:44>> Yeah, you got it. Perfect.
  494. 20:49>> Yeah. So, eval
  495. 20:52test your skills basically. And actually
  496. 20:55in Pstack we ship uh under potato mode
  497. 20:59there's a playbook if you search for it
  498. 21:00called eval playbook. Um and it's uh
  499. 21:05uh it's like not it's actually pretty
  500. 21:07pretty rigorous the way it's done. Uh
  501. 21:10but um essentially what I do is I spawn
  502. 21:13a lot of different sub agents. I have
  503. 21:15like my main coordinator agent uh come
  504. 21:18up with a rubric for uh what I want the
  505. 21:22skill to do. Um, and then it spawns all
  506. 21:25these sub aents and it it creates
  507. 21:28individual directories for them uh which
  508. 21:31are cleverly named to not let the sub
  509. 21:35agent know that it's being evaluated
  510. 21:37because uh agents can actually tell and
  511. 21:40when they do they change their behavior.
  512. 21:42Uh, but it does a bunch of stuff like
  513. 21:44that to um essentially yeah like test
  514. 21:49whether or not the skill I'm making or
  515. 21:51changing is actually doing what I think
  516. 21:53it does. Um, and one of the really nice
  517. 21:56things about cursor is that we are we we
  518. 21:58support so many different models. So you
  519. 22:01can actually eval your skill across all
  520. 22:03sorts of different models um and you
  521. 22:06know get a sense of how well it performs
  522. 22:08across that different matrix. um
  523. 22:12especially for the models that you use.
  524. 22:15Uh so I do this a lot. Every time I I
  525. 22:17modify a skill, I will run one of these
  526. 22:20uh like the ebal playbook uh and make
  527. 22:22sure that you know it's actually leading
  528. 22:25to a result I want. Uh but I will say
  529. 22:28like
  530. 22:29maintaining skills is actually pretty
  531. 22:32hard. Uh it requires I think a lot of
  532. 22:34taste and observation. So, you kind of
  533. 22:37need to be very good at being a backseat
  534. 22:40driver, you know what I mean? Like, if
  535. 22:42you do pair, if you ever done pair
  536. 22:44programming, for example, uh, and you
  537. 22:46watch a co-orker code and you just like
  538. 22:48you, you could probably do this better,
  539. 22:50you know, you could do, you know, like
  540. 22:51why did you not do this, right? You you
  541. 22:53ask a lot of questions to your coworker
  542. 22:55and it's kind of a similar thing here.
  543. 22:56You like you don't want to just be a
  544. 22:58passive observer of your agent. You want
  545. 23:00to be very in the driver seat in the
  546. 23:03initial stages when you're building up
  547. 23:04your own set of skills. uh you know
  548. 23:06obviously you can use something like PAC
  549. 23:08but if you're building your own set of
  550. 23:10skills it's very I think you know
  551. 23:13opening up the all the tool calls and
  552. 23:15like reading the code and reading all
  553. 23:17the uh the agent behavior and their
  554. 23:20thinking blocks is a really great way to
  555. 23:23see where they they fail right like what
  556. 23:26what you know where are they being done
  557. 23:29and then you can go and build a skill
  558. 23:30for that and then with verification how
  559. 23:33you trust it is it's I think it's also a
  560. 23:36very similar iteration loop uh where you
  561. 23:38know like I actually did the same
  562. 23:40process for verifying the verification
  563. 23:43skill where I actually get um so one
  564. 23:47thing that's interesting about eval is
  565. 23:49that you can sort of hill climb them
  566. 23:51meaning that uh your eval can produce a
  567. 23:54score right uh a score that you can get
  568. 23:57your coordinator to produce uh but also
  569. 24:00comp uh you can have a judge agent of a
  570. 24:02different model to uh kind cross
  571. 24:06reference and make sure that the first
  572. 24:08model is not being biased, right? The
  573. 24:10model that's judging all of the sub
  574. 24:12aents that are running the thing. Uh but
  575. 24:14you can also like hill climb. So meaning
  576. 24:16that you can you can use like /loop in
  577. 24:19cursor and you can say okay keep looping
  578. 24:22on this eval right until everything is
  579. 24:2510 out of 10 as an example. Uh and I did
  580. 24:28the same the basically the same approach
  581. 24:30with the control skill. And so I kind of
  582. 24:32it was very it was very hands-off
  583. 24:33actually. Uh so you know I uh I kind of
  584. 24:37built I built that skill that way like
  585. 24:39the CLI in that skill. Um and over time
  586. 24:43it's gotten really good. Uh but yeah it
  587. 24:46was definitely not super smooth at the
  588. 24:48beginning. It required a lot of
  589. 24:50iteration and I think there's an analogy
  590. 24:53here for me which is um well I make this
  591. 24:57analogy later in a different slide on my
  592. 24:59drawing here. Uh but I think of it like
  593. 25:03uh you know as a as a engineer now
  594. 25:06you're sort of more like you uh like
  595. 25:09maybe a manager or the analogy I like is
  596. 25:12like you're like a a chef in a
  597. 25:14restaurant. Uh you you're the head chef.
  598. 25:17Uh you're not cooking all the food
  599. 25:18yourself anymore. You have a team of
  600. 25:20cooks, right? You have line cooks, you
  601. 25:22have a sue chef, you have, you know, all
  602. 25:24these different stations.
  603. 25:26Um and it's your job to really design
  604. 25:28the environment. you know, you you're in
  605. 25:31charge of setting up the kitchen. You're
  606. 25:32in charge of, you know, like giving
  607. 25:35tasks to different people. So,
  608. 25:39um yeah, it's a very interesting way of
  609. 25:42working. Uh but yeah, that's that's how
  610. 25:45I've basically built uh these
  611. 25:47verification skills.
  612. 25:48>> Yeah, just just one followup there on
  613. 25:50like to go try to go one layer deeper.
  614. 25:52So, are you let's say we wanted to build
  615. 25:56um an eval or a skill for for something
  616. 25:59and we wanted to kind of get better on
  617. 26:01its own, which is is what I think you're
  618. 26:03suggesting. Uh are you doing that in
  619. 26:05like a work tree kind of isolated with
  620. 26:08like the sub aents and and then the
  621. 26:09reviewer agent and and all that? Is it
  622. 26:11happening like in some type of cloud
  623. 26:13hosted environment? Like what's the the
  624. 26:15more the practical steps? If I wanted to
  625. 26:17go do this uh and like set up a
  626. 26:19verification system for something, what
  627. 26:20would I what would I do or where would I
  628. 26:21start?
  629. 26:24Um I think that uh the best place to
  630. 26:27start is local because you can observe
  631. 26:31you can definitely observe what your
  632. 26:32agents are doing. So, uh, if you're
  633. 26:34building a verification skill for
  634. 26:36yourself, uh, I would definitely start
  635. 26:38local and just have your agent bring up
  636. 26:40the application, whether it's like a CLI
  637. 26:43or, uh, desktop app or whatever. And so,
  638. 26:46you can actually observe, right? You can
  639. 26:47see how the agent is interacting with
  640. 26:50the the application. You can see it, you
  641. 26:53know, how it calls like the different
  642. 26:56APIs that that allow it to interact with
  643. 26:58the uh the application.
  644. 27:02Um but uh for me personally uh I have
  645. 27:06basically been kind of all in mostly all
  646. 27:08in on cloud agents because they're
  647. 27:10extremely powerful. Uh and the really
  648. 27:13powerful thing about cursor is the the
  649. 27:15cloud agents actually where if you spend
  650. 27:18a little bit of time setting up your
  651. 27:19environment
  652. 27:21these control skills these verification
  653. 27:23skills pay a huge amount of dividends
  654. 27:26because it's not just something that
  655. 27:28makes you as a single engineer better.
  656. 27:31It actually levels up your whole team uh
  657. 27:33and even your whole company because uh
  658. 27:36you can actually start thinking about
  659. 27:38cloud agents. start thinking about
  660. 27:39automations that automatically do things
  661. 27:43like uh I I get I I kind of talk about
  662. 27:46this a bit later, but I'll just kind of
  663. 27:49get into it. Uh where where you know,
  664. 27:51for example, like I talk a lot about
  665. 27:53this agent we have called Benny, right?
  666. 27:55who who uh you know takes all of the bug
  667. 27:59reports that we get and it automatically
  668. 28:02goes off in the cloud, opens up a cloud
  669. 28:04uh it's you know its desktop. It runs
  670. 28:07cursor in its own computer and it uses
  671. 28:10the same control skills to interact with
  672. 28:13the application and try to reproduce the
  673. 28:15bug uh or the user report, right? And
  674. 28:17this is so so powerful because at once I
  675. 28:20can immediately I I get so much
  676. 28:22information from this automatically like
  677. 28:24here in this example you can see that uh
  678. 28:26the Benny actually reproduced the bug uh
  679. 28:30but it's already fixed on main. So it
  680. 28:33actually confirms that we fixed this
  681. 28:35problem already and all I need to do is
  682. 28:37just release another build of of cursor.
  683. 28:40Uh, so that's like huge information
  684. 28:42there that I didn't have to go off and
  685. 28:44sit with an agent, you know, and spend
  686. 28:46an hour trying to figure like is this
  687. 28:47fixed, is this not fixed. So you you you
  688. 28:50gain back so much time. Uh, but you
  689. 28:52know, everybody on my team benefits from
  690. 28:54this. Everybody at the company benefits
  691. 28:56from this. Uh, so definitely think that
  692. 29:00uh, you know, keeping these using cloud
  693. 29:03agents is super powerful. Uh, but yeah,
  694. 29:06it's like a journey. You have to trust
  695. 29:08it first, right? before you you get to
  696. 29:10this point. And that's it goes back to
  697. 29:12what I was saying here where, you know,
  698. 29:14it's very hard. It's almost impossible.
  699. 29:16And I would definitely encourage you not
  700. 29:18to try to jump from, you know, like if
  701. 29:21you're still in this zone, you don't
  702. 29:24want to jump to like I'm going to spawn
  703. 29:26a hundred of thousand or thousands of
  704. 29:28cloud agents right now because you're
  705. 29:30just going to waste a lot of tokens. Um,
  706. 29:32and it's going to be extremely
  707. 29:34expensive.
  708. 29:35>> Yeah. So just to kind of recap so far,
  709. 29:37basically the if we wanted to go on the
  710. 29:39journey that you've kind of gone on, it
  711. 29:40would be to start with verification,
  712. 29:43building some some skills and some some
  713. 29:46ways of determining that the agents are
  714. 29:47producing at least like correct code.
  715. 29:50Whether like you said whether it's good
  716. 29:51code or not is maybe a separate
  717. 29:52question, but like it's it's technically
  718. 29:53solving the problem by looking at you
  719. 29:56know stack traces, looking at you know
  720. 29:58the the actual behavior in the app and
  721. 29:59so on. Um, and then once we trust it
  722. 30:01locally, then we can start to think
  723. 30:03about scaling into the cloud and running
  724. 30:05more agents that are picking up signals,
  725. 30:07I guess, on their own, right? So whether
  726. 30:09that's like a bug report that comes in
  727. 30:10or something, they can go and pick it up
  728. 30:12and solve the problem and and give us
  729. 30:14back a PR. And then maybe the last step
  730. 30:16is like automerging the PRs, which uh is
  731. 30:19where you're at, maybe not where
  732. 30:20everyone is at.
  733. 30:21>> Um, and then and reviewing them on main,
  734. 30:23but um, is that is that about right?
  735. 30:26>> Yeah, exactly. I think yeah, that's why
  736. 30:27I drew this this uh this this curve,
  737. 30:29right? because that this this basically
  738. 30:31describes my journey of you know when I
  739. 30:34started barely could use a couple agents
  740. 30:36and I was just observing every single
  741. 30:38thing. I think there's really no
  742. 30:40shortcut for going from here to there
  743. 30:42because this is really about your
  744. 30:44personal level of trust in agents,
  745. 30:47right? Um obviously, you know, as a as
  746. 30:49engineer, you don't want to just slop
  747. 30:50code into production. So, how do you
  748. 30:53actually build up that trust? Takes um a
  749. 30:56lot of uh I guess taste and judgment. Um
  750. 30:59but uh you know, like I think plugins
  751. 31:02like Pstack definitely kind of help you
  752. 31:05uh get up to speed much quicker. Uh, and
  753. 31:08so I guess it's like if you trust me and
  754. 31:11you trust Pstack, then in by extension
  755. 31:14you can maybe trust your agents. But if
  756. 31:16you don't trust me, and I I definitely
  757. 31:18would not encourage people to blindly
  758. 31:20trust me. Uh, uh, you know, if you build
  759. 31:24up your own set of skills that you can
  760. 31:26obviously, you know, take a look at PA
  761. 31:28and kind of fork it, make it your own,
  762. 31:30improve the skills. Definitely encourage
  763. 31:32that. Uh but for me it's really all
  764. 31:35about it just keeps coming back to
  765. 31:37trust. You know every one of us here in
  766. 31:39this chat have a different standard for
  767. 31:41engineering. Uh and there are different
  768. 31:43things that are important for us in our
  769. 31:46codebase. And uh when you are able to
  770. 31:50encode all of that into skills and you
  771. 31:51can verify that your agent is actually
  772. 31:53doing them that allows you to really
  773. 31:55kind of ascend this curve and um uh you
  774. 32:00know start automating things. Uh there's
  775. 32:02another piece I wanted to talk about. Um
  776. 32:05if there's more
  777. 32:06>> Yeah, go for it. I'll I'll pick up more
  778. 32:08questions as I go. But
  779. 32:09>> yeah, I think there's a third part to
  780. 32:10this which I haven't talked about yet,
  781. 32:12which is kind of an interesting one
  782. 32:14which is like refactoring and rewriting
  783. 32:17like one of the uh I guess most
  784. 32:19controversial one of the most
  785. 32:21controversial topics in the industry I
  786. 32:23think is like should you rewrite your
  787. 32:25app or not? Um because I think engineers
  788. 32:30are very prone to this where especially
  789. 32:32when you join a company you come in and
  790. 32:34you see like the codebase and you're
  791. 32:35like oh man this is like who wrote
  792. 32:38this code you know it's terrible I want
  793. 32:40to rewrite the whole thing there is a
  794. 32:42very common inclination and I think a
  795. 32:44lot of you know before agents um and I
  796. 32:48guess arguably even now people will
  797. 32:50definitely discourage you from re
  798. 32:51rewriting stuff but I'm actually here to
  799. 32:54make a case for why you might want to
  800. 32:56consider But
  801. 32:58um because
  802. 33:00I think it really depends uh you know uh
  803. 33:03brownfield applications I think are
  804. 33:05actually in a pretty good spot
  805. 33:07especially if they're set up well
  806. 33:09already. Uh and like recently I've been
  807. 33:12talking to some people but uh you know I
  808. 33:14I was just observing I I just noticed
  809. 33:17this parallel which is that a lot of big
  810. 33:21tech company problems are now
  811. 33:23everybody's problems. Um, and the big
  812. 33:26tech company problem, you know, like
  813. 33:27when I was working at Meta, like we had
  814. 33:29this giant monora repo, we had like, I
  815. 33:31don't know, tens of thousands of
  816. 33:33engineers just, you know, like banging
  817. 33:35on their keyboards and and shipping code
  818. 33:38and
  819. 33:40a lot of really great engineers at Meta.
  820. 33:42Uh, but, uh, I'll say like, you know,
  821. 33:45you'll be surprised that the code
  822. 33:46quality is actually not that good.
  823. 33:48[laughter] Um, and so I often joke that
  824. 33:51like, you know, before AI sloth, we had
  825. 33:53human sloth. Um and so uh you know I
  826. 33:56think a lot of big tech infra like uh
  827. 33:58like what Meta has or Google you know
  828. 34:01you know really big tech companies are
  829. 34:03actually designed for that where you
  830. 34:05you're sort of like you're catering to
  831. 34:07the the you know like uh sounds that
  832. 34:10sounds so bad to say but like the the
  833. 34:11least capable engineer on your team
  834. 34:13right you build you build frameworks you
  835. 34:16build conventions you build guard rails
  836. 34:19you know you restrict credentials so
  837. 34:21that you know your intern doesn't wipe
  838. 34:22your production database
  839. 34:24Um
  840. 34:26there's uh you know if you have that
  841. 34:28level of infra already I think your
  842. 34:31agents can actually already do a very
  843. 34:33solid job right because they have the
  844. 34:35the guard rails are already in place for
  845. 34:38agents to not cause havoc or not cause
  846. 34:41too much havoc uh in your codebase um
  847. 34:44and you can always add more you know
  848. 34:46guard rails. Uh but I think like green
  849. 34:49field applications especially are you
  850. 34:50know like the brand new applications are
  851. 34:53like the biggest risk in my opinion. Uh
  852. 34:56and also the greatest opportunity
  853. 34:58because you know if you vibe code a
  854. 35:00project uh a prototype um like we did
  855. 35:04for Grockbot you know Grockbot was spun
  856. 35:05up very very very quickly. Um and if you
  857. 35:08if you haven't heard of of Grockbot it's
  858. 35:10like our a new application we just
  859. 35:12launched yesterday. Uh it's it's really
  860. 35:14cool. uh lets you orchestrate your
  861. 35:18create like individual agents that have
  862. 35:20their own identity and you can kind of
  863. 35:21orchestrate them. It's super cool.
  864. 35:23Definitely check it out. Um but yeah,
  865. 35:25that was it's like a very it was a very
  866. 35:26green field application like most
  867. 35:29prototypes are so like vibe coded very
  868. 35:32quickly. Humans were not reading the
  869. 35:34code at all. And uh I had this tweet
  870. 35:38recently uh where I said something about
  871. 35:41organic architecture. Um
  872. 35:45maybe I'll find it. Uh but the idea is
  873. 35:49that
  874. 35:50uh when you have a completely vibe coded
  875. 35:52application, you essentially have no
  876. 35:54guard rails whatsoever. So uh your
  877. 35:57agents
  878. 35:59when you give them a task, they will
  879. 36:01just solve it in whatever method is the
  880. 36:03most convenient. And over time you get
  881. 36:06into this uh situation where you have a
  882. 36:09codebase that is spiraling out of
  883. 36:11control because you don't understand it.
  884. 36:14Uh your agents understand it I guess in
  885. 36:16a way but like they've built something
  886. 36:18that is you know optimized for short for
  887. 36:21shortcuts. Uh and uh you know it will
  888. 36:24you will suffer you'll have a lot of of
  889. 36:27issues with that application.
  890. 36:30Uh so I think starting your codebase
  891. 36:33with uh like very strong constraints is
  892. 36:37very much needed uh because like when
  893. 36:40you have a codebase that you can trust,
  894. 36:43right? when you have guardrails that
  895. 36:44actually help you uh uh help your agents
  896. 36:48write good code, you can get into the
  897. 36:50you know like into this part of the
  898. 36:52curve where I I where like I I said you
  899. 36:55know I woke up today and I had like 20
  900. 36:57PRs merged u by my agents and that's
  901. 37:00because I invested a lot a lot of time
  902. 37:04uh over 600 PRs I I I calculated
  903. 37:06yesterday uh when I refactored all of
  904. 37:10Grockbot to this new architecture that
  905. 37:12I've been
  906. 37:14Um,
  907. 37:15and yeah, I've gotten to a point where I
  908. 37:19I don't really look I really don't look
  909. 37:20at the code anymore. And um, I say that
  910. 37:24not just, you know, to sell you tokens,
  911. 37:25but because I, you know, it it it took a
  912. 37:29lot of work to get to that point. I
  913. 37:30spent a lot of tokens to get the
  914. 37:32codebase to this point where I no longer
  915. 37:34have to look at it. Uh but I'm very
  916. 37:37excited because you know of the
  917. 37:39potential where you know it's not just
  918. 37:41this doesn't just benefit me it benefits
  919. 37:43everyone contributing to Grockot and it
  920. 37:46also empowers you know designers and
  921. 37:49product managers and you know pe uh even
  922. 37:52GTM people to add features to Grockbot
  923. 37:55and I don't have to worry you know I
  924. 37:56don't have to to wake up at night in in
  925. 37:59the middle of the night and worry like
  926. 38:00oh someone's just merged a perf
  927. 38:02regression right I have a ton of
  928. 38:05constraints and CI is like it's actually
  929. 38:07very annoying to write code in in graph
  930. 38:09web but like agents absorb all of that
  931. 38:11annoyance.
  932. 38:13Um but yeah I'm happy to talk about what
  933. 38:16exactly that is. Um
  934. 38:18>> yeah I think one question um
  935. 38:21>> before we get into the this part here is
  936. 38:23just around that element of like what
  937. 38:26your your your CI looks like or maybe
  938. 38:28some of the constraints and then also
  939. 38:29like the average PR size. I saw a
  940. 38:30question about that earlier just to give
  941. 38:32people you know kind of a a glance. It
  942. 38:35doesn't have to be like mathematically
  943. 38:36average, but just uh you know like what
  944. 38:38generally the size of the a PR is. Um if
  945. 38:41it's only a couple lines of code or you
  946. 38:43know um yeah
  947. 38:45>> um
  948. 38:47I think it depends. Uh let me
  949. 38:51I'm trying to do this in a way where I'm
  950. 38:53not going to like
  951. 38:54>> you. Yeah, you don't have to share the
  952. 38:55actual number like an actual average. I
  953. 38:57think this this is fine
  954. 38:58>> benchmark
  955. 38:59>> but like we have so okay this is not
  956. 39:02that interesting but uh well fun fact is
  957. 39:05that virtualization in grabbot and in uh
  958. 39:09cursor is actually powered by uh pretext
  959. 39:13uh which is a sort of new library that
  960. 39:16someone's built um that's really
  961. 39:19interesting you should you should check
  962. 39:20it out but that's not really that
  963. 39:22important uh I think the average PR size
  964. 39:25I actually don't know. I pro I don't
  965. 39:27know if I want to click on these. Uh I
  966. 39:29probably can, but I would say like they
  967. 39:32can range anywhere from a few hundred
  968. 39:34lines or 50 lines to like a thousand
  969. 39:37depending on what the thing is doing. Uh
  970. 39:40so like here I'm actually like deleting
  971. 39:42a bunch of files. So I expect that it's
  972. 39:44just like mostly deletion. Uh but yeah,
  973. 39:47it kind of varies.
  974. 39:49There's no like Yeah,
  975. 39:51>> there's no like hard cap or hard limit.
  976. 39:52Are there all like 50 line PR?
  977. 39:53>> There's no hard cap. Yeah, there's
  978. 39:54definitely no hard cap. But I I do
  979. 39:56encourage my agents to split up their
  980. 39:57work into multiple PRs. Uh I do that
  981. 40:01mostly because uh I like I like the idea
  982. 40:05of the I guess maybe this is much harder
  983. 40:07to do now as in the world of agents and
  984. 40:10you have like so many commits, but I
  985. 40:12like the idea that you know the git
  986. 40:13history is a very rich source of
  987. 40:15context. Uh, and I like the I like each
  988. 40:19PR to sort of atomically describe what
  989. 40:22that small piece of thing is doing,
  990. 40:25which also makes it easier for me to
  991. 40:26revert changes and like figure out, you
  992. 40:28know, oh, I shipped a bug and it's just
  993. 40:30it's here, right? It's not in this
  994. 40:3240,000 line PR where who knows what
  995. 40:36landed in there.
  996. 40:38Uh, but I don't have a hard cap on PR
  997. 40:41size.
  998. 40:42>> Cool. And then um yeah, also quick
  999. 40:45question on like CI. So again, you don't
  1000. 40:46have to go into like uh the screen share
  1001. 40:48of like your CI does, but just generally
  1002. 40:51would you describe what the CI kind of
  1003. 40:53looks like uh or how strict it is?
  1004. 40:56>> Uh yeah, so
  1005. 40:58uh well specifically for Grockbot. So
  1006. 41:01Dune is the is the sort of cheeky code
  1007. 41:04code name for the architecture that
  1008. 41:06we've built for Grockbot. Um the CI
  1009. 41:10looks pretty annoying because there's
  1010. 41:13checks for everything. So like literally
  1011. 41:16I have um uh well if you've written any
  1012. 41:19React for example you know you know that
  1013. 41:21one of the biggest foot guns in React is
  1014. 41:22use effect. Uh so in
  1015. 41:26uh Dune and in graphbot we've banned use
  1016. 41:29effect. So Dune is just you can the the
  1017. 41:32mental model of what Dune is uh you can
  1018. 41:34kind of think of it as like Nex.js JS
  1019. 41:36for uh electron apps and it's designed
  1020. 41:39for agents to write uh and it's like
  1021. 41:42custom for you know our agent powered
  1022. 41:45applications. Um so the CI checks are
  1023. 41:48very like specific to that like you know
  1024. 41:50don't use use effect. It's it's it's
  1025. 41:52banned like CI will fail uh and yell at
  1026. 41:55you. We have like some of the more
  1027. 41:57interesting ones that people might raise
  1028. 41:59eyebrows is like I actually ban code
  1029. 42:01comments as well uh which is very
  1030. 42:04interesting. Uh, but I've noticed that
  1031. 42:0899% of the time agents just write code
  1032. 42:11comments that kind of describe some
  1033. 42:13historical thing that is actually
  1034. 42:15totally irrelevant to the code. Um, like
  1035. 42:18it will often say like you know, oh
  1036. 42:19Lauren said you should never do this and
  1037. 42:21it's now in in a code comment like what
  1038. 42:23like why that was I didn't say that as
  1039. 42:26like a durable you know global rule. I
  1040. 42:28just meant like your this PR sucks and
  1041. 42:31you should change that part.
  1042. 42:34agents don't really understand us that
  1043. 42:36well surprisingly uh and or they kind of
  1044. 42:39assume too much and they kind of do
  1045. 42:41things in like very stupid ways. So like
  1046. 42:44yeah we just ban everything everything
  1047. 42:46you can imagine like the agents are bad
  1048. 42:49at we ban. Uh so one example that we
  1049. 42:53actually suffer a lot in the agents
  1050. 42:55window is we have uh you know you if
  1051. 42:58you've used the agents window you've
  1052. 42:59definitely seen performance issues and
  1053. 43:01you know we're constantly trying to fix
  1054. 43:02them. Uh but it's like a it's a never-
  1055. 43:06ending struggle because there's so many
  1056. 43:08pull requests that get merged. Every any
  1057. 43:10one of them could just regress
  1058. 43:12performance or stability or reliability.
  1059. 43:15Uh you know the agents window doesn't
  1060. 43:16have this architecture yet. I plan to do
  1061. 43:18bring this learning back there and kind
  1062. 43:21of refactor everything there. Uh but uh
  1063. 43:25it just regresses super often. uh
  1064. 43:28because uh there's just one example is
  1065. 43:30like we have very poor um isolation
  1066. 43:34between processes. So like on you know
  1067. 43:36on on Electron you have a renderer
  1068. 43:38thread that renders your UI but you also
  1069. 43:40have like a main thread that you can run
  1070. 43:42other code that you know doesn't need to
  1071. 43:44block the renderer.
  1072. 43:46Um, but we do a poor job of separating
  1073. 43:49those things and so often times you just
  1074. 43:51accidentally have code that gets pulled
  1075. 43:53into running on the renderer thread and
  1076. 43:56then all of a sudden you're competing
  1077. 43:57with the the renderer that you know that
  1078. 44:00has a very if you want like 60 fps you
  1079. 44:03have to every frame that gets drawn has
  1080. 44:05to be done in 16 milliseconds. So very
  1081. 44:08very small you know deadline per frame
  1082. 44:11uh if you want you know a very smooth
  1083. 44:13product. Uh and when you start building
  1084. 44:15bringing in accidentally bringing in you
  1085. 44:17know things that are like very
  1086. 44:19computationally heavy or they have a lot
  1087. 44:21of IO uh then you just get into like a
  1088. 44:24lot of jank right your your FPS really
  1089. 44:27drops you start uh you know losing
  1090. 44:29frames you get long tasks that take more
  1091. 44:32than 16 milliseconds and you just get
  1092. 44:34this really choppy experience.
  1093. 44:37So all of those patterns that we've
  1094. 44:38learned basically building electron apps
  1095. 44:40we've encoded into this framework and it
  1096. 44:43becomes like a hard failure. So I
  1097. 44:45literally in in grabbot we literally
  1098. 44:47have a directory called electron main
  1099. 44:49electron renderer and we have uh import
  1100. 44:54uh CI guess where we actually check the
  1101. 44:58dependency graph to make sure you're not
  1102. 44:59accidentally importing code from one
  1103. 45:02directory to another. Uh so that's
  1104. 45:04enforced by CI um as well as bug bots uh
  1105. 45:09which is our which cursors um like code
  1106. 45:13review tool that runs on CI uh you know
  1107. 45:15in our agents MD it's everywhere like so
  1108. 45:18I I I I um I have this thing here where
  1109. 45:22I I talk about like um you know like
  1110. 45:25there are multiple layers I think for
  1111. 45:27building a good codebase. Uh obviously
  1112. 45:30the codebase is one where uh if you have
  1113. 45:32an architecture like this where it's
  1114. 45:34extremely strict uh you know the the the
  1115. 45:38way to build features is very
  1116. 45:39conventional that's like the strongest
  1117. 45:42strongest level of enforcement because
  1118. 45:44agents just love to copy existing
  1119. 45:46patterns. So uh one example of this in
  1120. 45:49rockbot is like we have this these
  1121. 45:51concepts called like a feature and we
  1122. 45:54have entry points and transcript cards
  1123. 45:56like oh you know the cards that you see
  1124. 45:57in the chat these are all like like
  1125. 46:01nouns I guess in in the framework and so
  1126. 46:03there's a very conventional way of
  1127. 46:05creating them and so like a feature is
  1128. 46:09all in in a single directory as an
  1129. 46:10example and so all of the code that
  1130. 46:13contributes to that feature lives in one
  1131. 46:15directory so it's all collocated in one
  1132. 46:17place makes it super easy. You know,
  1133. 46:19agents don't have to like uh grap around
  1134. 46:21and try to figure out like where all the
  1135. 46:23things are. It just looks at the feature
  1136. 46:25and like, oh, okay, I'm working on the
  1137. 46:27onboarding feature in Grockbot. Uh I'm
  1138. 46:31just going to work in this directory.
  1139. 46:32And for 80% of the work, it's mostly
  1140. 46:35just very encapsulated there. But, uh
  1141. 46:38like it's like very it's like designed
  1142. 46:41again for you know like the dumbest
  1143. 46:43agent like you don't have to think,
  1144. 46:45right? the the the one of the key
  1145. 46:48principles I have for this framework is
  1146. 46:50like the shortest the shortest path is
  1147. 46:52the best path.
  1148. 46:55So uh because that plays exactly to how
  1149. 46:57agents love to write code is like they
  1150. 46:59like to take shortcuts really you know
  1151. 47:01they they'll find the quickest way to
  1152. 47:04solve the problem. So why not make that
  1153. 47:06the best way to solve the problem? Uh so
  1154. 47:10I I I probably won't get into all the
  1155. 47:12specific details. Um and uh the the this
  1156. 47:16framework is really more of a collection
  1157. 47:17of ideas and principles rather than
  1158. 47:19something that will open source. Uh you
  1159. 47:22can you can you know screenshot this I
  1160. 47:23guess if you want and uh tell your agent
  1161. 47:26to uh do some build build something like
  1162. 47:29this for you too.
  1163. 47:31Um yeah, but it's really all about the
  1164. 47:34layers uh you know like the the codebase
  1165. 47:36is one part with features uh and
  1166. 47:38directories and you know import or
  1167. 47:41blocking import dependencies uh that
  1168. 47:44shouldn't be imported. Uh but and and it
  1169. 47:47all enforces that and static analysis.
  1170. 47:49So like uh there's CI checks, we have a
  1171. 47:52lot of lints for bad patterns that we
  1172. 47:55observe. Uh compiler diagnostics. Uh
  1173. 47:59there's also rules and bugbot which are
  1174. 48:02um I think like three four five are more
  1175. 48:05soft right these two actually make make
  1176. 48:09CI red right so that you know there's a
  1177. 48:12hard constraint where the agent can't
  1178. 48:13just write crappy code
  1179. 48:16for rules and skills and buggbot your
  1180. 48:20agents can still forget right you can
  1181. 48:22still or it may not always consistently
  1182. 48:25apply them so I like to layer them, but
  1183. 48:30I don't I don't like to rely on them as
  1184. 48:32the only source of enforcement because
  1185. 48:35it's very very soft, right? And if you
  1186. 48:37if you only have rules and bug bar and
  1187. 48:39skills and a style guide for your code,
  1188. 48:41you will it's only a matter of time
  1189. 48:43before your codebase looks like complete
  1190. 48:46trash. I'm sorry to say that, but uh I
  1191. 48:49definitely recommend yeah like you know
  1192. 48:50investing in you know things that can be
  1193. 48:53hard and forced, right? And this is why
  1194. 48:56you know maybe the choice of text stack
  1195. 48:59that you use is also very important. Um
  1196. 49:02like I think for example Rust is sort of
  1197. 49:04making you know it's like getting super
  1198. 49:06popular again. Uh because the compiler
  1199. 49:10is so strict right the compiler enforces
  1200. 49:12so many different things. you know,
  1201. 49:14there's a borrow checker that you have
  1202. 49:15to appease and if as long as you make
  1203. 49:17sure your agents don't write unsafe code
  1204. 49:20blocks, uh you can more or less feel
  1205. 49:22somewhat confident that if the code
  1206. 49:24compiles, it probably works and it's
  1207. 49:26good. Uh but you see it gives you that
  1208. 49:29level of trust and confidence that you
  1209. 49:32as a human engineer no longer need to go
  1210. 49:35and check it yourself. you know, you you
  1211. 49:38rely on code and static analysis to
  1212. 49:42actually make that uh a lot smoother.
  1213. 49:46Um, and I I guess the worst part, the
  1214. 49:49worst place to be in is if you are stuck
  1215. 49:52in code review land where you actually
  1216. 49:54enforce all of the constraints, the
  1217. 49:56invariance in your codebase by literally
  1218. 50:00the human person saying, you know,
  1219. 50:02reading the code and like, okay, you
  1220. 50:03should not do this, right?
  1221. 50:06Every time you have to do that, you
  1222. 50:07should consider that as a code smell,
  1223. 50:08like a anti- pattern and you should say,
  1224. 50:11"Okay, instead of me commenting on the
  1225. 50:13PR, how do I turn this into a hard rule,
  1226. 50:17right? How do I turn this into a lint
  1227. 50:19rule? How do I turn this into a CI
  1228. 50:21failure? Or how do I even categorically
  1229. 50:23eliminate this problem uh entirely?" Uh
  1230. 50:28I I can talk about another migration
  1231. 50:30I've done, but I'll probably pause here.
  1232. 50:32>> Sure.
  1233. 50:33>> Yeah. I feel like that's that's where I
  1234. 50:34am to be honest is is what you're
  1235. 50:36describing right now which is that like
  1236. 50:38I don't have all of these rules. So I
  1237. 50:40have some things to go do after this
  1238. 50:41session in terms of being able to scale
  1239. 50:43my agents. I'm I'm definitely on like
  1240. 50:45the uh you know maybe a couple of
  1241. 50:47parallel ones locally stage. So like two
  1242. 50:50to three locally and I'm sure most
  1243. 50:51people here are on the same. So uh yeah
  1244. 50:54I know we only have a couple minutes
  1245. 50:55left. Lauren, was there anything else
  1246. 50:57that you wanted to to highlight? I
  1247. 50:58obviously there's lots of questions so I
  1248. 51:00can grab more but I want to give you a
  1249. 51:02few minutes uh if there's anything else
  1250. 51:03you want to talk about
  1251. 51:03>> I think I've been yapping for quite a
  1252. 51:05lot so maybe let's just do questions.
  1253. 51:08>> Okay cool. Uh one question that had uh a
  1254. 51:10couple of uh came up a couple times was
  1255. 51:12just around like token usage.
  1256. 51:15>> So the the question is like is is what
  1257. 51:17you're describing a realistic thing for
  1258. 51:19people who are on you know uh a normal
  1259. 51:23set of token usage they don't have you
  1260. 51:25know basically unlimited tokens uh to
  1261. 51:27work with.
  1262. 51:29I think that's a really good point. I
  1263. 51:30mean, like obviously, you know, I work
  1264. 51:32at a AI lab where we have unlimited
  1265. 51:34tokens. So, uh I definitely cannot
  1266. 51:39say that, you know, this is something
  1267. 51:41everyone should do in the exact same way
  1268. 51:43that I did it. I think it's possible to
  1269. 51:45get to this point without, you know,
  1270. 51:47breaking the bank.
  1271. 51:49But you know if you're like an
  1272. 51:50engineering leader or you know you're
  1273. 51:52you you have a startup that you lead um
  1274. 51:55I think to me it's a question of ROI um
  1275. 51:58and it's like uh yes you spend a lot of
  1276. 52:03money on tokens in the upfront stage you
  1277. 52:06know like refactoring a code base is
  1278. 52:07going to take a lot of tokens uh adding
  1279. 52:09all these things uh is going to take a
  1280. 52:11bunch of tokens but if we're heading to
  1281. 52:14a world where agents are writing all the
  1282. 52:16code and you know You want to be very
  1283. 52:20lean, right? You don't want to have to
  1284. 52:22hire, you don't want to be, you don't
  1285. 52:23want to become like meta, right? Like I
  1286. 52:25mean like in terms of you don't want to
  1287. 52:26become a 10,000 person engineering or
  1288. 52:29because I mean that's a cool problem to
  1289. 52:32have, but also you you have so much
  1290. 52:34overhead. There's like planning, you
  1291. 52:37know, like you it's it's a personally I
  1292. 52:39I wouldn't uh it it's not super fun, but
  1293. 52:43um I think you want to stay very nimble,
  1294. 52:46right? And you want to you want to be
  1295. 52:47like agents are all about allowing you
  1296. 52:50to do things that you couldn't do
  1297. 52:51before. That's really to me like the
  1298. 52:53value of agents, you know, it's not just
  1299. 52:56storing tokens on every single little
  1300. 52:58thing, but um to me like the thing I
  1301. 53:00couldn't do before is like enforce this
  1302. 53:03level of constraints in a codebase by
  1303. 53:06myself, right? Like I'm just a single
  1304. 53:09person, you know? uh it would have taken
  1305. 53:11me years to build this framework uh and
  1306. 53:15do all the refactoring and test
  1307. 53:18everything myself and verify you know
  1308. 53:20like run imagine if there it was just me
  1309. 53:22right no in in pre- agent era just like
  1310. 53:25running you know by it would take me so
  1311. 53:28long right and my salary is pretty high
  1312. 53:30right like so you know the the question
  1313. 53:34I think an engineering leader might have
  1314. 53:35is just then you know like what is
  1315. 53:38there's a trade-off of do Do you hire
  1316. 53:40someone to do this or do you spend the
  1317. 53:43tokens to set up a codebase so that even
  1318. 53:46the the most naive, right, the dumbest
  1319. 53:49agents can do a good job? And when you
  1320. 53:52actually get to this point, like even
  1321. 53:54agents that are not, you know, fable
  1322. 53:56size do an excellent job of writing
  1323. 53:58code. And this pays a lot of dividends
  1324. 54:01as well for me personally where I've
  1325. 54:04empowered not just myself but again like
  1326. 54:07PMs, designers, engineers who are not
  1327. 54:10familiar with Grockbot to just
  1328. 54:12contribute in a way that is sustainable.
  1329. 54:16So I think yeah it's definitely like a
  1330. 54:18trade-off for sure. You know like
  1331. 54:20nothing is like free for sure. Uh and
  1332. 54:22tokens are pretty expensive. Uh but oh
  1333. 54:25actually uh I I I don't know how many of
  1334. 54:27you have seen this but we actually
  1335. 54:29announced Grock 4.6 today. So very
  1336. 54:32exciting finally out. Um so yeah graph
  1337. 54:354.6 would be like a great it was very
  1338. 54:37very smart. Uh it's really good on the
  1339. 54:40on the benchmarks. Uh and it's the same
  1340. 54:42the tokens uh well uh I hopefully I'm
  1341. 54:45not saying this incorrectly but uh I
  1342. 54:47believe the cost per token is the same
  1343. 54:50as 4.5. So you're actually getting more
  1344. 54:53intelligence for the same cost. Uh I
  1345. 54:57think this is an area that cursor tries
  1346. 54:59to cursor and SpaceX AI try to really
  1347. 55:02optimize for like that heredto frontier
  1348. 55:05of you know cost versus intelligence. Uh
  1349. 55:08you know we don't necessarily want to
  1350. 55:10build the biggest model ever because
  1351. 55:12that is extremely expensive to run. It's
  1352. 55:14really about like how do you find that
  1353. 55:16sweet spot right? you don't you don't
  1354. 55:18need a giant model, but it's just super
  1355. 55:19smart, right? And it's not very
  1356. 55:21expensive for inference.
  1357. 55:24Uh but um yeah, I think to kind of round
  1358. 55:27it up, um I think it's like a it's it's
  1359. 55:30there's a if you do your own analysis, I
  1360. 55:33feel like it's pretty positive. It it'll
  1361. 55:36be pretty positive that the ROI you get
  1362. 55:38from investing in stuff like this uh
  1363. 55:41just empowers not just yourself, but
  1364. 55:44your whole team to be so much more
  1365. 55:46productive, right? right? Like imagine
  1366. 55:47if you have an army of engineers like me
  1367. 55:49who are shipping so much improvements
  1368. 55:52and and bug fixes uh you know every day,
  1369. 55:56right? Like that is pretty exciting.
  1370. 56:00>> Cool. Uh one last question before we
  1371. 56:01wrap up. This one is for the people in
  1372. 56:03product on the on the call.
  1373. 56:05>> So let's say we do have an army of
  1374. 56:07engineers who are shipping like Lauren.
  1375. 56:09I'm just curious like how is the product
  1376. 56:11team or other functions of your company
  1377. 56:13keeping up given that like if you're
  1378. 56:15shipping so quickly have are they using
  1379. 56:18AI more to do their jobs like as much as
  1380. 56:20you can speak to that obviously you
  1381. 56:21don't have like you're not in that role
  1382. 56:23but just curious about how that works.
  1383. 56:25Um I think this is where Grothbot has
  1384. 56:28been actually exceedingly powerful. Uh
  1385. 56:31where so before grabbot like you know uh
  1386. 56:34obviously cursor only had cursor like we
  1387. 56:37only had agents window we had a CLI we
  1388. 56:39had an IDE and these are really like
  1389. 56:42power user tools right like de they're
  1390. 56:44designed for developers so it's very
  1391. 56:46very developerentric you can do
  1392. 56:48knowledge work in them but it like the
  1393. 56:50UI is not really optimized for that. So
  1394. 56:54we actually didn't really have uh well I
  1395. 56:57think like a lot of people like you know
  1396. 56:58GTM product like they might have used
  1397. 57:01cursor uh to do their work but it
  1398. 57:04definitely wasn't like a delightful
  1399. 57:05experience for them. Um I think now with
  1400. 57:08Grogbot
  1401. 57:10uh it's become Grogbot is basically like
  1402. 57:13the kusher moment for people who are not
  1403. 57:16in tech in my opinion like it's like
  1404. 57:18it's like a very very accessible way to
  1405. 57:21use agents in a very comfortable very
  1406. 57:24familiar interface. It looks like
  1407. 57:25iMessage
  1408. 57:27um and it's very fun to you know you can
  1409. 57:29give your agent a fun name. uh you can
  1410. 57:32have you can kind of do orchestration
  1411. 57:34with in a very like natural way where
  1412. 57:36you can sort of you know each agent is
  1413. 57:38like a person right now you got a team
  1414. 57:39of agents like working on you have one
  1415. 57:41one agent per account that you manage as
  1416. 57:43an example or if you're a PM you have
  1417. 57:46you know you can have an agent that
  1418. 57:47summarizes all the work that Lauren did
  1419. 57:49last night and then now you know what I
  1420. 57:51did right so I think our PMs are
  1421. 57:53leveraging that a lot and they're
  1422. 57:56shipping code too uh so you know like
  1423. 57:58oftent times they will just say oh
  1424. 57:59here's a bug I fixed can you look at it
  1425. 58:01and then I'll go review it and actually
  1426. 58:04it's just perfect. I'm like okay stamp.
  1427. 58:06Uh so uh that I think that shows that
  1428. 58:08you know the the Dune architecture is
  1429. 58:10holding up right the all the the really
  1430. 58:13strict constraints allow people who are
  1431. 58:16not experts in engineering to contribute
  1432. 58:18at a high level. Uh so I'm I feel like
  1433. 58:21I'm already seeing that pay off a lot
  1434. 58:23where uh you know designers and PMs are
  1435. 58:26just able to to to ship features
  1436. 58:29directly. Um and that just makes the
  1437. 58:32Grockbot team super fast, right? Where
  1438. 58:35we can ship so quickly. Um and we have a
  1439. 58:40lot planned. So I'm very excited uh to
  1440. 58:43you know uh to to ship more ship more
  1441. 58:46stuff.
  1442. 58:47>> Yeah, that's awesome. Uh well, we are at
  1443. 58:49time. So, uh I guess Lauren, if if folks
  1444. 58:52want to support you, maybe go try out
  1445. 58:53Grockbot, try out uh 46 and uh you know,
  1446. 58:57get provide some feedback. But yeah,
  1447. 58:59this was awesome. Really appreciate you
  1448. 59:00taking the time. Uh thanks everyone for
  1449. 59:02all the messages in the chat. Lots of
  1450. 59:03good questions. I know we didn't get
  1451. 59:04through everything, but as kind of said
  1452. 59:06at the top, way more questions than than
  1453. 59:07we could get through, but uh yeah,
  1454. 59:09really really thanks thanks for for
  1455. 59:11joining. Thanks everyone for joining and
  1456. 59:13hopefully you enjoyed the session.
  1457. 59:15>> Yep.
  1458. 59:16>> All right. Yeah, I see your man. Thanks
  1459. 59:18for having me. And uh if you have any
  1460. 59:19more questions yet, just DM me on
  1461. 59:20Twitter. I'll I'll open them up. I guess
  1462. 59:23I'll let the let the
  1463. 59:24>> You're going to get a lot of DMs.
  1464. 59:26>> Yeah, I'll open the updates. So, yeah,
  1465. 59:28DM me. Maybe I'll do like a Twitter
  1466. 59:30space at some point. That's all for more
  1467. 59:32questions. But
  1468. 59:33>> really appreciate everyone for showing
  1469. 59:34up uh you know, taking an hour out of
  1470. 59:36your day.
  1471. 59:37>> Yeah. All right. Thanks all. I'll see
  1472. 59:38you the next one.
  1473. 59:39>> Okay. Thanks everyone. And bye.

About this transcript

This page contains the full transcript of [한영자막] Cursor 핵심 개발자 Lauren Tan: AI 에이전트를 실전에서 제대로 신뢰하는 법 (xAI GrokBot 워크숍) by Tech Bridge, generated from the public captions YouTube serves with the video. The transcript has 10,751 words across 1,473 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.