YouTube2Text

My Super Simple Software Factory (For Agentic Engineers) — Transcript

by IndyDevDan · 6,606 words · 966 segments · language en · Watch on YouTube

Full transcript

  1. 0:00What's up engineers? Any Dev Dan here.
  2. 0:02If you're building systems of agents
  3. 0:04that operate for you, stick around. This
  4. 0:06is going to be a valuable one for you.
  5. 0:08If you're mindlessly vibe coding slop,
  6. 0:10this video is not for you. Click away.
  7. 0:13Thanks. See you next time. Software
  8. 0:14factories are massively misunderstood
  9. 0:17and under appreciated. The key is to
  10. 0:19understand that they're useful for one
  11. 0:21reason alone. They give you more
  12. 0:23leverage on your prompt. That's it. Now,
  13. 0:26the amount of leverage you can get is
  14. 0:28determined by the quality of your
  15. 0:30investment into your software factory.
  16. 0:32At the lowest levels, you chain together
  17. 0:34a few agents to do a little more work
  18. 0:36for you with some minor configuration.
  19. 0:38At the highest levels, you build a
  20. 0:39system of agents plus code that operates
  21. 0:43without you just as well and sometimes
  22. 0:46even better than you would. In this
  23. 0:48video, I'll share my super simple
  24. 0:50software factory to show you how you can
  25. 0:53begin to unlock this [music] leverage.
  26. 0:55This factory is a combination of the big
  27. 0:57ideas we've discussed on the channel and
  28. 0:59inside TAC, [music] except it's been
  29. 1:01rebuilt from the ground up for the next
  30. 1:04phase of agentic engineering. If you
  31. 1:07understand [music] that agents plus code
  32. 1:09beats agents alone, and if you want
  33. 1:11another edge in the age of agents, stick
  34. 1:14around and let's break [music] down the
  35. 1:16super simple software factory.
  36. 1:23There are three key design principles
  37. 1:25I've embedded in the super simple
  38. 1:27software factory. It's observable, it's
  39. 1:29customizable, and it's reusable. All
  40. 1:31things that are essential to operating
  41. 1:33in the age of agents. Observability is
  42. 1:35key. If you can't measure your agents,
  43. 1:37you can't improve them. We can click
  44. 1:39into any AI developer workflow here and
  45. 1:41see exactly what happened in a swim lane
  46. 1:43view. We have Kimmy K3, Gemini 3.6
  47. 1:46Flash, GPT 5.6 Terra, GPT 5.6 Luna. We
  48. 1:49have an abundance of great models to
  49. 1:51work with at different performance speed
  50. 1:53cost tradeoff points. And your software
  51. 1:55factory lets you use all of them
  52. 1:57together. The best engineers now are
  53. 1:59building systems of agents. They're not
  54. 2:00debating which model is the best
  55. 2:02anymore. It's important, but it's less
  56. 2:04relevant every single day. Software
  57. 2:06factories are the system you use to
  58. 2:08scale your compute, to scale your
  59. 2:09impact. I've denoted the three actors of
  60. 2:12value creation. There's me, the
  61. 2:14engineer, there's the code that actually
  62. 2:16executes, and then we have our agent.
  63. 2:18So, this isn't just about running a
  64. 2:20bunch of agents in parallel or in
  65. 2:22different team configurations. It's
  66. 2:24about combining engineers plus code plus
  67. 2:26agents at the right time to get the best
  68. 2:29results. Agents plus code beats agents
  69. 2:32alone. We'll talk about that more later
  70. 2:34on in this video. We can dial into
  71. 2:35anything here. Let's check out kmk3's
  72. 2:37plan. Of course, you can see all the
  73. 2:38events, and we can see all the
  74. 2:40configuration. We can see the compiled
  75. 2:41prompts. So, of course, both the system
  76. 2:43prompt and the user prompt. Your
  77. 2:45software factory depends on your ability
  78. 2:47to prompt engineer, context engineer,
  79. 2:49and of course, harness engineer. We can
  80. 2:51go up to the agent config. You can see
  81. 2:53all the tools. You can see the coding
  82. 2:55agent we use, and you can see the
  83. 2:56specific agent harness we used. This is
  84. 2:58very powerful. This software factory is
  85. 3:00allowing me to do all the
  86. 3:02sub-engineering inside of agentic
  87. 3:04engineering. So, I'm talking about
  88. 3:05prompt engineering, context engineering,
  89. 3:07harness engineering, and what's
  90. 3:08inaccurately called loop engineering,
  91. 3:10which is really all about managing the
  92. 3:12software developer life cycle inside
  93. 3:14your work. Check out the previous video
  94. 3:15where we dismantle loop engineering.
  95. 3:17It's a terrible rebrand of the software
  96. 3:19developer life cycle. I'll link that in
  97. 3:20the description for you. But, let's
  98. 3:21actually run our super simple software
  99. 3:23factory. What does this actually look
  100. 3:24like to execute? Let's open up the
  101. 3:26terminal. I'm using Herder as my
  102. 3:28terminal multiplexer now. I've
  103. 3:30transitioned away from tmux. Great tool,
  104. 3:32but Herder gives me everything I need
  105. 3:34and a little more. It's more
  106. 3:35customizable. It's more configurable.
  107. 3:37It's simpler, and it's faster. I'm going
  108. 3:38to fire up a Pi coding agent. We're
  109. 3:40going to run the new cracked
  110. 3:42state-of-the-art Opus 5 model here. So,
  111. 3:44a key feature of the super simple
  112. 3:46software factory is that it has agentic
  113. 3:49access. That means we can move at the
  114. 3:50agentic speed. I have engineered the
  115. 3:52system to be operated by, of course, us.
  116. 3:55So, if we wanted to, we could boot up
  117. 3:56just commands and we could operate this
  118. 3:58ourselves, right? You can see we have
  119. 4:00the plan workflow, plan build, so on and
  120. 4:02so forth. But, why would we do that when
  121. 4:03we can move at the agentic speed and
  122. 4:05have an agent orchestrate the system on
  123. 4:08our behalf? Let's kick off a workflow.
  124. 4:10We'll run this prompt, break down what
  125. 4:11this app is, its features, and suggest
  126. 4:13three new features to enhance the
  127. 4:14application. And now our agent is going
  128. 4:16to get to work understanding lazy
  129. 4:18loading the remainder of the skills it
  130. 4:21needs to actually operate this. We're
  131. 4:22using Opus 5, so you can see it's ultra
  132. 4:24smart. It's going to write this prompt
  133. 4:25and it's going to kick off this
  134. 4:26workflow. I'm going to open up the tool
  135. 4:28in the background here and you can see
  136. 4:29it's already started to get to work. So,
  137. 4:31this is observable in a live way. So,
  138. 4:33you can see we're running a simple ADW
  139. 4:36scout workflow. We're going to start
  140. 4:37simple and progress to a more complex
  141. 4:40prompt, more complex AI developer
  142. 4:42workflow inside our software factory.
  143. 4:44We're running a single scout agent. We
  144. 4:45can dial into the request. We can see
  145. 4:47what we, the engineer, inputted into the
  146. 4:49system through our agent. It has
  147. 4:51enhanced my prompt to make it even
  148. 4:53clearer, more concise. And of course, I
  149. 4:55prompt engineered that into the super
  150. 4:57simple software factory. And now our
  151. 4:59scouter agent is just running and it's
  152. 5:00going to report its results. So, we have
  153. 5:02a simple two-phase workflow here. The
  154. 5:04request comes in and then we have a
  155. 5:05scouter agent. One engineer, one agent.
  156. 5:08Super simple. We're running the Gemini
  157. 5:093.6 flash model, which is a really,
  158. 5:11really cost-effective model. If we open
  159. 5:13up my model stack here, which is where
  160. 5:15I'm tracking all the models, state of
  161. 5:17the art, we have workhorse and then we
  162. 5:18have lightweight models that run on your
  163. 5:19device. Gemini 3.6 flash is our A-tier
  164. 5:22workhorse model at really cheap prices.
  165. 5:24You can see here this thing operates at
  166. 5:26$1.50 in, which is beating out pretty
  167. 5:28much every model above it, minus Luna.
  168. 5:31Luna is also another great option from
  169. 5:32OpenAI. But, you can see here, I'm not
  170. 5:34really fixating on one model anymore.
  171. 5:36I'm using the right model at the right
  172. 5:38cost, at the right speed, at the right
  173. 5:39price, at the right performance. It's
  174. 5:41about your model stack now. And again,
  175. 5:43the software factory is how you get to
  176. 5:45that. Let's go ahead and open up our
  177. 5:46agent and you can see it has the results
  178. 5:48from our workflow. So, an AI developer
  179. 5:51ran, which is an AI developer workflow,
  180. 5:53all it did was scout the application.
  181. 5:55So, this is a really, really simple
  182. 5:57atomic unit of the software factory.
  183. 6:00Just scouting, just looking for code,
  184. 6:02finding information, presenting ideas.
  185. 6:05So, that prompt was really simple. Break
  186. 6:06down the application, suggest three new
  187. 6:08features, and then we have a definition
  188. 6:10of done. So, that's exactly what my
  189. 6:11agent did. So, super simple. You can see
  190. 6:13here we have three proposed features.
  191. 6:15see that we are building an application
  192. 6:16called Inkwell, where we can basically
  193. 6:19just do some writing. So, this is what
  194. 6:20it looks like. It's a super simple app
  195. 6:22I'm using as a test, as a prototype to
  196. 6:24enhance and to build the super simple
  197. 6:25software factory. We have some nice hot
  198. 6:27keys. We can go into focus mode. We can
  199. 6:29zoom in. We can zoom out. And we can
  200. 6:30create new ideas here whenever we want
  201. 6:32to. Let's go ahead and run a more
  202. 6:34advanced AI developer workflow inside of
  203. 6:36our software factory. I want to really
  204. 6:38show you how powerful this tool can be.
  205. 6:40If we scroll back up here, I've prompt
  206. 6:41engineered this orchestrator agent to
  207. 6:43present all the workflows this software
  208. 6:45factory has. So, you can see everything
  209. 6:47you would expect. The simple prompt, a
  210. 6:48scout, a plan, a build, quality check,
  211. 6:51so running our lints, running our
  212. 6:52formats, our type checks, documentation,
  213. 6:55and then the composite workflows, the
  214. 6:57heavy hitters, the workflows that really
  215. 6:59do the work on your behalf. So, you can
  216. 7:01see plan, build, test, build, review,
  217. 7:03build, test. And then of course, ADW
  218. 7:05simple software developer life cycle,
  219. 7:07the full deal. Okay, so we're going to
  220. 7:09work up to this. Let's go ahead and run
  221. 7:10an intermediate step. If you're a
  222. 7:11technical agentic coding member, this
  223. 7:13all looks very familiar to you. You've
  224. 7:16likely mastered these ideas already.
  225. 7:17Let's go ahead and kick off a new
  226. 7:19workflow. And I want a classic light
  227. 7:22mode. So, I'm just going to paste this
  228. 7:23in. I'm going to run the ADW plan,
  229. 7:24build, test. Add light mode to contrast
  230. 7:26with dark default. Build a design system
  231. 7:28such that we can add other themes in the
  232. 7:30future if we want. So, we'll kick that
  233. 7:31off. And now we're going to get a
  234. 7:32three-step agentic workflow that
  235. 7:34combines code and agents. And so, we'll
  236. 7:37break down the internals of this
  237. 7:38application a little more in a second,
  238. 7:40but we can go ahead and see in our
  239. 7:41observability system this new workflow
  240. 7:44running. So, now we have a planner and a
  241. 7:45builder. You can see here we're going to
  242. 7:46use the ChemK 3. It's a pretty good
  243. 7:48model. It's definitely not outperforming
  244. 7:51Opus 4.8, Soul, any of the really big
  245. 7:53heavy hitters, but it is the first open
  246. 7:55weights model inside of the
  247. 7:56state-of-the-art tier, which is an
  248. 7:57impressive feat. You know, something
  249. 7:59I've noticed that you likely have too.
  250. 8:00This model thinks a lot, so it's not
  251. 8:02actually as fast or as performant as
  252. 8:05Opus or Soul, but it's still an
  253. 8:06incredible model. I've been using this
  254. 8:08model through Fireworks. I've been
  255. 8:10really enjoying using Fireworks, using
  256. 8:12ChemK 3 on it. They have put out some
  257. 8:13really great endpoints. They have a fast
  258. 8:16and a priority serverless tier, US only
  259. 8:18serverless endpoints, one of the first
  260. 8:20to do this, I think. You know, last week
  261. 8:22we talked about this idea, is Anthropic
  262. 8:24stealing your data while you pay for it?
  263. 8:26And we really answered that question in
  264. 8:27depth. Check out that video, I'll link
  265. 8:28that in description if you're
  266. 8:29interested, but Fireworks is responding
  267. 8:31to this very idea of AI ownership. I'm
  268. 8:34not sponsored, I don't take on any
  269. 8:36sponsorships. They're really addressing
  270. 8:37the need for AI model ownership and for
  271. 8:41just cheap serverless inference with
  272. 8:43great optionality without taking all
  273. 8:45your data. Let's see how our software
  274. 8:46developer life cycle is doing. So, you
  275. 8:47can see here we have two agents that
  276. 8:49completed this workflow. Okay, so we're
  277. 8:51adding light mode to contrast the
  278. 8:53default dark mode. So, let's see first
  279. 8:54off, did our agents build the work? You
  280. 8:56can imagine they did. So, here we have a
  281. 8:57light button, we can click it and the
  282. 8:59color inverted. Fantastic. So, how do we
  283. 9:01do that? We built a simple software
  284. 9:03factory that contains a workflow that
  285. 9:05plans work and builds work, and then we
  286. 9:07have, you can see here, two code checks
  287. 9:09that occurred afterward to verify. And
  288. 9:11you can imagine if these verifications
  289. 9:13fail, they'll send that work back to the
  290. 9:15build agent and the build agent will
  291. 9:16correct the mistakes. Okay? So, simple
  292. 9:18enough feature. We didn't need a huge
  293. 9:20workflow for this. We used ChemK 3 just
  294. 9:22to plan and we used Gemini 3 Flash to
  295. 9:24actually build out what was implemented
  296. 9:26in the plan. So, just chain together
  297. 9:28some agents while understanding that all
  298. 9:30this doesn't need to be agentic. This is
  299. 9:33like a really big idea that I think
  300. 9:34engineers are going to miss and miss
  301. 9:36pretty seriously. Right now everyone is
  302. 9:38like very agent pilled. I think that's
  303. 9:41very cool.
  304. 9:43You know, I get it. I definitely
  305. 9:44understand that. But everyone in their
  306. 9:46AI psychosis has seemed to have gotten
  307. 9:48that code cost nothing, literally runs
  308. 9:51at the speed of light, and can be
  309. 9:52changed in instant. And a big thing
  310. 9:54people are re-realizing now is that you
  311. 9:56actually own your code. Whereas we don't
  312. 9:58actually own any of our AI models. We're
  313. 10:01renting them. Code is an essential piece
  314. 10:03for this. You can see I've designed it
  315. 10:04inside the workflow and I'm treating it
  316. 10:06as a first-class citizen here in the
  317. 10:08software factory. I recommend you do the
  318. 10:10same. By the way, I'm not trying to sell
  319. 10:11you my tool. This is going to be free
  320. 10:12for you. Link in the description. This
  321. 10:14is open-source software I'm building and
  322. 10:16sharing. I want to paint the picture
  323. 10:17where things are going because it's not
  324. 10:19just about your single agent. It's not
  325. 10:20just about your multi-agent
  326. 10:22orchestration, your orchestrator. Things
  327. 10:24have scaled quite a bit far beyond that
  328. 10:26and they've scaled into these software
  329. 10:28factories. I'm seeing it in the field.
  330. 10:30I'm seeing it in my discussion with
  331. 10:31engineers and in my own work, what I sit
  332. 10:34down to build now, I'm not thinking at
  333. 10:36the prompt level anymore. I'm not
  334. 10:38thinking at the skill level. I'm not
  335. 10:39even thinking about the teams of agents
  336. 10:41I need, which is super important. I'm
  337. 10:43thinking about the full end-to-end
  338. 10:45developer workflow that I would run to
  339. 10:48get the work done and then I'm building
  340. 10:50that with agents. It's an AI developer
  341. 10:52workflow. And this way I can reproduce
  342. 10:54the success I want to see in my
  343. 10:56applications over and over and over. The
  344. 10:59system is built to be reusable,
  345. 11:00observable, and customizable. Let's talk
  346. 11:02more about customizability and
  347. 11:04reusability. Cuz you can see here full
  348. 11:06observability. This isn't new.
  349. 11:07Everyone's got their agent framework
  350. 11:08that they use to view what's done. But
  351. 11:10let's go ahead and just like look at the
  352. 11:11plan. So what happened here? Planning
  353. 11:13work happened. It has its own detailed
  354. 11:15system prompt and a user prompt. We can
  355. 11:16dial into the agent config. But the
  356. 11:18interesting part here is we're making
  357. 11:20sure that work was accomplished by
  358. 11:22adding deterministic gate checks. So
  359. 11:24this is code, right? Let's be super
  360. 11:26clear about this. This is code that runs
  361. 11:27at the end of the plan step. And then we
  362. 11:29have, of course, a nice cost breakdown
  363. 11:31for this individual agent phase
  364. 11:32execution. And then we have the outputs.
  365. 11:35So, we're handing off contexts by
  366. 11:37creating a shared directory here. You
  367. 11:39can see ADW sessions, and we'll look at
  368. 11:41the code in a second here if you're
  369. 11:42interested. I am, by the way, still
  370. 11:44reading the kind of essential pieces of
  371. 11:47my code base. It's not all of the code,
  372. 11:48but the essential pieces. You definitely
  373. 11:51want to read, especially when you're
  374. 11:52going to be rerunning the code over and
  375. 11:54over and over. Basically, like the more
  376. 11:55you're going to productionize something,
  377. 11:56the more you should dig in and
  378. 11:57understand what's happening. So, you can
  379. 11:59see here, we have a nice handoff.
  380. 12:00There's the plan, created some theme
  381. 12:01tokens, and then this agent has left a
  382. 12:03note for the next agent. Kind of a nice
  383. 12:05way to hand off things. But, this is a
  384. 12:07deterministic type. So, my agents are
  385. 12:09outputting JSON, it's getting formatted,
  386. 12:10it's getting validated. If it fails, the
  387. 12:12agent must properly output it, okay?
  388. 12:14Determinism is wired into every one of
  389. 12:17my agent steps. They must output
  390. 12:18specific types, specific structures. I'm
  391. 12:20looking for consistency in my AI
  392. 12:23developer workflows, in my combination
  393. 12:25of agents plus code. I'm not doing
  394. 12:27one-off work here. I need these systems
  395. 12:28to work reliably over hundreds and
  396. 12:30thousands of executions without me. And
  397. 12:32that's the key we're moving toward here.
  398. 12:34The software factory lets your agents
  399. 12:36run, if you do it well, without you.
  400. 12:38That's the key. And then we have the
  401. 12:39build step. Guess what the build step
  402. 12:40does? We can go into the compile
  403. 12:41prompts, go into the user prompt build
  404. 12:43task. There's the actual prompt, and
  405. 12:45here's the previous envelope. This is
  406. 12:47the work that was handed off from the
  407. 12:48planner. So, it has all the context it
  408. 12:50needs, it has the task, it has its
  409. 12:52response report format. If you've been
  410. 12:54with the channel, you understand this
  411. 12:56prompt format very well. Instructions,
  412. 12:58variables, workflow report. itself,
  413. 13:01again, keeps chaining its output to the
  414. 13:03next agent or to whatever agent's coming
  415. 13:04next. Changed files, just tracking what
  416. 13:06you would want to track in a build
  417. 13:08agent. Of course, we can see all the
  418. 13:09tool calls, and we can really understand
  419. 13:11the system. If you don't measure it, you
  420. 13:13cannot improve it. That's the super
  421. 13:14simple software factory. It is quite
  422. 13:16simple. I'm making a couple key moves
  423. 13:18here. I'm making sure that we directly
  424. 13:20address engineer work incoming prompts.
  425. 13:22I'm making sure that we address our code
  426. 13:24directly. And then, of course, we can
  427. 13:26customize the agent as much as we need
  428. 13:28to to get the work done. So again, code
  429. 13:30plus agents beats agents alone. A lot of
  430. 13:32engineers are just going to start
  431. 13:33throwing everything into skills,
  432. 13:35everything into a bunch of agents. Down
  433. 13:37the road you will pay for it. You'll pay
  434. 13:38for it in some way, whether it's
  435. 13:40mistakes, hallucinations, which I know
  436. 13:42is becoming less and less of an issue as
  437. 13:44these models progress. It's not just
  438. 13:45that, right? There is cost, there is
  439. 13:47speed, there is performance. There are
  440. 13:49just things you likely are having your
  441. 13:51agents do like execute tests that you
  442. 13:53could run into deterministic paths of
  443. 13:55code and then if something goes wrong,
  444. 13:57hand it back to your agent. Tell me why
  445. 13:58you would need to pass successful
  446. 14:00passing tests back into your agent's
  447. 14:02context window. Again, this is just one
  448. 14:04more advantage you get by understanding
  449. 14:06what's actually going on. And again,
  450. 14:08that's that fine line between vibe
  451. 14:09coding and agentic engineering. Let's
  452. 14:11scale this up. Let's do something more
  453. 14:13interesting. I want to dive into how
  454. 14:15this tool is customizable and
  455. 14:16configurable and now I'm going to be
  456. 14:18using this tool for my products, for my
  457. 14:20code bases. We're going to run the full
  458. 14:21software developer life cycle. You know,
  459. 14:22you can imagine I've invested more time
  460. 14:24into this AI developer workflow. We're
  461. 14:26going to give the Inkoo editor a
  462. 14:27side-by-side markdown viewer. In the app
  463. 14:29right now, there's no actual markdown
  464. 14:31render. We would love to have this for
  465. 14:33writing. You need to emphasize things,
  466. 14:34you need to underscore things, blah blah
  467. 14:35blah. Let's go ahead and get this added.
  468. 14:37Just kind of detailing that we want a
  469. 14:38switcher, cover it with tests,
  470. 14:40togglable. And then we have this
  471. 14:41additional instruction here. Use the
  472. 14:43state-of-the-art configuration for this
  473. 14:45work. So of course, with the system we
  474. 14:47can customize every single model, every
  475. 14:49single role, every single agent harness,
  476. 14:51every single tool, so on and so forth.
  477. 14:53We'll just go ahead and watch our agent
  478. 14:54boot this up so you can see us doing a
  479. 14:55little bit of research, understand the
  480. 14:57system, AWS DLC. There's a frontier
  481. 15:00config we'll look at in just a second.
  482. 15:01Confirm the roster and now it's going to
  483. 15:04get this kicked off with the SDLC and
  484. 15:07that prompt that we're running. So
  485. 15:09that's that. Now we can go back into our
  486. 15:10observability system and we can see this
  487. 15:12running. Simple SDLC. And of course, as
  488. 15:14our planner, we have the cracked Claude
  489. 15:16Opus 5. Shout out to Anthropic for
  490. 15:18putting out another game breaking model.
  491. 15:20It's state-of-the-art. The one thing I
  492. 15:21will say is it's reportedly above Fable
  493. 15:245. I'm not quite feeling that and maybe
  494. 15:27I'm just getting cost baited here, but I
  495. 15:28still feel like Fable 5 is above Opus 5.
  496. 15:30Comment down below, let me know what you
  497. 15:32think. Does Opus 5 clear Fable 5? I
  498. 15:34don't think so. Regardless, they're all
  499. 15:36kind of in this same frontier level
  500. 15:39model now and so I'm really impressed
  501. 15:40with that. Really a great model and you
  502. 15:42know, the fact that it's half the price
  503. 15:43obviously makes it the model of choice
  504. 15:45over Fable 5. I'm just still using Fable
  505. 15:475 when I can here in the really, really
  506. 15:48critical situations just cuz I think
  507. 15:50it's still a notch above and I've seen
  508. 15:52all the benchmarks. I know that the
  509. 15:54benchmarks are saying Opus 5 beats
  510. 15:55Fable. It's just what I'm feeling with
  511. 15:56my benchmarks and my execution. So here
  512. 15:58we go. We're running state-of-the-art
  513. 15:59workflow here. We want to give our
  514. 16:00Inkwell editor application a markdown
  515. 16:02side-by-side view. You know exactly
  516. 16:04what's going to happen here. We're going
  517. 16:04to run a full software developer life
  518. 16:06cycle. Let me go ahead and show you some
  519. 16:08of the underneath, some of the
  520. 16:09nitty-gritty of this, right? It's
  521. 16:10important to understand how your system
  522. 16:12works so you can improve it properly.
  523. 16:14Let's go ahead and jump into this a
  524. 16:15little bit. I'm going to open up the
  525. 16:16code base here. For code viewing, I am
  526. 16:18using VS Code. There isn't really any
  527. 16:21reason to use anything else right now
  528. 16:22and it's really just for code viewing
  529. 16:24and I do do some typing when I'm writing
  530. 16:25out my prompts inside of VS Code. So all
  531. 16:28of this is wrapped around a single
  532. 16:30skill, SSSF, Super Simple Software
  533. 16:33Factory. The whole idea with this
  534. 16:34application is that you can build these
  535. 16:37workflows where you have agents
  536. 16:39proposing and code disposing, right?
  537. 16:40Your code is always validating what just
  538. 16:43happened. It's always doing the
  539. 16:44deterministic things and the code
  540. 16:46actually controls the entire workflow.
  541. 16:48If you've taken Tactical Agent Coding,
  542. 16:50this is going to look very familiar to
  543. 16:51you. We have an ADWS directory inside
  544. 16:54this code base that contains our AI
  545. 16:56developer workflows that run end-to-end.
  546. 16:58This workflow that's running right now
  547. 17:00is the largest workflow we have here. We
  548. 17:02have the simple SDLC here at the bottom
  549. 17:04and it's relatively concise, right? It's
  550. 17:07180 lines and I know like everyone's
  551. 17:09shocked right now and you can't bear the
  552. 17:10sight of looking at code. Yes, I do
  553. 17:12actually still look at the critical code
  554. 17:14in the main line of my code to make sure
  555. 17:16it is going to scale and to make sure
  556. 17:19that my agents can operate it properly,
  557. 17:21right? Yes, I coordinated it with agents
  558. 17:23to build this out. But, you can see here
  559. 17:24we have phases. So, we're using the
  560. 17:25width statement in Python to denote the
  561. 17:28entrance and the exit of this block of
  562. 17:30code. And this is what makes up the
  563. 17:31individual piece of work that we want to
  564. 17:33do. We have planning here. We just
  565. 17:34search for name. We have our requests,
  566. 17:36which is our engineer type. We have our
  567. 17:38plan. We have the commit plan, build,
  568. 17:40test. If something goes wrong, fix.
  569. 17:42Something goes wrong, review, revise.
  570. 17:44Again, if something goes wrong, document
  571. 17:46and our commit docs. So, we are clearly
  572. 17:48separating agents plus code. And we can
  573. 17:50do this by looking at this. We go kind
  574. 17:52equals. And so, you can see how we are
  575. 17:54separating this out. Let me go ahead and
  576. 17:55just get rid of this. Search, engineer,
  577. 17:57agents, code. And so, we're clearly
  578. 17:58delineating this for ourselves and for
  579. 18:01our agents. Every one of these is an
  580. 18:02agent call to my favorite agent to
  581. 18:04coding tool. If you go into AGW modules,
  582. 18:07I am running the pie coding agent. I've
  583. 18:08got it all configured here. And at the
  584. 18:11end, it's just going to run a pie coding
  585. 18:12agent with all the customization. But,
  586. 18:14let's simplify this and just look at the
  587. 18:15configuration. So, super simple config.
  588. 18:18And this is what really lets us
  589. 18:19customize our agents and their core
  590. 18:21four. Context model prompt tools. Always
  591. 18:23the same thing. If you match the core
  592. 18:25four, you'll master the agent. If we
  593. 18:26look at our planner, you can see here in
  594. 18:28the base config, we're running that Chem
  595. 18:30E K3 through fireworks, thinking high,
  596. 18:32nice purpose. We have our prompt
  597. 18:34engineering section. So, the system and
  598. 18:36user prompt. And then we have the
  599. 18:37harness engineering. On the channel,
  600. 18:39we've been breaking down, looking at
  601. 18:41different types of pie coding agent,
  602. 18:43custom agent harnesses. We've been
  603. 18:45building them and we've been sharing
  604. 18:46them. Mostly in public, some private or
  605. 18:48tactical agent to coding and agenda
  606. 18:50horizon members. But, ultimately, what
  607. 18:52we're doing here is putting together, as
  608. 18:54mentioned, the core four for every
  609. 18:55specific agent we want to run throughout
  610. 18:57the software developer life cycle. So,
  611. 18:59this pattern repeats. Here's the
  612. 19:00builder. Same thing. Specify the tools,
  613. 19:02specify the prompts, specify how your
  614. 19:05agent is going to operate. Specialize
  615. 19:07it. We've been talking about building
  616. 19:08custom agent harnesses. We're doing that
  617. 19:10because every single agent can have
  618. 19:12their own unique agent harness with
  619. 19:13specific abilities, all right? So, you
  620. 19:15can see here, I've added sub-agent
  621. 19:17support to the planner, and I've also
  622. 19:19added it somewhere down here for the
  623. 19:20scouter. So, if it needs to, it can spin
  624. 19:22up its own sub-agents. Just one simple
  625. 19:24example of how you can build out and
  626. 19:26specialize the agent harness that your
  627. 19:28individual agent executes. The
  628. 19:30implications of this are massive. One of
  629. 19:32these agent harnesses, as we've talked
  630. 19:34about on the channel, can do
  631. 19:35extraordinary things. So, that's the
  632. 19:37configuration file. The system reads
  633. 19:38this in. Where the real magic is is
  634. 19:40inside combining this with the actual
  635. 19:43ADW that runs, right? So, let's go to
  636. 19:44the simplest possible ADW, right?
  637. 19:46Prompt. All this does is taking some
  638. 19:47inputs, and it runs and executes the
  639. 19:50actual agent. We have our pH call. It's
  640. 19:53an agents call, and if we search our
  641. 19:55phase here, it should be a class that we
  642. 19:57can look at here. It's going to just do
  643. 19:58validation for us, and then it boils
  644. 20:00down into an agent run call. So, if you
  645. 20:02look at our call, our agent is going to
  646. 20:04then start executing, and this does
  647. 20:06exactly what you think it does. This is
  648. 20:07going to run right down into our agent
  649. 20:10pi and run the run workflow. We can just
  650. 20:12collapse everything to take a quick look
  651. 20:14at this. There's run, so on and so
  652. 20:15forth. And you can see there, we're
  653. 20:16setting up the pi coding agent with our
  654. 20:18exact params, mode, JSON, provider, blah
  655. 20:21blah blah blah blah. No need to overfix
  656. 20:22it on the code. Just wanted to kind of
  657. 20:23share that. What we're doing here is
  658. 20:25really simple. We're staying in
  659. 20:27distribution. What does that mean? I'm
  660. 20:28not inventing a DSL. The only customized
  661. 20:31thing I have here is this config file,
  662. 20:32which is just YAML. With the super
  663. 20:34simple software factory, we're just
  664. 20:35staying in distribution of what these
  665. 20:37models know, what they're trained on.
  666. 20:39It's just Python. It's just YAML. It's
  667. 20:42just agents. And it's just a skill.
  668. 20:44Let's go and check on our workflow.
  669. 20:45There we go. All finished. Here's that
  670. 20:47like high-level view. Here's what it all
  671. 20:49looks like put together. And so, you can
  672. 20:50see how this could be really, really
  673. 20:51valuable. First off, full model
  674. 20:53customization. We can put whatever we
  675. 20:54want wherever we want it. We have a
  676. 20:56great cost analysis. We know how much
  677. 20:58some of our work costs. Full agent
  678. 21:00configuration. And then we have phased
  679. 21:02work. It's plan, build, review. One
  680. 21:04agent, one prompt, one purpose. We're
  681. 21:06keeping everything nice and focused. If
  682. 21:08we need to, we can restart the workflow
  683. 21:10with the session ID, with the ADW ID.
  684. 21:13Communicating this idea is going to
  685. 21:15differentiate your engineering from the
  686. 21:16rest of the pack. It's not just agents
  687. 21:18here. We have deterministic checks to
  688. 21:20validate the work and proceed from
  689. 21:22there. There's a lot missing from this.
  690. 21:23There's a lot you can do with this. For
  691. 21:24instance, I'm just running this on the
  692. 21:26main branch. Of course, you're going to
  693. 21:27want a branch. You're going to want to
  694. 21:29put your agent in a sandbox. You're
  695. 21:30going to want to isolate the agent run,
  696. 21:33and then there's going to be a merge
  697. 21:34step later on. The whole point here is
  698. 21:35that this is an observable,
  699. 21:37customizable, reusable system that we
  700. 21:39can modify at the speed of agents, at
  701. 21:42the agentic speed. We can just dial into
  702. 21:44this. This is just committing the plan.
  703. 21:46Very simple. Here, we're actually
  704. 21:47running the test suite right after the
  705. 21:49agent is building. So, if something goes
  706. 21:51wrong, we feed it right back into the
  707. 21:52agent, right? No problems though. So,
  708. 21:54then we go on to the review step. So,
  709. 21:56what's the review doing? Our review
  710. 21:57agent is asking the question, is what we
  711. 21:59built what we asked for? You can see our
  712. 22:01configuration, classic cracked Opus
  713. 22:03model. Everything's looking good there.
  714. 22:05So, then we continue to committing, and
  715. 22:07then we diff the changes. Why did we
  716. 22:09diff the changes? Because we're
  717. 22:10documenting the work done for the next
  718. 22:12engineer, and more likely the next set
  719. 22:14of agents coming into this work. And so,
  720. 22:16you can see, it's very concise. It's
  721. 22:18doing a streamlined set of things, and
  722. 22:20this gives us extreme flexibility. We're
  723. 22:22not just throwing a state-of-the-art
  724. 22:23model. We're not just torching tokens.
  725. 22:25We're not just token maxing. We're
  726. 22:26thinking about what our system needs to
  727. 22:28win over and over and over, hundreds and
  728. 22:30thousands of runs. This is the art and
  729. 22:32science of agentic engineering. It's not
  730. 22:35just about the one thing you're doing
  731. 22:36right now. It's about the hundredth
  732. 22:38time. It's about the thousandth time,
  733. 22:40and it's about scaling your compute to
  734. 22:41scale your impact in a way that is high
  735. 22:44leveraged, in a way that gives you
  736. 22:46flexibility, optionality, extensibility.
  737. 22:48And so, that's the core idea here. It's
  738. 22:50super simple.
  739. 22:51Literally called the super simple
  740. 22:52software factory. For context, I needed
  741. 22:55to kind of rebuild a reusable system for
  742. 22:58building agent available workflows for
  743. 23:00my work coming up here for the next
  744. 23:02phase of agentic engineering. It's very,
  745. 23:04very clear that there's a new cohort of
  746. 23:07engineers that are just building these
  747. 23:08now. It's stacking up code plus agents,
  748. 23:10and then when you need to human in the
  749. 23:12loop, there's many next directions to
  750. 23:14take that. Maybe that's a great place
  751. 23:15for us to go next. Like, where does this
  752. 23:17go from here? This system was designed
  753. 23:18to be fully customizable at the atomic
  754. 23:21level. Let's first validate that that
  755. 23:22feature was built out. Let's go ahead
  756. 23:23and refresh this. Let me go and get that
  757. 23:25split view. There's our preview. You can
  758. 23:27see there's that line there. Let me try
  759. 23:29an underscore here. Okay, very good.
  760. 23:30Let's try a bullet point. Low. Another
  761. 23:32bullet. Great. Let's try a list. Here's
  762. 23:34a list item. Great. Let's try a header.
  763. 23:37H2 item. Very good. You can see that
  764. 23:39this is working pretty expected out of
  765. 23:41these models. You can go into full
  766. 23:42preview mode and just view it here.
  767. 23:43Edit, split, so on and so forth. That's
  768. 23:45working very well. Again, SDLC kind of
  769. 23:47built this out, validated. These models
  770. 23:49are more than good enough to prompt
  771. 23:50this. In fact, this is something, again,
  772. 23:52you probably could have just thrown in a
  773. 23:53single agent and got the work done. I
  774. 23:54fully acknowledge that. I know a lot of
  775. 23:56engineers watching this is just going to
  776. 23:57be like, at what scale do you need
  777. 23:59something like this? This probably isn't
  778. 24:00the scale. We're getting close, but this
  779. 24:02will absolutely save you time at some
  780. 24:04point. Cuz at some point your system
  781. 24:05will get so large, so complex, that
  782. 24:07validation will be the only way forward.
  783. 24:09And whether you hand that to an agent,
  784. 24:11it's going to be more expensive across
  785. 24:13some dimension, likely time or cost, you
  786. 24:15will pay that cost. Meanwhile, myself
  787. 24:17and other engineers are going to be
  788. 24:19scaling the compute to scale their
  789. 24:20impact in a high leverage way by
  790. 24:22combining engineers, agents, and code,
  791. 24:25specifically code plus agents. I can
  792. 24:27already see the comments
  793. 24:29>> [laughter]
  794. 24:29>> in the comment section. Please think a
  795. 24:31little further than that. Think about
  796. 24:32scale. Think about production. Think
  797. 24:34about standards. Think about the
  798. 24:36thousandth run, not the first, not the
  799. 24:39tenth. So, you know, like, where can we
  800. 24:40take this system next? What comes next
  801. 24:42in a system like this? So, this super
  802. 24:43simple software factory is designed to
  803. 24:45be an atomic tool. Everything is
  804. 24:47composable, and I've taught an agent
  805. 24:49exactly how to operate this. So, how is
  806. 24:51this tool so extensible and reusable?
  807. 24:54So, Ducklog skills SSF. What I've
  808. 24:57actually here is a skill that allows an
  809. 25:00agent to operate this system. And what
  810. 25:03I've built here is a skill that allows
  811. 25:05this software factory to be built into
  812. 25:07new code bases. There's going to be a
  813. 25:08link in the description. You can clone
  814. 25:10this code base, and and then you can run
  815. 25:12the {slash} install command. And so,
  816. 25:14{slash} install is going to run this
  817. 25:15workflow, where the agent is actually
  818. 25:17going to copy everything into the code
  819. 25:19base. So, this is a fully reusable
  820. 25:21system. It's designed to be deployed
  821. 25:23across your code bases. You know, a lot
  822. 25:25of stuff I bring to the channel and
  823. 25:26share on the channel, I need myself. I
  824. 25:28need a reusable, extensible,
  825. 25:30customizable AI developer workflow
  826. 25:31system that allows me to build software
  827. 25:33factories. So, I built it. I have and
  828. 25:35will invest a lot of time into this
  829. 25:37specific tooling because it has the
  830. 25:39properties that I mentioned, observable,
  831. 25:41customizable, reusable. Out of the box,
  832. 25:43it gives you what you need, and then you
  833. 25:44can see all the cookbook recipes here.
  834. 25:46How I like to design my skills is
  835. 25:47there's a central idea, super simple
  836. 25:49software factory, deploy and operate
  837. 25:51repeatable agents plus code in any code
  838. 25:53base. So, that's the kind of core idea.
  839. 25:55And then the cookbook is the kind of
  840. 25:56lazy loaded actions, the incrementally
  841. 25:59adoptable contexts that the agent can
  842. 26:02look at to execute, right? So, we have
  843. 26:03this table here, we can go ahead and go
  844. 26:04into render view, and you can see the
  845. 26:05requests routing. So, the requests set
  846. 26:07up the factory in a new repo, create an
  847. 26:09ADW, modify an ADW, create the config,
  848. 26:12set up a new agent roster, so on and so
  849. 26:14forth, right? I've taught an agent how
  850. 26:15to operate the super simple software
  851. 26:17factory. And this is agentic access, one
  852. 26:19of the five key pillars of agentic
  853. 26:21engineering. You are moving too slowly
  854. 26:23if you are doing pretty much anything by
  855. 26:25hand unless you're building the system
  856. 26:27that builds a system. That's exactly
  857. 26:29what I've done here. That meta concept
  858. 26:30is going to reign true throughout the
  859. 26:32age of agents. If you're doing something
  860. 26:34you can teach your agents to do, why
  861. 26:36aren't you? This system here is a great
  862. 26:37example of that, super customizable. Of
  863. 26:39course, it's got a bunch of templates in
  864. 26:41here. It uses all this to create that
  865. 26:43first version inside your code base, and
  866. 26:45then of course, after that, the whole
  867. 26:46goal is that you should customize it to
  868. 26:48make it your own. The tests I have set
  869. 26:50up here are not the tests you need. The
  870. 26:51plan quality is not the plan quality you
  871. 26:54need, so on and so forth. It's designed
  872. 26:55to be a customizable. It's atomic.
  873. 26:57Software factories give you more
  874. 26:58leverage on your prompt. How well is
  875. 27:01based on the effort, time, and
  876. 27:03investment you put into your AI
  877. 27:05developer workflows, which make up your
  878. 27:07software factory. There's a ton of
  879. 27:08engineering work you just don't need to
  880. 27:10be doing anymore. That continues to be
  881. 27:12true. So, why are you? This is something
  882. 27:14I think about. This is something I tell
  883. 27:16myself and other engineers when I'm
  884. 27:18sitting here working, prompting back and
  885. 27:19forth like an idiot. So, it's time to
  886. 27:21shift. It's time to make that next jump.
  887. 27:22Build your software factory. Deploy it
  888. 27:24into the cloud. Set up sandboxes so that
  889. 27:27you can push all the 80% junk work of
  890. 27:30engineering away off to your agent stack
  891. 27:32in a reliable, repeatable way so that
  892. 27:34you can focus on the real net new hard
  893. 27:36work your agents can't do without you.
  894. 27:38So, feel free to use the super simple
  895. 27:39software factory. Pull in ideas. Steal
  896. 27:41it. Roll it into your own software
  897. 27:42factory. It's here for you. Again, every
  898. 27:44single week my goal here on the channel
  899. 27:46is to bring you ideas you've seen,
  900. 27:48permutations of ideas, some net new
  901. 27:50ideas, and some just raw, hitting
  902. 27:52examples of how you can use agents and
  903. 27:54code, how you can engineer to scale to
  904. 27:57get your work done, right? To build
  905. 27:59valuable software. At the end of the
  906. 28:00day, that's what it's all about. Those
  907. 28:02who can orchestrate intelligence at the
  908. 28:04highest level to accomplish work are
  909. 28:06winning. They're just in the lead right
  910. 28:08now, and the software factory is the
  911. 28:11next permutation. It's the next step of
  912. 28:13this. It's not just about agents. It's
  913. 28:14about agents plus code. We're getting to
  914. 28:17a key point in the age of AI where if
  915. 28:19you're not running a software factory,
  916. 28:20you're going to be behind. We're just at
  917. 28:22another branding point here, and I want
  918. 28:24to make sure I say it clearly and
  919. 28:25concisely to you so you're aware.
  920. 28:27Building these out, it takes time. I
  921. 28:29wanted to give you a head start here
  922. 28:30with the super simple software factory.
  923. 28:32Always remember this. Vibe coding is not
  924. 28:34knowing how your system works and not
  925. 28:35looking. Agentic engineering is knowing
  926. 28:37how your system works so well you don't
  927. 28:40have to look. You want to rise with the
  928. 28:42ceiling of agentic engineering, not the
  929. 28:44floor of vibe coding. If you want a
  930. 28:45complete understanding of how to build
  931. 28:48AI developer workflows, which make up
  932. 28:50your software factory, check out
  933. 28:51Tactical Agentic Coding. Link in the
  934. 28:54description for you. You're going to
  935. 28:55scale far beyond AI coding and Vibe
  936. 28:57coding with advanced agentic
  937. 28:58engineering. So powerful, your code base
  938. 29:00runs itself. This is what the name of
  939. 29:02the game is right now in engineering.
  940. 29:04This is for the top 20% of engineers. If
  941. 29:07you're a noob, again, if you're Vibe
  942. 29:08coding, I'm sorry, this just isn't for
  943. 29:10you. But if you're doing real
  944. 29:11engineering work, check this out. This
  945. 29:12is going to be ultra valuable. All the
  946. 29:14ideas embedded in here are going to be
  947. 29:16the ideas to help you advance your
  948. 29:17career. Thousands of engineers have
  949. 29:19taken this. I built this by hand from
  950. 29:21scratch. If you don't want to pay to
  951. 29:23play, that's totally fine. Check out the
  952. 29:24links in the description. The Super
  953. 29:26Simple Software Factory is going to be
  954. 29:27completely free and available to you.
  955. 29:29Also, if you want to understand why I
  956. 29:30didn't mention loop engineering once in
  957. 29:32this video, watch the first video linked
  958. 29:34in the description. What you're really
  959. 29:35looking for is the software developer
  960. 29:37life cycle, not loop engineering. We go
  961. 29:39deep into that topic and really the idea
  962. 29:42of building software factories in that
  963. 29:43video, so check that out if you're
  964. 29:45interested. You know where to find me
  965. 29:46every single Monday. Stay focused and
  966. 29:48keep building.

About this transcript

This page contains the full transcript of My Super Simple Software Factory (For Agentic Engineers) by IndyDevDan, generated from the public captions YouTube serves with the video. The transcript has 6,606 words across 966 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.