6 6
7> 了解何時使用 CLAUDE.md、Skills、subagents、hooks、MCP 和 plugins。7> 了解何時使用 CLAUDE.md、Skills、subagents、hooks、MCP 和 plugins。
8 8
9Claude Code 結合了一個能夠推理您程式碼的模型與[內建工具](/zh-TW/how-claude-code-works#tools),用於檔案操作、搜尋、執行和網路存取。內建工具涵蓋了大多數編碼任務。本指南涵蓋擴展層:您添加的功能,用於自訂 Claude 的知識、將其連接到外部服務,以及自動化工作流程。9Claude Code 結合了一個能夠推理您程式碼的模型與[內建工具](/docs/zh-TW/how-claude-code-works#tools),用於檔案操作、搜尋、執行和網路存取。內建工具涵蓋了大多數編碼任務。本指南涵蓋擴展層:您添加的功能,用於自訂 Claude 的知識、將其連接到外部服務,以及自動化工作流程。
10 10
11<Note>11<Note>
12 有關核心代理迴圈如何運作的資訊,請參閱[Claude Code 如何運作](/zh-TW/how-claude-code-works)。12 有關核心代理迴圈如何運作的資訊,請參閱[Claude Code 如何運作](/docs/zh-TW/how-claude-code-works)。
13</Note>13</Note>
14 14
15**初次使用 Claude Code?** 從[CLAUDE.md](/zh-TW/memory)開始了解專案約定,然後根據特定觸發器添加其他擴展[如下所示](#build-your-setup-over-time)。15**初次使用 Claude Code?** 從[CLAUDE.md](/docs/zh-TW/memory)開始了解專案約定,然後根據特定觸發器添加其他擴展[如下所示](#build-your-setup-over-time)。
16 16
17<h2 id="overview">17<h2 id="overview">
18 概述18 概述
20 20
21擴展插入代理迴圈的不同部分:21擴展插入代理迴圈的不同部分:
22 22
23* **[CLAUDE.md](/zh-TW/memory)** 添加 Claude 在每個會話中看到的持久上下文23* **[CLAUDE.md](/docs/zh-TW/memory)** 添加 Claude 在每個會話中看到的持久上下文
24* **[Skills](/zh-TW/skills)** 添加可重複使用的知識和可調用的工作流程24* **[Skills](/docs/zh-TW/skills)** 添加可重複使用的知識和可調用的工作流程
25* **[Code intelligence](/zh-TW/tools-reference#lsp-tool-behavior)** 將 Claude 連接到語言伺服器以進行符號級導航和即時類型錯誤25* **[Code intelligence](/docs/zh-TW/tools-reference#lsp-tool-behavior)** 將 Claude 連接到語言伺服器以進行符號級導航和即時類型錯誤
26* **[MCP](/zh-TW/mcp)** 將 Claude 連接到外部服務和工具26* **[MCP](/docs/zh-TW/mcp)** 將 Claude 連接到外部服務和工具
27* **[Subagents](/zh-TW/sub-agents)** 在隔離的上下文中運行自己的迴圈,返回摘要27* **[Subagents](/docs/zh-TW/sub-agents)** 在隔離的上下文中運行自己的迴圈,返回摘要
28* **[Agent teams](/zh-TW/agent-teams)** 協調多個獨立會話,具有共享任務和點對點訊息傳遞28* **[Dynamic workflows](/docs/zh-TW/workflows)** 從 Claude 編寫的指令碼運行許多 subagents,返回一個結果
29* **[Hooks](/zh-TW/hooks-guide)** 在生命週期事件上觸發,可以運行指令碼、HTTP 請求、提示或 subagent29* **[Cross-session messaging](/docs/zh-TW/cross-session-messaging)** 讓 Claude 將訊息從您的一個會話傳遞到另一個會話
30* **[Plugins](/zh-TW/plugins)** 和 **[marketplaces](/zh-TW/plugin-marketplaces)** 打包和分發這些功能30* **[Hooks](/docs/zh-TW/hooks-guide)** 在 Claude Code 達到生命週期事件時運行您的指令碼、HTTP 請求、MCP 工具呼叫、提示或 subagent
31* **[Plugins](/docs/zh-TW/plugins)** 和 **[marketplaces](/docs/zh-TW/plugin-marketplaces)** 打包和分發這些功能
31 32
32[Skills](/zh-TW/skills) 是最靈活的擴展。Skill 是一個包含知識、工作流程或指令的 markdown 檔案。您可以使用像 `/deploy` 這樣的命令調用 skills,或者 Claude 可以在相關時自動載入它們。Skills 可以在您目前的對話中運行,或通過 subagents 在隔離的上下文中運行。33[Skills](/docs/zh-TW/skills) 是最靈活的擴展。Skill 是一個包含知識、工作流程或指令的 markdown 檔案。您可以使用像 `/deploy` 這樣的命令調用 skills,或者 Claude 可以在相關時自動載入它們。Skills 可以在您目前的對話中運行,或通過 subagents 在隔離的上下文中運行。
33 34
34<h2 id="match-features-to-your-goal">35<h2 id="match-features-to-your-goal">
35 將功能與您的目標相匹配36 將功能與您的目標相匹配
38功能範圍從 Claude 在每個會話中看到的始終開啟的上下文,到您或 Claude 可以調用的按需功能,再到在特定事件上運行的背景自動化。下表顯示了可用的功能以及何時使用每一個。39功能範圍從 Claude 在每個會話中看到的始終開啟的上下文,到您或 Claude 可以調用的按需功能,再到在特定事件上運行的背景自動化。下表顯示了可用的功能以及何時使用每一個。
39 40
40| 功能 | 它的作用 | 何時使用 | 範例 |41| 功能 | 它的作用 | 何時使用 | 範例 |
41| ----------------------------------------------------------------- | ------------------------------ | ---------------------------- | ----------------------------------------- |42| ----------------------------------------------------------------- | --------------------------------------- | ----------------------------- | ----------------------------------------- |
42| **CLAUDE.md** | 每次對話載入的持久上下文 | 專案約定、「始終執行 X」規則 | 「使用 pnpm,而不是 npm。在提交前運行測試。」 |43| **CLAUDE.md** | 每次對話載入的持久上下文 | 專案約定、「始終執行 X」規則 | 「使用 pnpm,而不是 npm。在提交前運行測試。」 |
43| **Skill** | Claude 可以使用的指令、知識和工作流程 | 可重複使用的內容、參考文件、可重複的任務 | `/deploy` 運行您的部署檢查清單;包含端點模式的 API 文件 skill |44| **Skill** | Claude 可以使用的指令、知識和工作流程 | 可重複使用的內容、參考文件、可重複的任務 | `/deploy` 運行您的部署檢查清單;包含端點模式的 API 文件 skill |
44| **Subagent** | 返回摘要結果的隔離執行上下文 | 上下文隔離、並行任務、專門的工作者 | 讀取許多檔案但僅返回關鍵發現的研究任務 |45| **Subagent** | 返回摘要結果的隔離執行上下文 | 上下文隔離、並行任務、專門的工作者 | 讀取許多檔案但僅返回關鍵發現的研究任務 |
45| **[Agent teams](/zh-TW/agent-teams)** | 協調多個獨立的 Claude Code 會話 | 並行研究、新功能開發、使用競爭假設進行除錯 | 生成審查者以同時檢查安全性、效能和測試 |46| **[Dynamic workflow](/docs/zh-TW/workflows)** | Claude 編寫的在背景中運行許多 subagents 的指令碼 | 超出少數 subagents 的工作,或您想交叉檢查的發現 | 審計整個程式碼庫,第二組代理驗證每個發現 |
46| **[Code intelligence](/zh-TW/tools-reference#lsp-tool-behavior)** | 語言伺服器導航和診斷 | 類型化語言、大型程式碼庫,其中 grep 速度慢或不精確 | 跳轉到符號的定義,而不是讀取整個檔案 |47| **[Cross-session messaging](/docs/zh-TW/cross-session-messaging)** | Claude 將訊息從您的一個會話傳遞到另一個會話 | 您自己運行的需要彼此發現的會話,中途任務 | 一個會話警告另一個會話,它所做的更改會破壞另一個會話正在構建的內容 |
48| **[Code intelligence](/docs/zh-TW/tools-reference#lsp-tool-behavior)** | 語言伺服器導航和診斷 | 類型化語言、大型程式碼庫,其中 grep 速度慢或不精確 | 跳轉到符號的定義,而不是讀取整個檔案 |
47| **MCP** | 連接到外部服務 | 外部資料或操作 | 查詢您的資料庫、發佈到 Slack、控制瀏覽器 |49| **MCP** | 連接到外部服務 | 外部資料或操作 | 查詢您的資料庫、發佈到 Slack、控制瀏覽器 |
48| **Hook** | 由事件觸發的指令碼、HTTP 請求、提示或 subagent | 必須在每個匹配事件上運行的自動化 | 在每次檔案編輯後運行 ESLint |50| **Hook** | 由事件觸發的指令碼、HTTP 請求、MCP 工具呼叫、提示或 subagent | 必須在每個匹配事件上運行的自動化 | 在每次檔案編輯後運行 ESLint |
49| **[Artifact](/zh-TW/artifacts)** | 將會話輸出發佈為私人、互動式網頁 | 您想以視覺方式查看或共享的輸出,而不是作為終端文字 | 隨著 Claude 進行調查而更新的事件時間表 |51| **[Artifact](/docs/zh-TW/artifacts)** | 將會話輸出發佈為私人、互動式網頁 | 您想以視覺方式查看或共享的輸出,而不是作為終端文字 | 隨著 Claude 進行調查而更新的事件時間表 |
50 52
51**[Plugins](/zh-TW/plugins)** 是打包層。Plugin 將 skills、hooks、subagents 和 MCP servers 捆綁到單個可安裝單元中。Plugin skills 是命名空間的(如 `/my-plugin:review`),因此多個 plugins 可以共存。當您想在多個儲存庫中重複使用相同的設置或通過 **[marketplace](/zh-TW/plugin-marketplaces)** 分發給他人時,使用 plugins。53**[Plugins](/docs/zh-TW/plugins)** 是打包層。Plugin 將 skills、hooks、subagents 和 MCP servers 捆綁到單個可安裝單元中。Plugin skills 是命名空間的(如 `/my-plugin:review`),因此多個 plugins 可以共存。當您想在多個儲存庫中重複使用相同的設置或通過 **[marketplace](/docs/zh-TW/plugin-marketplaces)** 分發給他人時,使用 plugins。
52 54
53<h3 id="build-your-setup-over-time">55<h3 id="build-your-setup-over-time">
54 隨著時間推移構建您的設置56 隨著時間推移構建您的設置
58 60
59| 觸發器 | 添加 |61| 觸發器 | 添加 |
60| :--------------------------- | :---------------------------------------------------------------------------- |62| :--------------------------- | :---------------------------------------------------------------------------- |
61| Claude 兩次出錯的約定或命令 | 將其添加到 [CLAUDE.md](/zh-TW/memory) |63| Claude 兩次出錯的約定或命令 | 將其添加到 [CLAUDE.md](/docs/zh-TW/memory) |
62| 您一直在輸入相同的提示來啟動任務 | 將其保存為使用者可調用的 [skill](/zh-TW/skills) |64| 您一直在輸入相同的提示來啟動任務 | 將其保存為使用者可調用的 [skill](/docs/zh-TW/skills) |
63| 您第三次將相同的劇本或多步驟程序粘貼到聊天中 | 將其捕獲為 [skill](/zh-TW/skills) |65| 您第三次將相同的劇本或多步驟程序粘貼到聊天中 | 將其捕獲為 [skill](/docs/zh-TW/skills) |
64| 您一直在從 Claude 無法看到的瀏覽器選項卡複製資料 | 將該系統連接為 [MCP server](/zh-TW/mcp) |66| 您一直在從 Claude 無法看到的瀏覽器選項卡複製資料 | 將該系統連接為 [MCP server](/docs/zh-TW/mcp) |
65| Claude 讀取許多檔案以找到符號的定義或使用位置 | 為您的語言安裝 [code intelligence plugin](/zh-TW/discover-plugins#code-intelligence) |67| Claude 讀取許多檔案以找到符號的定義或使用位置 | 為您的語言安裝 [code intelligence plugin](/docs/zh-TW/discover-plugins#code-intelligence) |
66| 一個附帶任務用您不會再次參考的輸出淹沒您的對話 | 通過 [subagent](/zh-TW/sub-agents) 路由它 |68| 一個附帶任務用您不會再次參考的輸出淹沒您的對話 | 通過 [subagent](/docs/zh-TW/sub-agents) 路由它 |
67| 您希望每次都發生某事而無需詢問 | 編寫 [hook](/zh-TW/hooks-guide) |69| 您希望每次都發生某事而無需詢問 | 編寫 [hook](/docs/zh-TW/hooks-guide) |
68| 第二個儲存庫需要相同的設置 | 將其打包為 [plugin](/zh-TW/plugins) |70| 第二個儲存庫需要相同的設置 | 將其打包為 [plugin](/docs/zh-TW/plugins) |
69 71
70相同的觸發器告訴您何時更新您已經擁有的內容。重複的錯誤或反覆出現的審查評論是 CLAUDE.md 編輯,而不是聊天中的一次性更正。您一直手動調整的工作流程是需要另一次修訂的 skill。72相同的觸發器告訴您何時更新您已經擁有的內容。重複的錯誤或反覆出現的審查評論是 CLAUDE.md 編輯,而不是聊天中的一次性更正。您一直手動調整的工作流程是需要另一次修訂的 skill。
71 73
86 | ------------------------------------ | ---------------- | --------------------- |88 | ------------------------------------ | ---------------- | --------------------- |
87 | **它是什麼** | 可重複使用的指令、知識或工作流程 | 具有自己上下文的隔離工作者 |89 | **它是什麼** | 可重複使用的指令、知識或工作流程 | 具有自己上下文的隔離工作者 |
88 | **主要優勢** | 在上下文之間共享內容 | 上下文隔離。工作單獨進行,僅返回摘要 |90 | **主要優勢** | 在上下文之間共享內容 | 上下文隔離。工作單獨進行,僅返回摘要 |
89 | **[上下文視窗](/zh-TW/context-window)影響** | 添加到您的主視窗 | 使用具有自己輸入和輸出令牌的單獨視窗 |91 | **[上下文視窗](/docs/zh-TW/context-window)影響** | 添加到您的主視窗 | 使用具有自己輸入和輸出令牌的單獨視窗 |
90 | **最適合** | 參考資料、可調用的工作流程 | 讀取許多檔案的任務、並行工作、專門的工作者 |92 | **最適合** | 參考資料、可調用的工作流程 | 讀取許多檔案的任務、並行工作、專門的工作者 |
91 93
92 **Skills 可以是參考或操作。** 參考 skills 提供 Claude 在整個會話中使用的知識(如您的 API 風格指南)。操作 skills 告訴 Claude 執行特定操作(如運行您的部署工作流程的 `/deploy`)。94 **Skills 可以是參考或操作。** 參考 skills 提供 Claude 在整個會話中使用的知識(如您的 API 風格指南)。操作 skills 告訴 Claude 執行特定操作(如運行您的部署工作流程的 `/deploy`)。
93 95
94 **當您需要上下文隔離或您的上下文視窗變滿時,使用 subagent**。Subagent 可能讀取數十個檔案或運行廣泛的搜尋,但您的主要對話僅接收摘要。由於 subagent 工作不消耗您的主要上下文,當您不需要中間工作保持可見時,這也很有用。自訂 subagents 可以有自己的指令,並可以預載 skills。96 **當您需要上下文隔離或您的上下文視窗變滿時,使用 subagent**。Subagent 可能讀取數十個檔案或運行廣泛的搜尋,但您的主要對話僅接收摘要。由於 subagent 工作不消耗您的主要上下文,當您不需要中間工作保持可見時,這也很有用。自訂 subagents 可以有自己的指令,並可以預載 skills。
95 97
96 **它們可以結合。** Subagent 可以預載特定 skills(`skills:` 欄位)。Skill 可以使用 `context: fork` 在隔離的上下文中運行。有關詳細資訊,請參閱 [Skills](/zh-TW/skills)。98 **它們可以結合。** Subagent 可以預載特定 skills(`skills:` 欄位)。Skill 可以使用 `context: fork` 在隔離的上下文中運行。有關詳細資訊,請參閱 [Skills](/docs/zh-TW/skills)。
97 </Tab>99 </Tab>
98 100
99 <Tab title="CLAUDE.md vs Skill">101 <Tab title="CLAUDE.md vs Skill">
110 112
111 **如果它是 Claude 有時需要的參考資料(API 文件、風格指南)或您使用 `/<name>` 觸發的工作流程(部署、審查、發佈),請將其放在 skill 中**。113 **如果它是 Claude 有時需要的參考資料(API 文件、風格指南)或您使用 `/<name>` 觸發的工作流程(部署、審查、發佈),請將其放在 skill 中**。
112 114
113 **經驗法則:** 保持 CLAUDE.md 在 200 行以下。如果它在增長,將參考內容移動到 skills 或拆分為 [`.claude/rules/`](/zh-TW/memory#organize-rules-with-claude%2Frules%2F) 檔案。115 **經驗法則:** 保持 CLAUDE.md 在 200 行以下。如果它在增長,將參考內容移動到 skills 或拆分為 [`.claude/rules/`](/docs/zh-TW/memory#organize-rules-with-claude%2Frules%2F) 檔案。
114 </Tab>116 </Tab>
115 117
116 <Tab title="CLAUDE.md vs Rules vs Skills">118 <Tab title="CLAUDE.md vs Rules vs Skills">
124 126
125 **使用 CLAUDE.md** 用於每個會話需要的指令:構建命令、測試約定、專案架構。127 **使用 CLAUDE.md** 用於每個會話需要的指令:構建命令、測試約定、專案架構。
126 128
127 **使用 rules** 保持 CLAUDE.md 專注。具有 [`paths` frontmatter](/zh-TW/memory#path-specific-rules) 的 rules 僅在 Claude 使用匹配檔案時載入,節省上下文。129 **使用 rules** 保持 CLAUDE.md 專注。具有 [`paths` frontmatter](/docs/zh-TW/memory#path-specific-rules) 的 rules 僅在 Claude 使用匹配檔案時載入,節省上下文。
128 130
129 **使用 skills** 用於 Claude 有時只需要的內容,如 API 文件或您使用 `/<name>` 觸發的部署檢查清單。131 **使用 skills** 用於 Claude 有時只需要的內容,如 API 文件或您使用 `/<name>` 觸發的部署檢查清單。
130 </Tab>132 </Tab>
131 133
132 <Tab title="Subagent vs Agent team">134 <Tab title="Subagent vs Dynamic workflow">
133 兩者都並行化工作,但它們在架構上不同:135 兩者都在您的主要對話之外進行工作。使用 subagents,Claude 逐個回合決定接下來運行什麼。在工作流程中,指令碼決定:
134 136
135 * **Subagents** 在您的會話內運行並將結果報告回您的主要上下文137 * **Subagents** 是 Claude 生成的工作者,每個都向生成它的對話返回摘要
136 * **Agent teams** 是相互通訊的獨立 Claude Code 會話138 * **[Dynamic workflows](/docs/zh-TW/workflows)** 是 Claude 編寫的在背景中運行許多 subagents 並返回一個結果的指令碼
137 139
138 | 方面 | Subagent | Agent team |140 **當您需要快速、專注的工作者時,使用 subagent**:研究問題、驗證聲明、審查檔案。Subagent 執行工作並返回摘要,因此您的主要對話保持乾淨。Claude 在生成時命名的 Subagents 也可以[彼此訊息傳遞](/docs/zh-TW/sub-agents#what-loads-at-startup)。
139 | -------- | ----------------- | --------------------- |
140 | **上下文** | 自己的上下文視窗;結果返回給呼叫者 | 自己的上下文視窗;完全獨立 |
141 | **通訊** | 僅向主代理報告結果 | 隊友直接相互訊息傳遞 |
142 | **協調** | 主代理管理所有工作 | 具有自我協調的共享任務清單 |
143 | **最適合** | 只有結果重要的專注任務 | 需要討論和協作的複雜工作 |
144 | **令牌成本** | 較低:結果摘要回主上下文 | 較高:每個隊友是單獨的 Claude 實例 |
145 141
146 **當您需要快速、專注的工作者時,使用 subagent**:研究問題、驗證聲明、審查檔案。Subagent 執行工作並返回摘要。您的主要對話保持乾淨。142 **當工作[超出少數 subagents](/docs/zh-TW/workflows#when-to-use-a-workflow)時,使用 dynamic workflow**,或當您想在看到發現之前交叉檢查發現時,例如程式碼庫範圍的審計、大型遷移或從多個角度起草的計劃。要啟動一個,[在您的提示中要求工作流程](/docs/zh-TW/workflows#ask-for-a-workflow-in-your-prompt)。
147 143
148 **當隊友需要共享發現、相互質疑和獨立協調時,使用 agent team**。Agent teams 最適合具有競爭假設的研究、並行程式碼審查,以及每個隊友擁有單獨部分的新功能開發。144 **要將發現從您的一個會話傳遞到另一個會話**,要求第一個會話的 Claude 發送它。Claude 使用 [cross-session messaging](/docs/zh-TW/cross-session-messaging) 傳遞它。[並行運行代理](/docs/zh-TW/agents)比較了運行多個 Claude 的其他方式,包括您交付並稍後檢查的會話。
149
150 **轉換點:** 如果您運行並行 subagents 但遇到上下文限制,或者您的 subagents 需要相互通訊,agent teams 是自然的下一步。
151
152 <Note>
153 Agent teams 是實驗性的,預設情況下被禁用。有關設置和目前限制,請參閱 [agent teams](/zh-TW/agent-teams)。
154 </Note>
155 </Tab>145 </Tab>
156 146
157 <Tab title="MCP vs Skill">147 <Tab title="MCP vs Skill">
168 **MCP** 給予 Claude 與外部系統互動的能力。沒有 MCP,Claude 無法查詢您的資料庫或發佈到 Slack。158 **MCP** 給予 Claude 與外部系統互動的能力。沒有 MCP,Claude 無法查詢您的資料庫或發佈到 Slack。
169 159
170 **Skills** 給予 Claude 關於如何有效使用這些工具的知識,以及您可以使用 `/<name>` 觸發的工作流程。Skill 可能包括您的團隊資料庫架構和查詢模式,或具有您的團隊訊息格式規則的 `/post-to-slack` 工作流程。160 **Skills** 給予 Claude 關於如何有效使用這些工具的知識,以及您可以使用 `/<name>` 觸發的工作流程。Skill 可能包括您的團隊資料庫架構和查詢模式,或具有您的團隊訊息格式規則的 `/post-to-slack` 工作流程。
171
172 範例:MCP 伺服器將 Claude 連接到您的資料庫。Skill 教導 Claude 您的資料模型、常見查詢模式,以及用於不同任務的表格。
173 </Tab>161 </Tab>
174 162
175 <Tab title="Hook vs Skill">163 <Tab title="Hook vs Skill">
176 Hook 在生命週期事件上觸發;skill 被載入上下文供 Claude 應用。164 Claude Code 在生命週期事件上運行 hook;它將 skill 載入上下文供 Claude 應用。
177 165
178 | 方面 | Hook | Skill |166 | 方面 | Hook | Skill |
179 | --------- | -------------------------------------------------------------------- | ---------------------------------- |167 | --------- | -------------------------------------------------------------------- | ---------------------------------- |
180 | **運行** | 殼層命令、HTTP 請求、LLM 提示或 subagent | Claude 讀取並遵循的指令 |168 | **運行** | 殼層命令、HTTP 請求、MCP 工具呼叫、LLM 提示或 subagent | Claude 讀取並遵循的指令 |
181 | **由以下觸發** | [生命週期事件](/zh-TW/hooks#hook-events),例如 `PostToolUse` 或 `SessionStart` | 您輸入 `/<name>`,或 Claude 將描述與您的任務相匹配 |169 | **由以下觸發** | [生命週期事件](/docs/zh-TW/hooks#hook-events),例如 `PostToolUse` 或 `SessionStart` | 您輸入 `/<name>`,或 Claude 將描述與您的任務相匹配 |
182 | **確定性** | 始終在其事件上觸發;觸發器是有保證的 | Claude 解釋指令;結果可能會有所不同 |170 | **確定性** | 始終在其事件上觸發;觸發器是有保證的 | Claude 解釋指令;結果可能會有所不同 |
183 | **上下文成本** | 零,除非 hook 返回輸出 | 描述在每個會話載入;使用時完整內容載入 |171 | **上下文成本** | 零,除非 hook 返回輸出 | 描述在每個會話載入;使用時完整內容載入 |
184 | **最適合** | 每次都以相同方式發生且不需要 Claude 思考的操作 | 需要推理的工作流程、參考資料、多步驟任務 |172 | **最適合** | 每次都以相同方式發生且不需要 Claude 思考的操作 | 需要推理的工作流程、參考資料、多步驟任務 |
199 187
200功能可以在多個級別定義:使用者範圍、每個專案、通過 plugins,或通過受管理的策略。您也可以在子目錄中嵌套 CLAUDE.md 檔案,或在 monorepo 的特定套件中放置 skills。當相同的功能存在於多個級別時,以下是它們的分層方式:188功能可以在多個級別定義:使用者範圍、每個專案、通過 plugins,或通過受管理的策略。您也可以在子目錄中嵌套 CLAUDE.md 檔案,或在 monorepo 的特定套件中放置 skills。當相同的功能存在於多個級別時,以下是它們的分層方式:
201 189
202* **CLAUDE.md 檔案** 是累加的:所有級別同時對 Claude 的上下文貢獻內容。來自您的工作目錄及以上的檔案在啟動時載入;子目錄在您在其中工作時載入。當指令衝突時,Claude 使用判斷來協調它們,更具體的指令通常優先。請參閱 [CLAUDE.md 檔案如何載入](/zh-TW/memory#how-claude-md-files-load)。190* **CLAUDE.md 檔案** 是累加的:所有級別同時對 Claude 的上下文貢獻內容。來自您的工作目錄及以上的檔案在啟動時載入;子目錄在您在其中工作時載入。當指令衝突時,Claude 使用判斷來協調它們,更具體的指令通常優先。請參閱 [CLAUDE.md 檔案如何載入](/docs/zh-TW/memory#how-claude-md-files-load)。
203* **Skills 和 subagents** 按名稱覆蓋:當相同名稱存在於多個級別時,一個定義根據優先級獲勝(skills 為受管理 > 使用者 > 專案;subagents 為受管理 > CLI 標誌 > 專案 > 使用者 > plugin)。Plugin skills 是[命名空間](/zh-TW/plugins#add-skills-to-your-plugin)的,以避免衝突。請參閱 [skill 發現](/zh-TW/skills#where-skills-live) 和 [subagent 範圍](/zh-TW/sub-agents#choose-the-subagent-scope)。191* **Skills 和 subagents** 按名稱覆蓋:當相同名稱存在於多個級別時,一個定義根據優先級獲勝(skills 為受管理 > 使用者 > 專案;subagents 為受管理 > CLI 標誌 > 專案 > 使用者 > plugin)。Plugin skills 是[命名空間](/docs/zh-TW/plugins#add-skills-to-your-plugin)的,以避免衝突。請參閱 [skill 發現](/docs/zh-TW/skills#resolve-skills-that-share-a-name) 和 [subagent 範圍](/docs/zh-TW/sub-agents#choose-the-subagent-scope)。
204* **MCP 伺服器** 按名稱覆蓋:本地 > 專案 > 使用者。請參閱 [MCP 範圍](/zh-TW/mcp#scope-hierarchy-and-precedence)。192* **MCP 伺服器** 按名稱覆蓋:本地 > 專案 > 使用者。請參閱 [MCP 範圍](/docs/zh-TW/mcp#scope-hierarchy-and-precedence)。
205* **Hooks** 合併:所有註冊的 hooks 為其匹配事件觸發,無論來源如何。請參閱 [hooks](/zh-TW/hooks-guide)。193* **Hooks** 合併:所有註冊的 hooks 為其匹配事件觸發,無論來源如何。請參閱 [hooks](/docs/zh-TW/hooks)。
206 194
207<h3 id="combine-features">195<h3 id="combine-features">
208 結合功能196 結合功能
223 了解上下文成本211 了解上下文成本
224</h2>212</h2>
225 213
226您添加的每個功能都消耗 Claude 的一些上下文。太多可能會填滿您的上下文視窗,但它也可能添加噪聲,使 Claude 效率降低;skills 可能無法正確觸發,或 Claude 可能會失去對您的約定的追蹤。了解這些權衡有助於您構建有效的設置。有關這些功能如何在運行會話中結合的互動式視圖,請參閱[探索上下文視窗](/zh-TW/context-window)。214您添加的每個功能都消耗 Claude 的一些上下文。太多可能會填滿您的上下文視窗,但它也可能添加噪聲,使 Claude 效率降低;skills 可能無法正確觸發,或 Claude 可能會失去對您的約定的追蹤。了解這些權衡有助於您構建有效的設置。有關這些功能如何在運行會話中結合的互動式視圖,請參閱[探索上下文視窗](/docs/zh-TW/context-window)。
227 215
228<h3 id="context-cost-by-feature">216<h3 id="context-cost-by-feature">
229 按功能的上下文成本217 按功能的上下文成本
232每個功能都有不同的載入策略和上下文成本:220每個功能都有不同的載入策略和上下文成本:
233 221
234| 功能 | 何時載入 | 什麼載入 | 上下文成本 |222| 功能 | 何時載入 | 什麼載入 | 上下文成本 |
235| --------------------- | ---------- | ------------------ | ----------------- |223| --------------------- | ---------- | ------------------------------------------------------------------------------- | ----------------- |
236| **CLAUDE.md** | 會話開始 | 完整內容 | 每個請求 |224| **CLAUDE.md** | 會話開始 | 完整內容 | 每個請求 |
237| **Skills** | 會話開始 + 使用時 | 啟動時的描述,使用時的完整內容 | 低(每個請求的描述)\* |225| **Skills** | 會話開始 + 使用時 | 啟動時的描述,使用時的完整內容 | 低(每個請求的描述)\* |
238| **MCP 伺服器** | 會話開始 | 工具名稱;完整架構按需 | 低,直到使用工具 |226| **MCP 伺服器** | 會話開始 | 工具名稱;完整架構按需 | 低,直到使用工具 |
239| **Code intelligence** | 檔案編輯後和按需 | 編輯後的診斷;查詢時的符號位置 | 低;減少其他地方的檔案讀取 |227| **Code intelligence** | 檔案編輯後和按需 | 編輯後的診斷;查詢時的符號位置 | 低;減少其他地方的檔案讀取 |
240| **Subagents** | 生成時 | 具有指定 skills 的新鮮上下文 | 與主會話隔離 |228| **Subagents** | 生成時 | 具有指定 skills 的新鮮上下文,或用於[分支](/docs/zh-TW/sub-agents#fork-the-current-conversation)的父對話 | 與主會話隔離 |
241| **Hooks** | 觸發時 | 無(外部運行) | 零,除非 hook 返回額外上下文 |229| **Hooks** | 觸發時 | 無(外部運行) | 零,除非 hook 返回額外上下文 |
242 230
243\*預設情況下,skill 描述在會話開始時載入,以便 Claude 決定何時使用它們。在 skill 的 frontmatter 中設置 `disable-model-invocation: true` 以將其完全隱藏在 Claude 中,直到您手動調用它。這將 skills 的上下文成本降低到零,您只需自己觸發這些 skills。對於您未編寫的 skill,在設置中設置 [`skillOverrides`](/zh-TW/skills#override-skill-visibility-from-settings) 以執行相同操作,而無需編輯其檔案。231\*預設情況下,skill 描述在會話開始時載入,以便 Claude 決定何時使用它們。在 skill 的 frontmatter 中設置 `disable-model-invocation: true` 以將其完全隱藏在 Claude 中,直到您手動調用它。對於您未編寫的 skill,在設置中設置 [`skillOverrides`](/docs/zh-TW/skills#override-skill-visibility-from-settings) 以執行相同操作,而無需編輯其檔案。
244 232
245<h3 id="understand-how-features-load">233<h3 id="understand-how-features-load">
246 了解功能如何載入234 了解功能如何載入
248 236
249每個功能在您的會話中的不同點載入。下面的選項卡說明每個功能何時載入以及什麼進入上下文。237每個功能在您的會話中的不同點載入。下面的選項卡說明每個功能何時載入以及什麼進入上下文。
250 238
251<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/context-loading.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=aab139e750494a237ae2e0c8f9139b0a" alt="上下文載入:CLAUDE.md 在會話開始時載入並保留在每個請求中。MCP 工具名稱在啟動時載入,完整架構延遲到使用。Skills 在啟動時載入描述,在調用時載入完整內容。Subagents 獲得隔離的上下文。Hooks 外部運行。" width="720" height="382" data-path="images/context-loading.svg" />239<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/context-loading.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=aab139e750494a237ae2e0c8f9139b0a" className="dark:hidden" alt="上下文載入:CLAUDE.md 在會話開始時載入並保留在每個請求中。MCP 工具名稱在啟動時載入,完整架構延遲到使用。Skills 在啟動時載入描述,在調用時載入完整內容。Subagents 獲得隔離的上下文。Hooks 外部運行。" width="720" height="382" data-path="images/context-loading.svg" />
240
241<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/context-loading-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=b274089ef9612d9c760bca9838557626" className="hidden dark:block" alt="上下文載入:CLAUDE.md 在會話開始時載入並保留在每個請求中。MCP 工具名稱在啟動時載入,完整架構延遲到使用。Skills 在啟動時載入描述,在調用時載入完整內容。Subagents 獲得隔離的上下文。Hooks 外部運行。" width="720" height="382" data-path="images/context-loading-dark.svg" />
252 242
253<Tabs>243<Tabs>
254 <Tab title="CLAUDE.md">244 <Tab title="CLAUDE.md">
256 246
257 **什麼載入:** 所有 CLAUDE.md 檔案的完整內容(受管理、使用者和專案級別)。247 **什麼載入:** 所有 CLAUDE.md 檔案的完整內容(受管理、使用者和專案級別)。
258 248
259 **繼承:** Claude 從您的工作目錄讀取 CLAUDE.md 檔案直到根目錄,並在訪問這些檔案時在子目錄中發現嵌套的檔案。有關詳細資訊,請參閱 [CLAUDE.md 檔案如何載入](/zh-TW/memory#how-claude-md-files-load)。249 **繼承:** Claude 從您的工作目錄讀取 CLAUDE.md 檔案直到根目錄,並在訪問這些檔案時在子目錄中發現嵌套的檔案。有關詳細資訊,請參閱 [CLAUDE.md 檔案如何載入](/docs/zh-TW/memory#how-claude-md-files-load)。
260 250
261 <Tip>保持 CLAUDE.md 在 200 行以下。將參考資料移動到 skills,它們按需載入。</Tip>251 <Tip>保持 CLAUDE.md 在 200 行以下。將參考資料移動到 skills,它們按需載入。若要取得[已簽入 CLAUDE.md 的修剪建議](/docs/zh-TW/memory#my-claude-md-is-too-large),請執行 `/doctor`。</Tip>
262 </Tab>252 </Tab>
263 253
264 <Tab title="Skills">254 <Tab title="Skills">
265 Skills 是 Claude 工具包中的額外功能。它們可以是參考資料(如 API 風格指南)或可調用的工作流程,您可以使用 `/<name>` 觸發(如 `/deploy`)。Claude Code 附帶[捆綁的 skills](/zh-TW/commands),如 `/code-review`、`/batch` 和 `/debug`,開箱即用。您也可以創建自己的。Claude 在適當時使用 skills,或者您可以直接調用一個。255 Skills 是 Claude 工具包中的額外功能。它們可以是參考資料(如 API 風格指南)或可調用的工作流程,您可以使用 `/<name>` 觸發(如 `/deploy`)。Claude Code 附帶[捆綁的 skills](/docs/zh-TW/commands),如 `/code-review`、`/batch` 和 `/debug`,開箱即用。您也可以創建自己的。
266 256
267 **何時:** 取決於 skill 的配置。預設情況下,描述在會話開始時載入,完整內容在使用時載入。對於僅使用者 skills(`disable-model-invocation: true`),在您調用它們之前不會載入任何內容。257 **何時:** 取決於 skill 的配置。預設情況下,描述在會話開始時載入,完整內容在使用時載入。對於僅使用者 skills(`disable-model-invocation: true`),在您調用它們之前不會載入任何內容。
268 258
272 262
273 **上下文成本:** 低,直到使用。僅使用者 skills 在調用前成本為零。263 **上下文成本:** 低,直到使用。僅使用者 skills 在調用前成本為零。
274 264
275 **在 subagents 中:** Skills 在 subagents 中的工作方式不同。不是按需載入,skills 列表中列出的 skills 在啟動時完全預載入其上下文。Subagents 仍然可以通過 Skill 工具發現和調用未列出的專案、使用者和 plugin skills。265 **在 subagents 中:** Skills 在 subagents 中的工作方式不同。不是按需載入,subagent 的 `skills` 欄位中列出的 skills 在啟動時完全預載入其上下文。Subagents 仍然可以通過 Skill 工具發現和調用未列出的專案、使用者和 plugin skills。
276 266
277 <Tip>對具有副作用的 skills 使用 `disable-model-invocation: true`。這節省上下文並確保只有您觸發它們。</Tip>267 <Tip>對具有副作用的 skills 使用 `disable-model-invocation: true`。這節省上下文並確保只有您觸發它們。</Tip>
278 </Tab>268 </Tab>
280 <Tab title="MCP 伺服器">270 <Tab title="MCP 伺服器">
281 **何時:** 會話開始。271 **何時:** 會話開始。
282 272
283 **什麼載入:** 來自連接伺服器的工具名稱。完整 JSON 架構保持延遲,直到 Claude 需要特定工具。273 **什麼載入:** 來自連接伺服器的工具名稱和伺服器指令。完整 JSON 架構保持延遲,直到 Claude 需要特定工具。
284 274
285 **上下文成本:** [工具搜尋](/zh-TW/mcp#scale-with-mcp-tool-search)預設啟用,因此閒置 MCP 工具消耗最少上下文。275 **上下文成本:** [工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search)預設啟用,因此閒置 MCP 工具消耗最少上下文。
286 276
287 <Tip>運行 `/mcp` 以查看連接狀態和每個伺服器的令牌成本。Claude Code [自動重新連接到遠程伺服器](/zh-TW/mcp#automatic-reconnection)(如果它們斷開連接),您可以斷開您未主動使用的伺服器。</Tip>277 <Tip>執行 `/mcp` 以查看每個伺服器的連接狀態。執行 `/context all` 以查看每個已載入 MCP 工具使用多少令牌。Claude Code [自動重新連接到遠程伺服器](/docs/zh-TW/mcp#automatic-reconnection)(如果它們斷開連接),您可以斷開您未主動使用的伺服器。</Tip>
288 </Tab>278 </Tab>
289 279
290 <Tab title="Code intelligence">280 <Tab title="Code intelligence">
294 284
295 **上下文成本:** 低。符號查詢通常會取代廣泛的檔案讀取,因此淨上下文使用可能會下降。285 **上下文成本:** 低。符號查詢通常會取代廣泛的檔案讀取,因此淨上下文使用可能會下降。
296 286
297 <Tip>LSP 工具在您為您的語言安裝[程式碼智能 plugin](/zh-TW/discover-plugins#code-intelligence)之前處於非活動狀態。</Tip>287 <Tip>LSP 工具在您為您的語言安裝[程式碼智能 plugin](/docs/zh-TW/discover-plugins#code-intelligence)之前處於非活動狀態。</Tip>
298 </Tab>288 </Tab>
299 289
300 <Tab title="Subagents">290 <Tab title="Subagents">
302 292
303 **什麼載入:** 新鮮、隔離的上下文,包含:293 **什麼載入:** 新鮮、隔離的上下文,包含:
304 294
305 * 代理的自身系統提示,而不是完整的 Claude Code 系統提示295 * 代理的自身系統提示,而不是 Claude Code 系統提示
306 * 代理 `skills:` 欄位中列出的 skills 的完整內容296 * 代理 `skills:` 欄位中列出的 skills 的完整內容
307 * CLAUDE.md 和 git 狀態,除了內置的 Explore 和 Plan 代理[省略兩者](/zh-TW/sub-agents#what-loads-at-startup)297 * CLAUDE.md 和 git 狀態,除了內置的 Explore 和 Plan 代理[省略兩者](/docs/zh-TW/sub-agents#what-loads-at-startup)
308 * 主代理在提示中傳遞的任何上下文298 * 主代理在提示中傳遞的任何上下文
309 299
310 **上下文成本:** 與主會話隔離。Subagents 不繼承您的對話歷史或調用的 skills。300 對於[分支](/docs/zh-TW/sub-agents#fork-the-current-conversation),Claude Code 載入父對話到目前為止、系統提示和工具。
301
302 **上下文成本:** 與主會話隔離。
311 303
312 <Tip>對不需要您完整對話上下文的工作使用 subagents。它們的隔離防止膨脹您的主會話。</Tip>304 <Tip>對不需要您完整對話上下文的工作使用 subagents。它們的隔離防止膨脹您的主會話。</Tip>
313 </Tab>305 </Tab>
314 306
315 <Tab title="Hooks">307 <Tab title="Hooks">
316 **何時:** 觸發時。Hooks 在特定生命週期事件(如工具執行、會話邊界、提示提交、權限請求和壓縮)時觸發。有關完整清單,請參閱 [Hooks](/zh-TW/hooks)。308 **何時:** 觸發時。Claude Code 在特定生命週期事件(如工具執行、會話邊界、提示提交、權限請求和壓縮)時執行 hooks。有關完整清單,請參閱 [Hooks](/docs/zh-TW/hooks)。
317 309
318 **什麼載入:** 預設情況下無。Hooks 在主對話外執行。310 **什麼載入:** 預設情況下無。Hooks 在主對話外執行。
319 311
330每個功能都有自己的指南,包含設置指令、範例和配置選項。322每個功能都有自己的指南,包含設置指令、範例和配置選項。
331 323
332<CardGroup cols={2}>324<CardGroup cols={2}>
333 <Card title="CLAUDE.md" icon="file-lines" href="/zh-TW/memory">325 <Card title="CLAUDE.md" icon="file-lines" href="/docs/zh-TW/memory">
334 存儲專案上下文、約定和指令326 存儲專案上下文、約定和指令
335 </Card>327 </Card>
336 328
337 <Card title="Skills" icon="brain" href="/zh-TW/skills">329 <Card title="Skills" icon="brain" href="/docs/zh-TW/skills">
338 給予 Claude 領域專業知識和可重複使用的工作流程330 給予 Claude 領域專業知識和可重複使用的工作流程
339 </Card>331 </Card>
340 332
341 <Card title="Subagents" icon="users" href="/zh-TW/sub-agents">333 <Card title="Subagents" icon="users" href="/docs/zh-TW/sub-agents">
342 將工作卸載到隔離的上下文334 將工作卸載到隔離的上下文
343 </Card>335 </Card>
344 336
345 <Card title="Agent teams" icon="network" href="/zh-TW/agent-teams">337 <Card title="Dynamic workflows" icon="network" href="/docs/zh-TW/workflows">
346 協調多個並行工作的會話338 從一個指令碼執行許多 subagents
339 </Card>
340
341 <Card title="Cross-session messaging" icon="terminal" href="/docs/zh-TW/cross-session-messaging">
342 讓 Claude 向您的其他工作階段傳送訊息
347 </Card>343 </Card>
348 344
349 <Card title="MCP" icon="plug" href="/zh-TW/mcp">345 <Card title="MCP" icon="plug" href="/docs/zh-TW/mcp">
350 將 Claude 連接到外部服務346 將 Claude 連接到外部服務
351 </Card>347 </Card>
352 348
353 <Card title="Hooks" icon="bolt" href="/zh-TW/hooks-guide">349 <Card title="Hooks" icon="bolt" href="/docs/zh-TW/hooks-guide">
354 使用 hooks 自動化工作流程350 使用 hooks 自動化動作
355 </Card>351 </Card>
356 352
357 <Card title="Plugins" icon="puzzle-piece" href="/zh-TW/plugins">353 <Card title="Plugins" icon="puzzle-piece" href="/docs/zh-TW/plugins">
358 捆綁和共享功能集354 捆綁和共享功能集
359 </Card>355 </Card>
360 356
361 <Card title="Marketplaces" icon="store" href="/zh-TW/plugin-marketplaces">357 <Card title="Marketplaces" icon="store" href="/docs/zh-TW/plugin-marketplaces">
362 託管和分發 plugin 集合358 託管和分發 plugin 集合
363 </Card>359 </Card>
364</CardGroup>360</CardGroup>