# Subagent Cookbook — 15 個複製貼上就能用的派遣 recipe > **繁體中文** | [简体中文](./subagent-cookbook.zh-Hans.md) | [English](./subagent-cookbook.en.md) > 📋 **這是什麼**:[Stage 5.5](../stages/05-claude-code-ecosystem.md#55--subagentsclaude-code-原生-multi-agent-機制-2025-新功能) 教你 subagent 是什麼概念、這份 cookbook 教你**今天就能用**——15 個情境、每個含「該用哪個 subagent + 完整 prompt 範本(複製即可用)+ 何時不用」。 > > ⚠️ **第一次看?先讀 Stage 5.5 的「可派遣的 subagent 有哪些」+「decision table」兩節**——理解「什麼是 subagent」「Claude Code 內建有哪些」之後再來查 recipe。 --- ## 怎麼讀這份 cookbook 每個 recipe 用同樣的 4 段結構: | 段 | 內容 | 為什麼有這段 | |---|---|---| | **情境** | 你今天工作會遇到的具體場景 | 從「我有 X 問題」找到 recipe、不從「我想用 subagent」找 | | **Subagent** | 用哪一個(Claude Code 內建名稱) | 直接 copy 名字、不用想 | | **Prompt 範本** | 複製貼上即可用的指令文字 | 不用自己想怎麼寫 | | **何時不用** | 比用 subagent 更好的替代方案 | 避免「殺雞用牛刀」 | > 💡 **怎麼實際派遣 subagent**:在你的 Claude Code 終端機對話框裡、**直接輸入(或貼上)prompt 範本**——就這樣。Claude 看到指令、會自動透過 Task tool(內部派遣機制)找到對應 subagent 跑、跑完回主 session 一段摘要。**不需要 slash command、不需要特殊語法**。 > > 📌 **subagent ≠ slash command**:`/agents` 是查當前可用 subagent 的指令、**不是用來「呼叫」subagent**。派遣 subagent 直接打對話 prompt 文字即可。完整對比表(subagent vs skill / vs slash command / description router)見 [Stage 5.5 §易混淆觀念釐清](../stages/05-claude-code-ecosystem.md#55--subagentsclaude-code-原生-multi-agent-機制-2025-新功能)。 --- ## 先確認你有哪些 subagent 可用 在你的 Claude Code session 內跑 `/agents` 一個指令、會列出全部當前可用的 subagent(內建 + plugin + 自訂)。 **Claude Code 預設內建 7 個** subagent:`general-purpose` / `code-reviewer` / `Explore` / `Plan` / `frontend-developer` / `claude-code-guide` / `statusline-setup`(截至 2025-11、可能會變動)。 > 📌 **每個內建 subagent 的功能說明 + 「遇到 X 任務用 Y」decision table 的 canonical 在 [Stage 5.5 §可派遣的 subagent 有哪些](../stages/05-claude-code-ecosystem.md#可派遣的-subagent-有哪些)**——本 cookbook 聚焦「怎麼派遣」的 15 個 recipe,內建清單與選用邏輯以 Stage 5.5 為準。 > 💡 **如果 `/agents` 列表跟這份 cookbook 不一致**:表示你裝了 plugin 或 Claude Code 版本不同。**recipe 名字對不上時、找最接近的 subagent 用就好**(例如沒有 `Explore`、用 `general-purpose` 也能跑搜尋)。 確認完當前可用清單之後、就可以照下面 15 個 recipe 派遣了——**找到符合你情境的 recipe、複製 Prompt 範本貼進 Claude Code 對話框即可**。 --- ## 15 個 Recipe ### Recipe 1: 寫完一批新 code、要 commit 前的 review **情境**:你剛寫了 ≥ 50 行新 code、想 commit 但怕有 bug / security 問題沒看到 **Subagent**:`code-reviewer` **Prompt 範本**: ``` Review the staged changes in this repo (git diff --cached). Focus on: (1) security issues (hardcoded secrets, SQL injection, XSS), (2) error handling gaps, (3) missing tests, (4) violations of CLAUDE.md conventions. Per-category PASS/FAIL + concrete fix for each issue with file:line reference + overall verdict (APPROVE / REQUEST CHANGES). ``` **何時不用**:< 20 行的 typo / formatting fix(直接 `git diff` 自己掃就好、不用花 subagent token) --- ### Recipe 2: 進新 repo、不知該從哪個 file 開始讀 **情境**:clone 完一個別人的 repo、`README.md` 講不清楚程式入口在哪、不想隨便挖 **Subagent**:`Explore` **Prompt 範本**: ``` Map the entry points and core structure of this codebase. Report: (1) main entry script(s) — what file gets run first, (2) core module organization — top 3-5 directories and what each does, (3) test directory layout, (4) any "where to start reading" guidance in docs/. Under 300 words with file paths. ``` **何時不用**:你已經知道要看的 file 路徑(直接用 Read tool) --- ### Recipe 3: 設計 refactor / migration plan(先想清楚再動手) **情境**:要重構一個大 module 或做 framework migration、不確定步驟、想先有 plan 再開始 **Subagent**:`Plan` **Prompt 範本**: ``` Design a step-by-step plan to refactor (currently a single file with tight coupling) into clear, testable components with explicit interfaces. Include: (1) phased breakdown (≤ 5 phases), (2) which files touched per phase, (3) what tests gate each phase, (4) rollback strategy if a phase fails. Don't write code — just the plan. ``` **何時不用**:refactor 只動 1-2 個 file(直接動手、不需要 plan overhead) --- ### Recipe 4: 多檔 / 跨 locale parity 審查 **情境**:你改了 zh-TW + zh-Hans + en 三個 mirror、想確認三邊內容一致 **Subagent**:`code-reviewer` **Prompt 範本**: ``` Review the staged diff for cross-locale parity across the 3 locale variants of (.md / .zh-Hans.md / .en.md). Check: (1) same section structure (## headers match), (2) same table row counts, (3) same required terms present in each locale, (4) locale conventions correct (zh-Hans uses "" not 「」; en uses English). Report per-file PASS/FAIL. ``` **何時不用**:只改 1 個 locale(沒 parity 問題) --- ### Recipe 5: 多 source fact-check / research **情境**:要寫一段引用、不確定多個 source 講的是不是同一件事、需要交叉驗證 **Subagent**:`general-purpose` **Prompt 範本**: ``` Fact-check this claim: "". Search for: (1) primary source / official docs / paper, (2) 2-3 independent secondary sources, (3) any contradictions or version differences. Report: confirmed / contradicted / nuanced, with direct quotes and URLs. Under 400 words. ``` **何時不用**:你已經有 1 個權威 source(直接讀那一個就好) --- ### Recipe 6: 找某個 symbol / function 在哪定義 **情境**:codebase 內到處在 import `parse_config`、想知道實作在哪個 file **Subagent**:`Explore` **Prompt 範本**: ``` Find where `` is defined in this codebase. Report: (1) the file:line where it's defined, (2) what it does (1-line summary), (3) which files import / use it (top 5). Use Grep, not full file reads. ``` **何時不用**:你已經用 IDE 的 "Go to definition" 可以跳過去(IDE 比 subagent 快) --- ### Recipe 7: 比較多 paper / source 的 claim 是否一致 **情境**:寫文獻回顧、3 篇 paper 對同一件事說法不同、不知該信誰 **Subagent**:`general-purpose` **Prompt 範本**: ``` Find and compare 3 independent sources on the topic . For each source, capture: title + author + year + URL. Then report: (1) what they agree on, (2) where they disagree (with direct quotes), (3) which is most recent / authoritative, (4) suggested phrasing if you had to summarize the consensus. Flag if a key source is behind a paywall and unreadable. ``` **何時不用**:3 篇都是同一個作者 / 同 lab(沒「多 perspective」可比) --- ### Recipe 8: Release commit security audit **情境**:要發 v1.0 / 升 major version、想最後一次安全掃描 **Subagent**:`code-reviewer` **Prompt 範本**: ``` Pre-release security audit for (use git log to find the relevant commit range since last release). Check: (1) hardcoded credentials / API keys, (2) eval() / exec() / shell injection risks, (3) deprecated dependencies with known CVEs, (4) any auth / session handling changes since last release, (5) public API surface changes (breaking? documented?). Per-category PASS/FAIL + remediation per finding. ``` **何時不用**:patch release(hotfix)只動 1 行(人工掃 < 1 分鐘) --- ### Recipe 9: 評估架構變動的 blast radius **情境**:想改一個 base class / 共用 utility、不確定會影響多少 file **Subagent**:`Plan` **Prompt 範本**: ``` Assess the blast radius of changing . Report: (1) direct dependents (which files import this), (2) indirect dependents (transitive imports), (3) tests that gate the change, (4) suggested rollout order (safest → riskiest), (5) feature flag / kill switch strategy if available. Don't make the change yet — just the impact analysis. ``` **何時不用**:只影響 1 個 file 內部(沒 blast radius 概念) --- ### Recipe 10: Spawn 並行 subagent 跑同一任務 × 多目標 **情境**:4 個 branches file 都要做同樣的「academic-style audit」、想一次跑 4 個 parallel **Subagent**:`general-purpose` × N(同時 spawn 多個) > 💡 **怎麼「同時 spawn 多個」**:在 Claude Code 對話框內、**連續輸入下面的 prompt 4 次**(每次換 ``)。Claude Code 會自動並行跑、不需要等第一個 subagent 結束才能輸入第二個——這就是「parallel spawn」的實際操作方式。 **Prompt 範本**(每次換 ``): ``` Audit `` for academic-style issues: (1) over-engineering jargon without first-use explanation, (2) clarity (long sentences, vague pronouns), (3) unsupported % claims, (4) persona-fit (wrong technical level for the file's stated target audience — see the file's banner / intro callout for who it's for). Report 4-category PASS/FAIL + fix-list with line numbers. Under 500 words. ``` **何時不用**:1 個目標就夠(直接呼叫 1 次、不要 over-orchestrate) --- ### Recipe 11: 找跨 repo 的相似 implementation **情境**:你在某個 repo 看到一個 pattern、想知道另一個 repo 有沒有類似實作 **Subagent**:`Explore` **Prompt 範本**: ``` In , search for code patterns similar to: . Report: (1) up to 5 candidates with file:line, (2) brief description of each, (3) which is most idiomatic for this codebase's style. ``` **何時不用**:你有具體 function 名要找(用 Recipe 6 / `Explore` 加精確 grep 更快) --- ### Recipe 12: LLM-as-judge eval(structured PASS / FAIL) **情境**:跑了 100 個 test case、要評每個 output 是否符合 spec、不想人工看 **Subagent**:`general-purpose` **Prompt 範本**: ``` Evaluate the agent outputs in against the spec stated in the file's first 5 lines (or in ). For each row: PASS / FAIL with 1-sentence reason. Aggregate: pass rate + top-3 failure modes. Output as structured JSON: {"case_id": "...", "verdict": "PASS|FAIL", "reason": "..."}. ``` **何時不用**:< 5 個 case(自己看更快);evaluation 涉及主觀判斷(LLM judge 不可靠) --- ### Recipe 13: UI component design / accessibility audit **情境**:寫了一個 React component、想確認 ARIA + keyboard nav + responsive 都做對 **Subagent**:`frontend-developer` **Prompt 範本**: ``` Audit for: (1) ARIA roles + labels (screen reader compatibility), (2) keyboard navigation (tab order, Enter / Esc / arrows behavior), (3) responsive breakpoints (mobile 360px / tablet 768px / desktop 1280px), (4) color contrast (WCAG AA), (5) touch target size (≥ 44px). Report per-category findings + fixes. ``` **何時不用**:純後端 / CLI 工具(沒 UI 可 audit) --- ### Recipe 14: 問 Claude Code feature 怎麼用 **情境**:忘了 hooks 怎麼設、忘了 slash command 的 frontmatter 欄位、想查文件 **Subagent**:`claude-code-guide` **Prompt 範本**: ``` How do I ? Show: (1) minimum config in settings.json, (2) example hook script (Python or shell), (3) 1 common gotcha, (4) where in the official docs to read more. ``` **何時不用**:你已經寫過幾次(直接看自己 `~/.claude/settings.json` 範例更快) --- ### Recipe 15: 寫 React form validation 邏輯 **情境**:要做一個 sign-up form、要 email format / password strength / real-time validation **Subagent**:`frontend-developer` **Prompt 範本**: ``` Implement a React sign-up form with: (1) email format validation (real-time, debounce 300ms), (2) password strength meter (≥ 8 chars, mixed case, digit, symbol), (3) inline error messages with ARIA live region, (4) submit button disabled until valid. Use . Include: component code, validation schema, 1 happy-path test, 1 error-path test. ``` **何時不用**:非 React stack(用 Vue / Svelte 對應的 subagent、或 `general-purpose`) --- ## Recipe 索引(按 subagent type 找) 不確定該用哪個 subagent?從**任務類型**反查: | Subagent | Recipes | |---|---| | `code-reviewer` | **1**(pre-commit review)/ **4**(cross-locale parity)/ **8**(release security audit)| | `Explore` | **2**(new codebase)/ **6**(find symbol)/ **11**(cross-repo similar code)| | `Plan` | **3**(refactor plan)/ **9**(blast radius)| | `general-purpose` | **5**(fact-check)/ **7**(multi-paper compare)/ **10**(parallel multi-target)/ **12**(LLM-as-judge eval)| | `frontend-developer` | **13**(a11y audit)/ **15**(React form)| | `claude-code-guide` | **14**(Claude Code feature 查詢)| --- ## 何時 NOT 該用 subagent Subagent 不是免費的——每次派遣**燒 token、有延遲**。下面 4 種情境**不該用 subagent**、自己跑更划算: 1. **任務 < 5 分鐘可自己完成** — 殺雞用牛刀;subagent overhead 不划算 2. **結果需要逐步 user feedback** — subagent 是「派出去、跑完回報一次」、不能中間問你;要逐步確認的任務直接在主 session 跑 3. **任務需要主 session 的 context memory** — subagent 是**獨立 context window**、看不到主 session 前面的對話;要用「我們剛剛討論的 X...」這種 reference 的任務、不適合 4. **任務涉及 conversation-level judgment** — 像「這個 architecture 決策該怎麼權衡」、需要對話協作、不適合丟給 subagent > 💡 **判斷的快速辦法**:如果任務可以用「**寫一份完整 brief 給陌生人接手做**」描述清楚 → 適合 subagent;如果需要「**我跟你討論一下**」→ 留在主 session。 --- ## 接下來 - **想理解完整理論**(subagent 跟 skill / MCP 的差別、3 種 multi-agent 機制)→ [Stage 5.5](../stages/05-claude-code-ecosystem.md#55--subagentsclaude-code-原生-multi-agent-機制-2025-新功能) - **想自己寫 / 組合 / debug subagent**(進階主題)→ [`subagent-advanced.md`](./subagent-advanced.md)(description 寫法 / composition pattern / debug 工具) - **CLI 日常用法 playbook** → [`tracks/cli/A3-cli-production.md` Playbook 4](../tracks/cli/A3-cli-production.md#📋-playbook-4派遣-subagent-跑獨立任務) - **想看 subagent 在 agent paradigm 體系內的定位** → [`resources/agent-paradigms.md`](./agent-paradigms.md#subagent--在-agent-runtime-裡再-spawn-agent) - **詞彙快查** → [`resources/glossary.md` § 5. Claude Code 生態 — Subagent](./glossary.md#subagent子-agent)