22| 方法 | 下一個回合開始於 | 停止於 |22| 方法 | 下一個回合開始於 | 停止於 |
23| :- | :- | :- |23| :- | :- | :- |
24| `/goal` | 上一個回合完成時,或在互動式工作階段中,[閒置檢查](#background-work-defers-evaluation)或[自動重試](#other-errors-retry-or-pause-the-goal)到期時 | 模型確認條件已滿足或判斷其不可能時,或回合因[你必須修復的錯誤](#errors-you-have-to-fix-clear-the-goal)而失敗時,或你執行[`/goal clear`](#clear-a-goal)時 |24| `/goal` | 上一個回合完成時,或在互動式工作階段中,[閒置檢查](#background-work-defers-evaluation)或[自動重試](#other-errors-retry-or-pause-the-goal)到期時 | 模型確認條件已滿足或判斷其不可能時,或回合因[你必須修復的錯誤](#errors-you-have-to-fix-clear-the-goal)而失敗時,或你執行[`/goal clear`](#clear-a-goal)時 |
25| [`/loop`](/docs/zh-TW/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | 時間間隔經過時 | 你停止它,或 Claude 決定工作完成時 |25| [`/loop`](https://code.claude.com/docs/zh-TW/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | 時間間隔經過時 | 你停止它,或 Claude 決定工作完成時 |
26| [Stop hook](/docs/zh-TW/hooks-guide.md#prompt-based-hooks) | 上一個回合完成時 | 你自己的指令碼或提示決定時 |26| [Stop hook](https://code.claude.com/docs/zh-TW/hooks-guide.md#prompt-based-hooks) | 上一個回合完成時 | 你自己的指令碼或提示決定時 |
27 27
28`/goal` 和 Stop hook 都在每個回合後觸發。`/goal` 是一個工作階段範圍的快捷方式:你輸入條件,它僅在目前工作階段中有效。Stop hook 存在於你的設定檔案中,適用於其範圍內的每個工作階段,可以執行指令碼進行確定性檢查或執行提示進行模型評估的檢查。28`/goal` 和 Stop hook 都在每個回合後觸發。`/goal` 是一個工作階段範圍的快捷方式:你輸入條件,它僅在目前工作階段中有效。Stop hook 存在於你的設定檔案中,適用於其範圍內的每個工作階段,可以執行指令碼進行確定性檢查或執行提示進行模型評估的檢查。
29 29
30[自動模式](/docs/zh-TW/auto-mode-config.md)本身在單個回合內批准工具呼叫,但不會開始新的回合。Claude 在判斷工作完成時停止。`/goal` 添加了一個單獨的評估器,在每個回合後檢查你的條件,因此完成由新鮮模型而不是執行工作的模型決定。這兩者是互補的:自動模式移除每個工具的提示,`/goal` 移除每個回合的提示。30[自動模式](https://code.claude.com/docs/zh-TW/auto-mode-config.md)本身在單個回合內批准工具呼叫,但不會開始新的回合。Claude 在判斷工作完成時停止。`/goal` 添加了一個單獨的評估器,在每個回合後檢查你的條件,因此完成由新鮮模型而不是執行工作的模型決定。這兩者是互補的:自動模式移除每個工具的提示,`/goal` 移除每個回合的提示。
31 31
32> [!TIP]32> [!TIP]
33>33>
34> 上述方法保持目前工作階段執行。您也可以排程獨立於任何開啟工作階段執行的工作,例如夜間測試或早晨分類。有關雲端和桌面排程任務,請參閱[排程選項](/docs/zh-TW/scheduled-tasks.md#compare-scheduling-options)。34> 上述方法保持目前工作階段執行。您也可以排程獨立於任何開啟工作階段執行的工作,例如夜間測試或早晨分類。有關雲端和桌面排程任務,請參閱[排程選項](https://code.claude.com/docs/zh-TW/scheduled-tasks.md#compare-scheduling-options)。
35 35
36## 使用 `/goal`36## 使用 `/goal`
37 37
47 47
48設定目標會立即開始一個回合,條件本身作為指令。你無需發送單獨的提示。當目標活躍時,`◎ /goal active` 指示器顯示目標已執行多長時間。48設定目標會立即開始一個回合,條件本身作為指令。你無需發送單獨的提示。當目標活躍時,`◎ /goal active` 指示器顯示目標已執行多長時間。
49 49
50目標不會改變你的權限模式。要讓目標回合無人值守地執行,請在 [auto mode](/docs/zh-TW/auto-mode-config.md) 中執行 `/goal`。在 [Manual mode](/docs/zh-TW/permission-modes.md) 中,Claude 仍會在工具呼叫前詢問,這些工具呼叫是你的設定尚未允許的,例如上面的測試命令。50目標不會改變你的權限模式。要讓目標回合無人值守地執行,請在 [auto mode](https://code.claude.com/docs/zh-TW/auto-mode-config.md) 中執行 `/goal`。在 [Manual mode](https://code.claude.com/docs/zh-TW/permission-modes.md) 中,Claude 仍會在工具呼叫前詢問,這些工具呼叫是你的設定尚未允許的,例如上面的測試命令。
51 51
52當目標活躍時,文字記錄會顯示評估器返回的每個判決,你可以按 Ctrl+O 查看其背後的原因。狀態檢視也會顯示最新的原因,因此你可以看到 Claude 接下來要朝著什麼工作。52當目標活躍時,文字記錄會顯示評估器返回的每個判決,你可以按 Ctrl+O 查看其背後的原因。狀態檢視也會顯示最新的原因,因此你可以看到 Claude 接下來要朝著什麼工作。
53 53
99 99
100### 使用活躍目標繼續100### 使用活躍目標繼續
101 101
102當你繼續一個工作階段時,Claude Code 會復原一個在工作階段結束時仍然活躍的目標。Claude Code 在每個繼續路由上復原它:`--continue`、`--resume` 搭配工作階段 ID、名稱或 [文字記錄檔案路徑](/docs/zh-TW/sessions.md#resume-a-session),以及 [工作階段選擇器](/docs/zh-TW/sessions.md#use-the-session-picker)。在 v2.1.239 之前,Claude Code 在除了 `claude --resume` 選擇器之外的每個路由上復原目標。102當你繼續一個工作階段時,Claude Code 會復原一個在工作階段結束時仍然活躍的目標。Claude Code 在每個繼續路由上復原它:`--continue`、`--resume` 搭配工作階段 ID、名稱或 [文字記錄檔案路徑](https://code.claude.com/docs/zh-TW/sessions.md#resume-a-session),以及 [工作階段選擇器](https://code.claude.com/docs/zh-TW/sessions.md#use-the-session-picker)。在 v2.1.239 之前,Claude Code 在除了 `claude --resume` 選擇器之外的每個路由上復原目標。
103 103
104Claude Code 帶著條件,但重置回合計數、計時器和令牌支出基線。它不會復原已達成或已清除的目標。104Claude Code 帶著條件,但重置回合計數、計時器和令牌支出基線。它不會復原已達成或已清除的目標。
105 105
106### 非互動式執行106### 非互動式執行
107 107
108`/goal` 在[非互動式模式](/docs/zh-TW/headless.md)、[桌面應用程式](/docs/zh-TW/desktop.md)中工作,並透過[遠端控制](/docs/zh-TW/remote-control.md)工作。使用 `-p` 設定目標會在單個呼叫中執行迴圈至完成:108`/goal` 在[非互動式模式](https://code.claude.com/docs/zh-TW/headless.md)、[桌面應用程式](https://code.claude.com/docs/zh-TW/desktop.md)中工作,並透過[遠端控制](https://code.claude.com/docs/zh-TW/remote-control.md)工作。使用 `-p` 設定目標會在單個呼叫中執行迴圈至完成:
109 109
110```bash theme={null}110```bash theme={null}
111claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"111claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"
117 117
118## 評估如何運作118## 評估如何運作
119 119
120`/goal` 是工作階段範圍[基於提示詞的 Stop hook](/docs/zh-TW/hooks.md#prompt-based-hooks)的包裝器。每次 Claude 完成回合時,Claude Code 會將條件和迄今為止的對話發送到您設定的[小型快速模型](/docs/zh-TW/model-config.md)。模型返回三個判決之一,各附帶簡短原因:120`/goal` 是工作階段範圍[基於提示詞的 Stop hook](https://code.claude.com/docs/zh-TW/hooks.md#prompt-based-hooks)的包裝器。每次 Claude 完成回合時,Claude Code 會將條件和迄今為止的對話發送到您設定的[小型快速模型](https://code.claude.com/docs/zh-TW/model-config.md)。模型返回三個判決之一,各附帶簡短原因:
121 121
122* **尚未達成**:Claude 繼續工作,並將原因作為下一個回合的指導。122* **尚未達成**:Claude 繼續工作,並將原因作為下一個回合的指導。
123* **已達成**:Claude Code 清除目標並在文字記錄中記錄已達成的項目。123* **已達成**:Claude Code 清除目標並在文字記錄中記錄已達成的項目。
124* **不可能**:評估器判斷該條件永遠無法滿足。Claude Code 清除目標並在文字記錄中記錄失敗項目以及原因。你不需要自己清除它。124* **不可能**:評估器判斷該條件永遠無法滿足。Claude Code 清除目標並在文字記錄中記錄失敗項目以及原因。你不需要自己清除它。
125 125
126如果 Claude 持續回答評估器而沒有取得進展(連續多個回合沒有工具使用),Claude Code 會停止迴圈、列印警告,並將控制權返回給你,目標仍然設定。評估在你的下一個提示後繼續。[hooks 指南](/docs/zh-TW/hooks-guide.md#stop-hook-hits-the-block-cap)解釋了底層機制。126如果 Claude 持續回答評估器而沒有取得進展(連續多個回合沒有工具使用),Claude Code 會停止迴圈、列印警告,並將控制權返回給你,目標仍然設定。評估在你的下一個提示後繼續。[hooks 指南](https://code.claude.com/docs/zh-TW/hooks-guide.md#stop-hook-hits-the-block-cap)解釋了底層機制。
127 127
128### 當回合失敗時128### 當回合失敗時
129 129
133 133
134如果回合因無法清除的錯誤而失敗,Claude Code 會清除目標並列印警告,說明原因。警告以 `Goal cleared after an unrecoverable error` 開始,以 `Run /goal again to continue` 結束。修復原因,然後使用 `/goal <condition>` [再次設定目標](#set-a-goal)。四種失敗會清除目標:134如果回合因無法清除的錯誤而失敗,Claude Code 會清除目標並列印警告,說明原因。警告以 `Goal cleared after an unrecoverable error` 開始,以 `Run /goal again to continue` 結束。修復原因,然後使用 `/goal <condition>` [再次設定目標](#set-a-goal)。四種失敗會清除目標:
135 135
136* 驗證失敗,當 Claude Code 管理自己的認證時。當主機為你管理認證時,例如桌面應用程式或[雲端工作階段](/docs/zh-TW/claude-code-on-the-web.md),Claude Code 會保持目標活躍,因為主機會自動恢復存取權。136* 驗證失敗,當 Claude Code 管理自己的認證時。當主機為你管理認證時,例如桌面應用程式或[雲端工作階段](https://code.claude.com/docs/zh-TW/claude-code-on-the-web.md),Claude Code 會保持目標活躍,因為主機會自動恢復存取權。
137* 信用額度已耗盡137* 信用額度已耗盡
138* [自動壓縮](/docs/zh-TW/model-config.md#set-the-auto-compact-window)無法清除的內容溢位138* [自動壓縮](https://code.claude.com/docs/zh-TW/model-config.md#set-the-auto-compact-window)無法清除的內容溢位
139* 不可用的模型139* 不可用的模型
140 140
141#### 其他錯誤重試或暫停目標141#### 其他錯誤重試或暫停目標
143在任何其他失敗之後,目標保持設定。在 Claude Code v2.1.269 或更新版本的互動式工作階段中,Claude Code 也會列印一行命名原因,並自動重試或等待你:143在任何其他失敗之後,目標保持設定。在 Claude Code v2.1.269 或更新版本的互動式工作階段中,Claude Code 也會列印一行命名原因,並自動重試或等待你:
144 144
145* **重試**:在傾向於自行清除的失敗之後,例如伺服器過載或連線中斷,以 `Goal still active` 開始的通知會顯示下一次嘗試前的等待時間。在三次自動重試後,目標會改為暫停。145* **重試**:在傾向於自行清除的失敗之後,例如伺服器過載或連線中斷,以 `Goal still active` 開始的通知會顯示下一次嘗試前的等待時間。在三次自動重試後,目標會改為暫停。
146* **暫停**:在重試只會重複的失敗之後,例如 API 速率限制、claude.ai [使用限制](/docs/zh-TW/errors.md#youve-hit-your-session-limit)或結束回合的 hook,以 `Goal paused` 開始的通知會命名原因。如果工作階段[等待在使用限制重設時自動繼續](/docs/zh-TW/interactive-mode.md#wait-for-a-usage-limit-to-reset),Claude 會在那時繼續朝著目標努力。146* **暫停**:在重試只會重複的失敗之後,例如 API 速率限制、claude.ai [使用限制](https://code.claude.com/docs/zh-TW/errors.md#youve-hit-your-session-limit)或結束回合的 hook,以 `Goal paused` 開始的通知會命名原因。如果工作階段[等待在使用限制重設時自動繼續](https://code.claude.com/docs/zh-TW/interactive-mode.md#wait-for-a-usage-limit-to-reset),Claude 會在那時繼續朝著目標努力。
147 147
148隨時發送訊息以立即開始下一個回合。要關閉自動重試,請將 [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/zh-TW/env-vars) 設定為 `0`,這也會關閉[簽到](#background-work-defers-evaluation)。148隨時發送訊息以立即開始下一個回合。要關閉自動重試,請將 [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](https://code.claude.com/docs/zh-TW/env-vars) 設定為 `0`,這也會關閉[簽到](#background-work-defers-evaluation)。
149 149
150### 背景工作延遲評估150### 背景工作延遲評估
151 151
158 158
159在 v2.1.239 之前,只有閒置簽到以這種方式退避;在回合結束時傳遞的簽到在第一個間隔重複。159在 v2.1.239 之前,只有閒置簽到以這種方式退避;在回合結束時傳遞的簽到在第一個間隔重複。
160 160
161要更改第一個間隔,請設定 [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/zh-TW/env-vars)。Claude Code 使用你的值代替 30 分鐘間隔,並相應地縮放後續間隔。將其設定為 `0` 以關閉簽到和[自動重試](#other-errors-retry-or-pause-the-goal)。161要更改第一個間隔,請設定 [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](https://code.claude.com/docs/zh-TW/env-vars)。Claude Code 使用你的值代替 30 分鐘間隔,並相應地縮放後續間隔。將其設定為 `0` 以關閉簽到和[自動重試](#other-errors-retry-or-pause-the-goal)。
162 162
163簽到需要 Claude Code v2.1.234 或更新版本。163簽到需要 Claude Code v2.1.234 或更新版本。
164 164
165### 評估模型和成本165### 評估模型和成本
166 166
167要在不同的模型上進行評估,請設定 [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/zh-TW/model-config#environment-variables)。167要在不同的模型上進行評估,請設定 [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](https://code.claude.com/docs/zh-TW/model-config#environment-variables)。
168 168
169> [!WARNING]169> [!WARNING]
170>170>
171> Claude Code 在使用小型快速模型的任何地方都會讀取 `ANTHROPIC_DEFAULT_HAIKU_MODEL`,不僅僅是用於 `/goal` 評估。當你設定它時,Claude Code 也會將 [`haiku` 別名](/docs/zh-TW/model-config#model-aliases)解析為該模型,並在其上執行[背景功能](/docs/zh-TW/costs.md#background-token-usage),例如對話摘要。171> Claude Code 在使用小型快速模型的任何地方都會讀取 `ANTHROPIC_DEFAULT_HAIKU_MODEL`,不僅僅是用於 `/goal` 評估。當你設定它時,Claude Code 也會將 [`haiku` 別名](https://code.claude.com/docs/zh-TW/model-config#model-aliases)解析為該模型,並在其上執行[背景功能](https://code.claude.com/docs/zh-TW/costs.md#background-token-usage),例如對話摘要。
172 172
173評估器在你的工作階段配置的任何提供者上執行。它不呼叫工具,因此只能判斷 Claude 已在對話中呈現的內容。173評估器在你的工作階段配置的任何提供者上執行。它不呼叫工具,因此只能判斷 Claude 已在對話中呈現的內容。
174 174
178 178
179## 要求179## 要求
180 180
181Claude Code 在與 [工作區信任規則相同的 hooks 設定檔](/docs/zh-TW/permissions.md#what-runs-before-you-trust-a-folder) 下提供 `/goal`,因為評估器是 hooks 系統的一部分。當 [`disableAllHooks`](/docs/zh-TW/hooks#disable-or-remove-hooks) 在設定優先順序套用後為 `true` 時,或當在受管設定中設定了 [`allowManagedHooksOnly`](/docs/zh-TW/settings-reference#allowmanagedhooksonly) 時,`/goal` 也不可用。在每種情況下,命令會告訴你原因,而不是默默地什麼都不做。181Claude Code 在與 [工作區信任規則相同的 hooks 設定檔](https://code.claude.com/docs/zh-TW/permissions.md#what-runs-before-you-trust-a-folder) 下提供 `/goal`,因為評估器是 hooks 系統的一部分。當 [`disableAllHooks`](https://code.claude.com/docs/zh-TW/hooks#disable-or-remove-hooks) 在設定優先順序套用後為 `true` 時,或當在受管設定中設定了 [`allowManagedHooksOnly`](https://code.claude.com/docs/zh-TW/settings-reference#allowmanagedhooksonly) 時,`/goal` 也不可用。在每種情況下,命令會告訴你原因,而不是默默地什麼都不做。
182 182
183## 另請參閱183## 另請參閱
184 184
185* [使用 `/loop` 重複執行提示](/docs/zh-TW/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop):按時間間隔重新執行,而不是直到條件滿足185* [使用 `/loop` 重複執行提示](https://code.claude.com/docs/zh-TW/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop):按時間間隔重新執行,而不是直到條件滿足
186* [基於提示的 hooks](/docs/zh-TW/hooks-guide.md#prompt-based-hooks):當你需要自訂評估邏輯時編寫你自己的 Stop hook186* [基於提示的 hooks](https://code.claude.com/docs/zh-TW/hooks-guide.md#prompt-based-hooks):當你需要自訂評估邏輯時編寫你自己的 Stop hook
187* [自動模式](/docs/zh-TW/auto-mode-config.md):自動批准工具呼叫,以便每個目標回合無人值守執行187* [自動模式](https://code.claude.com/docs/zh-TW/auto-mode-config.md):自動批准工具呼叫,以便每個目標回合無人值守執行
188* [排程比較](/docs/zh-TW/scheduled-tasks.md#compare-scheduling-options):獨立於任何開啟工作階段在排程上執行工作188* [排程比較](https://code.claude.com/docs/zh-TW/scheduled-tasks.md#compare-scheduling-options):獨立於任何開啟工作階段在排程上執行工作