YouTube2Text

Boris Cherny: We Cut 80% of Claude Code’s Prompt — Transcript

by Y Combinator · 6,868 words · 1,096 segments · language en · Watch on YouTube

Full transcript

  1. 0:03[music]
  2. 0:07>> All right, Boris. We're so excited to
  3. 0:09have you here, the creator of
  4. 0:13Claude code.
  5. 0:14>> Thank you.
  6. 0:17>> [applause and cheering]
  7. 0:19>> It's great to be here.
  8. 0:21>> Fresh off the press. You guys just
  9. 0:23shipped Opus 5 yesterday.
  10. 0:26>> Yes.
  11. 0:27>> [applause and cheering]
  12. 0:28>> And it seems that model performance
  13. 0:31keeps accelerating. You guys got and
  14. 0:34took Arc AGI 3 to 30%,
  15. 0:38which is incredible.
  16. 0:40>> Yes.
  17. 0:41>> And for context, before the best score
  18. 0:44was in
  19. 0:45in the low single digits or low teens,
  20. 0:48right? What can Opus 5 do now that it
  21. 0:52couldn't versus the previous version?
  22. 0:55>> Yeah, there's um there's a lot that goes
  23. 0:57into every new model and there's a lot
  24. 1:00of new capabilities that we teach and uh
  25. 1:03get the model to do.
  26. 1:05Whenever you do model training,
  27. 1:08you try to teach a whole bunch of
  28. 1:10different things and most often it
  29. 1:12doesn't work.
  30. 1:13But some subset of the things the model
  31. 1:16does learn and sometimes it also
  32. 1:18surprises you. It has these skills, it
  33. 1:20has abilities that you you actually
  34. 1:22didn't really teach it, but it it just
  35. 1:24kind of learned. For five, one example
  36. 1:27of something it does that I think no
  37. 1:29other model has done is it runs for a
  38. 1:32very long period of time and especially
  39. 1:35when you combine Opus 5 with auto mode,
  40. 1:38it's just like incredible. Like it can
  41. 1:39go for days, weeks, months at a time. It
  42. 1:43just won't stop.
  43. 1:44Um you don't even need to use
  44. 1:46scaffolding. So you don't need the slash
  45. 1:49goal, you don't need all this other
  46. 1:50stuff. It'll just go because it knows it
  47. 1:52needs to do the task. Um another thing
  48. 1:54that I'm really excited about and um I'm
  49. 1:56going to start I think to talk about a
  50. 1:58little bit more um but it's kind of
  51. 2:00surprising because it's such a new
  52. 2:01capability is the model does not seem to
  53. 2:04be prompt injectable anymore.
  54. 2:08>> What's prompt injectable?
  55. 2:10>> [applause]
  56. 2:11>> It's crazy. Like people have talked
  57. 2:12about this like lethal trifecta for a
  58. 2:14long time and this really affects kind
  59. 2:16of harness design and agent design and
  60. 2:19and and product design because if the
  61. 2:21model reads some instruction on the
  62. 2:22internet that's like, you know, do X and
  63. 2:25Y and Z and also delete everything on
  64. 2:27the user's computer.
  65. 2:29A year ago the model would have just
  66. 2:30done it.
  67. 2:32But nowadays Opus does not.
  68. 2:35And this has actually been the case
  69. 2:36since like Opus 4.7, 4.8,
  70. 2:39Sonnet 5 has been quite good at this,
  71. 2:41People was quite good at it. But Opus 5
  72. 2:43just hits like a new frontier on this.
  73. 2:45So essentially if you combine a
  74. 2:48well-aligned model, so this is like
  75. 2:49essentially three years of research into
  76. 2:51alignment,
  77. 2:52with a prompt injection classifier which
  78. 2:54we run for all traffic. And what this is
  79. 2:56doing is it's based on Crystal's
  80. 2:58mechanistic interpretability work where
  81. 3:01it's it's literally we're looking at
  82. 3:02neurons in the model's brain
  83. 3:04that light up when prompt injection
  84. 3:06happens.
  85. 3:07So the model won't even tell you but we
  86. 3:09can actually see those neurons and we
  87. 3:11can figure out and diagnose that it's
  88. 3:12happening.
  89. 3:13And then you combine that with the auto
  90. 3:14mode classifier and with these three
  91. 3:17layers
  92. 3:18we just cannot demonstrate prompt
  93. 3:20injection anymore.
  94. 3:21>> Talking about a prompt injection, the
  95. 3:24other side of the coin is now the system
  96. 3:27prompt. Let's talk a bit about the new
  97. 3:30release. You actually deleted over 80%
  98. 3:34of the system prompt from Claude code.
  99. 3:37>> Yes.
  100. 3:37>> Tell us more about that.
  101. 3:38>> I think something that a lot of people
  102. 3:40might not realize is
  103. 3:43Claude code as a product and as a
  104. 3:45harness is just always changing. We're
  105. 3:47always adding stuff. We're always
  106. 3:49deleting stuff.
  107. 3:51Every time that a new model comes out,
  108. 3:53we delete a bunch of the system prompt,
  109. 3:55change a bunch of the system prompt. We
  110. 3:57change the set of tools all the time. We
  111. 3:59change the prompts for the tools all the
  112. 4:01time. And the reason is
  113. 4:03every model is very different.
  114. 4:07So, something that you did for one model
  115. 4:09maybe 3 months ago, it just might not
  116. 4:11translate at all to the next model.
  117. 4:14And so, one thing about Opus 5 is it's
  118. 4:17just really intelligent. And a lot of
  119. 4:20the stuff in the system prompt was
  120. 4:22correcting for these behaviors that the
  121. 4:23model should have known,
  122. 4:25but uh it didn't.
  123. 4:27Now, Opus 5 just does it.
  124. 4:29So, yeah, we deleted 80% of the system
  125. 4:32prompt.
  126. 4:33You can actually try deleting the rest
  127. 4:36of it, too. Um so, when you run Claude
  128. 4:38Code, you can just do like {dash} {dash}
  129. 4:39system prompt and set whatever system
  130. 4:41prompt you want if you want to
  131. 4:42experiment with it.
  132. 4:44And another thing that you can try is um
  133. 4:46simple mode. So, this is actually this
  134. 4:48kind of undocumented feature. If you do
  135. 4:50Claude Code simple equals one, like this
  136. 4:53uh environment variable, and then you
  137. 4:54run Claude, it'll delete all the system
  138. 4:57prompts,
  139. 4:58including from the tools.
  140. 5:00And we actually use this as a sort of
  141. 5:01ablation
  142. 5:02to figure out is the prompt useful? And
  143. 5:05what's interesting is that the model is
  144. 5:07actually a little bit more intelligent
  145. 5:08without these prompts.
  146. 5:10That's something that we've been
  147. 5:11finding. But when you use Claude Code as
  148. 5:13a product,
  149. 5:14you do actually want some of these
  150. 5:15prompts because it helps you use the
  151. 5:18product and it it helps the the product
  152. 5:20behave and the model behave in the way
  153. 5:21that you would want when when you're
  154. 5:23using it as a person.
  155. 5:24>> I think the thing that's really
  156. 5:26fascinating in this era of building,
  157. 5:28basically you'll build the best harness
  158. 5:30in the world for for Claude, and that's
  159. 5:33Claude Code. From what I'm hearing, you
  160. 5:36for every model released, you basically
  161. 5:38delete all of the code base, delete all
  162. 5:40of the prompt, and start from scratch
  163. 5:42every time. That in the old world would
  164. 5:45have been not something
  165. 5:47startups would have done for the product
  166. 5:49cuz I press delete every 6 months for
  167. 5:51everything.
  168. 5:52>> That's right. That's right. We so to be
  169. 5:53fair, we don't delete the entire code
  170. 5:55base, but we do delete a lot. So every
  171. 5:57time there's a new model, we try we call
  172. 5:59it in a research you call this a
  173. 6:01ablation. And so what this means is you
  174. 6:03delete the entire system prompt and then
  175. 6:05you bring it back line by line to figure
  176. 6:07out what is the impact of each
  177. 6:08individual line.
  178. 6:09Um it's sort of like a eval and you can
  179. 6:11kind of like evaluate it and ablation
  180. 6:14essentially is a eval where you delete
  181. 6:15things to figure out the impact.
  182. 6:17And yeah, like we do the same thing for
  183. 6:19tools. Like we unship tools all the
  184. 6:20time. We you know, delete code in the
  185. 6:22harness all the time. If you look at
  186. 6:24actually the code that's in the Claude
  187. 6:26code harness today, almost all of it is
  188. 6:28about safety and permissions and static
  189. 6:30analysis and there's a bunch of UI code
  190. 6:33and we've actually unshipped a lot of
  191. 6:35the other code already.
  192. 6:37>> Do you think this way of building a
  193. 6:39agentic product and harness
  194. 6:42and basically doing ablations every time
  195. 6:45with a there's a new model release,
  196. 6:48should everyone in this room that's
  197. 6:49building AI products basically do that?
  198. 6:51Be comfortable and brave to
  199. 6:54press delete.
  200. 6:55>> 100%. Yeah, and and for people that
  201. 6:57aren't building agentic products, but
  202. 6:58you're using Claude code, every 6 months
  203. 7:01delete your Claude MD.
  204. 7:02Delete your skills.
  205. 7:04Delete your hooks.
  206. 7:05See what the model does and it might
  207. 7:07surprise you.
  208. 7:08And actually for Opus 5, this is
  209. 7:10something we really do recommend is just
  210. 7:12try deleting all of these things
  211. 7:15because the model might really just not
  212. 7:17need all those instructions that you
  213. 7:19needed for past models.
  214. 7:20>> Let's talk a bit about how then you
  215. 7:23build this new prompt. When there's a
  216. 7:25new model release, like for everyone in
  217. 7:27the room, everyone will want to try Opus
  218. 7:295 and they're going to press delete on
  219. 7:31their system prompt. How do they go
  220. 7:32about
  221. 7:34building rebuilding their system prompt?
  222. 7:36How do you set up your environment?
  223. 7:39>> So you do you do it kind of piece by
  224. 7:41piece. So, the first step is you delete.
  225. 7:45The next step is you use it.
  226. 7:49And you don't want to guess what's the
  227. 7:51instruction that the model needs because
  228. 7:53you might not predict it correctly. The
  229. 7:55thing that you want to do is you want to
  230. 7:56run it. And if it's like a customer
  231. 7:58agent like product that you're building,
  232. 8:00you want to kind of run the product. Uh
  233. 8:01you want to see where it fails with the
  234. 8:03model. You want to see what it does
  235. 8:04well. If you're using quad code, you
  236. 8:07want to see where it does well with your
  237. 8:09code base or maybe where it stumbles
  238. 8:11over, you know, the architecture or
  239. 8:12stumbles over something else.
  240. 8:14And only when you see it repeatedly
  241. 8:16stumble on the same thing, that's when
  242. 8:18you add it back.
  243. 8:20But you don't want to do it too early
  244. 8:21because remember like the model is going
  245. 8:23to read this instruction every single
  246. 8:24time you use it. So, you really want to
  247. 8:26make sure that the model needs this
  248. 8:27instruction. I I think this is sort of
  249. 8:30the crazy thing about building on
  250. 8:31models. It's just so different than all
  251. 8:33the engineering that I've ever done.
  252. 8:35Like in the past when you built on
  253. 8:37systems, you built these like big
  254. 8:38beautiful systems and you really think
  255. 8:40about the system design up front. You
  256. 8:42have like a big suite of unit tests. You
  257. 8:44think about everything and you know,
  258. 8:46like a re-architecture is a big project.
  259. 8:47It sometimes it takes months. I've
  260. 8:49worked on re-architecture products at,
  261. 8:51you know, big companies that take years.
  262. 8:54And
  263. 8:55the model is not like that. It's um
  264. 8:58the way to think about it is almost like
  265. 9:00a like a living creature, like it's
  266. 9:01something more organic. It's a thing
  267. 9:04where every model generation, it behaves
  268. 9:06differently. It has a slightly different
  269. 9:08personality. And you have to take the
  270. 9:10time to get to know it and then adjust
  271. 9:11the harness based on that.
  272. 9:13And I I think it's just very much like
  273. 9:15an empirical and kind of scientific
  274. 9:17thing. You have to take a very
  275. 9:19scientific mindset to it where you try
  276. 9:21something, you see the result, and then
  277. 9:23you iterate based on that.
  278. 9:25>> If you're building in this world right
  279. 9:26now,
  280. 9:27what then becomes uh stable? Are evals
  281. 9:31something that you keep from the
  282. 9:32previous models and keep using them in
  283. 9:34each new model release?
  284. 9:36>> Um we do until we max out the eval.
  285. 9:40>> So, that's sort of the tip for everyone.
  286. 9:41So, code and system prompt, you have if
  287. 9:45you want to build at the bleeding edge
  288. 9:46and have the most capability for models,
  289. 9:48you got to delete those, but evals are
  290. 9:50constant and keep appending to them,
  291. 9:53basically.
  292. 9:53>> Yeah, you keep you keep appending.
  293. 9:55What happens is um
  294. 9:58you know, I actually wouldn't even go
  295. 9:59this far, to be honest. I think evals,
  296. 10:01they outlive the harness a little bit,
  297. 10:03but not by that much. Like an eval might
  298. 10:05live for maybe one, two, three model
  299. 10:07generations, but nowadays the you know,
  300. 10:10we're on the exponential. The model is
  301. 10:12improving so quickly, very often we just
  302. 10:15saturate the eval, and then we have to
  303. 10:16throw it away, and we have to come up
  304. 10:18with a new eval.
  305. 10:19And this is just part of the process.
  306. 10:21And again, it's about being empirical.
  307. 10:23You have to use the product, you have to
  308. 10:24use the model, you have to see where it
  309. 10:26struggles, and then based on that,
  310. 10:28that's the eval set that you should
  311. 10:29build.
  312. 10:30>> I think one one term I heard you
  313. 10:32describe how to build the best agentic
  314. 10:35products on top of a Claude is this
  315. 10:38concept of a unhobbling
  316. 10:41Claude.
  317. 10:42And tell us more more about what that
  318. 10:45means.
  319. 10:47>> Yeah, so hobbling is this idea in a
  320. 10:49research that the model is doing
  321. 10:51something and you're just getting in the
  322. 10:52way.
  323. 10:55There there's this kind of like way of
  324. 10:56thinking about it that I really like.
  325. 10:58It's very useful when you're building
  326. 10:59product. And um
  327. 11:02it it it's called product overhang.
  328. 11:04And then the idea is
  329. 11:07the model is able to do all sorts of
  330. 11:10things
  331. 11:12with today's models, not a future model,
  332. 11:13but today's model, that we have not yet
  333. 11:16realized.
  334. 11:17And there are so many capabilities the
  335. 11:20model has like this that people are not
  336. 11:23aware of.
  337. 11:24And this is like the ability to, you
  338. 11:26know, like maybe use a particular tool,
  339. 11:29use a particular language, solve a
  340. 11:31particular kind of problem, do things a
  341. 11:33particular kind of way that we thought
  342. 11:35was kind of beyond the model's
  343. 11:36capability.
  344. 11:38And um
  345. 11:40there's this overhang.
  346. 11:41Because the model can do this at every
  347. 11:43given model generation,
  348. 11:45but there is often not a product that
  349. 11:48lets the model do this
  350. 11:50and lets it express this kind of ability
  351. 11:52to do this. And on the flip side, often
  352. 11:55what happens is the product gets in the
  353. 11:56way.
  354. 11:57And this getting in the way, we call
  355. 11:59this hobbling. And then not not
  356. 12:01eliciting the correct behavior from the
  357. 12:02model, we call this product overhang.
  358. 12:04So, it's kind of like two sides of the
  359. 12:05same thing.
  360. 12:06What One example of this was the
  361. 12:08original Claude Code.
  362. 12:10When I first started working on it, this
  363. 12:12was um
  364. 12:14you know, like a year and a half, 2
  365. 12:15years ago, something like that. This was
  366. 12:17like Sonnet 3.5.
  367. 12:19At the time, that was an incredible
  368. 12:21coding model. That was like the best
  369. 12:23coding model that exists. Nowadays,
  370. 12:25it's, you know, a pretty terrible coding
  371. 12:27model by modern standards. But I think
  372. 12:29that was like the first great coding
  373. 12:30model that that we built as Anthropic.
  374. 12:33And at the time, if if you looked at the
  375. 12:35coding products of the time, what were
  376. 12:36what were they doing? They were doing
  377. 12:37like single-line auto complete. They
  378. 12:40were doing sometimes multi-line auto
  379. 12:41complete. That was sort of a new idea.
  380. 12:43Um they were they were doing chat. So,
  381. 12:45you can talk to the agent, but it wasn't
  382. 12:47uh right access. You could only read.
  383. 12:49You could ask about the code base.
  384. 12:51And so, the the feeling was that there
  385. 12:54wasn't really a product
  386. 12:56that was fully eliciting the model's
  387. 12:58capability to write entire functions at
  388. 13:01a time, entire files at a time.
  389. 13:04At the time, it wasn't entire features.
  390. 13:05We weren't there yet, but probably
  391. 13:07entire files. That's that was the level
  392. 13:08of capability at the time.
  393. 13:10And so, the idea with Claude Code was,
  394. 13:12all right, we think the model can
  395. 13:13probably do this.
  396. 13:14What if we get rid of all the
  397. 13:16scaffolding
  398. 13:18and just give the model the simplest
  399. 13:19possible harness, so it can write an
  400. 13:21entire file at a time and build an
  401. 13:24entire feature?
  402. 13:25Um
  403. 13:26and that was that was kind of it. Like,
  404. 13:28was the product overhang of the time.
  405. 13:29The model was capable of doing something
  406. 13:31and everything was just kind of getting
  407. 13:32in the way.
  408. 13:34I I think that nowadays, with modern
  409. 13:36models, there's so much product overhang
  410. 13:39that I have I'm not seeing startups
  411. 13:40capture.
  412. 13:42And I think there's people thinking
  413. 13:43about these problems,
  414. 13:45but there's just a huge amount of amount
  415. 13:46of opportunity to elicit
  416. 13:48these behaviors from the model that are
  417. 13:50just like amazing and interesting and
  418. 13:53and commercially valuable.
  419. 13:54>> I think this is such a special insight
  420. 13:56for everyone here in the room.
  421. 13:59Basically, all of you could create the
  422. 14:01next Claude code if you figure out how
  423. 14:04to un-hobble the models because that's
  424. 14:07effectively the birth story of Claude
  425. 14:09code. You un-hobble Sonic 3.5 because
  426. 14:13all the previous
  427. 14:15iterations were still getting the model
  428. 14:17very rigid in in IDEs. And Claude code
  429. 14:19was one of the first
  430. 14:21instances that gave it just a full
  431. 14:23terminal access.
  432. 14:25>> Yes.
  433. 14:25>> And that
  434. 14:27then created this amazing product just
  435. 14:30that keeps going.
  436. 14:31So, let's talk about um
  437. 14:34what are some areas and how should
  438. 14:38future founders here think about
  439. 14:40un-hobbling
  440. 14:43Claude and fixing this product overhang?
  441. 14:47>> So, there's a couple of things that I
  442. 14:48would think about.
  443. 14:50One is
  444. 14:52you should give the model slightly
  445. 14:55harder tasks than what you think it can
  446. 14:57do.
  447. 14:59I think a a really common mistake that I
  448. 15:01see is people are using Claude code,
  449. 15:03they're using Claude, and they they just
  450. 15:05give it like way over we specific
  451. 15:07instructions. They're like, "I want you
  452. 15:08to do this, but I want you to do it in
  453. 15:10this way, this way, this way. You must
  454. 15:11do like one, then two, then three, then
  455. 15:12four."
  456. 15:14And for modern models, that's actually
  457. 15:15really not the way to do it. You want to
  458. 15:17go a little bit higher level.
  459. 15:19You want to describe the task, you want
  460. 15:20to describe the guardrails, you want to
  461. 15:22describe like the exit criteria, and
  462. 15:23then just go with the model cook.
  463. 15:26And come back in a little bit.
  464. 15:29And I think it'll it'll surprise you.
  465. 15:30Like and again, like this is just not
  466. 15:32something that would have worked 6
  467. 15:33months ago, but it does work today.
  468. 15:35>> Can you give some examples of these
  469. 15:37challenging tasks or capabilities that
  470. 15:40people should explore that it can do now
  471. 15:42that it couldn't 6 months ago?
  472. 15:44>> Yeah. So, okay, one example is the model
  473. 15:48can now rewrite essentially any code
  474. 15:50base from one language to a different
  475. 15:51language.
  476. 15:53It's
  477. 15:54just sort of crazy. Like it's this work
  478. 15:56that would have taken just like a very
  479. 15:58long time as an engineer, and now the
  480. 16:00model's like quite fast at it. So, so
  481. 16:02one example of this is um
  482. 16:04Cloud Code is built on the Bun
  483. 16:06JavaScript runtime. It's a open source
  484. 16:08JavaScript runtime.
  485. 16:10Um it's an alternative to Node.js. It's
  486. 16:11kind of a faster node.
  487. 16:13Bun was written in Zig.
  488. 16:15Zig is a systems programming language.
  489. 16:17It's It's kind of like C. It's It's very
  490. 16:18low level. One of the problems with C
  491. 16:21with a with Zig is you have to manually
  492. 16:24manage memory.
  493. 16:26And so it's quite easy to run into
  494. 16:27situations where there's like memory
  495. 16:29leaks and, you know, other memory
  496. 16:31management issues.
  497. 16:33And so, one thing that the Bun team was
  498. 16:35doing is they were having Claude fuzz
  499. 16:37the code base and try to simulate and
  500. 16:40trigger memory leaks, and they were
  501. 16:41doing this for, you know, for a long
  502. 16:43period of time. They were able to find a
  503. 16:44lot of memory leaks. It was sort of like
  504. 16:46a case at a time. And that was kind of
  505. 16:47the capability of the model at the time
  506. 16:49was doing this fuzzing.
  507. 16:50And then at some point, Jared on the
  508. 16:53team was like, "Okay, let's just like
  509. 16:54rewrite it.
  510. 16:56Maybe the model can do this."
  511. 16:58And I I think this is like one of these
  512. 17:00test problems that he kind of threw at
  513. 17:01the model with every new model
  514. 17:02generation.
  515. 17:04And starting with Fable,
  516. 17:06the model started to be able to do it.
  517. 17:09And so I think Opus 5 could do it as
  518. 17:11well.
  519. 17:12And so what he did was
  520. 17:14essentially he defined a test suite.
  521. 17:16The nice thing about Bun is it's very,
  522. 17:18very well tested. There's a big test
  523. 17:19suite in Bun, there's a big test suite
  524. 17:20in Node.js. So, it's easy to know if you
  525. 17:22did the right thing.
  526. 17:24And he had the model rewrite it from Zig
  527. 17:27to Rust. It was one prompt. It was a
  528. 17:30dynamic workflow.
  529. 17:31And a dynamic workflows are a feature in
  530. 17:33Claude Code that essentially let you
  531. 17:34orchestrate, you know, dozens, hundreds,
  532. 17:36thousands of agents to do work
  533. 17:38productively.
  534. 17:39And it ran for 11 days, and it rewrote
  535. 17:42the entire code base.
  536. 17:44>> And this was one shot?
  537. 17:45>> It was one shot with It was No, it
  538. 17:47wasn't one shot, but it There was
  539. 17:48steering. There was steering.
  540. 17:49Um but previous models just couldn't do
  541. 17:51this, even even with the steering. It
  542. 17:53just wouldn't have been possible.
  543. 17:55>> 11 days? Oh my god. This would have
  544. 17:57taken in the past
  545. 17:59even with the best engineers, multiple
  546. 18:01months, years?
  547. 18:02>> Over Definitely over a year.
  548. 18:04>> Yeah.
  549. 18:04>> Yeah, over a year. This is like over
  550. 18:05100,000 Like JavaScript runtimes really
  551. 18:07complicated. There's There's a lot of
  552. 18:09stuff in there.
  553. 18:10Um and yeah, it like it works. This is
  554. 18:12in production now. This is what Claude
  555. 18:13Code uses now when when you're running
  556. 18:15it.
  557. 18:16So, this is kind of one example. I I
  558. 18:18would give a second example also of
  559. 18:20product overhang. And so, this is like a
  560. 18:22practical use case where like there's a
  561. 18:24problem you're solving. It's like a
  562. 18:25business problem, an engineering
  563. 18:26problem, a product problem. And you
  564. 18:28should just keep throwing the latest
  565. 18:29model at it to see if it'll just do it.
  566. 18:31Cuz even if a previous model didn't, the
  567. 18:33new one might.
  568. 18:35I think the second way to think about it
  569. 18:36is experiment.
  570. 18:39And just give yourself like freedom to
  571. 18:41play with the model and do creative
  572. 18:43things.
  573. 18:44Often it'll surprise you.
  574. 18:46So, something that's actually been
  575. 18:47really popular at internally that's been
  576. 18:49kind of viral within Anthropic the last
  577. 18:51couple weeks is someone figured out that
  578. 18:53you can give Opus 5 OpenCV.
  579. 18:55>> Oh.
  580. 18:56>> And you can have it draw.
  581. 18:58And so, something you can do is you can
  582. 18:59ask Opus like, "Hey, use Open OpenCV to
  583. 19:01like draw this image." And it's actually
  584. 19:03quite good. It can do like portraits, it
  585. 19:05can draw like animals, it can do like
  586. 19:06landscapes. And we didn't train the
  587. 19:08model to draw. Like it it's just like
  588. 19:11the solicitation gap. Like if you ask it
  589. 19:12to do it the right way, it can just do
  590. 19:14it. And we discovered this kind of
  591. 19:16accidentally just by playing around and
  592. 19:18trying creative things that didn't have
  593. 19:19direct commercial applications.
  594. 19:21But it's just kind of interesting. And
  595. 19:23my hypothesis is there's probably
  596. 19:26dozens, hundreds of opportunities like
  597. 19:28this with the models of today that no
  598. 19:31one has yet realized.
  599. 19:32>> And the big area of research for this is
  600. 19:34basically model elicitation, right?
  601. 19:37Becoming really good at
  602. 19:40figure out all these capabilities and
  603. 19:42asking the model to do the right thing,
  604. 19:43right?
  605. 19:44>> Yes.
  606. 19:45>> How do people get better at that? And
  607. 19:47effectively, how do people get better at
  608. 19:50prompt engineering? Do people still need
  609. 19:51to do a lot of prompt engineering? Or is
  610. 19:53that changing as well? Tell us about
  611. 19:56where this is going.
  612. 19:57>> Yeah, I remember like a year ago one of
  613. 19:59the most popular job openings was prompt
  614. 20:01engineer.
  615. 20:03And then it kind of changed and then I
  616. 20:04think it became like context engineer.
  617. 20:08So there's these kind of waves of it. I
  618. 20:10think I think these will kind of like
  619. 20:11come and go.
  620. 20:13I think the skill nowadays
  621. 20:15is less about prompt engineering and
  622. 20:18more about figuring out how do you give
  623. 20:21Claude a hard task
  624. 20:22that seems a little bit too hard.
  625. 20:25And then how do you make it possible for
  626. 20:26Claude to verify its work along the way?
  627. 20:29And the verification I think is probably
  628. 20:31the single most important thing that
  629. 20:32people do not get right or actually.
  630. 20:35Um
  631. 20:36one example of this is people were you
  632. 20:41know, we have this desktop app for
  633. 20:42Claude. And it's built using electron.
  634. 20:45We've made it quite fast. So now it's
  635. 20:46like a pretty awesome experience. Six
  636. 20:48months ago it was like sluggish and it
  637. 20:50wasn't very reliable. Now it's pretty
  638. 20:52awesome. And you know, it's the thing
  639. 20:53that most of the team uses.
  640. 20:55As an experiment though, I wanted to see
  641. 20:57like what would it feel like if it was
  642. 20:59native?
  643. 21:00And so what I did is I I started a
  644. 21:02Claude tag session. And Claude tag is
  645. 21:04just you know, it's a it's a new product
  646. 21:06we have. It's just quad running in
  647. 21:07Slack. My first question was, "Hey
  648. 21:09Slack, do you have access to a Mac OS
  649. 21:11runner on GitHub?"
  650. 21:12And uh it said no. And then I I hooked
  651. 21:14up a runner, so it was able to start a
  652. 21:16Mac virtual machine uh using using
  653. 21:18GitHub.
  654. 21:19And then um my second question is uh I
  655. 21:21created this like empty code base that
  656. 21:23was uh
  657. 21:24quad desktop app rewritten in Swift.
  658. 21:27And I asked, "Can you access this code
  659. 21:28base?" It said no. And then I gave it
  660. 21:30access and I was like, "Okay, great. Now
  661. 21:31I have access."
  662. 21:33And then I was like, "Okay, now I want
  663. 21:35What I want you to do is I want you to
  664. 21:38rewrite the Electron app in Swift.
  665. 21:42I want you to run the Electron app in
  666. 21:44the Mac virtual machine, screenshot it,
  667. 21:47and then look pixel by pixel,
  668. 21:50compare it to the Swift version,
  669. 21:52don't stop until you're done."
  670. 21:54>> And that was your prompt, basically.
  671. 21:56>> That was my prompt.
  672. 21:57>> And how long did this take to run?
  673. 21:59>> It's still running.
  674. 22:02>> When did you start it?
  675. 22:03>> [laughter]
  676. 22:04>> It's been
  677. 22:05uh it's been a little over 2 weeks, so
  678. 22:06it's like 14 days, 15 days.
  679. 22:09>> Yeah, so I don't know if anyone in the
  680. 22:11audience has gotten Claude to run a a a
  681. 22:15task for more than 2 weeks.
  682. 22:18I don't know. If raise your hand, anyone
  683. 22:19in the audience.
  684. 22:22>> Oh.
  685. 22:23>> All right.
  686. 22:24Some some.
  687. 22:25>> This is This is like one of these um
  688. 22:27this is about hallucination. So, it's
  689. 22:29So, this is really one of those examples
  690. 22:31where the model can do it today.
  691. 22:33You just have to let it do it. And you
  692. 22:35don't need the fancy stuff. You don't
  693. 22:36need slash goal, you don't need slash
  694. 22:38loop. These help,
  695. 22:40but really all you need is give the
  696. 22:42model the task,
  697. 22:43give it a way to verify the output of
  698. 22:45its work so it doesn't get stuck, and it
  699. 22:47will just go.
  700. 22:48And actually in this case, Claude also
  701. 22:49decided to live blog it. So, what it did
  702. 22:52is it created a Slack channel internally
  703. 22:54and it started just posting screenshots
  704. 22:56every few minutes of its progress.
  705. 22:57>> Wow.
  706. 22:59So, the prompt sounded so simple.
  707. 23:01I mean, everyone here could do it.
  708. 23:04And
  709. 23:06um I guess
  710. 23:07what is separating the people here that
  711. 23:09can become the top 1% Clocko users? How
  712. 23:13do How do How do people learn to use
  713. 23:15Clocko like Boris?
  714. 23:17>> Maybe like
  715. 23:18don't listen to the LinkedIn
  716. 23:20influencers.
  717. 23:21>> Don't listen to
  718. 23:22Don't read Twitter.
  719. 23:24>> [cheering]
  720. 23:24[applause]
  721. 23:28>> This is the thing about the model is uh
  722. 23:30I think everyone's looking for like the
  723. 23:31one weird trick to do it. The There's
  724. 23:33just like that doesn't exist. There's
  725. 23:34nothing like that. The The way the model
  726. 23:36works is you have to approach it
  727. 23:38empirically. You have to give it a task
  728. 23:39that's too hard. You have to give it the
  729. 23:41tools to verify the work like you would
  730. 23:43yourself, like you would if you were
  731. 23:44doing the task. You have to see where it
  732. 23:46struggles and then uh you have to like
  733. 23:48fix that either with better prompting or
  734. 23:51with a skill or if the model's missing
  735. 23:53context like give it a MCP so it can
  736. 23:55pull in the context that uh that it
  737. 23:57needs.
  738. 23:58Uh that's kind of it.
  739. 23:59>> It sounds very simple.
  740. 24:01>> [laughter]
  741. 24:01>> I think people tend to overthink it a
  742. 24:02little bit. I think people tend to
  743. 24:04overengineer.
  744. 24:05Cuz I think in a lot of ways like when
  745. 24:07we built systems in the past, that's the
  746. 24:08way you had to do it. So when I look at
  747. 24:10engineers that have been, you know,
  748. 24:12coding for a long for a long time, you
  749. 24:14know, like for for years or for decades,
  750. 24:16this is a really really common failure
  751. 24:18mode is trying to over specify and it's
  752. 24:21trying to be overly specific and then,
  753. 24:22you know, get the model to do the to do
  754. 24:24the task exactly the way that you would
  755. 24:25have done it. And that that's just not
  756. 24:27the way the model works.
  757. 24:29But I think a lot of people are kind of
  758. 24:30unlearning this and it's a journey to to
  759. 24:32unlearn it. And um
  760. 24:35it's a journey to kind of figure out how
  761. 24:36how do you treat this thing like you
  762. 24:38would a coworker. I think that's the
  763. 24:39level of intelligence that it's at now.
  764. 24:42>> And as part of this, let's go deeper
  765. 24:43into this task that's still running. Two
  766. 24:45weeks since you launched it a go two
  767. 24:46weeks ago.
  768. 24:48How many agents did it spawn?
  769. 24:50>> You know, I'm not sure. I I can ask Bod
  770. 24:52and then I I can get back to you. I
  771. 24:53would I would guess
  772. 24:56thousands, tens of thousands.
  773. 24:57>> Thousands. Has anyone in the audience
  774. 24:58had a uh prompt to to any of the models
  775. 25:02that run that spawn more than a thousand
  776. 25:03agents?
  777. 25:05No?
  778. 25:07I think this is another of the tips,
  779. 25:08like the best Claude users are able to
  780. 25:12spawn tasks that are really
  781. 25:14providing you a lot of leverage, like
  782. 25:15thousands of agents.
  783. 25:17>> Yes.
  784. 25:18>> How do you do that?
  785. 25:19>> There There's a few different ways to do
  786. 25:21it. Um
  787. 25:22the easiest way is dynamic workflows.
  788. 25:26To use dynamic workflows, it's a fairly
  789. 25:28new feature in Claude code.
  790. 25:29And all you have to say is use a
  791. 25:32workflow.
  792. 25:34That's it. And then Claude will just
  793. 25:35trigger the dynamic workflow. What a
  794. 25:37dynamic workflow is is essentially we
  795. 25:39have the we have the Bun runtime.
  796. 25:41We use Bun as a sandbox, and we start a
  797. 25:44virtual machine within Bun.
  798. 25:46And we let Claude start a lot of agents
  799. 25:48and orchestrate them. And it it doesn't
  800. 25:50just do one agent, it doesn't just do
  801. 25:52like 10 parallel agents. What it might
  802. 25:54do is um let's say a task is like
  803. 25:56rewrite the code base, or do really
  804. 25:59in-depth data analysis over some really
  805. 26:01complicated data, or maybe like build a
  806. 26:04very complex feature that takes multiple
  807. 26:06stages,
  808. 26:07and maybe dozens of pull requests.
  809. 26:09And so what it's going to do is it's
  810. 26:10going to start a bunch of agents to do
  811. 26:12kind of like the first pass.
  812. 26:14Based on that, it might do a second step
  813. 26:16where it has another set of agents that
  814. 26:18verify the work, or that summarize the
  815. 26:21work.
  816. 26:22Then it might do like a third stage,
  817. 26:24where it'll fan out again.
  818. 26:26So it'll kind of productively
  819. 26:27orchestrate a bunch of different agents.
  820. 26:29So my background is functional
  821. 26:30programming.
  822. 26:31And so the way that we designed this is
  823. 26:33is essentially an algebra for agents.
  824. 26:36So there's a way to run agents in
  825. 26:38sequence. There's a way to run agents in
  826. 26:40parallel. And Claude has different tools
  827. 26:43in order to orchestrate these agents
  828. 26:45inside of the sandbox, to use tokens
  829. 26:47efficiently, to do really, really
  830. 26:50complex work. It's kind of
  831. 26:52cool and something that just hasn't
  832. 26:55really been written about a lot. Like
  833. 26:56this is actually like a new form of test
  834. 26:58time compute. Like when we talk about
  835. 27:00the scaling laws and kind of we talk
  836. 27:01about the model getting more intelligent
  837. 27:03over time,
  838. 27:04historically,
  839. 27:06it's been a function of the size of the
  840. 27:07neural net,
  841. 27:09the amount of training data, and the
  842. 27:10number of flops that you put in to the
  843. 27:12training.
  844. 27:13And then recently, we also added test
  845. 27:15time compute. So this is essentially a
  846. 27:16fancy way a researcher way of saying how
  847. 27:18many tokens does it generate.
  848. 27:21And now
  849. 27:22dynamic workflows are essentially a new
  850. 27:24way to orchestrate test time compute.
  851. 27:27And it's a new way to kind of really,
  852. 27:29really ramp up the amount of test time
  853. 27:30compute that you use to do a really hard
  854. 27:32task.
  855. 27:34So this all very long way to say this is
  856. 27:36one way to launch thousands of agents in
  857. 27:38a way that is productive and efficient.
  858. 27:40A second way to do it is loops and
  859. 27:43routines.
  860. 27:44Loop is essentially a cron job that's
  861. 27:46running locally for Quad. Routine is the
  862. 27:48same thing, but it's running the Quad in
  863. 27:50the cloud.
  864. 27:51So you can close your laptop. And this
  865. 27:54is like slightly different because for a
  866. 27:55dynamic workflow, it's one task and you
  867. 27:58break it up into chunks.
  868. 27:59For loops and routines, it's one task
  869. 28:01that is repetitive, that doesn't share
  870. 28:03context, but it might share memory.
  871. 28:05And you kind of do this like over and
  872. 28:07over. You can do it like maybe every
  873. 28:08hour, every 5 minutes, every day.
  874. 28:11And so the thing that we've started
  875. 28:12doing is um we actually have Quad
  876. 28:14maintaining itself now.
  877. 28:16And the way we do this is we have a
  878. 28:18Slack channel where we just had Quad
  879. 28:21start a bunch of different routines to
  880. 28:23maintain its own code base. And we
  881. 28:25actually do this for the CLI, for the
  882. 28:27iOS app, for the Android app, uh for the
  883. 28:29desktop app.
  884. 28:30And you for example, one routine is
  885. 28:32clean up dead code.
  886. 28:34This is a single prompt. It's like one
  887. 28:35sentence. Quad runs this every day.
  888. 28:38It'll look for dead code across all the
  889. 28:39code bases using static and dynamic
  890. 28:42analysis. We didn't prompt that. It just
  891. 28:43kind of figured it out.
  892. 28:45And it'll put up a pull request every
  893. 28:46day to the weak the dead code.
  894. 28:48Another example is shipping experiments
  895. 28:51that should go out. Um so the
  896. 28:53experiment's already out to 100%. It'll
  897. 28:56delete it from the code base and it will
  898. 28:57just ship it. Another one is writing
  899. 29:00tests for areas of the code base that
  900. 29:01need test coverage. Another one is
  901. 29:04deleting tests that don't need to be
  902. 29:06there cuz you know, they were kind of
  903. 29:07useless tests added by older models or
  904. 29:09added by people at some point. One that
  905. 29:11one that I really love is this um
  906. 29:14I forgot what we called it. I think we
  907. 29:15called it abstraction police.
  908. 29:17And the idea is there are often in a big
  909. 29:20code base, there's kind of the same
  910. 29:21abstraction and it appears multiple
  911. 29:23times and if you kind of squint it
  912. 29:24actually maybe should just be the same
  913. 29:26abstraction, but kind of over time for
  914. 29:28whatever reason you rebuilt it multiple
  915. 29:31ways in different parts of the code
  916. 29:32base. So Quad kind of goes out every day
  917. 29:35across all our code bases, it finds
  918. 29:37these nearly duplicated abstractions and
  919. 29:39it unifies them. And so now we have
  920. 29:41every day maybe 20 or 30 of these
  921. 29:43routines. It's running across all of our
  922. 29:45code bases and
  923. 29:47it's not totally there yet, but we're on
  924. 29:50the path to fully automating the
  925. 29:51maintenance of our apps by doing this.
  926. 29:54And this is again hundreds of agents
  927. 29:57running every day, sometimes thousands
  928. 29:58of agents every day. It's doing the work
  929. 30:00of you know, dozens or hundreds of
  930. 30:02engineers. This is kind of what it used
  931. 30:04to take to do this kind of work.
  932. 30:06And this means that engineers can just
  933. 30:08like do the thing they actually want to
  934. 30:09do, which is ship new product and talk
  935. 30:11to users and do stuff that's actually
  936. 30:14fun.
  937. 30:15>> I guess nice conclusion from this, which
  938. 30:17you have mentioned in the past that
  939. 30:19basically coding is solved, right?
  940. 30:22You have mentioned this.
  941. 30:24Um
  942. 30:25I'm curious now that effectively
  943. 30:27everyone can write software, what
  944. 30:29separates the exceptional builders
  945. 30:34from the rest? What what are the
  946. 30:35qualities now that everyone can ship
  947. 30:37code?
  948. 30:38>> I I would give like one caveat. So
  949. 30:40coding is solved for the kind of coding
  950. 30:42that I do.
  951. 30:43It's not solved for everyone.
  952. 30:45You know, there's still code bases that
  953. 30:46are like super deep systems code bases
  954. 30:49where quad still struggles. There's
  955. 30:50distributed systems where quad still
  956. 30:52struggles. There's really kind of in the
  957. 30:55weeds UI verification, like something is
  958. 30:56off by pixel or something. Quad is still
  959. 30:58not perfect at this. Like Opus 5 was a
  960. 31:00big leap in vision and computer use, but
  961. 31:03it's still not perfect.
  962. 31:04Um but I I'm actually curious for people
  963. 31:07here, maybe raise your hand if 100% of
  964. 31:10your code is written using agents. You
  965. 31:12don't write any code by hand anymore.
  966. 31:16It's pretty good. Okay, how about more
  967. 31:18than 50%?
  968. 31:22Slightly less hands, maybe about the
  969. 31:23same.
  970. 31:24Yeah.
  971. 31:25So I think it's like it's getting there.
  972. 31:27So it's kind of getting to this to you
  973. 31:29know, to being solved for more and more
  974. 31:30kinds of code. And that's kind of cool.
  975. 31:32When I think about the people that are
  976. 31:34the best at using quad,
  977. 31:37I think there's a certain mindset that
  978. 31:39you can bring that's really effective.
  979. 31:41And it's really about being empirical.
  980. 31:45So forget all of the things that you
  981. 31:47learned about past models. Forget
  982. 31:49everything that you've learned about
  983. 31:51computer science theory in class.
  984. 31:54Look at the model,
  985. 31:55try to do a task, see where it
  986. 31:58struggles, and then based on that
  987. 31:59adjust. So it's just like very much
  988. 32:01become it's not a theoretical science,
  989. 32:04it's become an empirical science.
  990. 32:07So I think people that are really good
  991. 32:08at this, that are really good at kind of
  992. 32:09forgetting their priors, letting go of
  993. 32:12you know, this like maybe idea that
  994. 32:13didn't work before and just being open
  995. 32:14to trying it again.
  996. 32:16This is the kind of skill that's just
  997. 32:17very, very successful now.
  998. 32:20>> Now my last question is given everything
  999. 32:23that we talked about, if there's someone
  1000. 32:26here that's studying CS,
  1001. 32:28and you you learned to program before
  1002. 32:30this era of AI agent coding,
  1003. 32:34what should students still learn the
  1004. 32:36hard way, like the old way.
  1005. 32:39>> So for me,
  1006. 32:40I learned computer science practically.
  1007. 32:45I learned it by teaching myself to code
  1008. 32:47in order to solve problems.
  1009. 32:49Whenever I was doing this, I was doing
  1010. 32:51it to solve a particular problem that I
  1011. 32:54had.
  1012. 32:55So I actually first learned to code on a
  1013. 32:57TI-83 calculators.
  1014. 32:59Um this is back in middle school and um
  1015. 33:02I ended up actually writing a guide on
  1016. 33:04the internet for programming TI-83
  1017. 33:06calculators. It's still up on the
  1018. 33:07internet somewhere.
  1019. 33:08Um and it was uh it was basic. That that
  1020. 33:10was my first language.
  1021. 33:12And I I learned how to program on a
  1022. 33:14calculator so I could just like get
  1023. 33:15better at my math tests
  1024. 33:17by uh by cheating on the test.
  1025. 33:21>> [applause]
  1026. 33:25>> So it it it was about something
  1027. 33:27practical, you know, that like to me as
  1028. 33:28a middle schooler that was kind of like
  1029. 33:29the most practical thing I could think
  1030. 33:30of. And I ended up getting good grades
  1031. 33:33and then I got this little serial cable
  1032. 33:34to give the you know, the programs to my
  1033. 33:36classmates and they got really good
  1034. 33:37grades. And then the math got a little
  1035. 33:39bit harder. Um it wasn't something that
  1036. 33:42I could solve in basic anymore. So I
  1037. 33:43kind of went from this like, you know,
  1038. 33:45like maybe algebra solver that was
  1039. 33:47written in basic and I had to solve
  1040. 33:49harder problems. And um you know, like
  1041. 33:52once we got into calculus, I had to
  1042. 33:54learn assembly so I can write
  1043. 33:56a better solver so I could cheat better
  1044. 33:57on the test now that it was calculus.
  1045. 34:00And so for me, programming has always
  1046. 34:02been very practical and I think this is
  1047. 34:04always my advice for people in school is
  1048. 34:06learn not just the computer science.
  1049. 34:08This is like intellectually fascinating
  1050. 34:10and it's really really interesting to
  1051. 34:12know, but learn how to apply it. And
  1052. 34:13often this is about building startups.
  1053. 34:15It's about building products. It's about
  1054. 34:17developing your own design sense,
  1055. 34:19developing your business sense, learning
  1056. 34:21how to how to do data science, learning
  1057. 34:23how to talk to users. There are all
  1058. 34:25these other skills and when you combine
  1059. 34:27it with computer science and
  1060. 34:29engineering, that's where it becomes
  1061. 34:30really really valuable. So those are the
  1062. 34:32hard skills that I would still be doing
  1063. 34:34by hand.
  1064. 34:36>> So, if I'm hearing and summarizing,
  1065. 34:38start with making something you want
  1066. 34:40first for yourself, and then level up
  1067. 34:43and make something people want.
  1068. 34:45>> Yes.
  1069. 34:47>> And we just have one last special
  1070. 34:49announcement for us. You want to one one
  1071. 34:51last thing?
  1072. 34:53>> Yeah, so um
  1073. 34:54for everyone here today,
  1074. 34:57uh you are getting Max 20X.
  1075. 35:03>> [cheering]
  1076. 35:08[cheering]
  1077. 35:09[laughter]
  1078. 35:15>> Pretty good.
  1079. 35:16>> [applause]
  1080. 35:17>> So, look for look for a code in your
  1081. 35:19email. And uh I can't wait to see you
  1082. 35:21what you build.
  1083. 35:22>> We'll send an email.
  1084. 35:26>> [applause]
  1085. 35:26[cheering]
  1086. 35:30[applause]
  1087. 35:31>> So, I'm curious. Someone in this room
  1088. 35:32should be building something that runs
  1089. 35:34hopefully multiple months and thousands
  1090. 35:36of agents now that you have the account
  1091. 35:39to do it. And with that, thank you so
  1092. 35:41much, Forrest.
  1093. 35:42>> Thank you.
  1094. 35:43>> Thank you.
  1095. 35:43>> [cheering]
  1096. 35:47[applause]

About this transcript

This page contains the full transcript of Boris Cherny: We Cut 80% of Claude Code’s Prompt by Y Combinator, generated from the public captions YouTube serves with the video. The transcript has 6,868 words across 1,096 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 choose a caption track available on the video.

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, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.