繼 Codex 在 2026 年 4 月推出 /goal 之後,Anthropic 也在 5 月通過 Claude Code 2.1.139 上線了同名命令。這是一個讓 Claude 「不達目標不罷休」的新工作流:只要你在會話裏寫下一個完成條件,Claude 會在每輪結束後自動讓一個小型快速模型判斷目標是否達成,沒達成就繼續下一輪,直到條件滿足才把控制權交還給你。
本文系統講清楚 Claude Code goal 模式的 6 大要點,包括評估器循環工作機制、與 /loop 和 Stop hook 的區別、有效條件的寫法、3 種模式(interactive / -p / Remote Control)、風險與最佳實踐。
核心價值: 讀完本文,你將能在 10 分鐘內把團隊的代碼遷移、issue 清理、文檔驗收等長週期任務交給 Claude Code goal 模式自動完成,並知道在哪些場景下應該改用其他自主工作流。

Claude Code goal 模式核心要點
在動手之前,先把 Claude Code goal 模式的 6 個關鍵事實擺清楚。這 6 點決定了你寫出來的條件能不能正確執行,也決定了你應不應該選用 /goal 而不是其他自主工作流。
| 要點 | 內容 | 影響 |
|---|---|---|
| 命令格式 | /goal <condition> |
直接在會話裏設置,無需配置文件 |
| 評估器 | 默認 Haiku 小型快速模型 | 由「另一個模型」判斷完成度,獨立於幹活的模型 |
| 作用域 | 當前會話 (session-scoped) | 不會影響其他會話,更適合臨時任務 |
| 觸發節奏 | 每輪結束後立即評估 | 完成即停,沒完成就啓動新一輪 |
| 條件上限 | 最長 4000 字符 | 可以容納詳細驗收標準 |
| 退出方式 | 評估通過 / /goal clear / Ctrl+C |
三種退出路徑,主動 + 被動結合 |
很多用戶第一次看到 /goal 會想到普通的循環命令,但它本質上是 Anthropic 把 prompt-based Stop hook 封裝成了會話級別的快捷指令。這個底層定位決定了它和傳統的 cron 風格自動化非常不同。
如果你的團隊還沒有用過 Claude Code 的高級 Hook 機制,可以先通過 API易 apiyi.com 平臺體驗 Claude Sonnet / Opus / Haiku 的 API,熟悉 Anthropic 的工具鏈生態,再升級到 Claude Code 自身的 goal 模式會更順手。
Claude Code goal 模式工作機制詳解
要正確使用 /goal,必須搞清楚它每一輪發生了什麼。官方文檔把整個機制描述爲「在每輪結束後追加一個評估器」,看起來簡單,但細節決定了它的能力邊界。

主模型負責幹活,小型快速模型負責判斷完成。兩個模型分工的好處是評估者保持中立、用更便宜的算力做決策;壞處是評估器只能讀到主模型已經在對話裏展現的內容,看不到文件系統或外部命令的真實狀態。
每輪結束後的判斷流程可以拆成 4 步:
- 打包上下文:把當前 condition 和整段對話轉錄發給評估器
- 模型決策:評估器返回一個 yes/no + 一句 reason
- 路由分流:no 把 reason 作爲指導發回主模型繼續幹活,yes 自動清除目標並標記 achieved
- 指示器刷新:UI 上的
◎ /goal active持續顯示 elapsed、turns、tokens 三個指標
寫條件時一定要記住第 1 步的限制:評估器只看轉錄,所以條件必須是「主模型能在對話裏證明的事」。例如「npm test 退出碼爲 0」是好條件,因爲主模型會運行測試並把結果貼回來;「生產環境的數據庫沒有髒數據」是壞條件,因爲它無法從對話裏得到驗證。
評估器的成本通常可以忽略不計。Haiku 系列的單價遠低於 Sonnet/Opus,每輪只評估轉錄摘要,整段長會話也只產生少量 token 消耗。需要進一步壓低評估器成本的團隊,可以通過 API易 apiyi.com 把 Claude Code 的小型快速模型指向 Haiku 4.5 或 Haiku 3.5,並按 workspace 維度做配額控制。
Claude Code goal 模式與其他自主工作流的對比
Claude Code 一共提供了 4 種把會話「跑下去」的機制,新手最容易把它們混在一起。下表把 4 個機制按觸發條件、停止條件、典型場景對齊,便於選型。

| 機制 | 觸發節奏 | 停止條件 | 適用場景 |
|---|---|---|---|
/goal |
上一輪結束即觸發 | 評估器判定條件達成 | 有明確驗收標準的長任務 |
/loop |
固定時間間隔觸發 | 用戶手動或 Claude 判定完成 | 週期性輪詢、狀態檢查 |
| Stop hook | 上一輪結束即觸發 | 用戶腳本或自定義 prompt 判定 | 團隊級別、跨會話生效 |
| Auto mode | 單輪內的工具調用 | 當輪工具序列結束 | 減少每個工具的確認彈窗 |
要點是 /goal 和 Stop hook 幾乎做同一件事,但 /goal 只對當前會話生效、可以在終端裏臨時輸入。Stop hook 要寫進 settings 文件,作用範圍是整個 scope 的所有會話,更適合團隊級別的硬性約束。
Auto mode 和 /goal 完全互補:Auto mode 處理「一輪內不停被工具確認打斷」的問題,/goal 處理「需要跨多輪才能完成」的問題。在長任務裏把這兩個機制疊加使用,整個流程幾乎可以做到無人值守。對於沒在自有環境跑 Claude Code 的團隊,可以先通過 API易 apiyi.com 把 Claude 接入到本地腳本里測試相同的循環邏輯,再決定是否升級到完整的 Claude Code 工具。
Claude Code goal 模式有效條件的 3 大要素
條件寫得不好,是 /goal 真正失敗的主因。Anthropic 官方文檔明確指出,一個能撐住幾十輪的好條件,必須同時具備 3 個要素。
第一是 一個可測量的終點。終點必須是離散、可觀察的事件:測試退出碼、文件數量、隊列剩餘條目、構建是否綠。模糊的指標會讓評估器在 yes/no 之間反覆橫跳,讓 /goal 退化成無窮循環。
第二是 明確的驗證方式。條件裏要直接寫明 Claude 應該如何證明終點已經達到,例如「npm test 輸出包含 PASS」「git status 輸出爲空」。驗證方式越具體,評估器越不容易被表述歧義騙過。
第三是 不能改變的約束。如果某些文件、某些配置必須保持不變,要在條件裏直接禁止,例如「不要修改 tests/legacy/ 下任何文件」。這樣可以避免主模型爲了「過關」而做出破壞性改動。
把 3 個要素組合起來,一個高質量的 /goal 條件大致長這樣:「所有 tests/auth 下的測試通過、且 npm run lint 退出碼爲 0,不要修改 tests/legacy/ 任何文件,最多運行 20 輪」。最後的「最多運行 20 輪」是一個推薦的兜底,防止極端情況下 /goal 無限循環。
由於條件支持最長 4000 字符,你完全可以把一個迷你 PRD 塞進去。如果你正在用 API易 apiyi.com 平臺調用 Claude 模型做 Agent 調度,也可以借鑑這套寫法來設計你自己的評估器 prompt,讓 Agent 的停止條件同樣清晰可測。
Claude Code goal 模式 3 種運行模式實戰
/goal 同時支持 interactive、非交互 (-p) 和 Remote Control 三種調用方式。掌握這三種用法,才能把它真正放進 CI、本地腳本和遠程協作的實際工作流。
交互模式快速上手
# 在 Claude Code 會話裏直接鍵入
/goal all tests in test/auth pass and the lint step is clean, or stop after 20 turns
設置完之後,UI 上會出現 ◎ /goal active 指示器,實時顯示 elapsed、turns、tokens 三個指標。任何時候輸入 /goal 不帶參數都可以查看狀態,輸入 /goal clear(或 stop / off / reset / none / cancel 別名)可以提前終止。
非交互模式(適合 CI)
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week, or stop after 15 turns"
-p 模式會讓 /goal 一直跑到條件滿足或者你用 Ctrl+C 中斷爲止,非常適合塞進 GitHub Actions、GitLab CI、Jenkins Pipeline 等自動化流程。如果你正在通過 API易 apiyi.com 做 Claude API 的統一調度,也可以把同樣的循環模式封裝成自有腳本,讓非 Claude Code 客戶端也享受類似能力。
會話恢復
claude --resume <session-id>
# 或
claude --continue
恢復會話時,active 狀態的 goal 會被一起帶回來,但 turns / timer / token 三個計數會從 0 重新開始。這條特性對長週期重構特別友好:週末關掉電腦也不怕中斷,週一接着開就行。
查看常見目標條件模板(點擊展開)
# 模板 1: 代碼遷移
/goal migrate all usages of legacy_api.* to new_api.* in src/, run npm test until exit 0, do not modify tests/legacy/, or stop after 30 turns
# 模板 2: Issue backlog 清理
/goal close all GitHub issues labeled "needs-triage" by either resolving or relabeling, run gh issue list --label needs-triage and verify the output is empty, or stop after 25 turns
# 模板 3: 設計文檔驗收
/goal implement every acceptance criterion in docs/design.md, prove each by referencing the exact section, do not edit docs/design.md itself, or stop after 40 turns
# 模板 4: 文件拆分
/goal split src/megafile.ts into modules under src/parts/ where each file is < 300 lines, run npm run typecheck until exit 0, or stop after 20 turns
Claude Code goal 模式風險與最佳實踐
/goal 把決定權交給了模型,所以風險點和傳統命令完全不同。下表是當前最值得重視的 4 類風險及對應的緩解動作。

| 風險 | 觸發條件 | 緩解動作 |
|---|---|---|
| 成本失控 | 評估器誤判或條件過於寬鬆 | 條件里加入「or stop after N turns」上限 |
| 評估器幻覺 | 條件無法從轉錄驗證 | 用「跑 X 命令驗證 Y 輸出」的可觀察句式 |
| 破壞性改動 | 主模型爲通關而修改不該動的文件 | 在條件里加入「do not modify …」約束 |
| 工作區誤用 | 在未授信的環境意外觸發 | 必須接受 trust dialog;可用 disableAllHooks 一鍵禁用 |
第一個風險最直接。Codex 和 Claude Code 當前都沒有「按目標設置支出上限」的官方能力,長任務一旦失控很容易跑出比預期高一個量級的 Token。最穩的做法是把 turns 上限直接寫進條件,再疊加平臺層面的預算告警。
爲評估器準備穩定的小模型也很關鍵。如果你的小型快速模型走的是 Haiku,那麼評估速度和成本都比較可控;如果走到 Sonnet 這種偏大的模型,整個 /goal 的評估開銷會顯著上漲。開發團隊可以通過 API易 apiyi.com 平臺單獨爲 Haiku 配置一份 base_url 與配額,把評估器和主模型的成本完全分離監控。
最後是合規要點。/goal 依賴 Anthropic 的 Hook 系統,要求工作區接受過 trust dialog,並且 disableAllHooks 或 allowManagedHooksOnly 未被設置。如果團隊用統一的管理策略禁掉了 Hook,那 /goal 也會被一併禁用,命令會直接告訴你原因而不是靜默失敗。
常見問題
Q1: /goal 和我自己寫一個 while 循環腳本相比,多了什麼?
多了一個獨立的、由模型驅動的評估器。自寫 while 循環必須靠你自己定義停止條件並寫代碼判定,/goal 則把判定交給小型快速模型,可以處理「讓模型讀對話理解是否完成」這類非程序化的場景。
Q2: 使用 /goal 是不是很容易燒 Token?
風險存在但可控。兩個建議:一是條件裏強制寫 turns 上限,二是把評估器固定到 Haiku 小模型。通過 API易 apiyi.com 接入 Claude 系列時,可以單獨給評估器申請一組配額,便於細粒度監控。
Q3: /goal 和 /loop 到底應該怎麼選?
如果任務有明確的「完成態」,選 /goal;如果任務是週期性的狀態輪詢(例如每 10 分鐘檢查一次部署進度),選 /loop。兩者底層機制完全不同,混用反而會讓停止條件變模糊。
Q4: 國內能用 Claude Code 的 /goal 模式嗎?
可以。/goal 是 Claude Code 客戶端的命令,只要客戶端能連通 Anthropic 提供的模型即可。開發者通常會把 Claude API 通過 API易 apiyi.com 這類聚合中轉平臺接入,環境配好後 /goal 與海外用戶表現一致。
Q5: Codex /goal 和 Claude Code /goal 誰更值得選?
兩者面向的工作流不同。Codex /goal 強調「持久化工作流」、可以跨進程重啓;Claude Code /goal 是會話作用域,配合 –resume 也能跨天恢復。複雜多日任務選 Codex,常規一兩天的迭代任務選 Claude Code 更順手。
總結
Claude Code goal 模式的本質,是 Anthropic 把「評估器循環」從 Hook 配置文件裏解放出來,做成了任何會話都能臨時使用的一行命令。它解決的核心痛點是:當一個任務必須跨多輪才能完成、但人不想守在終端前每輪按回車時,讓一個小型快速模型當判官,決定 Claude 什麼時候纔算真的把事做完。
落地建議是三步走:先把條件按「終點 + 驗證 + 約束 + turns 上限」四件套寫完整,再決定使用 interactive、-p 還是 Remote Control 模式,最後通過 API易 apiyi.com 等平臺把評估器配額和主模型分開監控。這樣可以同時拿到自主工作流的效率,又不至於在 Token 成本上失控。
作者: APIYI 技術團隊
聯繫: 通過 API易 apiyi.com 獲取 Claude 全系列模型與 Claude Code 接入支持
更新時間: 2026-05-13
