如何利用 Claude Code 打造軟體工廠,讓你睡覺時也能持續交付功能

@sairahul1
英語1 個月前 · 2026年5月25日
2.8M
1.5K
201
30
7.3K

TL;DR

學習如何超越單純的 AI 提示詞,為 Claude Code 導入結構化的 7 個 Agent 工作流程。本系統運用專門的 Agent 進行研究、設計與測試,確保高品質的軟體開發。

我以為我在用 AI 寫程式。

實際上我只是打字變快了而已。

以下是這兩者的差異——以及徹底改變一切的 7 個 Agent 系統。

請存好這篇文章。它會幫你省下好幾個月的摸索時間。

沒人談論的真正問題

看似有效率但實際上沒用的循環:

Rahul - inline image

→ 叫 Claude 做一個功能 → 它產生程式碼 → 出錯了 → 貼回錯誤訊息 → 它修補 → 又壞了 → 再問一次

第一天:感覺像魔法。

第 30 天:你花在監督 AI 的時間,比之前自己寫程式還多。

同樣的邏輯在三個不同地方出現。

Claude 忘了你兩週前設立的慣例。

新功能破壞了舊功能。

測試遺漏或膚淺。

你醒來發現:失敗的不是 AI。

是你的工作流程。

真正的問題是結構性的。

當你對 Claude Code 輸入「建立這個功能」時,你等於要求一個 AI 對話同時扮演:

→ 產品分析師 → 架構師 → 後端工程師 → 前端工程師 → 測試工程師 → 程式碼審查員

全部同時進行。

在同一場混亂的對話中。

計畫中的錯誤假設變成錯誤的資料庫模型。

錯誤的資料庫模型變成錯誤的 API。

錯誤的 API 變成錯誤的 UI。

等你發現時,錯誤早已擴散到各處。

這就是所謂的直覺式編碼。

而且它有個難以突破的天花板。

轉變:從直覺式編碼到軟體工廠

真正帶來改變的是什麼:

Rahul - inline image

真正的工程團隊不會只用一場大型對話來工作。

不同的人負責不同的工作:

→ 有人釐清使用者問題 → 有人思考架構 → 有人建構 API → 有人建構 UI → 有人思考邊界案例 → 有人進行審查

當你把這一切都塞進一個 AI 對話中,錯誤就會默默疊加。

解決方法是將工作拆分給專門的 Agent

每個 Agent 得到:→ 一個專注的任務 → 自己乾淨的上下文視窗 → 只有它真正需要的工具 → 關於它不能碰觸什麼的嚴格規則

結果:一個軟體工廠。

一個開發者 + 七個專注的 Agent = 一個協同合作的團隊。

以下是讓它運作的七個 Agent。

七個 Agent

Agent 1:程式碼庫研究員

Rahul - inline image

開發者用 AI 犯的最大錯誤?

第一動就要求寫程式碼。

AI 接受提示,用猜測填補缺口,然後開始產生。

這時糟糕的設計就悄悄溜進來了。

程式碼庫研究員解決了這個問題。

它唯一的工作是:在寫任何一行程式碼之前,檢查程式碼庫並解釋事情如何運作。

它做什麼:→ 標記相關檔案及其角色 → 記錄要遵循的現有模式 → 找到已建立的類似功能 → 標記風險(時區、多租戶、重試邏輯) → 列出哪些測試需要更新

它不能做什麼:→ 編輯檔案(唯讀權限) → 執行任何會修改狀態的命令 → 做出假設——它會提問

工具:僅限 Read、Grep、Glob。

規則:每次建構前,先探索。

研究員總是第一個執行。

Agent 2:故事撰寫者

Rahul - inline image

大多數功能失敗不是因為程式碼寫錯。

而是因為問題從未被清楚定義。

故事撰寫者在你做任何技術決策之前,把一個粗略的功能點子變成真正的使用者故事。

它收到的輸入:→ 你的粗略功能描述 → 研究員的發現

它產出的內容:

一個使用者故事:「身為一個 [角色],我想要 [行為],以便 [成果]。」

驗收標準:測試可以直接驗證的陳述。快樂路徑。失敗路徑。商業規則。

邊界案例:邊界、重試、多租戶考量。

不包含的範圍:明確指出什麼是不被建構的。

未決問題:它真的不知道的事情——絕不猜測。

它不能做什麼:→ 捏造商業規則 → 寫任何程式碼或技術設計 → 在事情真正不清楚時繼續前進

工具:僅限 Read。

規則:你在任何其他事發生之前,閱讀這個故事並批准它。

這是能拯救下游所有環節的人類檢查點。

Agent 3:規格撰寫者

Rahul - inline image

故事一經批准,規格撰寫者就將其轉化為技術簡報。

這是每個建構 Agent 都要遵循的藍圖。

它收到的輸入:→ 你批准的使用者故事 → 研究員的發現 → 你專案的 CLAUDE.md 規則

它產出的內容:

→ 資料模型變更(欄位、型別、遷移) → 背景流程 / 處理流程 → API 變更(端點、請求/回應結構) → 前端變更(元件、頁面、hooks) → 需要的測試(成功、失敗、邊界案例) → 風險與未決問題 → 每個將會變更的檔案

它不能做什麼:→ 編輯任何檔案 → 捏造新的基礎設施——而是明確指出 → 跳過租戶隔離或時區考量 → 留下未回答的問題

工具:僅限 Read、Grep、Glob。

規則:這個簡報是第二個人類檢查點。

你在觸碰任何一個檔案之前閱讀並批准它。

如果你看到「將 ID 儲存在記憶體中」——那就是你的紅旗。

現在就抓住它。不要在改了 10 個檔案之後才發現。

Agent 4:後端建構者

Rahul - inline image

現在建構開始了。

後端建構者實現功能中的後端部分——而且只做後端部分。

它收到的輸入:→ 批准的技術簡報 → 研究員的發現 → 你專案的 CLAUDE.md

它建構的內容:→ API 路由 → 服務與商業邏輯 → 資料庫存取與遷移 → 背景任務 → 它寫的每一段程式碼的單元測試

它不能做什麼:→ 觸碰 React 元件、頁面或用戶端 hooks(那是 Agent 5 的工作) → 未經指示就引入新的依賴項 → 修改約定範圍之外的檔案 → 在沒有執行 typecheck、lint 和測試套件的情況下停止

完成後,它回傳一份摘要:→ 每個新增或編輯的檔案 → 每個重複使用的現有 helper 或模式 → 任何可能有幫助的 CLAUDE.md 規則

工具:Read、Edit、Write、Bash——僅限於後端資料夾。

分離就是重點。

後端建構者永遠不會意外破壞前端。

Agent 5:前端建構者

Rahul - inline image

前端建構者實現 UI 部分——而且只做 UI 部分。

它會先讀取後端建構者的摘要。

這很重要。

它使用 API 的方式就是後端產生的樣子。

它不會自行發明新的端點。

如果 API 結構對 UI 來說不對,它會將這個不匹配作為回饋提出——而不是自己修補。

它收到的輸入:→ 批准的技術簡報 → 研究員的發現 → 後端建構者的摘要(API 契約)

它建構的內容:→ React 元件和頁面 → 用戶端 hooks 和狀態 → 載入中和錯誤狀態 → 它寫的每一段程式碼的元件和單元測試

它不能做什麼:→ 觸碰服務、API 路由、worker 或遷移(那是 Agent 4 的工作) → 自行發明端點或回應結構 → 未經指示就新增依賴項 → 在沒有執行 typecheck、lint 和測試套件的情況下停止

工具:Read、Edit、Write、Bash——僅限於前端資料夾。

兩個 Builder。

兩個乾淨的上下文視窗。

一個破壞另一個工作的機率為零。

Agent 6:測試驗證者

Rahul - inline image

兩個 Builder 都為自己的程式碼寫了單元測試。

但這還不夠。

測試驗證者只做一件事:證明這個功能確實做到了使用者故事所說的事情。

它寫的是驗收測試。

不是單元測試。

是驗收測試。

這些測試從外部測試這個功能——就像真實使用者體驗它的方式。

它收到的輸入:→ 批准的使用者故事(包含所有驗收標準) → 批准的技術簡報 → 兩個 Builder 的摘要

它產出的內容:→ 一個涵蓋每個驗收標準的驗收測試檔案 → 一份報告:哪些標準通過、哪些失敗、哪些無法乾淨地涵蓋

它不能做什麼:→ 修改任何後端或前端程式碼 → 為無法測試的標準發明變通方法 → 在標準實際上沒有被涵蓋時標記為已涵蓋

如果測試失敗:表示功能不符合故事要求。

它會報告具體是哪個標準失敗。

它不會修補程式碼。

那會回到正確的 Builder 那裡。

工具:Read、Edit、Write(僅限測試檔案)、Bash。

規則:在驗收測試通過之前,你都沒有完成一個功能。

Agent 7:實作驗證者

Rahul - inline image

這個 Agent 負責抓住其他所有人都漏掉的東西。

驗證者將當前的實作與已批准的故事和簡報進行比較——並報告差距。

它永遠不做任何修復。

它只是說出實話。

它每次都會執行的檢查:

→ 故事中尚未實作的驗收標準 → 沒有測試覆蓋的失敗路徑 → 安全問題:缺少身份驗證檢查、租戶隔離缺口、記錄中的機密、暴露給用戶端的原始錯誤 → 在約定範圍之外變更的檔案 → 與 CLAUDE.md 或現有程式碼不一致的模式 → 應該重複使用現有 helper 的重複邏輯 → 簡報中提到的時區或多租戶考量被悄悄跳過

輸出總是按嚴重程度分組:

重大 — 合併前必須修復 重要 — 合併前最好修復 次要 — 基於意見,由審查者決定

每個發現都包含檔案路徑和行號。

如果沒有任何問題,它會直接說沒有。

它不會為了顯得徹底而編造問題。

工具:僅限 Read、Grep、Glob。

這個 Agent 就是為什麼工廠值得信賴的原因。

一份自己批改的考卷是沒有價值的。

一個只看磁碟上實際內容——而不是看它是怎麼被寫出來的——的驗證者,才是誠實的。

鏈條如何運作

完整流程——一個提示就啟動一切:

Rahul - inline image

你打開 Claude Code 並輸入:

「為逾期超過 7 天的發票建立催款提醒功能。」

接下來會發生什麼事,你完全不需要再輸入任何東西:

步驟 1 → 研究員 映射你的發票、付款和電子郵件程式碼。回傳相關檔案、現有模式、風險。

步驟 2 → 故事撰寫者 產出使用者故事和驗收標準。

暫停:你閱讀並批准故事。

步驟 3 → 規格撰寫者 將批准的故事轉化為技術簡報。

暫停:你閱讀並批准簡報。(就在這裡抓住那個「將 ID 儲存在記憶體中」的錯誤。)

步驟 4 → 後端建構者 實作服務、API 路由、BullMQ 任務和單元測試。回傳:變更的檔案、重複使用的模式、所有測試通過。

步驟 5 → 前端建構者 讀取後端建構者的 API 摘要,建立管理 UI 區塊和提醒按鈕,撰寫元件測試。所有測試通過。

步驟 6 → 測試驗證者 為所有六個驗收標準撰寫驗收測試。報告:7 個通過,1 個失敗——手動觸發沒有檢查租戶所有權。

步驟 7 → 驗證者 發現了這個問題。報告為「重大」級別,附帶檔案路徑和行號。

→ 迴圈回到後端建構者。 修復完成。所有 8 個驗收測試通過。驗證者再次執行。乾淨。

暫停:你審查並發起 PR。

三個人類檢查點。

其他一切都自動運作。

基礎:在 Agent 運作之前,你需要這個

CLAUDE.md——跨越每次對話的記憶:

Rahul - inline image

每次你打開 Claude Code,它都是從零記憶開始的。

CLAUDE.md 解決了這個問題。

它是一個位於你專案根目錄的 Markdown 檔案,每次對話都會自動載入。

它是存放永久專案事實的地方:

→ 你的技術棧(Next.js App Router、Node.js、Prisma、BullMQ、Resend) → 你的命令(npm run dev、npm test、npx prisma migrate dev) → 架構規則(「商業邏輯放在 services 裡。API routes 保持輕薄。」) → 不該做的事(「不要新增 cron——使用 BullMQ。不要記錄原始付款資料。」) → 指向更深層文件的指標(docs/billing.md、docs/architecture.md)

保持在 100-300 行。

每次 AI 犯了一個讓你驚訝的錯誤時,問自己:CLAUDE.md 裡的一條規則可以防止這個問題嗎?

加入那條規則。

幾週後,你的 CLAUDE.md 就會變成 AI 所有錯誤假設的記錄——你的對話品質也會顯著提升。

上下文漂移——無聲的殺手:

大多數 Claude Code 對話不是戲劇性地失敗。

它們是慢慢漂移。

一個錯誤的假設進入了上下文。

模型在它之上繼續建構。

你叫 Claude 建立訂閱管理功能。

它設計成:User → Subscription。

你記起來:訂閱屬於公司,不屬於使用者。

如果你只說「不對,訂閱屬於公司」——Claude 會修補。

現在你同時有了 user.subscriptionId 和 company.subscriptionId 四處遊蕩。

規則:

→ 小錯字?直接當場修正。 → 錯誤的架構假設?丟掉這個對話,用內建正確假設的第一個提示重新開始。

一個有正確心智模型的乾淨新對話,永遠勝過一個修修補補的對話。

結果:實際改變了什麼

使用工廠之前:

→ 直覺式編碼循環:提示 → 產生 → 錯誤 → 修補 → 重複 → 對話上下文充滿雜訊 → 錯誤假設疊加成壞掉的功能 → 一個工程師一次只能做一件事 → 每個功能都要等對的人有空

使用工廠之後:

→ 結構化鏈條:研究 → 故事 → 簡報 → 建構 → 驗證 → 確認 → 每個 Agent 得到一個乾淨的上下文視窗,只包含它需要的東西 → 錯誤假設在簡報批准階段就被抓住——而不是在改了 10 個檔案之後 → 一個工程師交付一個完整的垂直切片:後端、前端、測試、驗證 → 團隊最好的知識存在於 Agent 中——而不是困在人身上

真正的轉變:

付款專家建立了一個付款整合 Agent。

現在團隊中的每個工程師都可以交付一個觸及帳務的功能。

不用等待。

不用交接。

前端負責人的元件模式存在於前端建構 Agent 中。

DevOps 工程師的 CI 檢查存在於一個 hook 中。

QA 負責人的邊界案例存在於測試驗證者的規則中。

專家知識,以 Agent 的形式共享。

而不是被個人的時間 Availability 所困住。

如何在本週末建立你自己的系統

8 步驟設定檢查清單:

Rahul - inline image

1. 安裝 Claude Code → code.claude.com

2. 建立資料夾結構: → .claude/agents/ → .claude/skills/feature-factory/ → .claude/skills/build-with-tests/ → .claude/hooks/

3. 撰寫你的 CLAUDE.md(100-300 行:技術棧、命令、架構規則、禁止事項清單)

4. 使用 Claude Code 中的 /agents 命令創建 7 個 Agent。描述每個 Agent 的角色。Claude 會寫出檔案。你審查並提交。

5. 創建 feature-factory 編排器技能。叫 Claude 來寫——它會讀取你的 7 個 Agent 檔案並串聯整個鏈條。

6. 創建 build-with-tests 技能。描述你的團隊如何建構:匹配現有模式、程式碼與測試一起寫、最後執行 typecheck。

7. 添加一個 pre-commit hook。阻止包含 .env、.key、.pem 或 secrets.json 檔案的提交。花 5 分鐘。防止災難。

8. 用一個真正的功能跑一遍完整鏈條。選一個小功能。觀察它在哪裡卡住。加入規則。工廠會自我調整。

總時間:2-3 小時。

然後跑幾個功能。

3-4 個功能之後,工廠就熟悉你的程式碼庫了。

你會花更少的時間監督。

更多的時間決定接下來要建構什麼。

7 個 Agent — 快速參考

研究員 — 在建構任何東西之前映射程式碼(僅限 Read) → 故事撰寫者 — 將點子轉化為包含驗收標準的使用者故事(僅限 Read) → 規格撰寫者 — 將故事轉化為技術簡報(僅限 Read) → 後端建構者 — 建構 API、服務、任務、單元測試(僅限後端資料夾) → 前端建構者 — 建構元件、頁面、hooks、UI 測試(僅限前端資料夾) → 測試驗證者 — 根據使用者故事撰寫驗收測試(僅限測試檔案) → 驗證者 — 將實作與故事和簡報進行比較,報告差距(僅限 Read)

3 個人類檢查點: → 批准故事 → 批准簡報 → 批准 PR

其他一切都自動運作。

大多數使用 Claude Code 的開發者仍在直覺式編碼。

提示 → 產生 → 修補 → 祈禱。

這沒有錯。

但它就是個天花板。

工廠不是要把你從流程中移除。

而是要把你從不需要你的部分中移除。

你留在那些你的判斷力至關重要的環節:

這是對的問題嗎?這是對的設計嗎?這個可以安全上線嗎?

Agent 處理中間所有的事情。

這就是把 AI 當作一個更快的鍵盤——

和把 AI 當作一個協同團隊之間的差異。

如果這篇文章對你有幫助:

→ 轉發分享給你的社群 → 追蹤 @sairahul1 獲取更多這類深入解析 → 收藏這篇——你會需要參考這 7 個 Agent 的

我撰寫關於 AI、產品開發,以及在你睡覺時也能運作的系統。

一鍵儲存

使用 YouMind AI 深度閱讀爆款文章

保存原文、追問細節、總結觀點,並在一個 AI 工作空間裡把爆款文章沉澱成可複用筆記。

了解 YouMind
寫給創作者

把你的 Markdown 變成乾淨的 𝕏 文章

圖片上傳、表格、程式碼區塊,往 𝕏 上手動重排太痛苦。YouMind 把整篇 Markdown 一鍵轉成乾淨、可直接發佈的 𝕏 文章草稿。

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章