YouTube2Text

My AI Dark Factory Dream Is Dead (Here's What Actually Works) — Transcript

by Cole Medin · 4,400 words · 617 segments · language en · Watch on YouTube

Full transcript

  1. 0:00The AI dark factory is the most
  2. 0:01autonomous form of agentic engineering.
  3. 0:04We give it some kind of higher-level
  4. 0:06document for an epic or release, and it
  5. 0:08figures out how to build and validate
  6. 0:10everything and ship it straight to
  7. 0:12production. If this could be reliable,
  8. 0:14it would be the dream for building any
  9. 0:16software. But, to be a bit dramatic for
  10. 0:19effect, my hopes and dreams have been
  11. 0:20crushed here. As I've been experimenting
  12. 0:23building my own dark factory, I've come
  13. 0:24to the conclusion this is just simply
  14. 0:26not the way to do things. But, what is
  15. 0:29actually working for me, what I've
  16. 0:30turned this into, doesn't have to be
  17. 0:32that much different. I'm not actually
  18. 0:34losing that much autonomy. And so,
  19. 0:35that's what I want to cover with you
  20. 0:37right now. And let me tell you, it has
  21. 0:38been a fascinating journey to get to
  22. 0:40where I am now. There's so many lessons
  23. 0:41I want to share with you in this video
  24. 0:43for why the dark factory doesn't work
  25. 0:45and why what I'm building now actually
  26. 0:47does. And so, for the dark factory, even
  27. 0:49if we had AGI and the best LLMs in the
  28. 0:52world, this still wouldn't work. We need
  29. 0:53a system that looks more like this. And
  30. 0:56yeah, I know, it looks complicated, but
  31. 0:57I'll break it down nice and simple for
  32. 0:59you right now. And it's important to
  33. 1:00understand this kind of workflow
  34. 1:02because, let's face it, the way we work
  35. 1:04with coding agents, even in the next 6
  36. 1:06months, isn't going to look the same.
  37. 1:07Because as harnesses and LLMs get better
  38. 1:10and better, we need to give them more
  39. 1:11autonomy if we want to ship faster. And
  40. 1:13so, I truly believe in the next couple
  41. 1:15of years every person and company is
  42. 1:17going to be moving towards a system that
  43. 1:19looks like this. And even if you don't
  44. 1:21want to go and build a full AI software
  45. 1:23factory right now, which yes, that is
  46. 1:25different than a dark factory, it's
  47. 1:27still good to see what the full process
  48. 1:29looks like. There's a lot of lessons I
  49. 1:30have built in here that you can even
  50. 1:32just incorporate for your current
  51. 1:33agentic coding workflows. But overall,
  52. 1:36this is how I'm seeing the industry
  53. 1:37converge. As I work with companies and
  54. 1:39build this sort of thing, talk to people
  55. 1:41that are creating their own, everyone is
  56. 1:43building a system that is becoming more
  57. 1:45and more similar over time. So, this
  58. 1:47really is the future. This is the next
  59. 1:49step for agentic engineering. Okay, so
  60. 1:51before I get into anything else, I need
  61. 1:53to cover why the dark factory doesn't
  62. 1:54work as much as I wish it did. And so,
  63. 1:57the number one goal here is plain and
  64. 1:59simple. We just want to make our coding
  65. 2:00agents as autonomous as possible. Now,
  66. 2:03it's not vibe coding because we're
  67. 2:04putting a lot of effort up front
  68. 2:07engineering our harness. And so, yeah,
  69. 2:09we're trusting the agent at runtime when
  70. 2:10it's building the software, but it's
  71. 2:12only because we put a lot of our
  72. 2:14engineering effort into setting it up
  73. 2:16for success. And so, we define the exact
  74. 2:18process it goes through as it builds
  75. 2:21everything.
  76. 2:22Now, for my own dark factory, I started
  77. 2:24it as a public experiment more towards
  78. 2:26the start of the year. Now, watching the
  79. 2:28factory itself run is very boring cuz
  80. 2:30we're just waiting for agents to churn
  81. 2:31through work. But like I said, we're
  82. 2:32putting a lot of that engineering effort
  83. 2:34into the harness up front. So, that is
  84. 2:36what I showed with YouTube videos and
  85. 2:37live streams that I did. It was a blast
  86. 2:39and I built a pretty successful dark
  87. 2:42factory. I covered this a lot back then,
  88. 2:44but my main inspiration for building the
  89. 2:46dark factory was Dan Shapiro's blog
  90. 2:47post. He's covering the five different
  91. 2:49levels of autonomy for AI coding here.
  92. 2:51Most of us, we live our day-to-day like
  93. 2:53level three, maybe level four, but level
  94. 2:55five with the dark software factory is
  95. 2:57the ultimate form of autonomy. And so,
  96. 2:59he uses the analogy of driving a vehicle
  97. 3:02where with the dark factory, there's not
  98. 3:04even a steering wheel. You supply the
  99. 3:05final destination or like what you want
  100. 3:07to build, but nothing with the
  101. 3:09directions for how to actually get
  102. 3:11there. And that sounds like the dream.
  103. 3:12Hey Claude, hey Codex, here's a massive
  104. 3:14app I want to build. Go and create it.
  105. 3:16Don't stop until you're done. Make no
  106. 3:17mistakes. I mean, that's kind of what it
  107. 3:18sounds like. And in theory, it seems
  108. 3:21like it would be practical eventually
  109. 3:23because as LLMs get better and better
  110. 3:24and better, we would reach this level of
  111. 3:26autonomy. Like it would actually become
  112. 3:28practical. But there's a big problem
  113. 3:30with this.
  114. 3:31And this big problem relates to exactly
  115. 3:33what I was covering in my last video. As
  116. 3:35LLMs get better and better, they become
  117. 3:37better at building software, but not
  118. 3:39that much better at understanding us and
  119. 3:41our intent. The bottleneck becomes
  120. 3:43getting what you actually want because
  121. 3:45as humans, we're never going to
  122. 3:46perfectly communicate the features we
  123. 3:48want to build, how we want to maintain
  124. 3:50our codebase, those kinds of things. And
  125. 3:52so, I know it sounds kind of cheesy, but
  126. 3:54the dark factory is fundamentally flawed
  127. 3:56because as powerful as LLMs get, they're
  128. 3:58never going to be able to just read our
  129. 4:00minds. Now, I've also heard the
  130. 4:01argument, and I do find this
  131. 4:02fascinating. People say that LLMs are
  132. 4:04going to get so good that their ideas
  133. 4:06and their intent is going to become
  134. 4:08better than our own, and so we will
  135. 4:10fully hand over the development of
  136. 4:11software. But, I just don't buy into
  137. 4:14that. I think we will always need to be
  138. 4:16in the driver's seat because no matter
  139. 4:17how good LLMs are, we're always going to
  140. 4:19understand what other people want. The
  141. 4:21problems we're solving for, our
  142. 4:22customers, we're always going to know
  143. 4:24best. And to truly keep us in the
  144. 4:26driver's seat, we also need to make sure
  145. 4:27that we're a part of maintaining the
  146. 4:28code base. We can't take ourselves out
  147. 4:30of the code entirely because also coding
  148. 4:32agents have a weird way of maintaining a
  149. 4:34code base. They sprawl a lot, and this
  150. 4:37is actually the main argument of Dex
  151. 4:39Horthy. He gave a really popular talk
  152. 4:40why software factories fail a couple of
  153. 4:42months ago, and his main argument is
  154. 4:44code base maintainability. Agents just
  155. 4:46aren't able to keep it up in the way
  156. 4:47that humans do, so we have to be a part
  157. 4:49of that process still. In fact, Dex also
  158. 4:52did the same thing as me where he
  159. 4:53started with the dark factory and had to
  160. 4:55dial it back a bit, adding more human in
  161. 4:57the loop to make it actually realistic.
  162. 4:59Now, when he says software factories
  163. 5:01fail, I think that's more in line with
  164. 5:02my definition of a dark factory, right?
  165. 5:04Like this is the system that doesn't
  166. 5:06work. And so, I've taken all the lessons
  167. 5:08here that I've explained. It's an
  168. 5:09important precursor, and that leads into
  169. 5:11the system I have now that is genuinely
  170. 5:13working extremely well for me. And so,
  171. 5:15thinking about, you know, how can we
  172. 5:16maintain human in the loop while still
  173. 5:18keeping the process as autonomous as
  174. 5:20possible. How do we make it so we
  175. 5:22continue to help maintain the code base?
  176. 5:24How do we keep the agents on track as
  177. 5:26they're ripping through all these
  178. 5:26different tickets? All of this is built
  179. 5:29in. So, there's one big difference here
  180. 5:31between the software factory and the
  181. 5:33dark factory, and I don't want to get
  182. 5:35super caught up on definitions in
  183. 5:36general, but I think there is a really
  184. 5:37important distinction here. So, I'll
  185. 5:39cover that with a more simplified view
  186. 5:41of my software factory, then I'll get
  187. 5:43more into how each step works so you can
  188. 5:44really see how reliability and human in
  189. 5:46the loop is built in. So, the big
  190. 5:48difference between the AI software
  191. 5:50factory and Dark Factory, besides the
  192. 5:52obvious human-in-the-loop that we'll
  193. 5:53talk about at the end, is the scope of
  194. 5:55work that you build into the system and
  195. 5:57how much you plan that with the agent.
  196. 6:00So, with the Dark Factory, we are as
  197. 6:02hands-off as we possibly can be. We
  198. 6:04create just some kind of high-level
  199. 6:06document for this massive application we
  200. 6:08want to create, and we expect the
  201. 6:09factory to split that into issues and
  202. 6:11handle them all one at a time or some in
  203. 6:13parallel. The point is it is entirely
  204. 6:15lights out once we give that more
  205. 6:17broad-level description of what we want
  206. 6:18to create. And we're even letting the
  207. 6:20agent fill in the gap for some of our
  208. 6:22intent, right? And that's the big
  209. 6:23problem I was talking about where we
  210. 6:25don't want the agent to assume our
  211. 6:27intent, even if it is a very capable
  212. 6:29model. And so, what we're doing with the
  213. 6:31software factory is we are giving
  214. 6:34individual releases into the system. So,
  215. 6:37we're still having it rip through a ton
  216. 6:39of issues all by itself, but instead of
  217. 6:41it just being like, "Build the entire
  218. 6:42thing, go." it's let's actually figure
  219. 6:44out like, "What's the next scope of
  220. 6:46work?" Let's figure out the tickets and
  221. 6:48how we want to split up the work. Then
  222. 6:49we let the factory handle it
  223. 6:51autonomously. So, the core loop of the
  224. 6:53factory is still the same. How I handle
  225. 6:55each individual GitHub issue, Jira
  226. 6:57ticket, whatever that might be. I have a
  227. 6:58very similar way of building and
  228. 7:00validating, and it's always going to be
  229. 7:02the issue is the input, the pull request
  230. 7:04is the output. That remains the same.
  231. 7:06It's really a lot of what I do
  232. 7:07beforehand and after the fact that makes
  233. 7:10the factory a lot more human-in-the-loop
  234. 7:12and reliable. And so, with that, let me
  235. 7:13go through the three core parts of the
  236. 7:15factory here. Now, I'm going to stay
  237. 7:16pretty high-level cuz I've spent
  238. 7:18hundreds of hours building this system
  239. 7:20and testing it. Obviously, I could get
  240. 7:22really in the weeds, but I just want to
  241. 7:23generally give you inspiration for the
  242. 7:26process, talk about what's really
  243. 7:27working in the industry as a whole, and
  244. 7:29then let me know in the comments if you
  245. 7:30want me to cover anything specific here
  246. 7:32in a dedicated video.
  247. 7:34Big thanks to Port for backing today's
  248. 7:36video. They're the platform that helps
  249. 7:38teams run their own AI software factory.
  250. 7:40Cuz here's the thing, everything I'm
  251. 7:42showing you in today's video works for
  252. 7:44real engineering teams. I've built it
  253. 7:46myself. But when you start to roll
  254. 7:48factories out to organizations where you
  255. 7:50have hundreds of services, a bunch of
  256. 7:52teams, all these people and agents
  257. 7:53opening up pull requests, you need
  258. 7:55something to help you manage all of it.
  259. 7:57Essentially, a managed software factory.
  260. 7:59Your agents need to know who owns what
  261. 8:01and what standards apply. And you need
  262. 8:02to actually be able to see what your
  263. 8:04agents are shipping as they do so. And
  264. 8:06that is where Port comes in. They map
  265. 8:08your entire environment into what they
  266. 8:10call the context lake. Here your
  267. 8:12services, owners, docs, and standards
  268. 8:15all live in one catalog. You can also
  269. 8:17connect your agents with Port's MCP
  270. 8:19server. Like right here in Cloud Code, I
  271. 8:21did so with a single command. And so now
  272. 8:23my agent can query all my factories, get
  273. 8:26information like who owns what, and get
  274. 8:28other context around the factory like
  275. 8:30its readiness and which checks are
  276. 8:31failing. Cuz we're always going to have
  277. 8:33a standard to test against for our
  278. 8:35factories. And because every pull
  279. 8:36request goes in Port's catalog, I can
  280. 8:38ask my agent about a lot of context
  281. 8:40around my factories, like how many pull
  282. 8:42requests each one is merging per month,
  283. 8:44things like how long my laps are taking
  284. 8:46on average. These insights are very
  285. 8:48valuable if you want to make
  286. 8:50improvements to your factories over
  287. 8:51time. And of course, I can set
  288. 8:52permissions for my agent like this one
  289. 8:54here is just read-only. Port is free for
  290. 8:57up to 15 seats, no credit card required,
  291. 8:59and it's free to try on your own repos.
  292. 9:01I'll have a link to them in the
  293. 9:02description. So before we get into the
  294. 9:04core loop of the factory, there's two
  295. 9:06steps. We need to plan the larger body
  296. 9:08of work we want to accomplish in the
  297. 9:10next release, and then split it into
  298. 9:12tickets so we have bite-size pieces of
  299. 9:14work that can each go through the full
  300. 9:16loop that I'll cover in a second. Now,
  301. 9:18the first step here, the planning, I
  302. 9:20have intentionally left out of the
  303. 9:22factory. Nothing in the harness is going
  304. 9:23to walk you through this because I'm
  305. 9:25assuming you already have your own way
  306. 9:27of planning with your agent. I have that
  307. 9:29myself, you probably do, every company I
  308. 9:31work with. I don't really want to force
  309. 9:33that into the factory. And I want to be
  310. 9:35fully in the loop with the planning. And
  311. 9:37so, you create your PRD, your
  312. 9:39architecture document, whatever you
  313. 9:40usually do in your normal way, and then
  314. 9:42that becomes input to the factory. So,
  315. 9:44we're planning our next release. Now,
  316. 9:47the point of the software factory that
  317. 9:48makes it very different than the dark
  318. 9:49factory is we're not going to try and
  319. 9:51just build the entire application. And
  320. 9:54so, for greenfield, it's just simply a
  321. 9:55proof of concept. You want the factory
  322. 9:57to build for that first release. And
  323. 9:59then for brownfield, because yes, the
  324. 10:01factory works great if you apply it on
  325. 10:03top of existing codebases as well, it is
  326. 10:05simply a small epic that you're going to
  327. 10:07define. Now, I know that small is very
  328. 10:10much left up to interpretation for an
  329. 10:12epic. Every organization has a different
  330. 10:14way that they scope work for an epic or
  331. 10:16release. It's really up to you. My
  332. 10:18general rule of thumb is I want to
  333. 10:19create an epic document that's going to
  334. 10:21get split into anywhere between 10 and
  335. 10:2320 tickets. I know that's a large range.
  336. 10:25Every ticket is going to be a very
  337. 10:27different size, but that's just the best
  338. 10:29estimate I can give you. And so, if you
  339. 10:31build out your factory, you use this
  340. 10:32system, you'll start to just build that
  341. 10:34muscle over time for, you know, that
  342. 10:35size of epic that works well for you.
  343. 10:38But the point in the epic is you want to
  344. 10:39describe both what we are building here
  345. 10:42and what specifically we are not
  346. 10:43building. So, having things that are out
  347. 10:45of scope is also very helpful for the
  348. 10:46factory just to continue to steer it as
  349. 10:49it's churning through the different
  350. 10:50tickets. And then the other thing that
  351. 10:51we define up front that is more unique
  352. 10:53to the factory, but is also just really
  353. 10:55helpful for any agentic coding
  354. 10:57workflows, is defining the holdout
  355. 10:58scenarios. And so, essentially what a
  356. 11:01holdout scenario is is it is a test that
  357. 11:03we're going to run at the end of the
  358. 11:05implementation. But the implementer
  359. 11:08agent, the builder, doesn't actually
  360. 11:10know what the holdout scenarios are,
  361. 11:12right? We're withholding that
  362. 11:13information. So, that way there's no
  363. 11:14bias there. The agent can't overfit the
  364. 11:17implementation to make our testing
  365. 11:19scenarios pass. This is a big thing that
  366. 11:21has boosted reliability in my software
  367. 11:23factory because agents are sycophantic.
  368. 11:25If they know the test scenarios you're
  369. 11:27going to be working with, they're going
  370. 11:28to try to engineer the implementation
  371. 11:30just to get those to pass. And so, a lot
  372. 11:32of times the software isn't really built
  373. 11:34well, it's just built well for those
  374. 11:36tests. And so we don't want the builder
  375. 11:38to know what they are. So we define all
  376. 11:40of that in a document. You create your
  377. 11:42usual PRD architecture doc, whatever,
  378. 11:44and then the factory will take that and
  379. 11:47help you split it into tickets. And as a
  380. 11:48part of this process, it's also going to
  381. 11:50help you do your dependency mapping. So
  382. 11:52figuring out things that can be knocked
  383. 11:53out in parallel, dependencies that we
  384. 11:55have, so we have to, you know, have a
  385. 11:57specific order for the laps that we
  386. 11:59accomplish. The point is the factory is
  387. 12:01going to be applying GitHub labels to
  388. 12:03set up all these dependencies to really
  389. 12:05set the core loop up for success, so
  390. 12:07it's doing things and testing things in
  391. 12:10the right order.
  392. 12:11Now, we don't have to have human in the
  393. 12:13loop here. A lot of what I'm building
  394. 12:14into my software factory is sort of like
  395. 12:16toggles that we have for human in the
  396. 12:18loop, so maybe we don't review PRs
  397. 12:20before we merge into staging or we do,
  398. 12:22or we do review the split before we
  399. 12:24start building or we don't. And so every
  400. 12:26organization, every person has different
  401. 12:28needs, right? And it also depends on the
  402. 12:29complexity of what we're building in
  403. 12:31this specific release. So there might be
  404. 12:32some releases where we're dealing with
  405. 12:34compliance and regulation, we really
  406. 12:36have to make sure things are solid. So
  407. 12:37we want to review the split, we want to
  408. 12:39review the PRs at the end, but we still
  409. 12:41want the system to just churn through
  410. 12:42the issues once we do create them. And
  411. 12:45then there are other releases where
  412. 12:47we're maybe just handling a big backlog
  413. 12:49of bugs. And in that case, maybe we just
  414. 12:51want to entirely trust it to split into
  415. 12:52tickets and merge things right into our
  416. 12:54staging environment, right? Like there's
  417. 12:56there's a sort of dynamic need that we
  418. 12:58have where it's not always human in the
  419. 12:59loop needs to be this place, this place,
  420. 13:01and so I've created the factory to be
  421. 13:03very adaptable. Now, trust me, I wish I
  422. 13:05could really get into what this factory
  423. 13:07looks like in action, showing the runs,
  424. 13:09showing my plans, the splits, and what
  425. 13:10the issue lists look like, but I did try
  426. 13:13recording a version of this video where
  427. 13:14I showed all that, and it got way too
  428. 13:16long. So I have to stay high-level for
  429. 13:18now, but definitely I will be getting
  430. 13:20more into this in future videos. The
  431. 13:22point is here that after the planning
  432. 13:24and the splitting, we have a list of
  433. 13:25GitHub issues, and we're just going to
  434. 13:27rip through them with the core loop of
  435. 13:29the factory doing all the planning and
  436. 13:31validation. So, zooming in here, we
  437. 13:33start with the GitHub issue. We can run
  438. 13:35many of these labs in parallel because
  439. 13:37we did the dependency mapping, we know
  440. 13:38things that we can knock out at the same
  441. 13:40time. So, each time we run a lap, it is
  442. 13:42going to choose a single GitHub issue to
  443. 13:44work on. It'll apply a sort of claim
  444. 13:46label, so other parallel labs don't pick
  445. 13:48it up, and then we make a decision up
  446. 13:50front because something that I noticed
  447. 13:52with the first version of even my dark
  448. 13:54factory is when I did the more
  449. 13:56comprehensive workflow to handle every
  450. 13:59single implementation, there was these
  451. 14:00basic tickets that would take like 30
  452. 14:02minutes or 20 minutes to implement where
  453. 14:04they really didn't need that. And so, I
  454. 14:05make the decision up front actually
  455. 14:07using Jev, is this a simple thing where
  456. 14:09I just have a faster build workflow, or
  457. 14:11is it more complex where we do want to
  458. 14:13have the stages for iteration and things
  459. 14:15like that. And so, it makes the
  460. 14:16decision, but either way, once it's done
  461. 14:18building, it's going to go through the
  462. 14:19validation and code review that also
  463. 14:22understands, you know, based on the
  464. 14:23complexity of the implementation, how
  465. 14:25much time do we have to spend here. And
  466. 14:26so, there's both review and validation
  467. 14:29cuz they are different things.
  468. 14:30Validation means as a part of the
  469. 14:32harness, I give it the tooling to
  470. 14:33actually test the application as a user
  471. 14:35would. So, it replaces a lot of my
  472. 14:37manual testing because we do want it to
  473. 14:39be more autonomous. That's the whole
  474. 14:40point of the software factory. And so,
  475. 14:42clicking buttons, entering text in the
  476. 14:44chat input, whatever it is for the
  477. 14:45application. And then after we do the
  478. 14:48code review, and this is more analyzing
  479. 14:50like since we know that the app is
  480. 14:51working, now let's make sure that it's
  481. 14:52simple, the code is maintainable, it was
  482. 14:54implemented correctly, right? Like those
  483. 14:56kinds of more software engineering
  484. 14:58decisions, the the more classic code
  485. 15:00review. And then for anything that it
  486. 15:02deems incorrect in either one of these
  487. 15:03stages, it sends back to the
  488. 15:05implementation workflow to fix, right?
  489. 15:08So, even for a complex implementation,
  490. 15:10it's just going to go through the simple
  491. 15:11workflow to address any feedback. And of
  492. 15:13course, there are max retries, so we
  493. 15:15don't get stuck in an infinite loop with
  494. 15:17the factory. And so, then once we are
  495. 15:19done with our reviewing and potential
  496. 15:20iterating, then we allow to merge the
  497. 15:23pull request into whatever branch goes
  498. 15:26into our staging environment only if CI
  499. 15:28is green and the reviewed code is good.
  500. 15:31And then for this entire process here, I
  501. 15:33have a manager agent that runs on a
  502. 15:35periodic basis like every two or three
  503. 15:37hours and it's kind of surveying the
  504. 15:40success of all the laps together because
  505. 15:43this is actually the most recent thing
  506. 15:44I've added into the factory. Before I
  507. 15:46had this, these agents are never really
  508. 15:48communicating, right? Like each
  509. 15:49individual lap isn't really
  510. 15:50understanding if dependencies are
  511. 15:52changing or if one pull request is
  512. 15:54getting really stuck. Like if we hit the
  513. 15:56max retries and an agent really is
  514. 15:58getting stuck on a problem, we need
  515. 16:00something that kind of peers over the
  516. 16:01entire process and can realign issues or
  517. 16:04kind of like hijack a workflow and
  518. 16:06finish it if needed. And this has also
  519. 16:09really increased the reliability because
  520. 16:11also I've set it up where it will
  521. 16:13actually alert me if I really do need to
  522. 16:15come into the system. Because as much as
  523. 16:17we want this to be autonomous, it's not
  524. 16:19a dark factory anymore. We are okay with
  525. 16:21once in a while us having to come in and
  526. 16:24review the split or, you know, sort of
  527. 16:26rescue a workflow. It happens once in a
  528. 16:28while. So usually I'll just have my main
  529. 16:29Claude code agent like my second brain
  530. 16:32help me when the manager is alerting me
  531. 16:33of these issues. And then of course the
  532. 16:35holdout scenarios come in because we're
  533. 16:37running those for the app validation.
  534. 16:39And as a part of the factory, I have my
  535. 16:41core context. I call it my mission.md or
  536. 16:43engineering.md. It's the things that are
  537. 16:45out of scope that I never want to build
  538. 16:47and just higher level direction for how
  539. 16:49I want the agent to operate in my code
  540. 16:51base. So kind of that plus the global
  541. 16:52rules together. And I'm making sure that
  542. 16:54I never edit these files. That's a part
  543. 16:56of my review making sure that we never
  544. 16:57touch those because I don't want the
  545. 16:59factory to be able to change its own
  546. 17:01permissions and behavior. And then the
  547. 17:03last thing right here is for every
  548. 17:05single one of these nodes, I'm using
  549. 17:06different models and even different
  550. 17:08providers because this factory I've made
  551. 17:10it very token efficient. We don't always
  552. 17:13need the most reasoning possible. So
  553. 17:15definitely for a lot of the planning
  554. 17:16that I'm doing like right here, I am
  555. 17:18using you know Opus 5.5 or GPT-6 Astra.
  556. 17:21But for a lot of these individual nodes,
  557. 17:23like using Jev to pick the task and then
  558. 17:25for simple maybe just using Sonnet 5.5.
  559. 17:28I mean even for shipping these different
  560. 17:30nodes in here, I don't have to use the
  561. 17:31best model. And so I've done a lot of
  562. 17:33that experimentation optimizing for the
  563. 17:35sake of tokens. I'm running hundreds and
  564. 17:37hundreds of laps every single week not
  565. 17:38hitting my rate limits. All right, and
  566. 17:40then the last part of the process here,
  567. 17:42this is where we come back in to review
  568. 17:44things. And so we build up all the
  569. 17:46issues for the epic within our core
  570. 17:48loop. We merge things into the staging
  571. 17:50environment. This is where we get to
  572. 17:52validate things ourselves cuz we need
  573. 17:53the step to verify our intent. And so we
  574. 17:56test things ourselves and then anything
  575. 17:58that's off like if something wasn't
  576. 17:59built how we actually wanted it to be,
  577. 18:01all we have to do is simply create a new
  578. 18:03issue in the repository and the factory
  579. 18:05will pick that up automatically just
  580. 18:07like it did with the initial split from
  581. 18:09our epic document. And so it's very easy
  582. 18:11for us to sort of test the batch of
  583. 18:13features in the epic and then give batch
  584. 18:15feedback. We we could you know create
  585. 18:17four or five issues, whatever, and then
  586. 18:18it'll just rip through all of these and
  587. 18:20then we can test staging again. And then
  588. 18:21we go to the production once it's right.
  589. 18:24And so the dark factory pretty much goes
  590. 18:25straight to production, but the software
  591. 18:27factory, I found this to be very
  592. 18:29important. So we have true human in the
  593. 18:31loop, but at the same time we get to
  594. 18:32review a lot at once. And so we are
  595. 18:34solving that bottleneck at least
  596. 18:36partially for the human review at the
  597. 18:38end. And then once we're happy with
  598. 18:40what's in production, we can simply just
  599. 18:41go on to the next release and repeat
  600. 18:43this process going through the planning,
  601. 18:45core loop, and the staging and
  602. 18:47production. And that's it. That is the
  603. 18:49AI software factory at a high level. And
  604. 18:51so of course, like I already said, let
  605. 18:53me know if you want me to cover any part
  606. 18:54of this in more detail, but hopefully
  607. 18:56you found this inspirational just take
  608. 18:57aways for your own AI coding workflows
  609. 18:59or if you want to build a software
  610. 19:00factory yourself, it really is the
  611. 19:02future of agentic engineering. And so if
  612. 19:05you appreciate this video, you're
  613. 19:06looking forward to more things on an AI
  614. 19:07software factory and AI coding in
  615. 19:09general, I would really appreciate a
  616. 19:10like and a subscribe. And with that, I
  617. 19:12will see you in the next video.

About this transcript

This page contains the full transcript of My AI Dark Factory Dream Is Dead (Here's What Actually Works) by Cole Medin, generated from the public captions YouTube serves with the video. The transcript has 4,400 words across 617 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.