江湖傳聞,在數碼山巔有一座名為「Claude Code」的宗門。此宗門的大師 Claude 武功高強,但真正令他稱霸江湖的,是他麾下的三大法寶:MCP 神器、子代理門徒、以及技能秘笈。
許多初入門的弟子都搞不清這三者的差別,今日便由老衲娓娓道來。
MCP,全名 Model Context Protocol,乃是宗門鑄造的「連接神器」。
話說 Claude 大師雖然內力深厚、見多識廣,但他畢竟住在山上,無法親自下山去看股票行情、讀取客戶的 Google 文件、或是查閱公司的資料庫。
於是宗門鑄造了一系列的「MCP 法器」——
每一個 MCP Server 就像是一隻信鴿,能飛到特定的地方取回資訊:
- 一隻專門飛往 Slack 聊天樓閣的信鴿
- 一隻專門潛入 PostgreSQL 資料庫的信鴿
- 一隻專門翻閱 Google Drive 藏經閣的信鴿
「Claude 大師,客戶問他上週的銷售報告在哪?」
「待我放出 Google Drive 信鴿……找到了,在『2025年報表』資料夾中。」MCP 的本質:提供工具,讓 Claude 能夠「伸手」到外部世界。
宗門壯大之後,Claude 大師發現一個人實在忙不過來。
於是他收了幾位「子代理(Subagent)」門徒,每位都有各自的專長:
- 「審碼真人」:專精 Code Review,眼光毒辣,能一眼看穿程式碼的破綻
- 「除錯道人」:Debug 專家,專門追查那些隱藏在萬行程式碼中的妖蟲
- 「測試大師」:自動化測試的好手,寫測試用例快如閃電
這些門徒有個特點——他們各自擁有獨立的內力池(context window)。
當 Claude 大師接到一個任務,例如「幫我審查這段程式碼」,他會說:
「此事交給審碼真人處理。」審碼真人便在自己的修煉室(獨立 context)中專心審查,完成後將結果回報給大師。這樣做的好處是:
- 主對話不會被污染——審查的細節不會塞滿大師的腦袋
- 專注度更高——審碼真人只做審碼的事,不會分心
- 工具可以不同——審碼真人可能只需要 Read 和 Grep,不需要 Write 權限
# 在 .claude/agents/code-reviewer.md
---
name: code-reviewer
description: 專精程式碼審查,發現潛在問題
tools: Read, Grep, Glob
---
你是一位嚴謹的程式碼審查專家……子代理的本質:獨立的專家,有自己的房間和工具箱,完成任務後回報結果。
最後,要說到「Skills(技能)」這個法寶了。
話說 Claude 大師雖然博學,但每個宗門、每個專案都有自己的規矩。比如:
- 「我們公司的 commit message 必須以 JIRA 編號開頭」
- 「我們的 PR 要有特定格式的描述」
- 「我們的 SQL 查詢有特定的命名規範」
這些不是什麼武功招式,而是特定場景下的行事準則。
於是弟子們將這些規矩整理成「技能秘笈(SKILL.md)」,放在宗門的藏經閣中:
# 在 .claude/skills/commit-message/SKILL.md
---
## description: 生成符合公司規範的 commit message
## 規則
1. 開頭必須是 JIRA 編號,如 `PROJ-123`
2. 用祈使句,如 "Add" 而非 "Added"
3. 不超過 72 字元當有人請 Claude 大師「幫我寫個 commit message」時,大師會自動想起這份秘笈中的規則,然後按規矩辦事。
與子代理不同的是:
- 技能秘笈融入大師自己的內力(加入當前對話的 context)
- 不需要派人出去,大師自己就能運用
- 是知識和指引,不是獨立的人
技能的本質:寫在紙上的心法,告訴 Claude「如何」做某事,而非提供新的能力。
一日,新入門的弟子阿明困惑地問道:「師父,這三樣東西到底有什麼不同?」
Claude 大師微微一笑,在地上畫了一張表:
| 比較項目 | MCP 神器 | 子代理門徒 | 技能秘笈 |
|---|---|---|---|
| 是什麼 | 連接外部世界的工具 | 獨立工作的專家助手 | 指導行事的知識文件 |
| 比喻 | 信鴿、電話 | 專科醫生 | 操作手冊 |
| 運行位置 | 外部服務 | 獨立的 context window | 融入當前對話 |
| 提供什麼 | 新的能力(做新事) | 新的專家(派人做事) | 新的知識(怎麼做事) |
| 例子 | 讀取 Slack 訊息 | 派 code-reviewer 審查 | 知道公司的 coding style |
師父續道:「再舉個例子。假設你要蓋一棟房子——」
- MCP:是你的工具——電鑽、起重機、水泥攪拌機
- 子代理:是你雇的包工——水電師傅、木工、油漆工,各司其職
- 技能:是建築規範手冊——告訴你承重牆要多厚、插座要裝多高
「三者缺一不可,但職責完全不同。」
阿明恍然大悟,又問:「那實際上怎麼搭配使用?」
師父舉了一例:
場景:用戶說「幫我查一下 Jira 上 PROJ-123 的 ticket,然後修好這個 bug」
- MCP 出動:Claude 放出 Jira MCP 信鴿,取回 ticket 的詳細描述
- 技能生效:Claude 想起「修 bug 要先寫測試」的 SKILL.md 規範
- 子代理派出:Claude 派出「除錯道人」子代理,在獨立環境中分析問題、修復程式碼、跑測試
- 回報結果:除錯道人完成任務,將修改結果回報給 Claude
「如此協作,方能事半功倍。」師父說完,捻鬚而笑。
阿明躬身行禮:「多謝師父指點!」
Claude 大師擺擺手:「記住口訣——」
MCP 給能力,通達四方; > 子代理是專家,獨立作戰; > 技能是心法,指引方向。
「去吧,好好修煉。」
希望這個武俠風格的解說讓你更容易理解這三者的差異!簡單總結:
- MCP = 連接外部服務的介面(工具/能力)
- Subagents = 有獨立 context 的專業 AI 助手(專家/人力)
- Skills = 教 Claude 如何做事的知識文件(指南/知識)
你說得太對了!我解釋得不夠精確,讓我修正這個武俠故事:
阿明皺眉道:「等等師父,我聽說 Skills 是給子代理用的,而您老人家遵循的是 CLAUDE.md 門規才對啊?」
Claude 大師撫掌大笑:「好小子,果然有認真聽講!為師確實說得不夠精準,待我重新解釋。」
「首先,CLAUDE.md 才是為師每日必讀的『門規』。」
這份文件記載著:
- 這個專案的整體規矩
- 為師的行事風格偏好
- 不可觸碰的禁區
- 常用的指令和慣例
# CLAUDE.md
這是一個 Next.js 專案,使用 TypeScript。
- 所有 API 都在 /api 資料夾
- 使用 pnpm 而非 npm
- commit 前必須跑 lint
- 絕對不要動 /legacy 資料夾裡的東西「這是為師的日常修行準則,每次對話我都會遵循。」
「至於 Skills(技能秘笈),你說得對,它們主要是給子代理門徒研讀的!」
師父解釋道:
┌───────────────────────────────────────────┐
│ Claude 大師(主對話) │
│ ├── 遵循:CLAUDE.md 門規 │
│ │ │
│ └── 派出子代理 ──┐ │
│ ▼ │
│ ┌────────────────────┐ │
│ │ 子代理:審碼真人 │ │
│ │ 研讀:Skills 秘笈 │ │
│ │ - PR 審查規範 │ │
│ │ - 安全檢查清單 │ │
│ └────────────────────┘ │
└───────────────────────────────────────────┘「當子代理接受任務時,他可以帶著特定的 Skills 去執行。」
# .claude/agents/code-reviewer.md
---
name: code-reviewer
description: 程式碼審查專家
tools: Read, Grep
skills:
- pr-review # 指定這個子代理要研讀哪些秘笈
- security-check
---「但是!」師父話鋒一轉,「Skills 也可以在主對話中被觸發——當你的請求符合某個 Skill 的描述時,為師也會自動運用它。只是,內建的 Explore、Plan、Verify 這些探子是讀不到 Skills 的。」
| 角色 | 讀取什麼 | 說明 |
|---|---|---|
| Claude 大師(主對話) | CLAUDE.md | 專案的整體門規,每次對話都遵循 |
| Claude 大師(主對話) | Skills(可選) | 當請求匹配 Skill 描述時自動觸發 |
| 自定義子代理 | Skills(明確指定) | 在 agent 定義中用 skills: 指定 |
| 內建代理 (Explore/Plan/Verify) | ❌ 無法讀取 Skills | 只有自定義子代理能用 Skills |
師父重新比喻:
CLAUDE.md = 宗門的門規祖訓(所有人都要遵守的基本規矩)
Skills = 各專業的操作手冊(給特定專家研讀的深入指南)
Subagents = 專科門徒(帶著特定手冊去執行任務的人)
MCP = 通訊法器(連接外界的工具)
「好比說,CLAUDE.md 寫著『本門弟子皆須用 TypeScript』,這是通則。而 Skills 則是『PR 審查時要檢查這十項要點』,這是給審碼真人看的專業手冊。」
阿明點頭:「所以 CLAUDE.md 是通用規範,Skills 是專項指南,主要配合子代理使用!」
「孺子可教!」師父滿意地笑了。
感謝你的糾正!這樣理解更準確:
- CLAUDE.md → Claude 主對話的行為準則
- Skills → 主要給 Subagents 用的專業知識(主對話在匹配時也可觸發)
- Subagents → 獨立執行任務的專家,可指定攜帶哪些 Skills