YouTube2Text

Build Your Own AI Software Factory with Claude Code — Transcript

by ZazenCodes · 5,662 words · 778 segments · language en · Watch on YouTube

Full transcript

  1. 0:00Today we're building a software factory
  2. 0:02with Claude Code. Thank you to Anthropic
  3. 0:04for sponsoring today's video. I love
  4. 0:06using Claude Code. Of course, we're
  5. 0:08going to be building Claude into our
  6. 0:10software factory. We'll be using a mix
  7. 0:12of Opus and Sonnet. And we're on 5.5 at
  8. 0:15the time of filming. Everybody agrees
  9. 0:16that these models are incredible. So, I
  10. 0:18want to show you what these can do. This
  11. 0:19is going to be a very simple factory,
  12. 0:21but as you'll see, it will still be very
  13. 0:23effective. The idea is that you can
  14. 0:25build one for yourself inside of an
  15. 0:27existing project. So, I'd encourage you
  16. 0:29to follow along with the video. This
  17. 0:30video will be very hands-on. I'm going
  18. 0:32to explain exactly what we're building
  19. 0:34with our software factory, what our
  20. 0:36approach is going to be, and we'll do a
  21. 0:38quick introduction of what software
  22. 0:39factories actually are. Here's the mind
  23. 0:41map for today's video. So, over here on
  24. 0:44the right is the demo, and I'm going to
  25. 0:45explain this diagram first for anybody
  26. 0:48who already knows what a software
  27. 0:49factory is. Then, we'll go through this
  28. 0:51left side, and I'll sort of explain a
  29. 0:53little bit of a history on these things.
  30. 0:55But if you want to review this, you can
  31. 0:56get this full thing as a high- quality
  32. 0:58image if you subscribe to my newsletter.
  33. 1:00I'll just send it right to your inbox
  34. 1:01right away. You can look through it with
  35. 1:03me. Let's actually jump over here. This
  36. 1:05is what we're going to build. It's a
  37. 1:06simple agentic software factory where a
  38. 1:09team of agents take a feature and pull
  39. 1:12that into the main codebase by the end
  40. 1:14of our factory. So, we input some
  41. 1:17feature request and then the rest is
  42. 1:19handled autonomously except for this
  43. 1:21last step, this human approval step.
  44. 1:23Let's walk through this. First thing we
  45. 1:25do is write a spec, and I'm going to use
  46. 1:27Opus for that. Then we're going to go to
  47. 1:29a building agent, which is actually
  48. 1:30going to build our feature. This will
  49. 1:32build the full working feature for us.
  50. 1:34Then we're going to hand this feature
  51. 1:35off to various review agents. We're
  52. 1:37going to do a security review, a UX
  53. 1:39review, a UI design review, and a code
  54. 1:42review. And these are all done with
  55. 1:43separate agents. Some of them are Opus
  56. 1:46or Sonnet in here. And then this gets
  57. 1:47fed back into the builder agent. And
  58. 1:49this happens in a loop until we're
  59. 1:51happy, satisfied with the code. And then
  60. 1:53we go to an approval step. This runs
  61. 1:55with another agent which is Opus. And
  62. 1:57then Opus decides, this agent says
  63. 1:59either we merge to main automatically or
  64. 2:02we hand it off for human review. And
  65. 2:04this is all managed through our factory
  66. 2:07that I'm going to build today. So if
  67. 2:08you're ready to go, you can use the
  68. 2:10timestamps in the video description to
  69. 2:12skip right to where we start building
  70. 2:13this. Otherwise, stick with me and I'm
  71. 2:15going to walk through the rest of this
  72. 2:16mind map. Software factories were first
  73. 2:18described by Bob Beamer at GE in 1968.
  74. 2:22Essentially, they're a
  75. 2:23computer-controlled programming
  76. 2:25environment containing standardized
  77. 2:27development tools along with historical
  78. 2:29information for management and
  79. 2:31measurement. And the short history of
  80. 2:34that is from there we saw a lot of stuff
  81. 2:36going on in Japan. And I'm sure this was
  82. 2:38happening in Europe and America as well
  83. 2:40to some extent, but that's what was
  84. 2:41characterized the early stage of
  85. 2:43software factories. Then in the 2000s we
  86. 2:46didn't quite have the CI/CD stuff going
  87. 2:48on but it was like how can we have
  88. 2:49reusable patterns models and frameworks
  89. 2:51to be building software. Then in the
  90. 2:532010s 2020s this is where we got CI/CD.
  91. 2:56So proper continuous integration
  92. 2:58pipelines GitHub actions and now we have
  93. 3:00agentic factories. So here's what a
  94. 3:02software factory looks like in the age
  95. 3:04of AI. And I love this quote. What's new
  96. 3:07is the automation of relatively
  97. 3:09unstructured cognitive work between the
  98. 3:11deterministic stages including of course
  99. 3:14writing the entire code it you know
  100. 3:15itself. So this is the basic loop. We
  101. 3:18have a trigger which goes to an agent
  102. 3:20which submits a PR which is merged by a
  103. 3:23human and inside of here we have all
  104. 3:25sorts of clever stuff going on with the
  105. 3:27agent pulling in information and this is
  106. 3:29where the interesting graphs come about
  107. 3:31with software factories. There's a lot
  108. 3:33more details I skimmed over in here. I'm
  109. 3:35going to cover this in my school
  110. 3:36community on my weekly calls and I
  111. 3:38record all of these and post them back
  112. 3:40to the community. So, if you want to
  113. 3:42keep hearing me discuss software
  114. 3:43factories, you can join my school
  115. 3:44community and check that out. Now, let
  116. 3:46me get on to the build with Claude Code.
  117. 3:48And we're going to start here and I'm
  118. 3:49going to paste this prompt into Claude
  119. 3:51to start building things. And this is
  120. 3:53the whole prompt we're going to use. So,
  121. 3:55I've got this prompt in the source code
  122. 3:57for this video. You can find that in the
  123. 3:59video description and you can reference
  124. 4:00that if you want. At this point, if
  125. 4:02you're following along with me, you want
  126. 4:03to start working in an existing project
  127. 4:05that you have. This is the source code
  128. 4:08for my website. It's a real ugly
  129. 4:10project. There is a lot of stuff going
  130. 4:13on in here. We're going to build a
  131. 4:14software factory right inside of my
  132. 4:16website. And I'm going to start by
  133. 4:18spinning up Claude code. And you'll
  134. 4:20notice that I've got bypass permissions
  135. 4:22on. So, this is going to let Claude do
  136. 4:23whatever it wants. But you can set this
  137. 4:25to your level of comfort. And the first
  138. 4:27thing I'm going to do is change my
  139. 4:29model. And I want to use Opus 5.5. I'm
  140. 4:32also going to set the effort. And for
  141. 4:33this task, I want to use high effort
  142. 4:35because I want it to produce a very high
  143. 4:37quality result. And I want it to follow
  144. 4:39all of the details in this prompt. Let
  145. 4:41me paste the prompt in. And I'm going to
  146. 4:43press CtrlG. And I can open this prompt
  147. 4:46up in my sort of default editor. And so
  148. 4:48I can also get out of this and see it in
  149. 4:50Claude. Here's the sort of one-s
  150. 4:52sentence description of our spec. We
  151. 4:54want to build a simple visual software
  152. 4:56factory in this repo using claude skills
  153. 4:58sub aents and markdown files. The
  154. 5:01markdown files are going to control the
  155. 5:02state of our application. Now the
  156. 5:04orchestrator is very important for my
  157. 5:06software factory. My orchestrator is
  158. 5:08going to be clawed code using whatever
  159. 5:10model I choose at the time and then I'll
  160. 5:12run this factory skill in order to spin
  161. 5:15it up. Now from there the factory works
  162. 5:17in this loop which I described or
  163. 5:19earlier. A feature comes through the
  164. 5:21specwriter which goes into the builder
  165. 5:23which then gets verified by various
  166. 5:26review agents and once those are done if
  167. 5:29we need changes this happens in a loop
  168. 5:31and then we go to the approver which
  169. 5:33either merges to main the feature or we
  170. 5:36get a human review and this is a system
  171. 5:38we can use repeatedly every time we want
  172. 5:40to build a new feature for our project.
  173. 5:43That's the power of a software factory
  174. 5:45and this is why everybody's so excited
  175. 5:47about these things right now and we
  176. 5:49could imagine in the future we want you
  177. 5:50know we can bring in data sources from
  178. 5:52the outside world and we can also have
  179. 5:54other things like we can have stuff that
  180. 5:56triggers this instead of a feature. So
  181. 5:58this is still my prompt by the way let
  182. 6:00me come down and continue talking
  183. 6:02through this. You can see we're setting
  184. 6:04this up as a skill and this is the
  185. 6:06convention for how agent skills should
  186. 6:07look and we've also got this factory
  187. 6:10folder. This will live right inside of
  188. 6:11the app that I'm working in. And then we
  189. 6:13have some example files just to give the
  190. 6:15right style. So this is how cloud sub
  191. 6:17aent syntax should look. So I have some
  192. 6:19examples of what this should look like,
  193. 6:21but we're mostly going to leave this up
  194. 6:22to the agent to build all of these
  195. 6:24things. And then here's the commands
  196. 6:25that I want to have. I want to be able
  197. 6:26to start a new job through the loop
  198. 6:29that's done here like just using factory
  199. 6:31and then describing my feature. And then
  200. 6:33lastly, I've got a dashboard. And this
  201. 6:34is going to give us some visibility into
  202. 6:36this whole system. So we can kind of
  203. 6:38tell what's happening while everything's
  204. 6:40running. So let's kick this off. Check
  205. 6:43out this. The orchestrator skill looks
  206. 6:45like this. I feel confident that with a
  207. 6:47longunning agentic task like this, we
  208. 6:50can really nail all of the little
  209. 6:51details in this. Um, and if you've used
  210. 6:54Opus, you know exactly what I'm talking
  211. 6:55about. You can throw any little small
  212. 6:57detail and it's extremely good at
  213. 7:00picking these up and propagating them
  214. 7:02through the code as it builds everything
  215. 7:03out. And now it's building out the
  216. 7:05reviewer agents. So, these all live as
  217. 7:07Claude sub agents, and these are going
  218. 7:09to be the guys in our software factory
  219. 7:11doing all of our work. Here's the
  220. 7:12reviewer UI agent. Claude has just
  221. 7:14finished up. The last thing it was
  222. 7:16working on was the dashboard for our
  223. 7:18factory. That's what it created right
  224. 7:20here. So, let's look at these decisions.
  225. 7:22Max two rounds. That works for me. Your
  226. 7:25checkout. The builder works on factory.
  227. 7:27Okay. So, this is the um branch that we
  228. 7:30check out to build our feature. That's
  229. 7:32cool. That works. And then we have this
  230. 7:34rework method. If it didn't work, we can
  231. 7:36just like spin it through again. So,
  232. 7:37there's some discussion about what the
  233. 7:39approver should escalate. If we're doing
  234. 7:41anything with billing, let's make sure
  235. 7:42we es escalate that. Anything with
  236. 7:44course access, this is stuff that's
  237. 7:46specific to my own repo. So, you know,
  238. 7:49the agent will be specific to yours,
  239. 7:51too. That's another cool point. Like
  240. 7:52this prompt that I wrote, this will be
  241. 7:54general for any anything. This will work
  242. 7:56for your project just as well as it did
  243. 7:58for mine because it's not at all adapted
  244. 8:00to my project. Uh, really cool. So let's
  245. 8:03restart cloud code so it loads the new
  246. 8:05agents and then run factory next. Um all
  247. 8:08right now I have a question though. Um
  248. 8:11when I run factory next what would that
  249. 8:14do? I don't think I have anything next
  250. 8:16yet. Right?
  251. 8:19In other words like I don't have any
  252. 8:21features that I'm expecting to build. So
  253. 8:23I don't think that would work. What I
  254. 8:24want to do is run factory and then
  255. 8:26describe the feature that I want to
  256. 8:28build. Also go ahead and spin up the
  257. 8:30dashboard.
  258. 8:32Oh, what? The backlog actually has some
  259. 8:34stuff in it. I put three starter items.
  260. 8:36So, Opus just figured out what I should
  261. 8:38be building next. That is hilarious. And
  262. 8:41here's where the dashboard's running.
  263. 8:42So, there's nothing going on yet.
  264. 8:44Everything's empty. Let's spin up our
  265. 8:46first job. Before we test it though, let
  266. 8:48me show you exactly what we just built.
  267. 8:50So, let me go to my project, and I'm
  268. 8:52going to open up this tool I have called
  269. 8:54Lazy Git. And this way, we can see all
  270. 8:56the changes. So, we built out a bunch of
  271. 8:58agents. These are all of our sub aents,
  272. 9:00the things that are doing the work.
  273. 9:01inside of our factory. This is our
  274. 9:03approval agent, builder agent, reviewer
  275. 9:05agent. Let's go back down. Here is the
  276. 9:07skill. This to me is like the main thing
  277. 9:10that's controlling the factory. It's the
  278. 9:12agent skill that we're going to use to
  279. 9:13like spin it up. It's the orchestrator
  280. 9:15skill effectively. That's how we can
  281. 9:17think of this one. And then we've got a
  282. 9:19bit of code in the factory itself, but
  283. 9:21very little. We have this backlog
  284. 9:23markdown file, and this is just going to
  285. 9:25track our jobs, like the stuff that we
  286. 9:28haven't built yet that we want to build
  287. 9:29out later. And then we have a dashboard
  288. 9:31and this will be give us observability.
  289. 9:33I showed you that already. And then just
  290. 9:34a few modifications to the agents file.
  291. 9:37Get ignoring some stuff. That's it.
  292. 9:39That's it you guys. I can also show you
  293. 9:40this in Vim. And let's just look. So
  294. 9:43this is kind of basically our factory.
  295. 9:45This is the orchestration scale and it
  296. 9:48just documents like different ways that
  297. 9:50we can use this. Um so this is what I'm
  298. 9:53talking about right here. We have
  299. 9:55factory slashfeature. So now inside of
  300. 9:58claude if I was to type backslash and
  301. 10:00start typing factory here it is. This is
  302. 10:02my skill which has been indexed by
  303. 10:04claude code and I can call it directly.
  304. 10:07I can also look at skills and I'll see
  305. 10:09this in the list of skills. If I just
  306. 10:11search factory and this is it. You can
  307. 10:13see it's a project skill just for this
  308. 10:15project available because it's in
  309. 10:17thatcloudskills. So let me just quickly
  310. 10:20hop back. We're on this step right now
  311. 10:21running the factory. We're going to
  312. 10:23watch how this actually proceeds. And
  313. 10:26I've got this kind of feature that I
  314. 10:28want to build. So my Obsidian agent
  315. 10:30setup course pages should not be
  316. 10:31paywalled. Only the videos are
  317. 10:33paywalled. Let's see if our factory can
  318. 10:35handle this feature inside my actual
  319. 10:37website. This is my production site that
  320. 10:39we're working in right now. So it didn't
  321. 10:40start the job. The facto's first
  322. 10:42precondition, a clean working tree,
  323. 10:44isn't met. I never committed any of this
  324. 10:46code. I'm actually going to commit this
  325. 10:48myself. like old school add clawed code
  326. 10:52software factory
  327. 10:55push that all right now I'm going to
  328. 10:58start this again but I want to clear it
  329. 10:59and from here I can run factory and
  330. 11:02submit my feature it's creating the job
  331. 11:04Obsidian course unpaywall and now we can
  332. 11:08see we're starting to use our sub aents
  333. 11:10here's the first one we're creating a
  334. 11:11spec using the spec writer background
  335. 11:13agent let me hop over and now I'm in the
  336. 11:16agent itself so I'm looking at the sub
  337. 11:18agent and I'm seeing what it's doing.
  338. 11:20It's creating a spec for me. So now the
  339. 11:22spec is done and we can see here we've
  340. 11:24written to a spec file and I can see our
  341. 11:26builder has just started working on
  342. 11:28this. So let me go back to the
  343. 11:30orchestrator and check out what
  344. 11:31happened. It was like okay we you know
  345. 11:33our our sub agent finished. It kind of
  346. 11:35picked this up and then it opened the
  347. 11:37builder and the builder down here is now
  348. 11:40down here and this is this is now our
  349. 11:42sub agent that's building this out. And
  350. 11:44by the way I want to look at this in a
  351. 11:46dashboard. Let me go over here and spin
  352. 11:49up the software factory dashboard. Yeah,
  353. 11:51it's it's making edits to the code. All
  354. 11:54right, so this is where we're at. So
  355. 11:56this is really neat because you could
  356. 11:58actually imagine we could be doing other
  357. 12:00stuff like at the same time. I'll also
  358. 12:02note up here we have a needs human
  359. 12:04phase. So anything that gets like stuck
  360. 12:06in here, we know that we would need
  361. 12:08human review at this point. So this is a
  362. 12:09like a real functional way that we could
  363. 12:11be using the dashboard. Oh, nice. Check
  364. 12:13this out. It just wrote a build file
  365. 12:16right here. It wrote this file to our
  366. 12:18factory. Okay, now we're back in Maine
  367. 12:20and our agent. Okay, sweet. We just went
  368. 12:23to review and we just kicked off all of
  369. 12:25our review sub agents. So these guys are
  370. 12:28representing our review. They're doing
  371. 12:30it. Okay, the UX round finished. The UI
  372. 12:32round finished. And they passed. So both
  373. 12:35of those passed, but we're doing the
  374. 12:37security over here considering. Okay,
  375. 12:39that's done. Code review. This is This
  376. 12:41is epic. Oh, look at this, you guys. We
  377. 12:43can even see the little icons. Oh my
  378. 12:46god, that is so cool. It's deciding if
  379. 12:48this feature should be pulled in or not.
  380. 12:50I'm actually blown away. This is uh this
  381. 12:52is how I want to develop features now.
  382. 12:54Um why have I not done this yet? So uh
  383. 12:57what's opus deciding? Escalating. It's
  384. 13:00escalating. So I think it'll go to the
  385. 13:02human review. There it is. So it's
  386. 13:03sitting in the human review phase. And
  387. 13:06now I need to approve this. What happens
  388. 13:08if I click on this? Okay, I can get all
  389. 13:12sorts of information from the dashboard.
  390. 13:14That is very cool. Escalate why the
  391. 13:18build is clean. Every acceptance
  392. 13:19criteria for the human if both
  393. 13:24for the human. So here's how I would
  394. 13:26approve it. I would need to know the ID
  395. 13:28of this feature and then I could run
  396. 13:30factory approve. Let me do that in a new
  397. 13:33session. So, I'm going to clear this and
  398. 13:35I'm going to say factory approve and
  399. 13:38then this. And we're done. It has merged
  400. 13:42it into my actual code. Now I can have a
  401. 13:45look at that. So down here, this Claude
  402. 13:47guy was just running my Okay, I'm going
  403. 13:50to come down here view. Okay, this is my
  404. 13:53source code and if I look at the git
  405. 13:54status, I'm ahead by four commits.
  406. 13:57That's because
  407. 13:59I've just committed this merge factory 1
  408. 14:01obsidian course on payw wall. This is
  409. 14:04the thing that was done by the agent.
  410. 14:05And I can look at that guy. If I look at
  411. 14:07the previous commits, this is what it
  412. 14:09did. So it went off onto a branch. It
  413. 14:11did a few different commits. It kind of
  414. 14:13built out our feature and then it merged
  415. 14:15it back. And that merge was done when I
  416. 14:17approved it. Very cool. Now I want to
  417. 14:20stress one thing. If I come up here,
  418. 14:22when I said factory approve, what's
  419. 14:24actually happening here is I have a
  420. 14:26skill, an agent skill called factory.
  421. 14:28And when I run that, we trigger the
  422. 14:29agent skill. Then all of this other
  423. 14:32stuff in here, this is just free form.
  424. 14:35So this is not not actually like a
  425. 14:36strict um like schema or um a strict
  426. 14:41spec for you know saying approved. Now
  427. 14:43let me show you where the metadata for
  428. 14:45this system lives. And this metadata is
  429. 14:48responsible for populating all of the
  430. 14:50information we're seeing down here.
  431. 14:51These just live as markdown files in our
  432. 14:54project. If I go into factory and then I
  433. 14:57look at all the files inside of here,
  434. 14:58this was the feature we just built. And
  435. 15:01all of these files are the metadata that
  436. 15:03we're populating inside of our dashboard
  437. 15:06down here. I love how simple this is. I
  438. 15:09can just like look at this stuff in Vim
  439. 15:11myself and review this. Agents can use
  440. 15:14this. Future agents, other systems. This
  441. 15:16is so cool for me. The one thing I'll
  442. 15:19say is we probably don't want all of
  443. 15:21this stuff committed to git. Of course,
  444. 15:23they're just text files. There's nothing
  445. 15:25wrong with committing them all to git,
  446. 15:27but it just kind of might mess up your
  447. 15:29fuzzy searching as you start doing file
  448. 15:31searching and stuff like that. It's
  449. 15:33something you can decide what you want
  450. 15:34to do. For my part, I don't think I
  451. 15:36would want these committed to git. So,
  452. 15:38if I look in my git ignore at the
  453. 15:40factory, you can see we're not
  454. 15:42committing any of this. So Claude
  455. 15:44already decided we shouldn't commit this
  456. 15:46stuff. So these these things are
  457. 15:48transient and they'll be deleted if you
  458. 15:50were to recclone the repo elsewhere
  459. 15:52unless you were to back them up with
  460. 15:53like some custom process which by the
  461. 15:55way is exactly what I would do. I would
  462. 15:57just throw them into cloud storage
  463. 15:58somewhere and I would get the agent to
  464. 16:00manage that. If you want to learn more
  465. 16:01about what I'm talking about there, you
  466. 16:03should join my school community. You can
  467. 16:05ask me or just join my weekly calls. I
  468. 16:07talk about these types of things all the
  469. 16:09time. This is how developers are
  470. 16:10building with coding agents now. And
  471. 16:12speaking of building with coding agents,
  472. 16:14let's keep developing this with cloud
  473. 16:16code. What I want to do is be able to
  474. 16:18support running multiple things through
  475. 16:20the software factory at once. Right now,
  476. 16:23that won't work too well because we're
  477. 16:25not using git work trees. So, let's
  478. 16:28build this in right now. Have a look at
  479. 16:30my software factory. I want to be able
  480. 16:32to run multiple features through the
  481. 16:35factory at once. And in order to do
  482. 16:37that, I think we'll need some sort of
  483. 16:39git workree integration.
  484. 16:41You know, I just realized um I could
  485. 16:44have used the software factory to build
  486. 16:46itself. That would have been awesome.
  487. 16:48Anyway, we got this done. Now, let me
  488. 16:50start a new session. So, what features
  489. 16:52should we build? Let's go into our
  490. 16:54factory. And I've got this backlog here.
  491. 16:57Let's have a look at that. Estimated
  492. 16:58reading time next to the date on the
  493. 17:00blog post. Okay, let's do that. Add a
  494. 17:03copy button to code blocks. Sure, let's
  495. 17:06do that. Add a four. Four for this is
  496. 17:08great. These are all things I should
  497. 17:09have on my site. That's nuts that Opus
  498. 17:12just came up with those on the fly as it
  499. 17:14built like the [laughter]
  500. 17:16Dude, these things always just blow my
  501. 17:18mind. All right, let's go factory next.
  502. 17:22Are we ready? Let's go. Um, now the po
  503. 17:25the point of this is to do multiple of
  504. 17:28these in parallel. And we just tic this
  505. 17:30off. So, we picked that one up. Um,
  506. 17:33let's let's do it. I'm going to start a
  507. 17:35new session down here. And I want to
  508. 17:37start these in separate T-Mox areas just
  509. 17:39so that I can watch all of these go.
  510. 17:42Let's start up Claude and let's say
  511. 17:45factory next.
  512. 17:48All right. Now, we've established in our
  513. 17:50top agent, we've started doing some spec
  514. 17:52writing and stuff. Um, what's going on
  515. 17:55down here? Oh, here they are. So,
  516. 17:57they've just two of them have entered.
  517. 17:59We have two new features that have
  518. 18:01entered the factory. And let's do a
  519. 18:04third one. Why not? Um, all right. Now,
  520. 18:08one thing I should show you is, you
  521. 18:10know, the orchestrator will be whatever
  522. 18:12agent we've spun up here. So, I've got
  523. 18:14Claude Opus 55. Just for fun, let's use
  524. 18:17sonnet here. I'm going to say model, and
  525. 18:20we're going to go to sonnet 55. And
  526. 18:22let's see what happens if I put it on
  527. 18:24loweffort. Why not? Let's try it.
  528. 18:26Factory next. What feature is this one?
  529. 18:30This is my last remaining feature. which
  530. 18:33would be the 404 page. So, sonnet should
  531. 18:36be very fast. So, I would expect that
  532. 18:39this feature might finish fast. But on
  533. 18:41the other hand, the orchestrator is not
  534. 18:43necessarily the limiting agent, right?
  535. 18:45What's going to limit this are the the
  536. 18:48sub aents and right now we're in the
  537. 18:50spec writer phase. And you know, this
  538. 18:52sonnet session is still going to be
  539. 18:53limited by the speed of the sub aents,
  540. 18:56which we're still using opus for. And in
  541. 18:59fact, we might want to use a small model
  542. 19:01to to actually do the orchestration. I
  543. 19:04don't think so, though. My intuition is
  544. 19:06that we want a really smart model to be
  545. 19:08the orchestrator and then some of the
  546. 19:10sub aents can use lower models, faster
  547. 19:13models that are, you know, aren't as
  548. 19:15good. Um, and that's been the approach
  549. 19:17for my software factory. That's how I
  550. 19:19that's how I approached this. Um, Sonnet
  551. 19:21is flying though. We're already on the
  552. 19:22builder phase for that. Oh, this is like
  553. 19:24a race, dude. And this is all just this
  554. 19:26is just working with um with get work
  555. 19:29trees, right? Like it's it's just
  556. 19:33working. Like I I don't really need to
  557. 19:35worry about it. I don't need to be
  558. 19:36messing around and switching work trees.
  559. 19:39Also, we just built this ourselves. Like
  560. 19:43this is your own thing. You you just
  561. 19:44built it. You can change it. You can do
  562. 19:46whatever you want. You're not relying on
  563. 19:47like some dude's um you know factory
  564. 19:50skill that is all hyped and you found it
  565. 19:53and it does like a million things. this
  566. 19:54is your own very simple skill for your
  567. 19:57own software factory and you know
  568. 19:58exactly how it works right and when you
  569. 20:00want to change it you know how you can
  570. 20:02change it. I think this is so important
  571. 20:04and I think people are just totally
  572. 20:05missing the point um right now with just
  573. 20:09you know following big things and
  574. 20:10starring everything on on um GitHub and
  575. 20:13thinking they have to keep up and be
  576. 20:14trying everything. Really what you have
  577. 20:16to do is understand the core concepts
  578. 20:18and how we can use coding agents to be
  579. 20:20doing the things that everyone's so
  580. 20:22excited about. Um, and then just making
  581. 20:24it work for you to give you actual
  582. 20:26productivity. And I will argue that what
  583. 20:28I've done here is actual productivity.
  584. 20:31Like I'm watching three agents crush
  585. 20:34through features on my website working
  586. 20:36in their software factory.
  587. 20:39Damn, what a world we live in. Okay, our
  588. 20:42sonnet agent is in review and it just
  589. 20:44kicked off all of the reviews. And I
  590. 20:47think this is probably my favorite part
  591. 20:48of the UI, how we can actually watch
  592. 20:50these results come in. Oh, okay. Our
  593. 20:55blog reading time features getting
  594. 20:57pushed through as well.
  595. 21:00Now, the blog reading feature actually
  596. 21:02does have a UI and a UX component to it,
  597. 21:05whereas these other features didn't so
  598. 21:07much. So, I'm curious if maybe it will
  599. 21:09get rejected. I doubt it. I mean, we'd
  600. 21:12use Opus to build it. What would be kind
  601. 21:14of crazy is if we tested out like a
  602. 21:16really dumb agent as the builder and
  603. 21:18then got Opus to keep like fixing and
  604. 21:20judging the dumb agent. That would be
  605. 21:21pretty fun. Uh oh, okay. Needs human.
  606. 21:24The 404 one needs human. I have a
  607. 21:26feeling we're going to need to lax the
  608. 21:28guard rails. I think like all of these
  609. 21:30things Claude is going to figure out
  610. 21:32some reason to get me to look at them.
  611. 21:34So that's something we could work on.
  612. 21:35That would be a way to work on our
  613. 21:36factory, make it more efficient. The
  614. 21:38approver agents taking a long time.
  615. 21:40Okay, it needs human as well for that
  616. 21:42one. This is actually legit. Um Claude
  617. 21:44doesn't want to invalidate my blog
  618. 21:46render cache. That'll take a little
  619. 21:48while to run when it when we merge this
  620. 21:51feature. So that's fair. As for the 404
  621. 21:54reading block, um I'm a little confused.
  622. 21:58We seem to have approved this, but there
  623. 22:02says there's nothing for the human, but
  624. 22:04it still needs a human call. So I'm
  625. 22:07going to investigate that. Why did this
  626. 22:09not get automatically approved and
  627. 22:11merged? Merge only runs when the main
  628. 22:13checkout is clean and on main here we
  629. 22:16have some stuff. So that failed. Okay.
  630. 22:19So the software factory is kind of being
  631. 22:21dumb. Um we have changes to the backlog.
  632. 22:25So it couldn't um commit that. Those
  633. 22:27changes are inevitable whenever we're
  634. 22:30using the software factory. Therefore
  635. 22:32they should not be blockers. Now of
  636. 22:34course it's unfortunate that I'm talking
  637. 22:36to Sonnet to do this. I mean, Sonnet's
  638. 22:38certainly quite capable, but I would
  639. 22:40want to use my best agent to be working
  640. 22:42on my factory. It's like the most
  641. 22:44important thing in my codebase, right?
  642. 22:46Yeah. So, it's specifically saying this
  643. 22:48file is okay if there's changes in it.
  644. 22:51So, that's cool. So, hopefully that
  645. 22:52would work properly next time. Um, but
  646. 22:56let me bring these in. So, I've got two
  647. 22:57things to approve and I can do that now.
  648. 23:00There's this factory approve command,
  649. 23:01but I could just be like, okay, merge it
  650. 23:04in now. So, you know, if I'm being real,
  651. 23:07like that's how I would, you know,
  652. 23:08that's how I would do this. But in the
  653. 23:10idea of the factory is that we've
  654. 23:12actually got inputs coming from things I
  655. 23:14don't control. Like I'm not necessarily
  656. 23:16spinning up an agent in a software
  657. 23:17factory. Maybe it's starting from other
  658. 23:20triggers. I'm going to talk about that
  659. 23:21in just a moment in my closing thought.
  660. 23:24Um, but let me finish this up. So, I've
  661. 23:25I've merged this in. So, we actually
  662. 23:27updated the metadata. So, I can I can
  663. 23:29see that that was merged in over here.
  664. 23:31Um, and meanwhile, this other guy is is
  665. 23:33actually still working. So, adding a
  666. 23:35copy button in code blocks. Yeah, that's
  667. 23:37a little bit maybe a bit of a tricky
  668. 23:39feature clearly. Oh, this is hilarious.
  669. 23:42So, this one won't merge because of the
  670. 23:43changes that I just got Sonnet to make.
  671. 23:46Um, okay. Yeah, update and commit like
  672. 23:48add those separately and then merge this
  673. 23:51in. Oh my god, I can barely speak. Opus
  674. 23:54got me. There we go. That one's done.
  675. 23:56What a beautiful thing. Now, let me go
  676. 23:58back to the mind map. And I'm just going
  677. 24:00to finish everything up by having sort
  678. 24:02of a look at what we would want to do in
  679. 24:03the future going forward for this.
  680. 24:05Here's four things that we could do now
  681. 24:07to get our basic software factory
  682. 24:09running better for us to be more
  683. 24:11effective. And the first thing we
  684. 24:13already did, we added git workree
  685. 24:15support so that we can run several jobs
  686. 24:17in parallel. And we just demoed that.
  687. 24:19Sick, right? Next thing we can do is
  688. 24:21GitHub issues as the intake or other
  689. 24:24things. for example, maybe we can
  690. 24:25trigger this from Slack. Um, GitHub
  691. 24:28issues are a really great sort of way to
  692. 24:31do this because the issue could be
  693. 24:33submitted by many different people. It's
  694. 24:35tracked inside of GitHub and we can sort
  695. 24:37of integrate naturally with GitHub in
  696. 24:39this way. So, we see you see a lot of
  697. 24:41people doing this. There's a lot of
  698. 24:42videos on YouTube to do that. We could
  699. 24:44easily extend our system to to use that
  700. 24:47as an input source for our system. Next
  701. 24:49would be to connect to application
  702. 24:51metrics. For example, we could connect
  703. 24:53to Sentry. This is like a monitoring
  704. 24:55platform for applications and then we
  705. 24:57can pull direct bugs like from our app
  706. 24:59in production and just pull these into
  707. 25:02the software factory to get the relevant
  708. 25:04context about what feature we're trying
  709. 25:05to push through it. This is like really
  710. 25:07critical for software factories and it
  711. 25:09sort of reminds it sort of brings to
  712. 25:11mind these original ideas of software
  713. 25:13factories that were proposed like all
  714. 25:14the way back in the 60s like I talked
  715. 25:16about earlier in the video how we want
  716. 25:18access to like monitoring and metrics
  717. 25:21and other metrics that we might want are
  718. 25:23infrastructure metrics like CPU and
  719. 25:25memory and the reason we might want
  720. 25:26those is so we can keep an eye on things
  721. 25:29after the deployment. the software
  722. 25:31factory can actually handle the post
  723. 25:32deployment as well and keep watching
  724. 25:35things because if we build a feature
  725. 25:37that wrecks our our software, we can
  726. 25:40undo it as part of the software factory.
  727. 25:42It can be still in the loop even after
  728. 25:44it's published, right? It's not done
  729. 25:46once it's been pushed to production.
  730. 25:48This is the future we're going to. This
  731. 25:51is the future we're already in.
  732. 25:54Wow. I kind of got goosebumps like
  733. 25:57actually saying that right now. Thank
  734. 25:58you to Anthropic for sponsoring today's
  735. 26:01video. If you aren't using Claude Code,
  736. 26:03then you can click the link in the video
  737. 26:05description to sign up now. I hope you
  738. 26:07followed along with me, though. I hope
  739. 26:08you were doing this as we went, and I
  740. 26:10hope you have your own software factory
  741. 26:12now for your own project. Now, here's a
  742. 26:14few things that I think we should
  743. 26:15consider, stuff I haven't talked about
  744. 26:17yet in the video. The first one [music]
  745. 26:18is, I guess, the elephant in the room,
  746. 26:20and that's around cost. Like, yes, I
  747. 26:23think this system is probably building
  748. 26:25out really effective features for me.
  749. 26:27I've got good observability. I can go
  750. 26:29into the sub aents. I can see the logs.
  751. 26:32From a data and quality perspective, I
  752. 26:34think it's really good. I think it's
  753. 26:36topnotch, but it's going to cost more
  754. 26:39money. There's no way around it. Anytime
  755. 26:41we're using sub agents, that's could
  756. 26:43incur extra costs because the agent has
  757. 26:46to pass contacts back and forth. So, the
  758. 26:48question is, is this token cost worth it
  759. 26:51for quality? Now, all of this was on my
  760. 26:53plan. This is all part of my clawed
  761. 26:55plan. I'm not using API tokens for any
  762. 26:57of this. That's something to consider. I
  763. 27:00think that's hugely beneficial, right?
  764. 27:02So, uh yeah. So, these are like just a
  765. 27:04couple considerations. Uh despite these
  766. 27:06things, this is absolutely what I'm
  767. 27:09going to do. Like I'm going to be
  768. 27:11building a lot more of these. And so,
  769. 27:12that brings me finally back around to
  770. 27:14the channel. I'm going to end this video
  771. 27:16now, but I want to keep building stuff
  772. 27:18like this. And I've got a few more
  773. 27:20videos about Claude Code coming your
  774. 27:22way. So, I'll link these here when I'm
  775. 27:25finished. If there's anything you'd like
  776. 27:26to see, leave me a comment to let me
  777. 27:28know. Thanks for watching.
  778. 27:47Heat. Heat.

About this transcript

This page contains the full transcript of Build Your Own AI Software Factory with Claude Code by ZazenCodes, generated from the public captions YouTube serves with the video. The transcript has 5,662 words across 778 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.