6 6
7> 了解何時使用 CLAUDE.md、Skills、subagents、hooks、MCP 和 plugins。7> 了解何時使用 CLAUDE.md、Skills、subagents、hooks、MCP 和 plugins。
8 8
9Claude Code 結合了一個能夠推理您程式碼的模型與[內建工具](/docs/zh-TW/how-claude-code-works#tools),用於檔案操作、搜尋、執行和網路存取。內建工具涵蓋了大多數編碼任務。本指南涵蓋擴展層:您添加的功能,用於自訂 Claude 的知識、將其連接到外部服務,以及自動化工作流程。9Claude Code 結合了一個能夠推理您程式碼的模型與[內建工具](/docs/zh-TW/how-claude-code-works.md#tools),用於檔案操作、搜尋、執行和網路存取。內建工具涵蓋了大多數編碼任務。本指南涵蓋擴展層:您添加的功能,用於自訂 Claude 的知識、將其連接到外部服務,以及自動化工作流程。
10 10
11> [!NOTE]11> [!NOTE]
12>12>
13> 有關核心代理迴圈如何運作的資訊,請參閱[Claude Code 如何運作](/docs/zh-TW/how-claude-code-works)。13> 有關核心代理迴圈如何運作的資訊,請參閱[Claude Code 如何運作](/docs/zh-TW/how-claude-code-works.md)。
14 14
15**初次使用 Claude Code?** 從[CLAUDE.md](/docs/zh-TW/memory)開始了解專案約定,然後根據特定觸發器添加其他擴展[如下所示](#build-your-setup-over-time)。15**初次使用 Claude Code?** 從[CLAUDE.md](/docs/zh-TW/memory.md)開始了解專案約定,然後根據特定觸發器添加其他擴展[如下所示](#build-your-setup-over-time)。
16 16
17## 概述17## 概述
18 18
19擴展插入代理迴圈的不同部分:19擴展插入代理迴圈的不同部分:
20 20
21* **[CLAUDE.md](/docs/zh-TW/memory)** 添加 Claude 在每個會話中看到的持久上下文21* **[CLAUDE.md](/docs/zh-TW/memory.md)** 添加 Claude 在每個會話中看到的持久上下文
22* **[Output styles](/docs/zh-TW/output-styles)** 為會話中的每個回應設定 Claude 的角色、語調和回應格式22* **[Output styles](/docs/zh-TW/output-styles.md)** 為會話中的每個回應設定 Claude 的角色、語調和回應格式
23* **[Skills](/docs/zh-TW/skills)** 添加可重複使用的知識和可調用的工作流程23* **[Skills](/docs/zh-TW/skills.md)** 添加可重複使用的知識和可調用的工作流程
24* **[Code intelligence](/docs/zh-TW/tools-reference#lsp-tool-behavior)** 將 Claude 連接到語言伺服器以進行符號級導航和即時類型錯誤24* **[Code intelligence](/docs/zh-TW/tools-reference.md#lsp-tool-behavior)** 將 Claude 連接到語言伺服器以進行符號級導航和即時類型錯誤
25* **[MCP](/docs/zh-TW/mcp)** 將 Claude 連接到外部服務和工具25* **[MCP](/docs/zh-TW/mcp.md)** 將 Claude 連接到外部服務和工具
26* **[Subagents](/docs/zh-TW/sub-agents)** 在隔離的上下文中運行自己的迴圈,返回摘要26* **[Subagents](/docs/zh-TW/sub-agents.md)** 在隔離的上下文中運行自己的迴圈,返回摘要
27* **[Dynamic workflows](/docs/zh-TW/workflows)** 從 Claude 編寫的指令碼運行許多 subagents,返回一個結果27* **[Dynamic workflows](/docs/zh-TW/workflows.md)** 從 Claude 編寫的指令碼運行許多 subagents,返回一個結果
28* **[Cross-session messaging](/docs/zh-TW/cross-session-messaging)** 讓 Claude 將訊息從您的一個會話傳遞到另一個會話28* **[Cross-session messaging](/docs/zh-TW/cross-session-messaging.md)** 讓 Claude 將訊息從您的一個會話傳遞到另一個會話
29* **[Hooks](/docs/zh-TW/hooks-guide)** 在 Claude Code 達到生命週期事件時運行您的指令碼、HTTP 請求、MCP 工具呼叫、提示或 subagent29* **[Hooks](/docs/zh-TW/hooks-guide.md)** 在 Claude Code 達到生命週期事件時運行您的指令碼、HTTP 請求、MCP 工具呼叫、提示或 subagent
30* **[Plugins](/docs/zh-TW/plugins/overview)** 和 **[marketplaces](/docs/zh-TW/plugins/overview)** 打包和分發這些功能30* **[Plugins](/docs/zh-TW/plugins/overview.md)** 和 **[marketplaces](/docs/zh-TW/plugins/overview.md)** 打包和分發這些功能
31 31
32[Skills](/docs/zh-TW/skills) 是最靈活的擴展。Skill 是一個包含知識、工作流程或指令的 markdown 檔案。您可以使用像 `/deploy` 這樣的命令調用 skills,或者 Claude 可以在相關時自動載入它們。Skills 可以在您目前的對話中運行,或通過 subagents 在隔離的上下文中運行。32[Skills](/docs/zh-TW/skills.md) 是最靈活的擴展。Skill 是一個包含知識、工作流程或指令的 markdown 檔案。您可以使用像 `/deploy` 這樣的命令調用 skills,或者 Claude 可以在相關時自動載入它們。Skills 可以在您目前的對話中運行,或通過 subagents 在隔離的上下文中運行。
33 33
34## 依目標選擇功能34## 依目標選擇功能
35 35
38| 功能 | 用途 | 使用時機 | 範例 |38| 功能 | 用途 | 使用時機 | 範例 |
39| - | - | - | - |39| - | - | - | - |
40| **CLAUDE.md** | 每次對話都會載入的持久上下文 | 專案慣例、「一律執行 X」的規則 | 「使用 pnpm,不要用 npm。提交前先執行測試。」 |40| **CLAUDE.md** | 每次對話都會載入的持久上下文 | 專案慣例、「一律執行 X」的規則 | 「使用 pnpm,不要用 npm。提交前先執行測試。」 |
41| **[輸出風格](/docs/zh-TW/output-styles)** | 為整個工作階段設定 Claude 角色、語氣與回應格式的指令 | 希望每個回應都採用的語氣、長度或格式,或讓 Claude 以軟體工程師以外的身分工作 | 內建的 Concise 風格可讓回應更簡短;自訂風格可讓每個問題都先以圖表回答 |41| **[輸出風格](/docs/zh-TW/output-styles.md)** | 為整個工作階段設定 Claude 角色、語氣與回應格式的指令 | 希望每個回應都採用的語氣、長度或格式,或讓 Claude 以軟體工程師以外的身分工作 | 內建的 Concise 風格可讓回應更簡短;自訂風格可讓每個問題都先以圖表回答 |
42| **Skill** | Claude 可使用的指令、知識與工作流程 | 可重複使用的內容、參考文件、可重複執行的任務 | `/deploy` 會執行您的部署檢查清單;包含端點模式的 API 文件 skill |42| **Skill** | Claude 可使用的指令、知識與工作流程 | 可重複使用的內容、參考文件、可重複執行的任務 | `/deploy` 會執行您的部署檢查清單;包含端點模式的 API 文件 skill |
43| **Subagent** | 回傳摘要結果的隔離執行上下文 | 上下文隔離、平行任務、專門化的工作者 | 讀取大量檔案但只回傳關鍵發現的研究任務 |43| **Subagent** | 回傳摘要結果的隔離執行上下文 | 上下文隔離、平行任務、專門化的工作者 | 讀取大量檔案但只回傳關鍵發現的研究任務 |
44| **[動態工作流程](/docs/zh-TW/workflows)** | 由 Claude 撰寫、在背景執行多個 subagent 的指令碼 | 超出少數幾個 subagent 能處理的工作,或希望交叉驗證的發現 | 稽核整個程式碼庫,並由第二組 agent 驗證每項發現 |44| **[動態工作流程](/docs/zh-TW/workflows.md)** | 由 Claude 撰寫、在背景執行多個 subagent 的指令碼 | 超出少數幾個 subagent 能處理的工作,或希望交叉驗證的發現 | 稽核整個程式碼庫,並由第二組 agent 驗證每項發現 |
45| **[跨工作階段傳訊](/docs/zh-TW/cross-session-messaging)** | Claude 將訊息從您的一個工作階段傳遞到另一個工作階段 | 您自行執行、在任務進行中需要彼此發現的工作階段 | 一個工作階段警告另一個工作階段,它所做的變更會破壞對方正在建構的內容 |45| **[跨工作階段傳訊](/docs/zh-TW/cross-session-messaging.md)** | Claude 將訊息從您的一個工作階段傳遞到另一個工作階段 | 您自行執行、在任務進行中需要彼此發現的工作階段 | 一個工作階段警告另一個工作階段,它所做的變更會破壞對方正在建構的內容 |
46| **[程式碼智慧](/docs/zh-TW/tools-reference#lsp-tool-behavior)** | 語言伺服器導覽與診斷 | 型別語言、grep 速度慢或不精確的大型程式碼庫 | 直接跳到符號的定義,而不是讀取整個檔案 |46| **[程式碼智慧](/docs/zh-TW/tools-reference.md#lsp-tool-behavior)** | 語言伺服器導覽與診斷 | 型別語言、grep 速度慢或不精確的大型程式碼庫 | 直接跳到符號的定義,而不是讀取整個檔案 |
47| **MCP** | 連接外部服務 | 外部資料或動作 | 查詢您的資料庫、發布訊息到 Slack、控制瀏覽器 |47| **MCP** | 連接外部服務 | 外部資料或動作 | 查詢您的資料庫、發布訊息到 Slack、控制瀏覽器 |
48| **Hook** | 由事件觸發的指令碼、HTTP 請求、MCP 工具呼叫、提示詞或 subagent | 必須在每個相符事件上執行的自動化 | 每次編輯檔案後執行 ESLint |48| **Hook** | 由事件觸發的指令碼、HTTP 請求、MCP 工具呼叫、提示詞或 subagent | 必須在每個相符事件上執行的自動化 | 每次編輯檔案後執行 ESLint |
49| **[Artifact](/docs/zh-TW/artifacts)** | 將工作階段輸出發布為私人的互動式網頁 | 希望以視覺方式檢視或分享、而非以終端機文字呈現的輸出 | 隨著 Claude 調查而更新的事件時間軸 |49| **[Artifact](/docs/zh-TW/artifacts.md)** | 將工作階段輸出發布為私人的互動式網頁 | 希望以視覺方式檢視或分享、而非以終端機文字呈現的輸出 | 隨著 Claude 調查而更新的事件時間軸 |
50 50
51\*\*[外掛](/docs/zh-TW/plugins/overview)\*\*是封裝層。外掛會將 skill、hook、subagent 與 MCP 伺服器組合成單一可安裝的單元。外掛 skill 具有命名空間(例如 `/my-plugin:review`),因此多個外掛可以並存。當您想在多個儲存庫中重複使用相同的設定,或透過 **[市集](/docs/zh-TW/plugins/overview)** 散布給其他人時,請使用外掛。51\*\*[外掛](/docs/zh-TW/plugins/overview.md)\*\*是封裝層。外掛會將 skill、hook、subagent 與 MCP 伺服器組合成單一可安裝的單元。外掛 skill 具有命名空間(例如 `/my-plugin:review`),因此多個外掛可以並存。當您想在多個儲存庫中重複使用相同的設定,或透過 **[市集](/docs/zh-TW/plugins/overview.md)** 散布給其他人時,請使用外掛。
52 52
53### 逐步建立您的設定53### 逐步建立您的設定
54 54
56 56
57| 觸發時機 | 加入 |57| 觸發時機 | 加入 |
58| :- | :- |58| :- | :- |
59| Claude 兩次弄錯某個慣例或命令 | 將其加入 [CLAUDE.md](/docs/zh-TW/memory) |59| Claude 兩次弄錯某個慣例或命令 | 將其加入 [CLAUDE.md](/docs/zh-TW/memory.md) |
60| 您一再要求 Claude 更簡短、多加解釋,或以相同格式回答 | 設定[輸出風格](/docs/zh-TW/output-styles) |60| 您一再要求 Claude 更簡短、多加解釋,或以相同格式回答 | 設定[輸出風格](/docs/zh-TW/output-styles.md) |
61| 您一再輸入相同的提示詞來開始某項任務 | 將其儲存為使用者可叫用的 [skill](/docs/zh-TW/skills) |61| 您一再輸入相同的提示詞來開始某項任務 | 將其儲存為使用者可叫用的 [skill](/docs/zh-TW/skills.md) |
62| 您第三次將相同的操作手冊或多步驟程序貼到聊天中 | 將其整理為 [skill](/docs/zh-TW/skills) |62| 您第三次將相同的操作手冊或多步驟程序貼到聊天中 | 將其整理為 [skill](/docs/zh-TW/skills.md) |
63| 您一直從 Claude 看不到的瀏覽器分頁複製資料 | 將該系統連接為 [MCP 伺服器](/docs/zh-TW/mcp) |63| 您一直從 Claude 看不到的瀏覽器分頁複製資料 | 將該系統連接為 [MCP 伺服器](/docs/zh-TW/mcp.md) |
64| Claude 讀取大量檔案來找出符號的定義或使用位置 | 為您的語言安裝[程式碼智慧外掛](/docs/zh-TW/plugins/code-intelligence) |64| Claude 讀取大量檔案來找出符號的定義或使用位置 | 為您的語言安裝[程式碼智慧外掛](/docs/zh-TW/plugins/code-intelligence.md) |
65| 某個附帶任務以您之後不會再參考的輸出塞滿對話 | 透過 [subagent](/docs/zh-TW/sub-agents) 處理 |65| 某個附帶任務以您之後不會再參考的輸出塞滿對話 | 透過 [subagent](/docs/zh-TW/sub-agents.md) 處理 |
66| 您希望某件事每次都自動發生而不需要要求 | 撰寫 [hook](/docs/zh-TW/hooks-guide) |66| 您希望某件事每次都自動發生而不需要要求 | 撰寫 [hook](/docs/zh-TW/hooks-guide.md) |
67| 第二個儲存庫需要相同的設定 | 將其封裝為[外掛](/docs/zh-TW/plugins/overview) |67| 第二個儲存庫需要相同的設定 | 將其封裝為[外掛](/docs/zh-TW/plugins/overview.md) |
68 68
69同樣的觸發時機也能告訴您何時該更新現有的設定。反覆出現的錯誤或一再出現的審查意見,應該編輯 CLAUDE.md,而不是在聊天中進行一次性的修正。您一直手動調整的工作流程,代表這個 skill 需要再修訂一次。69同樣的觸發時機也能告訴您何時該更新現有的設定。反覆出現的錯誤或一再出現的審查意見,應該編輯 CLAUDE.md,而不是在聊天中進行一次性的修正。您一直手動調整的工作流程,代表這個 skill 需要再修訂一次。
70 70
83| - | - | - |83| - | - | - |
84| **是什麼** | 可重複使用的指令、知識或工作流程 | 擁有自己上下文的隔離工作者 |84| **是什麼** | 可重複使用的指令、知識或工作流程 | 擁有自己上下文的隔離工作者 |
85| **主要優點** | 在不同上下文之間共用內容 | 上下文隔離。工作分開進行,只回傳摘要 |85| **主要優點** | 在不同上下文之間共用內容 | 上下文隔離。工作分開進行,只回傳摘要 |
86| **[上下文視窗](/docs/zh-TW/context-window)影響** | 增加到您的主要視窗 | 使用獨立的視窗,擁有自己的輸入與輸出 token |86| **[上下文視窗](/docs/zh-TW/context-window.md)影響** | 增加到您的主要視窗 | 使用獨立的視窗,擁有自己的輸入與輸出 token |
87| **最適合** | 參考資料、可叫用的工作流程 | 需要讀取大量檔案的任務、平行工作、專門化的工作者 |87| **最適合** | 參考資料、可叫用的工作流程 | 需要讀取大量檔案的任務、平行工作、專門化的工作者 |
88 88
89**Skill 可以是參考型或動作型。** 參考型 skill 提供 Claude 在整個工作階段中使用的知識(例如您的 API 風格指南)。動作型 skill 則告訴 Claude 執行特定的事情(例如執行部署工作流程的 `/deploy`)。89**Skill 可以是參考型或動作型。** 參考型 skill 提供 Claude 在整個工作階段中使用的知識(例如您的 API 風格指南)。動作型 skill 則告訴 Claude 執行特定的事情(例如執行部署工作流程的 `/deploy`)。
90 90
91**使用 subagent** 的時機是需要上下文隔離,或上下文視窗即將填滿時。Subagent 可能會讀取數十個檔案或執行大量搜尋,但主要對話只會收到摘要。由於 subagent 的工作不會消耗主要上下文,當您不需要讓中間過程保持可見時,這也很有用。自訂 subagent 可以擁有自己的指令,並可預先載入 skill。91**使用 subagent** 的時機是需要上下文隔離,或上下文視窗即將填滿時。Subagent 可能會讀取數十個檔案或執行大量搜尋,但主要對話只會收到摘要。由於 subagent 的工作不會消耗主要上下文,當您不需要讓中間過程保持可見時,這也很有用。自訂 subagent 可以擁有自己的指令,並可預先載入 skill。
92 92
93**兩者可以結合。** Subagent 可以預先載入特定的 skill(`skills:` 欄位)。Skill 可以使用 `context: fork` 在隔離的上下文中執行。詳情請參閱 [Skill](/docs/zh-TW/skills)。93**兩者可以結合。** Subagent 可以預先載入特定的 skill(`skills:` 欄位)。Skill 可以使用 `context: fork` 在隔離的上下文中執行。詳情請參閱 [Skill](/docs/zh-TW/skills.md)。
94 94
95**CLAUDE.md 與 Skill**95**CLAUDE.md 與 Skill**
96 96
116| 面向 | CLAUDE.md | 輸出風格 |116| 面向 | CLAUDE.md | 輸出風格 |
117| - | - | - |117| - | - | - |
118| **內容** | 關於專案的事實與規則 | 角色、語氣與回應格式 |118| **內容** | 關於專案的事實與規則 | 角色、語氣與回應格式 |
119| **切換** | 一律載入 | 一次只有一個生效;可隨時[切換風格](/docs/zh-TW/output-styles#change-your-output-style) |119| **切換** | 一律載入 | 一次只有一個生效;可隨時[切換風格](/docs/zh-TW/output-styles.md#change-your-output-style) |
120| **最適合** | 建置命令、慣例、「絕不執行 X」的規則 | 較簡短的回應、搭配程式碼的說明、非工程類角色 |120| **最適合** | 建置命令、慣例、「絕不執行 X」的規則 | 較簡短的回應、搭配程式碼的說明、非工程類角色 |
121 121
122**放在 CLAUDE.md**:如果無論使用哪種風格,這些內容對專案都成立,例如程式碼慣例、建置命令、專案結構。122**放在 CLAUDE.md**:如果無論使用哪種風格,這些內容對專案都成立,例如程式碼慣例、建置命令、專案結構。
123 123
124**使用輸出風格**:如果內容與回應本身有關,且您之後可能想將其關閉,例如長度、格式、Claude 解釋的詳細程度,或是寫作助理等不同的角色。Claude Code 包含[內建風格](/docs/zh-TW/output-styles#built-in-output-styles),您也可以撰寫自己的風格。124**使用輸出風格**:如果內容與回應本身有關,且您之後可能想將其關閉,例如長度、格式、Claude 解釋的詳細程度,或是寫作助理等不同的角色。Claude Code 包含[內建風格](/docs/zh-TW/output-styles.md#built-in-output-styles),您也可以撰寫自己的風格。
125 125
126**兩者可以結合。** 無論您選擇哪種風格,CLAUDE.md 都會保持載入。Claude 會將兩者都視為指令來遵循,因此兩者都不具強制性。對於每次都必須發生的事情,請使用 [hook](/docs/zh-TW/hooks-guide)。126**兩者可以結合。** 無論您選擇哪種風格,CLAUDE.md 都會保持載入。Claude 會將兩者都視為指令來遵循,因此兩者都不具強制性。對於每次都必須發生的事情,請使用 [hook](/docs/zh-TW/hooks-guide.md)。
127 127
128**CLAUDE.md、規則與 Skill**128**CLAUDE.md、規則與 Skill**
129 129
146兩者都在主要對話之外執行工作。使用 subagent 時,由 Claude 逐回合決定接下來要執行什麼。在工作流程中,則由指令碼決定:146兩者都在主要對話之外執行工作。使用 subagent 時,由 Claude 逐回合決定接下來要執行什麼。在工作流程中,則由指令碼決定:
147 147
148* **Subagent** 是 Claude 產生的工作者,每個都會將摘要回傳給產生它的對話148* **Subagent** 是 Claude 產生的工作者,每個都會將摘要回傳給產生它的對話
149* **[動態工作流程](/docs/zh-TW/workflows)** 是由 Claude 撰寫的指令碼,會在背景執行多個 subagent 並回傳單一結果149* **[動態工作流程](/docs/zh-TW/workflows.md)** 是由 Claude 撰寫的指令碼,會在背景執行多個 subagent 並回傳單一結果
150 150
151**使用 subagent** 的時機是需要快速、專注的工作者時:研究某個問題、驗證某項主張、審查某個檔案。Subagent 完成工作後回傳摘要,讓您的主要對話保持整潔。Claude 在產生時為其[命名](/docs/zh-TW/sub-agents#subagent-names)的 subagent 也可以[彼此傳訊](/docs/zh-TW/sub-agents#what-loads-at-startup)。151**使用 subagent** 的時機是需要快速、專注的工作者時:研究某個問題、驗證某項主張、審查某個檔案。Subagent 完成工作後回傳摘要,讓您的主要對話保持整潔。Claude 在產生時為其[命名](/docs/zh-TW/sub-agents.md#subagent-names)的 subagent 也可以[彼此傳訊](/docs/zh-TW/sub-agents.md#what-loads-at-startup)。
152 152
153**使用動態工作流程** 的時機是某項工作[超出少數幾個 subagent 能處理的範圍](/docs/zh-TW/workflows#when-to-use-a-workflow),或您希望在看到發現之前先交叉驗證時,例如整個程式碼庫的稽核、大型遷移,或從多個角度起草的計畫。若要啟動工作流程,請[在提示詞中要求使用工作流程](/docs/zh-TW/workflows#ask-for-a-workflow-in-your-prompt)。153**使用動態工作流程** 的時機是某項工作[超出少數幾個 subagent 能處理的範圍](/docs/zh-TW/workflows.md#when-to-use-a-workflow),或您希望在看到發現之前先交叉驗證時,例如整個程式碼庫的稽核、大型遷移,或從多個角度起草的計畫。若要啟動工作流程,請[在提示詞中要求使用工作流程](/docs/zh-TW/workflows.md#ask-for-a-workflow-in-your-prompt)。
154 154
155**若要將某個工作階段的發現傳遞給另一個工作階段**,請要求第一個工作階段的 Claude 傳送。Claude 會透過[跨工作階段傳訊](/docs/zh-TW/cross-session-messaging)傳遞。[平行執行 agent](/docs/zh-TW/agents) 比較了同時執行多個 Claude 的其他方式,包括您交付出去、之後再回來查看的工作階段。155**若要將某個工作階段的發現傳遞給另一個工作階段**,請要求第一個工作階段的 Claude 傳送。Claude 會透過[跨工作階段傳訊](/docs/zh-TW/cross-session-messaging.md)傳遞。[平行執行 agent](/docs/zh-TW/agents.md) 比較了同時執行多個 Claude 的其他方式,包括您交付出去、之後再回來查看的工作階段。
156 156
157**MCP 與 Skill**157**MCP 與 Skill**
158 158
177| 面向 | Hook | Skill |177| 面向 | Hook | Skill |
178| - | - | - |178| - | - | - |
179| **執行內容** | shell 命令、HTTP 請求、MCP 工具呼叫、LLM 提示詞或 subagent | Claude 閱讀並遵循的指令 |179| **執行內容** | shell 命令、HTTP 請求、MCP 工具呼叫、LLM 提示詞或 subagent | Claude 閱讀並遵循的指令 |
180| **觸發方式** | [生命週期事件](/docs/zh-TW/hooks#hook-events),例如 `PostToolUse` 或 `SessionStart` | 您輸入 `/<name>`,或 Claude 判斷描述與您的任務相符 |180| **觸發方式** | [生命週期事件](/docs/zh-TW/hooks.md#hook-events),例如 `PostToolUse` 或 `SessionStart` | 您輸入 `/<name>`,或 Claude 判斷描述與您的任務相符 |
181| **確定性** | 在其事件發生時觸發,無需 Claude 決定 | Claude 解讀指令;結果可能有所不同 |181| **確定性** | 在其事件發生時觸發,無需 Claude 決定 | Claude 解讀指令;結果可能有所不同 |
182| **上下文成本** | 除非 hook 回傳輸出,否則為零 | 描述在每個工作階段載入;使用時載入完整內容 |182| **上下文成本** | 除非 hook 回傳輸出,否則為零 | 描述在每個工作階段載入;使用時載入完整內容 |
183| **最適合** | 編輯後執行 lint、封鎖不安全的命令、記錄、通知 | 需要推理的工作流程、參考資料、多步驟任務 |183| **最適合** | 編輯後執行 lint、封鎖不安全的命令、記錄、通知 | 需要推理的工作流程、參考資料、多步驟任務 |
194 194
195功能可以在多個層級定義:整個使用者、個別專案、透過外掛,或透過受管理的政策。您也可以在子目錄中巢狀放置 CLAUDE.md 檔案,或將 skill 放在 monorepo 的特定套件中。當同一功能存在於多個層級時,分層方式如下:195功能可以在多個層級定義:整個使用者、個別專案、透過外掛,或透過受管理的政策。您也可以在子目錄中巢狀放置 CLAUDE.md 檔案,或將 skill 放在 monorepo 的特定套件中。當同一功能存在於多個層級時,分層方式如下:
196 196
197* **CLAUDE.md 檔案**是累加的:所有層級會同時將內容提供給 Claude 的上下文。來自工作目錄及其上層目錄的檔案會在啟動時載入;子目錄的檔案則在您於其中工作時載入。當指令互相衝突時,Claude 會自行判斷如何調和。請參閱 [CLAUDE.md 檔案的載入方式](/docs/zh-TW/memory#how-claude-md-files-load)。197* **CLAUDE.md 檔案**是累加的:所有層級會同時將內容提供給 Claude 的上下文。來自工作目錄及其上層目錄的檔案會在啟動時載入;子目錄的檔案則在您於其中工作時載入。當指令互相衝突時,Claude 會自行判斷如何調和。請參閱 [CLAUDE.md 檔案的載入方式](/docs/zh-TW/memory.md#how-claude-md-files-load)。
198* **Skill 與 subagent** 依名稱覆寫:當同一名稱存在於多個層級時,會依優先順序由其中一個定義勝出(skill 為 managed > user > project;subagent 為 managed > CLI 旗標 > project > user > plugin)。外掛 skill 具有[命名空間](/docs/zh-TW/plugins/components#skills)以避免衝突。請參閱 [skill 探索](/docs/zh-TW/skills#resolve-skills-that-share-a-name)與 [subagent 範圍](/docs/zh-TW/sub-agents#choose-the-subagent-scope)。198* **Skill 與 subagent** 依名稱覆寫:當同一名稱存在於多個層級時,會依優先順序由其中一個定義勝出(skill 為 managed > user > project;subagent 為 managed > CLI 旗標 > project > user > plugin)。外掛 skill 具有[命名空間](/docs/zh-TW/plugins/components.md#skills)以避免衝突。請參閱 [skill 探索](/docs/zh-TW/skills.md#resolve-skills-that-share-a-name)與 [subagent 範圍](/docs/zh-TW/sub-agents.md#choose-the-subagent-scope)。
199* **MCP 伺服器**依名稱覆寫:local > project > user。請參閱 [MCP 範圍](/docs/zh-TW/mcp#scope-hierarchy-and-precedence)。199* **MCP 伺服器**依名稱覆寫:local > project > user。請參閱 [MCP 範圍](/docs/zh-TW/mcp.md#scope-hierarchy-and-precedence)。
200* **Hook** 會合併:所有已註冊的 hook 都會在其相符事件發生時觸發,無論來源為何。請參閱 [hook](/docs/zh-TW/hooks)。200* **Hook** 會合併:所有已註冊的 hook 都會在其相符事件發生時觸發,無論來源為何。請參閱 [hook](/docs/zh-TW/hooks.md)。
201 201
202### 結合功能202### 結合功能
203 203
214 214
215## 了解上下文成本215## 了解上下文成本
216 216
217您添加的每個功能都消耗 Claude 的一些上下文。太多可能會填滿您的上下文視窗,但它也可能添加噪聲,使 Claude 效率降低;skills 可能無法正確觸發,或 Claude 可能會失去對您的約定的追蹤。了解這些權衡有助於您構建有效的設置。有關這些功能如何在運行會話中結合的互動式視圖,請參閱[探索上下文視窗](/docs/zh-TW/context-window)。217您添加的每個功能都消耗 Claude 的一些上下文。太多可能會填滿您的上下文視窗,但它也可能添加噪聲,使 Claude 效率降低;skills 可能無法正確觸發,或 Claude 可能會失去對您的約定的追蹤。了解這些權衡有助於您構建有效的設置。有關這些功能如何在運行會話中結合的互動式視圖,請參閱[探索上下文視窗](/docs/zh-TW/context-window.md)。
218 218
219### 按功能的上下文成本219### 按功能的上下文成本
220 220
227| **Skills** | 會話開始 + 使用時 | 啟動時的描述,使用時的完整內容 | 低(每個請求的描述)\* |227| **Skills** | 會話開始 + 使用時 | 啟動時的描述,使用時的完整內容 | 低(每個請求的描述)\* |
228| **MCP 伺服器** | 會話開始 | 工具名稱;完整架構按需 | 低,直到使用工具 |228| **MCP 伺服器** | 會話開始 | 工具名稱;完整架構按需 | 低,直到使用工具 |
229| **Code intelligence** | 檔案編輯後和按需 | 編輯後的診斷;查詢時的符號位置 | 低;減少其他地方的檔案讀取 |229| **Code intelligence** | 檔案編輯後和按需 | 編輯後的診斷;查詢時的符號位置 | 低;減少其他地方的檔案讀取 |
230| **Subagents** | 生成時 | 具有指定 skills 的新鮮上下文,或用於[分支](/docs/zh-TW/sub-agents#fork-the-current-conversation)的父對話 | 與主會話隔離 |230| **Subagents** | 生成時 | 具有指定 skills 的新鮮上下文,或用於[分支](/docs/zh-TW/sub-agents.md#fork-the-current-conversation)的父對話 | 與主會話隔離 |
231| **Hooks** | 觸發時 | 無(外部運行) | 零,除非 hook 返回額外上下文 |231| **Hooks** | 觸發時 | 無(外部運行) | 零,除非 hook 返回額外上下文 |
232 232
233\*在 skill 的 frontmatter 中設定 [`disable-model-invocation: true`](/docs/zh-TW/skills#control-who-invokes-a-skill),以將其描述排除在 Claude 的上下文之外。對於您未編寫的 skill,在設定中設定 [`skillOverrides`](/docs/zh-TW/skills#override-skill-visibility-from-settings) 以執行相同操作,而無需編輯其檔案。233\*在 skill 的 frontmatter 中設定 [`disable-model-invocation: true`](/docs/zh-TW/skills#control-who-invokes-a-skill),以將其描述排除在 Claude 的上下文之外。對於您未編寫的 skill,在設定中設定 [`skillOverrides`](/docs/zh-TW/skills#override-skill-visibility-from-settings) 以執行相同操作,而無需編輯其檔案。
244 244
245**什麼載入:** 所有 CLAUDE.md 檔案的完整內容(受管理、使用者和專案級別)。245**什麼載入:** 所有 CLAUDE.md 檔案的完整內容(受管理、使用者和專案級別)。
246 246
247**繼承:** Claude 從您的工作目錄讀取 CLAUDE.md 檔案直到根目錄,並在訪問這些檔案時在子目錄中發現嵌套的檔案。有關詳細資訊,請參閱 [CLAUDE.md 檔案如何載入](/docs/zh-TW/memory#how-claude-md-files-load)。247**繼承:** Claude 從您的工作目錄讀取 CLAUDE.md 檔案直到根目錄,並在訪問這些檔案時在子目錄中發現嵌套的檔案。有關詳細資訊,請參閱 [CLAUDE.md 檔案如何載入](/docs/zh-TW/memory.md#how-claude-md-files-load)。
248 248
249> [!TIP]249> [!TIP]
250>250>
251> 保持 CLAUDE.md 在 200 行以下。將參考資料移動到 skills,它們按需載入。若要取得[已簽入 CLAUDE.md 的修剪建議](/docs/zh-TW/memory#my-claude-md-is-too-large),請執行 `/doctor`。251> 保持 CLAUDE.md 在 200 行以下。將參考資料移動到 skills,它們按需載入。若要取得[已簽入 CLAUDE.md 的修剪建議](/docs/zh-TW/memory.md#my-claude-md-is-too-large),請執行 `/doctor`。
252 252
253**Skills**253**Skills**
254 254
255Skills 是 Claude 工具包中的額外功能。它們可以是參考資料(如 API 風格指南)或可調用的工作流程,您可以使用 `/<name>` 觸發(如 `/deploy`)。Claude Code 附帶[捆綁的 skills](/docs/zh-TW/commands),如 `/code-review`、`/batch` 和 `/debug`,開箱即用。您也可以創建自己的。255Skills 是 Claude 工具包中的額外功能。它們可以是參考資料(如 API 風格指南)或可調用的工作流程,您可以使用 `/<name>` 觸發(如 `/deploy`)。Claude Code 附帶[捆綁的 skills](/docs/zh-TW/commands.md),如 `/code-review`、`/batch` 和 `/debug`,開箱即用。您也可以創建自己的。
256 256
257**何時:** 取決於 skill 的配置。預設情況下,描述在會話開始時載入,完整內容在使用時載入。對於僅使用者 skills(`disable-model-invocation: true`),在您調用它們之前不會載入任何內容。257**何時:** 取決於 skill 的配置。預設情況下,描述在會話開始時載入,完整內容在使用時載入。對於僅使用者 skills(`disable-model-invocation: true`),在您調用它們之前不會載入任何內容。
258 258
274 274
275**什麼載入:** 來自連接伺服器的工具名稱和伺服器指令。完整 JSON 架構保持延遲,直到 Claude 需要特定工具。275**什麼載入:** 來自連接伺服器的工具名稱和伺服器指令。完整 JSON 架構保持延遲,直到 Claude 需要特定工具。
276 276
277**上下文成本:** [工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search)預設啟用,因此閒置 MCP 工具消耗最少上下文。277**上下文成本:** [工具搜尋](/docs/zh-TW/mcp.md#scale-with-mcp-tool-search)預設啟用,因此閒置 MCP 工具消耗最少上下文。
278 278
279> [!TIP]279> [!TIP]
280>280>
281> 執行 `/mcp` 以查看每個伺服器的連接狀態。執行 `/context all` 以查看每個已載入 MCP 工具使用多少令牌。Claude Code [自動重新連接到遠程伺服器](/docs/zh-TW/mcp#automatic-reconnection)(如果它們斷開連接),您可以斷開您未主動使用的伺服器。281> 執行 `/mcp` 以查看每個伺服器的連接狀態。執行 `/context all` 以查看每個已載入 MCP 工具使用多少令牌。Claude Code [自動重新連接到遠程伺服器](/docs/zh-TW/mcp.md#automatic-reconnection)(如果它們斷開連接),您可以斷開您未主動使用的伺服器。
282 282
283**Code intelligence**283**Code intelligence**
284 284
290 290
291> [!TIP]291> [!TIP]
292>292>
293> LSP 工具在您為您的語言安裝[程式碼智能 plugin](/docs/zh-TW/plugins/code-intelligence)之前處於非活動狀態。293> LSP 工具在您為您的語言安裝[程式碼智能 plugin](/docs/zh-TW/plugins/code-intelligence.md)之前處於非活動狀態。
294 294
295**Subagents**295**Subagents**
296 296
300 300
301* agent 自身的系統提示詞,而不是 Claude Code 系統提示詞301* agent 自身的系統提示詞,而不是 Claude Code 系統提示詞
302* agent `skills:` 欄位中列出的 skills 的完整內容302* agent `skills:` 欄位中列出的 skills 的完整內容
303* CLAUDE.md 和 git 狀態。內建的 Explore 和 Plan agent [兩者皆不載入](/docs/zh-TW/sub-agents#what-loads-at-startup),而定義中設定了 [`omitClaudeMd`](/docs/zh-TW/sub-agents#supported-frontmatter-fields) 的 agent 啟動時不包含使用者、專案和本地 CLAUDE.md 檔案。303* CLAUDE.md 和 git 狀態。內建的 Explore 和 Plan agent [兩者皆不載入](/docs/zh-TW/sub-agents.md#what-loads-at-startup),而定義中設定了 [`omitClaudeMd`](/docs/zh-TW/sub-agents#supported-frontmatter-fields) 的 agent 啟動時不包含使用者、專案和本地 CLAUDE.md 檔案。
304* 主 agent 在提示詞中傳遞的任何上下文304* 主 agent 在提示詞中傳遞的任何上下文
305 305
306對於[分支](/docs/zh-TW/sub-agents#fork-the-current-conversation),Claude Code 載入父對話到目前為止、系統提示和工具。306對於[分支](/docs/zh-TW/sub-agents.md#fork-the-current-conversation),Claude Code 載入父對話到目前為止、系統提示和工具。
307 307
308**上下文成本:** 與主會話隔離。308**上下文成本:** 與主會話隔離。
309 309
313 313
314**Hooks**314**Hooks**
315 315
316**何時:** 觸發時。Claude Code 在特定生命週期事件(如工具執行、會話邊界、提示提交、權限請求和壓縮)時執行 hooks。有關完整清單,請參閱 [Hooks](/docs/zh-TW/hooks)。316**何時:** 觸發時。Claude Code 在特定生命週期事件(如工具執行、會話邊界、提示提交、權限請求和壓縮)時執行 hooks。有關完整清單,請參閱 [Hooks](/docs/zh-TW/hooks.md)。
317 317
318**什麼載入:** 預設情況下無。Hooks 在主對話外執行。318**什麼載入:** 預設情況下無。Hooks 在主對話外執行。
319 319
327 327
328每個功能都有自己的指南,包含設置指令、範例和配置選項。328每個功能都有自己的指南,包含設置指令、範例和配置選項。
329 329
330> **[CLAUDE.md](/docs/zh-TW/memory)**330> **[CLAUDE.md](/docs/zh-TW/memory.md)**
331>331>
332> 存儲專案上下文、約定和指令332> 存儲專案上下文、約定和指令
333 333
334> **[Skills](/docs/zh-TW/skills)**334> **[Skills](/docs/zh-TW/skills.md)**
335>335>
336> 給予 Claude 領域專業知識和可重複使用的工作流程336> 給予 Claude 領域專業知識和可重複使用的工作流程
337 337
338> **[Subagents](/docs/zh-TW/sub-agents)**338> **[Subagents](/docs/zh-TW/sub-agents.md)**
339>339>
340> 將工作卸載到隔離的上下文340> 將工作卸載到隔離的上下文
341 341
342> **[Dynamic workflows](/docs/zh-TW/workflows)**342> **[Dynamic workflows](/docs/zh-TW/workflows.md)**
343>343>
344> 從一個指令碼執行許多 subagents344> 從一個指令碼執行許多 subagents
345 345
346> **[Cross-session messaging](/docs/zh-TW/cross-session-messaging)**346> **[Cross-session messaging](/docs/zh-TW/cross-session-messaging.md)**
347>347>
348> 讓 Claude 向您的其他工作階段傳送訊息348> 讓 Claude 向您的其他工作階段傳送訊息
349 349
350> **[MCP](/docs/zh-TW/mcp)**350> **[MCP](/docs/zh-TW/mcp.md)**
351>351>
352> 將 Claude 連接到外部服務352> 將 Claude 連接到外部服務
353 353
354> **[Hooks](/docs/zh-TW/hooks-guide)**354> **[Hooks](/docs/zh-TW/hooks-guide.md)**
355>355>
356> 使用 hooks 自動化動作356> 使用 hooks 自動化動作
357 357
358> **[Plugins](/docs/zh-TW/plugins/overview)**358> **[Plugins](/docs/zh-TW/plugins/overview.md)**
359>359>
360> 捆綁和共享功能集360> 捆綁和共享功能集
361 361
362> **[Marketplaces](/docs/zh-TW/plugins/create-marketplace)**362> **[Marketplaces](/docs/zh-TW/plugins/create-marketplace.md)**
363>363>
364> 託管和分發 plugin 集合364> 託管和分發 plugin 集合