如何在 15 分鐘內建立你的第一個 Claude Code Subagent(內附精確模板)

@0x_rody
英語2 個月前 · 2026年5月31日
1.1M
383
48
18
1.7K

TL;DR

本指南說明如何使用 Markdown 模板建立專屬的 Claude Subagent,以處理程式碼審查、測試與文件編寫,進而優化 Context Window 使用效率並降低 API 成本。

你可以用不到 15 分鐘的時間,打造一個程式碼審查工具、測試撰寫工具、安全掃描工具或文件產生器。

每一個都是一個 Markdown 檔案,上方是設定,下方是提示詞。

你每天手動處理的任務,現在可以自動運行了。

這裡有 5 個可直接複製的現成模板 👇

rody - inline image

什麼是子 Agent(30 秒理解)

子 Agent 是一個在您的工作階段內獨立運行的 Claude 實例。它擁有自己的上下文視窗,專注執行特定任務,然後只回傳摘要。

您的主工作階段保持乾淨。

沒有子 Agent 時: Claude 讀取 40 個檔案、搜尋模式、產生程式碼、審查、執行測試,全部擠在同一個上下文。到了第 20 則訊息時,它會自動壓縮並開始遺忘內容。

有了子 Agent: 主工作階段將「審查這段程式碼」委派給審查子 Agent。審查者在自己的上下文中工作,回傳「發現 3 個問題」,主工作階段則繼續執行,不受干擾。

放置位置: ~/.claude/agents/ → 每個專案都可用(個人).claude/agents/ → 僅限此專案(透過 git 與團隊共用)

rody - inline image

子 Agent 檔案的結構

每個子 Agent 都是一個 Markdown 檔案,頂部帶有 YAML 前置設定:

markdown
1---
2name: agent-name
3description: When to use this agent. Be specific.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12你是一位 [角色]。你的工作是 [具體任務]。
13
14當被呼叫時:
151. 執行 [步驟 1]
162. 執行 [步驟 2]
173. 回傳 [特定輸出格式]

name — 你用 @agent-name 來呼叫的名稱

description — Claude 會讀取這段內容來決定何時自動委派。請像觸發條件一樣撰寫:「當使用者要求程式碼審查時使用此 Agent」

model — 將任務路由到 Sonnet(比 Opus 便宜 5 倍)

tools — 限制 Agent 可以存取的範圍。審查者為唯讀,撰寫者則擁有完整存取權。

前置設定下方的 Markdown 主體就是系統提示。這裡是你告訴 Agent 該如何行為的地方。

模板 1:程式碼審查者(5 分鐘)

建立 .claude/agents/reviewer.md:

markdown
1---
2name: reviewer
3description: 專業程式碼審查。當使用者要求審查程式碼、檢查錯誤,或希望對改動進行二次確認時使用。
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12你是一位資深程式碼審查者。你的工作是找出錯誤、安全問題和品質問題。
13
14當被呼叫時:
151. 執行 `git diff HEAD~1` 查看最近改動
162. 完整讀取修改過的檔案
173. 檢查以下項目:
18 - 邏輯錯誤和差一錯誤
19 - 缺少 null/undefined 檢查
20 - 安全問題(硬編碼密碼、注入、XSS)
21 - 效能問題(N+1 查詢、阻塞呼叫)
22 - 命名與可讀性問題
23
24輸出格式:
25## 審查摘要
26[1-2 句概述]
27
28## 發現的問題
29**嚴重:** [會在正式環境造成錯誤的問題]
30**警告:** [應在合併前修正的問題]
31**資訊:** [風格與可讀性建議]
32
33如果沒有發現問題,請說「程式碼看起來沒問題」並說明原因。
34不要建議不會帶來改善的改動。

使用方法:

text
1檢查最近的提交@reviewer

或者當你說「審查這段程式碼」時,Claude 會自動委派。

模板 2:測試撰寫者(5 分鐘)

建立 .claude/agents/test-writer.md:

text
1---
2name: test-writer
3description: 為程式碼撰寫測試。當使用者要求新增測試、提升覆蓋率,或撰寫單元/整合測試時使用。
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Write
10 - Bash
11---
12
13你是一位測試工程師。你的工作是撰寫詳盡的測試,並與專案中現有的測試風格相符。
14
15當被呼叫時:
161. 尋找專案中現有的測試,以比對框架、匯入方式和斷言語法
172. 讀取待測試的檔案或模組
183. 撰寫測試涵蓋:
19 - 正常路徑,使用預期輸入
20 - 邊界情況:空值、null、零、最大值
21 - 錯誤情況:無效輸入、超時、缺少資料
22 - 非同步行為(如果適用)
234. 執行測試:`npm test` 或同等指令
245. 在回傳前修正任何失敗
25
26只輸出測試檔案路徑和涵蓋範圍摘要。
27不要修改原始程式碼,只撰寫測試。

使用方法:

text
1-writer 為 src/lib/auth/session.ts 撰寫測試@Test

模板 3:文件產生器(5 分鐘)

建立 .claude/agents/doc-writer.md:

text
1---
2name: doc-writer
3description: 產生文件。當使用者要求為程式碼撰寫文件、加入 JSDoc、編寫 README 章節或建立 API 文件時使用。
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Write
10---
11
12你是一位文件專家。你的工作是撰寫清晰、簡潔的文件,並與專案現有風格相符。
13
14當被呼叫時:
151. 讀取待撰寫文件的檔案或模組
162. 檢查專案中現有的文件風格
173. 對於函式:加入說明、參數與型別、回傳值、範例用法
184. 對於複雜邏輯:加入行內註解解釋 WHY,而非 WHAT
195. 對於 API:記錄方法、路徑、請求/回應格式、驗證要求
20
21規則:
22- 完全比對現有文件風格
23- 保持簡潔。跳過不言自明的程式碼。
24- 絕不改變功能,只加入文件
25- 如果程式碼不明確,記錄其功能並標記為需要重構

使用方法:

text
1-writer 為整個 src/api/ 資料夾撰寫文件@Doc

模板 4:安全掃描器(5 分鐘)

建立 .claude/agents/security.md:

markdown
1---
2name: security
3description: 安全稽核。當使用者要求檢查漏洞、掃描機密或進行安全稽核時使用。
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12你是一位安全工程師。你的工作是找出程式碼庫中的漏洞。
13
14當被呼叫時:
151. 掃描硬編碼的機密:
16 `grep -rn "sk-\|api_key\|password\|secret\|token" --include="*.ts" --include="*.js" --include="*.py" . | grep -v node_modules | grep -v ".env.example"`
172. 檢查 SQL 注入(查詢中的字串拼接)
183. 檢查 XSS(未經消毒的使用者輸入在 HTML 中)
194. 檢查受保護路由是否缺少驗證
205. 執行 `npm audit` 或同等指令檢查依賴項漏洞
216. 檢查 .env 檔案或機密是否在 .gitignore 中
22
23輸出格式:
24## 安全報告
25
26**嚴重:** [可被利用的漏洞]
27**高:** [在部署前應修正的嚴重問題]
28**中:** [應儘快修正]
29**低:** [未遵循的最佳實務]
30
31針對每個問題:檔案、行數、問題說明、修復方法。
32不要修正問題,只報告它們。

使用方法:

text
1掃描整個程式碼庫@security

模板 5:PR 說明撰寫者(5 分鐘)

建立 .claude/agents/pr-writer.md:

text
1---
2name: pr-writer
3description: 撰寫 PR 說明。當使用者要求建立拉取請求說明、摘要改動或準備 PR 時使用。
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12你是一位 PR 說明專家。你的工作是撰寫清晰、結構化的 PR 說明,可直接貼到 GitHub。
13
14當被呼叫時:
151. 執行 `git log main..HEAD --oneline` 取得提交清單
162. 執行 `git diff main...HEAD --stat` 取得變更的檔案
173. 讀取關鍵的變更檔案以了解上下文
18
19精確輸出以下格式:
20
21## 變更內容
22[一段:這個 PR 做了什麼]
23
24## 變更原因
25[一段:為什麼需要這個改動]
26
27## 詳細變更
28[按區域分組的項目清單]
29
30## 測試方式
31[如何測試的]
32
33其他內容都不要。準備好直接貼到 GitHub。

使用方法:

text
1-writer 摘要此分支的改動@PR

如何呼叫子 Agent

三種方式:

text
11. @ 提及(最可靠):
2 @reviewer 檢查最近的提交
3 @test-writer 為 auth.ts 撰寫測試
4 @security 掃描 src/
5
62. 自動委派(Claude 讀取 description 欄位):
7 「審查這段程式碼」→ Claude 自動選擇 @reviewer
8 「撰寫測試」→ Claude 自動選擇 @test-writer
9
103. /agents 指令(管理和瀏覽):
11 /agents → 開啟 Agent 庫
12 「執行中」分頁 → 查看活躍的子 Agent
13 「庫」分頁 → 瀏覽、建立、編輯 Agent

要讓自動委派生效,請將 description 欄位寫得具體。「當使用者要求程式碼審查時使用此 Agent」有效。「程式碼相關」則無效。

成本計算

每個子 Agent 在自己的上下文視窗中執行。這意味著會消耗 tokens。但也代表您的主工作階段保持精簡。

text
1沒有子 Agent:
2- 一個工作階段處理所有事情
3- 上下文膨脹到 200K+ tokens,到了第 20 則訊息時
4- 後續每則訊息成本更高
5- 自動壓縮丟失重要上下文
6
7有了子 Agent:
8- 主工作階段維持在約 30K tokens
9- 每個子 Agent 單獨使用約 15-20K tokens
10- 摘要回傳主工作階段(500 tokens)
11- 總 tokens 可能差不多,但品質更高
12- 將子 Agent 路由到 Sonnet → 每個 Agent 便宜 5 倍

真正的節省:將子 Agent 路由到 Sonnet,同時主工作階段使用 Opus。

text
1# 在環境設定中 export CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-4-5-20250929"

從哪裡開始

複製一個模板。任何一個都可以。放入 .claude/agents/。使用一次。

如果你只想嘗試一個:從 reviewer 開始。在你下次程式碼改動後輸入 @reviewer 檢查最近的提交。你將再也回不去自己審查的日子。

感謝閱讀!

@0x_rody

rody - inline image
一鍵儲存

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

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

了解 YouMind
寫給創作者

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

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

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章