跳至主要內容

    Claude Code /goal 教學:設好完成條件,讓它自己做到完

    用 /goal 讓 Claude Code 朝目標一路做下去,不用一直按繼續:寫出看得到的結果、怎麼證明、哪些不能動、最多幾輪。4 個步驟,附 Claude Code 2.1.305 實測:59 秒修好貪食蛇的真 bug,測試全過才停。

    sunny 桑尼· · 9 MIN READ · 135 次瀏覽

    Claude Code /goal 教學:設好完成條件,讓它自己做到完
    本文目錄

    叫 Claude Code 修一個 bug,它說好了,你一測還是壞的,只好再叫一次「繼續」?這篇教你把「做到什麼程度才算完」寫成 /goal 的完成條件。它每做完一輪,就有另一個模型檢查條件成立沒有;沒成立,它自己接著做,不用你一直按繼續。這次修的是貪食蛇一個真的 bug:蛇把整個棋盤填滿時,畫面卻顯示「遊戲結束」。

    快速回答 在 Claude Code 輸入 /goal 加上完成條件,它就開始做;每做完一輪,另一個模型讀過對話,判斷條件成立了沒,沒成立就接著做。好的條件有四個部分:一個看得到的結果、怎麼證明(例如 node test.js 全部通過)、哪些東西不能動、最多做幾輪。/goal 不會替你核准權限,想減少中途詢問,先切到 auto 模式;遇到登入過期、額度用完這類錯誤,目標會被清掉。2026-10-21 用 Claude Code 2.1.305 實測,59 秒修好貪食蛇的 bug,5 項測試全過。

    做完這篇,你會有

    • 修好的貪食蛇:填滿整個棋盤會顯示「你贏了」
    • 一個 test.js,執行 node test.js 就能檢查遊戲有沒有被改壞
    • 會寫完成條件、看進度、看它為什麼判斷完成

    開始之前要準備:

    • 前幾篇的 snake-game 資料夾
    • Node.js(用來跑測試)。在終端機輸入 node -v,有出現版本號就好;沒有的話,到 nodejs.org 下載安裝,或請 Claude Code 幫你裝

    第 4 篇用 /goal 加過暫停功能,這篇學怎麼把條件寫得更好。

    好條件的四個部分

    部分這篇的寫法

    看得到的結果
    填滿棋盤會進入勝利狀態,撞牆和撞自己仍然是遊戲結束
    怎麼證明
    新增 test.js,node test.js 全部通過
    不能動的東西
    除了 index.html 和 test.js,不改其他檔案
    最多幾輪
    最多 15 輪

    檢查條件的模型只讀對話,不會自己跑指令或打開檔案。所以「怎麼證明」要寫成 Claude Code 會跑、結果會出現在對話裡的事,例如跑測試。

    步驟 1:確認是 auto 模式

    在遊戲資料夾啟動 Claude Code,看狀態列是不是 ⏵⏵ auto mode on。不是的話按 Shift+Tab 切過去。

    /goal 不會改你的權限模式。在 manual 模式,它每次建檔、跑測試都會停下來問你,就不是「自己做到完」了。

    步驟 2:設好目標

    輸入一整句(/goal 後面接條件):

    /goal 修好這個 bug:蛇把整個棋盤填滿時,畫面顯示「遊戲結束」,應該顯示「你贏了」。完成條件:新增 test.js(這次唯一可以新增的檔案),測試填滿棋盤會進入勝利狀態、撞牆和撞自己仍然是遊戲結束,而且 node test.js 全部通過;除了 index.html 和 test.js 不改其他檔案;最多 15 輪。
    

    之前的 CLAUDE.md 規定「不要新增檔案」,所以條件裡特別寫明 test.js 是這次唯一的例外。

    實際畫面(Claude Code 2.1.305,2026-10-21):不用另外下指令,設好就開工;右下角顯示已經跑了多久。

    設好之後可以先去做別的事,等它做完再回來看。

    步驟 3:等它做完,自己再確認一次

    它找到原因、改好 index.html、寫好 test.js 並跑過。它還把修正拿掉再跑一次,確認測試真的抓得到原本的 bug。

    實際畫面(2026-10-21):59 秒達成,一輪就做完,不用你說「繼續」。

    看到 Goal achieved,還是要自己確認。在終端機執行:

    node test.js
    

    最後一行是 5 通過,0 失敗 就對了。要在遊戲裡看到「你贏了」得填滿 400 格,太久了;實測時在瀏覽器直接把蛇擺到只差一格,讓它吃掉最後一顆食物:

    實際畫面(Chromium,2026-10-21):填滿棋盤,顯示「你贏了」,遊戲停住。

    想自己看到這個畫面,可以請 Claude Code:「給我一段把蛇擺到只差一格的程式,告訴我要貼在瀏覽器開發者工具的哪裡。」實測時它的回覆最後就附了這段程式。

    步驟 4:看進度和判斷理由

    接著設一個比較大的目標,一次修三個鍵盤問題:

    /goal 修好鍵盤的三個問題:按住空白鍵或 P 會一直重複觸發;按 Ctrl+P 想列印時遊戲卻暫停;在選單或暫停畫面按方向鍵,整個頁面會捲動。完成條件:每個問題都在 test.js 加一個測試,node test.js 全部通過;只改 index.html 和 test.js;最多 15 輪。
    

    做的時候或做完以後,輸入 /goal(後面不加字)看狀態:

    實際畫面(2026-10-21):49 秒、1 輪、用了 5.5k tokens。

    想知道它憑什麼說完成了,按 Ctrl+O 打開詳細紀錄,Goal achieved 下面有一段 Reason:

    實際畫面(2026-10-21):理由對到條件的每一項,包括「只改了兩個檔案」。

    再按一次 Ctrl+O 回到平常的畫面。

    換你做

    幫貪食蛇或你的網站設一個自己的目標。寫完先對照四個部分:

    • 結果看得到嗎?「變好玩」看不到,「吃到金色食物加 3 分」看得到
    • 有寫怎麼證明嗎?有測試就寫「node test.js 全部通過」
    • 有寫哪些不能動嗎?
    • 有寫最多幾輪嗎?

    常見卡關

    • 它一直停下來問我能不能做:現在是 manual 模式。按 Shift+Tab 切到 auto 模式,再設一次目標。
    • 一直做不完:條件太模糊,或做不到。輸入 /goal clear 取消,改成看得到的結果再設一次。
    • 條件成立了它還在做:檢查的模型只讀對話。條件裡要寫它該跑什麼來證明,例如「node test.js 全部通過」,它跑完,結果才會出現在對話裡。
    • node: command not found:電腦沒有 Node.js,先安裝;或把證明方式改成你有的工具。
    • 出現 Goal cleared after an unrecoverable error:遇到要你處理的錯誤,例如登入過期、額度用完。處理好之後再輸入一次 /goal 和條件。

    你做到了

    • 寫出有結果、證明、限制、輪數上限的完成條件
    • 用 /goal 讓它修好 bug、寫好測試,測試全過才停
    • 用 /goal 看狀態,用 Ctrl+O 看它為什麼判斷完成

    下一篇讓它每次改完 index.html,自動跑一次這個 test.js。

    常見問題

    狀態裡的「1 turn」是什麼意思?

    表示做了一輪:做完第一輪,檢查的模型就判斷條件成立了。如果第一輪結束時條件還沒成立,它會自己開始下一輪,這個數字就會變大。中途會不會停下來問你權限,看的是權限模式,和輪數無關。

    一次可以設好幾個目標嗎?

    一個對話只有一個目標。設新的會取代舊的;用 /clear 開新對話也會清掉目標。

    關掉 Claude Code,目標還在嗎?

    還沒完成的目標,用 claude --continue 或 claude --resume 回到那個對話時會恢復,計時和輪數從頭算。已經完成或取消的不會恢復。

    檢查條件要另外花錢嗎?

    會用到一些 tokens,跟主要工作一樣算在你的用量裡。檢查用的是一個比較小、比較快的模型,官方說通常比主要工作少很多。

    下一步

    參考資料

    留言0

    登入後就能留言。

    登入