# The 4-step software factory, clearly explained
**作者**: The Startup Ideas Podcast (SIP)
**日期**: 2026-09-14T17:51:59.000Z
**来源**: [https://x.com/startupideaspod/status/2099556783786467736](https://x.com/startupideaspod/status/2099556783786467736)
---

Mickey came on the Startup Ideas Podcast and showed his entire setup live. Five or six markdown files. Fifteen features building at the same time on one app.
Most people run their agents one feature at a time, on one branch, and watch them overwrite each other's work. Greg puts it at 95% of the time. The cause is almost always the same: two agents, two features, one branch.

A software factory fixes the order of operations. It is model agnostic and harness agnostic, so Codex, Claude Code, and Cursor all work the same way. What makes it a factory is workflow, skills, and domain knowledge written into markdown.

The whole thing runs on an agents.md file. That file is injected into the agent chat before every message you send, so the workflow arrives before your prompt does.
Four steps.
## Step 01 Isolate

Give every feature its own station.
The skill: new feature. Every new feature starts in a fresh git worktree, branched from origin main. Never build on main.
A worktree is a copy of the app. You copy the text, paste it in a new document, work there, and merge back later.
Mickey had four terminal tabs open during the episode. One agent on an email client, one on a Linux computer environment, one on a landing page update. Fifty agents could run at once and stay out of each other's way.
When the work merges back, the worktree gets deleted.
## Step 02 Build

Give the agent a house style for code.
The skill: code structure. It tells the agent to write in a service layer architecture, so a human developer or a fresh agent can read the code cold.
Models get the job done. They also get it done sloppy when sloppy is available. Mickey had GPT 5.6 Sol write working code, then had Fable review it: duplications, functions everywhere, dead code.
> "Just because it works doesn't mean it's written well."
He used this to build a skills repository app, where his other agents connect and store their skills. The agent referenced the code structure skill the whole way through.
## Step 03 Prove

Make the agent show its work.
Two skills here.
Evidence driven testing: the agent records the before state, including the bug in action, then records a working version after the fix.
Before and after: screenshots, for machines that cannot record.
Real example from a PR his agent opened by itself: an admin email page connected to an email service. Before state, the page did not exist. After state, the page works.
When the proof is invisible, the agent measures instead. On a performance PR, one page loaded in 850 milliseconds. After the fix: 60. The real numbers in the PR were 817 and 61.
Here is the part that makes it a factory. The agent checks its own after-shot against the criteria. When the feature is half finished, it walks itself back to Step 02 with no instruction from Mickey.
> "Agents can't pinky promise."
## Step 04 Ship

Let an outside reviewer hold the standard.
The skill: grep loop, running Greptile, a code review agent. Code Rabbit and Macroscope do the same job.
The skill opens the PR with the before and after proof embedded in the description. Visible change, use screenshots. Invisible change, measure numbers or output pairs. Finish by presenting the PR URL.
Greptile leaves a summary, feedback, and a confidence score out of 5. On the PR Mickey showed, the first pass found a pagination issue and a menu spacing problem. Score: 3 out of 5.
The loop runs itself:
3/5 → build → prove → ship → 4/5 → build → prove → ship → 5/5 → Mickey merges
He wrote "grep loop" zero times. The agent runs it, including the grep loop apps variant that kicks in past 10,000 changed lines.
At 5 out of 5 he clicks merge, and the work lands back in the main version of the app.
## The factory analogy
Greg mapped it to a physical plant on the call, and Mickey liked it enough to consider renaming his skills:
- Isolate is a custom order getting its own station
- Build is the assembly line
- Prove is quality control
- Ship is the loading dock, plus the merge, the deploy, and the release notes
The loop back to the line is the same loop a car factory runs when a unit fails inspection.
## Action checklist

- Write an agents.md file with your workflow in it, not a description of your codebase
- Add a new feature skill that forces a fresh worktree off origin main
- Add a code structure skill with one architecture you can read
- Add a proof skill: recorded before and after, or screenshots, or measured numbers
- Connect one code review agent and require a 5 out of 5 before you merge
- Run two features in parallel and watch whether they collide
## Final thought
Notice what never came up: the model and the harness. The factory is workflow, skills, and a little domain knowledge, and it moves with you to whatever model ships next month.
> "A software factory is literally just a bunch of markdown files."
## Checkout the full episode:
- Apple: [https://podcasts.apple.com/us/podcast/building-a-software-factory-that-actually-works/id1593424985?i=1000789595921](https://podcasts.apple.com/us/podcast/building-a-software-factory-that-actually-works/id1593424985?i=1000789595921)
- Spotify: [https://open.spotify.com/episode/0PhjAOlfGN0bMjieApj9km?si=cf915c118e774594](https://open.spotify.com/episode/0PhjAOlfGN0bMjieApj9km?si=cf915c118e774594)
- Youtube: [https://www.youtube.com/watch?v=_LCeJZFIsd4](https://www.youtube.com/watch?v=_LCeJZFIsd4)
## 相关链接
- [The Startup Ideas Podcast (SIP)](https://x.com/startupideaspod)
- [@startupideaspod](https://x.com/startupideaspod)
- [12K](https://x.com/startupideaspod/status/2099556783786467736/analytics)
- [https://podcasts.apple.com/us/podcast/building-a-software-factory-that-actually-works/id1593424985?i=1000789595921](https://podcasts.apple.com/us/podcast/building-a-software-factory-that-actually-works/id1593424985?i=1000789595921)
- [https://open.spotify.com/episode/0PhjAOlfGN0bMjieApj9km?si=cf915c118e774594](https://open.spotify.com/episode/0PhjAOlfGN0bMjieApj9km?si=cf915c118e774594)
- [https://www.youtube.com/watch?v=_LCeJZFIsd4](https://www.youtube.com/watch?v=_LCeJZFIsd4)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [1:51 AM · Sep 15, 2026](https://x.com/startupideaspod/status/2099556783786467736)
- [12.4K Views](https://x.com/startupideaspod/status/2099556783786467736/analytics)
- [View quotes](https://x.com/startupideaspod/status/2099556783786467736/quotes)
---
*导出时间: 2026/9/15 09:06:09*
---
## 中文翻译
# 四步软件工厂,清晰讲解
**作者**: The Startup Ideas Podcast (SIP)
**日期**: 2026-09-14T17:51:59.000Z
**来源**: [https://x.com/startupideaspod/status/2099556783786467736](https://x.com/startupideaspod/status/2099556783786467736)
---

Mickey 做客 Startup Ideas 播客,现场展示了他的整套设置。五六个 markdown 文件,在一个应用上同时构建十五个功能。
大多数人一次只让一个智能体做一个功能,用一个分支,然后眼睁睁看着它们互相覆盖工作成果。Greg 认为这种情况占 95%。原因几乎总是同一个:两个智能体、两个功能、一个分支。

软件工厂修正了操作顺序。它不依赖特定模型,也不依赖特定工具,所以 Codex、Claude Code 和 Cursor 都能以同样的方式工作。让它成为“工厂”的,是写进 markdown 里的工作流、技能和领域知识。

整套系统运行在一个 agents.md 文件上。这个文件会在你发送每条消息之前被注入到智能体对话中,所以工作流先于你的提示词到达。
四个步骤。
## 第一步:隔离

给每个功能分配自己的工位。
技能:new feature(新功能)。每个新功能都从一个全新的 git worktree 开始,从 origin main 分支出来。永远不要在 main 上构建。
worktree 就是应用的一份副本。你复制文本,粘贴到新文档里,在那里工作,之后再合并回来。
Mickey 在节目中开着四个终端标签页。一个智能体在做邮件客户端,一个在做 Linux 计算机环境,一个在做落地页更新。五十个智能体可以同时运行而互不干扰。
工作合并回来之后,worktree 就会被删除。
## 第二步:构建

给智能体一套代码的“家常风格”。
技能:code structure(代码结构)。它指示智能体按照服务层架构来写代码,这样人类开发者或一个全新的智能体都能直接读懂代码。
模型能把活干完。但只要有偷懒的余地,它们就会偷懒。Mickey 让 GPT 5.6 Sol 写出能运行的代码,然后让 Fable 来审查:重复代码、函数到处乱放、死代码。
> “能运行不代表写得好。”
他用这套方法构建了一个技能仓库应用,他的其他智能体都会连接上去存储各自的技能。那个智能体全程都在引用代码结构技能。
## 第三步:证明

让智能体展示自己的工作过程。
这里有两个技能。
证据驱动测试:智能体记录修复前的状态,包括 bug 的实际表现,然后记录修复后的可用版本。
前后对比:截图,用于无法录屏的机器。
一个来自他的智能体自行提交的 PR 的真实例子:一个连接到邮件服务的管理员邮件页面。修复前,该页面不存在。修复后,页面正常工作。
当证据不可见时,智能体就用测量代替。在一个性能 PR 中,某个页面加载耗时 850 毫秒。修复后:60。PR 中的真实数字是 817 和 61。
这就是让它成为“工厂”的关键部分。智能体用自己的修复后截图对照验收标准进行自检。当功能只完成一半时,它会自动退回第二步,无需 Mickey 发出任何指令。
> “智能体的话不能光靠口头承诺。”
## 第四步:交付

让外部审查者把守标准。
技能:grep loop,运行 Greptile——一个代码审查智能体。Code Rabbit 和 Macroscope 做的是同样的工作。
这个技能打开 PR,并在描述中嵌入前后证明。可见的改动用截图。不可见的改动用测量数据或输出对照。最后给出 PR 链接。
Greptile 会留下一个总结、反馈和一个满分 5 分的置信度评分。在 Mickey 展示的那个 PR 上,第一轮就发现了一个分页问题和一个菜单间距问题。评分:5 分中的 3 分。
这个循环自动运转:
3/5 → 构建 → 证明 → 交付 → 4/5 → 构建 → 证明 → 交付 → 5/5 → Mickey 合并
他一次都没有写过 "grep loop"。是智能体在运行它,包括超过一万行改动时自动启用的 grep loop apps 变体。
达到 5 分满分时,他点击合并,工作成果就落回应用的主版本中。
## 工厂类比
Greg 在节目中把它映射到了实体工厂,Mickey 很喜欢这个类比,甚至考虑据此重命名他的技能:
- 隔离是一个定制订单获得自己的工位
- 构建是流水线
- 证明是质量控制
- 交付是装货码头,加上合并、部署和发布说明
退回流水线的循环,和汽车工厂里某台车质检不合格时的循环是一样的。
## 行动清单

- 写一个包含你的工作流(而不是你的代码库描述)的 agents.md 文件
- 添加一个 new feature 技能,强制从 origin main 新建 worktree
- 添加一个 code structure 技能,指定一种你读得懂的架构
- 添加一个 proof 技能:录制前后对比,或截图,或测量数据
- 接入一个代码审查智能体,合并前必须达到 5 分满分
- 并行运行两个功能,观察它们是否冲突
## 最后的思考
注意从头到尾没被提到的是什么:模型和工具。这个工厂就是工作流、技能和一点领域知识,无论下个月发布什么模型,它都能随你迁移。
> “软件工厂说白了就是一堆 markdown 文件。”
## 收看完整节目:
- Apple: [https://podcasts.apple.com/us/podcast/building-a-software-factory-that-actually-works/id1593424985?i=1000789595921](https://podcasts.apple.com/us/podcast/building-a-software-factory-that-actually-works/id1593424985?i=1000789595921)
- Spotify: [https://open.spotify.com/episode/0PhjAOlfGN0bMjieApj9km?si=cf915c118e774594](https://open.spotify.com/episode/0PhjAOlfGN0bMjieApj9km?si=cf915c118e774594)
- Youtube: [https://www.youtube.com/watch?v=_LCeJZFIsd4](https://www.youtube.com/watch?v=_LCeJZFIsd4)
## 相关链接
- [The Startup Ideas Podcast (SIP)](https://x.com/startupideaspod)
- [@startupideaspod](https://x.com/startupideaspod)
- [12K](https://x.com/startupideaspod/status/2099556783786467736/analytics)
- [https://podcasts.apple.com/us/podcast/building-a-software-factory-that-actually-works/id1593424985?i=1000789595921](https://podcasts.apple.com/us/podcast/building-a-software-factory-that-actually-works/id1593424985?i=1000789595921)
- [https://open.spotify.com/episode/0PhjAOlfGN0bMjieApj9km?si=cf915c118e774594](https://open.spotify.com/episode/0PhjAOlfGN0bMjieApj9km?si=cf915c118e774594)
- [https://www.youtube.com/watch?v=_LCeJZFIsd4](https://www.youtube.com/watch?v=_LCeJZFIsd4)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [1:51 AM · Sep 15, 2026](https://x.com/startupideaspod/status/2099556783786467736)
- [12.4K Views](https://x.com/startupideaspod/status/2099556783786467736/analytics)
- [View quotes](https://x.com/startupideaspod/status/2099556783786467736/quotes)
---
*导出时间: 2026/9/15 09:06:09*