实战:手把手教你用 7 个 Agent 将 Vibe Coding 升级为专家级开发流程
BlockTempo 動區動趨 转载 @sairahul1 的实战长文:把「一个 AI 对话同时扮六个角色」的 Vibe Coding,拆成 7 个各持单一职责、干净上下文与严格工具边界的 Agent,串成 研究 → 故事 → 简报 → 建造 → 验证 → 确认 的软件工厂链,只留 3 个人类审核点。
基本信息
- 来源类型:网页文章(BlockTempo 動區動趨,原文作者 @sairahul1,转载者 flip,2026-05-31 发布于 AI 分类)
- 原文位置:raw/articles/2026-05-31-232613-tg-6eed81.md
- 原文 URL:https://www.blocktempo.com/claude-code-software-factory-7-agents/
- 消化日期:2026-09-22(Telegram 补录;该 URL 的正文此前已有另一版摘要 2026-05-31-blocktempo-7-agents-software-factory)
- 传播量:文中显示 972 次分享
核心观点
-
Vibe Coding 的天花板是结构性的,不是模型能力问题:当你在 Claude Code 里输入「帮我做这个功能」,等于要求同一个对话同时扮演 产品分析师 → 架构师 → 后端工程师 → 前端工程师 → 测试工程师 → 代码审查员。计划里错的假设会变成错的数据库模型,错的模型变成错的 API,错的 API 变成错的 UI——「等你发现时,错误已经扩散到到处都是」。原文的金句是「第 1 天:这像魔法。第 30 天:你花在监督 AI 的时间,比过去自己写代码还多」。
-
7 个 Agent 的隔离点不在「聪明」,而在工具权限边界:研究员 / 故事撰写者 / 规格撰写者 / 验证员 是只读(Read、Grep、Glob);后端建造者只能碰后端文件夹;前端建造者只能碰前端文件夹;测试验证者只能写测试文件。结果是「后端建造者永远不可能不小心弄坏前端」——职责隔离直接消灭了交叉污染这一类错误。
-
3 个人类审核点是质量保险,其余全自动:核准用户故事(人类审核点 1)→ 核准技术简报(人类审核点 2)→ 核准 PR(人类审核点 3)。原文对这个设计的判断是「工厂不是把你从流程里踢出去,它是把你从『不需要你判断』的部分里踢出去」——人类只留下「这是对的问题吗?这是对的设计吗?这个可以安全上线吗?」。
-
上下文漂移是无声杀手,处理规则是「架构级错误必须丢对话重开」:大部分 Claude Code 对话不是戏剧性失败,而是漂移——一个错假设进入上下文,模型继续往上叠加。原文的例子:你要它做「订阅管理」,它设计成 User → Subscription;你后来才想起订阅属于「公司」而不是「用户」,如果只是说「不对,订阅属于公司」,Claude 会打补丁,于是
user.subscriptionId与company.subscriptionId同时飘在四处。规则:小错字直接 inline 修正;架构假设错了,把整个对话丢掉从头开始,把对的假设烙进第一个 prompt。 -
专家知识以 Agent 的形式被共享,不再被困在「谁有空」:付款专家做一个 payments-integration Agent,此后团队每个人都能出带账务的功能;前端 lead 的组件模式住在 frontend-builder Agent 里;QA lead 的边界情况住在 test-verifier 规则里。原文的收束是「这就是『把 AI 当成更快的键盘』和『把 AI 当成一支协调团队』的差别」。
实操内容保留
代码/配置
(原文无代码块;以下为原文给出的目录结构与配置形态。)
.claude/agents/ # 用 Claude Code 的 /agents 指令建立 7 个 Agent 定义文件
.claude/skills/feature-factory/ # orchestrator skill:串起整条链
.claude/skills/build-with-tests/ # 描述团队「怎么建造」的 skill
.claude/hooks/ # pre-commit hook 等
CLAUDE.md 应包含的四类内容(原文示例,技术栈以 Next.js 项目为例):
技术栈:Next.js App Router、Node.js、Prisma、BullMQ、Resend
指令:npm run dev / npm test / npx prisma migrate dev
架构规则:「商业逻辑放在 services。API 路由保持薄。」
不要做:「不要加 cron——用 BullMQ。不要把原始付款 payload 写进 log。」
深入档案的指标:docs/billing.md、docs/architecture.md
规模建议:保持在 100–300 行。每次 AI 犯了一个让你惊讶的错误,问自己「如果 CLAUDE.md 里有一条规则,这次能避免吗?」然后把规则加进去。
七个 Agent 规格(原文「它做什么 / 它不能做什么 / 工具」)
| # | Agent | 它做什么 | 它不能做什么 | 工具 |
|---|---|---|---|---|
| 1 | 程式码库研究员 | 标示相关档案与角色、记录既有模式、找出已建过的类似功能、标示风险(时区、多租户、重试逻辑)、列出需要更新的测试 | 编辑档案、执行会改变状态的指令、做假设(应改成发问) | Read、Grep、Glob |
| 2 | 故事撰写者 | 产出使用者故事(「作为 [角色],我想要 [行为],这样 [结果]」)、验收标准、边界情况、不在范围内、未解问题 | 发明商业规则、写任何程式码或技术设计、在真心不清楚时继续推进 | Read |
| 3 | 规格撰写者 | 产出资料模型变动、背景流程、API 变动、前端变动、需要的测试、风险与未解问题、每一个会被改动的档案 | 编辑任何档案、发明新基础设施、跳过租户隔离或时区考量、留下没有答案的问题 | Read、Grep、Glob |
| 4 | 后端建造者 | API 路由、Services 与商业逻辑、资料库存取与迁移、背景任务、单元测试;完成后回传档案变更摘要与「如果有 CLAUDE.md 规则会更好」的观察 | 碰任何 React 元件/页面/client-side hooks、在没有指示下发明新依赖、修改范围外的档案、没跑 typecheck+lint+测试就停下 | Read、Edit、Write、Bash(只限后端资料夹) |
| 5 | 前端建造者 | React 元件与页面、client-side hooks 与状态、loading/error 状态、元件与单元测试;先读后端建造者的摘要,照 API 产出的样子去用 | 碰 services/API 路由/workers/迁移、发明端点或回应格式、在没有指示下加依赖、没跑 typecheck+lint+测试就停下 | Read、Edit、Write、Bash(只限前端资料夹) |
| 6 | 测试验证者 | 写验收测试(不是单元测试),覆盖每条验收标准;产出「哪些通过、哪些失败、哪些无法干净覆盖」的报告 | 修改任何后端或前端程式码、为无法测试的标准发明绕道、把实际没覆盖到的标准标为已覆盖 | Read、Edit、Write(仅测试档)、Bash |
| 7 | 实作验证员 | 对照核准的故事与简报报告落差,每次跑:未实作的验收标准、没有测试覆盖的失败路径、安全议题(缺漏的权限检查/租户隔离漏洞/log 里的金钥/原始错误外泄到 client)、范围外被改动的档案、与 CLAUDE.md 不一致的模式、应重用却重复的逻辑、被悄悄跳过的时区或多租户考量;输出按 Critical / Important / Minor 分组,每个发现附档案路径与行号 | 修任何东西(只报告);没有问题就说没有问题,不为了显得认真而发明问题 | Read、Grep、Glob |
关键补充:前端建造者的规则是「如果 API 的形状对 UI 而言是错的,它会把不符回报出来,而不是自己打补丁」;测试验证者的规则是「在验收测试通过之前,你还没有这个功能」,失败时它回报哪条标准失败,修补丢回正确的建造者;验证员的规则是「自评的成绩单没有价值」。
操作步骤
8 步设定清单(原文给出的落地路径,总时间 2–3 小时)
- 安装 Claude Code → code.claude.com
- 建立资料夹结构(见上方代码/配置节的目录)
- 写你的 CLAUDE.md(100–300 行:技术栈、指令、架构规则、不要做的清单)
- 用 Claude Code 的
/agents指令建立 7 个 Agent,描述每个 Agent 的角色;Claude 写档案,你审查并 commit - 建立 feature-factory orchestrator skill —— 叫 Claude 帮你写,它会读你 7 个 agent 档并接好整条链
- 建立 build-with-tests skill —— 描述你的团队怎么建造:对齐既有模式、边写程式边写测试、最后跑 typecheck
- 加一个 pre-commit hook —— 挡住把
.env、.key、.pem或secrets.json提交进去;5 分钟搞定,可以避免大型灾难 - 跑一个真实的功能走完整条链 —— 挑一个小的,观察它在哪里卡住,加规则
原文给的完整链路示例(prompt:「帮我做『超过 7 天未付的发票提醒』功能」)
- Step 1 → 研究员扫过发票、付款与 email 程式码,回传相关档案、既有模式与风险
- Step 2 → 故事撰写者产出使用者故事与验收标准;⏸ 暂停:你阅读并核准故事
- Step 3 → 规格撰写者把核准的故事变成技术简报;⏸ 暂停:你阅读并核准简报(就在这裡抓出「把 ID 存在记忆体裡」的错)
- Step 4 → 后端建造者实作 service、API 路由、BullMQ 任务与单元测试
- Step 5 → 前端建造者读后端的 API 摘要,做出 admin UI 区块与提醒按钮,写元件测试
- Step 6 → 测试验证者為六条验收标准写验收测试;回报 7 条通过、1 条失败——手动触发没有检查租户拥有权
- Step 7 → 验证员以 Critical 等级回报,附档案路径与行号 → 回到后端建造者修好 → 8 条验收测试全绿 → 验证员再跑一次,干净
- ⏸ 暂停:你审查并开 PR
关键概念
- 7 Agent 软件工厂 — 本文的方法论主体,7 个 Agent 的职责/工具/边界矩阵与 3 个人类审核点
- Vibe Coding — 被升级的起点,「凭感觉写程式」的单一对话模式及其天花板
- Claude Code — 承载
/agents、skills、hooks 的执行环境 - 上下文漂移 — 原文单列一节讨论的「无声杀手」,及「架构级错误丢对话重开」规则
- CLAUDE.md 项目指令 — 存活于每个对话的「永久专案事实」,100–300 行为宜
- 上下文工程 — 每个 Agent 只装它需要的东西,是对上下文预算的显式分配
- 人机协同 — 3 个人类审核点的位置设计(核准故事 → 核准简报 → 核准 PR)
- Multi-Agent 系统 — 本文是「多 Agent 分工 + 权限隔离」的一条具体工程实现路径
- AI Agent 智能体 — 每个 Agent 的「它做什么 / 它不能做什么 / 工具」三件套定义
与其他素材的关联
- 与 2026-05-31-blocktempo-7-agents-software-factory 的关系:同一篇原文(同一 URL)的另一版摘要页,由旧 raw(
raw/articles/2026-05-31-blocktempo-7-agents-software-factory.md)消化而来;本页由 Telegram 补录 raw 消化,内容同源、侧重一致,互为镜像。 - 与 2026-05-29-shawn-abu-claude-code-6-weeks 的关系:Shawn 用 6 周、约 1 万元、62,376 条消息交付 8.5 万行代码的应用,其四根支柱中的「CLAUDE.md 合同(273 行,每次踩坑加一条)」与本文「保持 100–300 行 + 每次惊讶的错误就加一条规则」是同一套做法的两个独立实践样本。
- 与 2026-06-10-agent-engineering-guide、2026-06-13-juejin-50k-usd-ai-coding-lessons 的关系:都属「Agent 工程 / AI 编程失败经验」一脉,本文的独特贡献是给出了工具权限矩阵这一具体的隔离机制,而不只是流程建议。
- 与 2026-06-03-youtube-multi-agent-accounting-pipeline 的关系:那条素材是财务场景的多 Agent 流水线实录,可与本文的 7 Agent 抽象设计对照看「抽象设计 vs 真实落地」。
原文精彩摘录
我以为我在用 AI 写程式。实际上,我只是打字打得比较快而已。
那个看起来很有产能、其实没有的迴圈:→ 要 Claude 帮你做一个功能 → 它生出程式码 → 某个地方坏了 → 把错误讯息贴回去 → 它修补 → 又坏了另一个地方 → 再问一次。第 1 天:这像魔法。第 30 天:你花在监督 AI 的时间,比过去自己写程式还多。同样逻辑出现在三个不同的地方。Claude 忘了你两週前订下的惯例。新功能弄坏旧功能。测试不是缺少就是写得很浅。你某天醒来才意识到:不是 AI 在失败,是你的工作流在失败。
如果你只说「不对,订阅属于公司」——Claude 会打补丁。现在你就有了同时飘在四处的 user.subscriptionId 与 company.subscriptionId。规则:小错字?直接 inline 修正。架构假设错了?把整个对话丢掉,从头开始,把对的假设烙进第一个 prompt。一个有正确心智模型的干净对话,永远胜过一个打了补丁的对话。
大部分用 Claude Code 的开发者还在 vibe coding。Prompt → 生成 → 补丁 → 祈祷。那不算错。但那有天花板。工厂不是把你从流程裡踢出去。它是把你从「不需要你判断」的部分裡踢出去。