AI 第三次用同一個笨方法時,叫它停下來做工具
你讓 AI 改一個小數值,它先寫一支一次性腳本翻檔案,再開畫面一格一格點著驗證,隔天又從頭來。同一個動作出現第三次,就該評估讓它先蓋工具,再用檢查擋住它繞回舊做法。
本文提到的遊戲修改,都是在封閉本機做的數位保存與相容性研究,不提供任何遊戲檔案、修改檔或私服營運。
用 Claude Code 或 Codex 做一個持續好幾天的專案時,你應該遇過這種情況。例如你只是請 AI 改一個小數值,它先寫一支一次性腳本去翻檔案,改完再開畫面一格一格點著驗證;隔天要改另一個值,它又從頭寫一支新腳本、再開畫面點一次。
每次改個小東西都要等很久、額度掉很快,讓人以為是模型不夠聰明,開始想換模型或把提示詞寫得更長。後來我定了一個很簡單的原則:只要看到 AI 第三次用同一個笨方法做事,就叫它先停下來,把這個動作寫成現成的小工具;之後再改,直接跑一下工具就好,不用每次從頭來。
你的專案不一定是遊戲,但我前陣子讓 AI 改一款 2012 年、沒有原始碼的老遊戲時,就踩進同一個坑。因為只能靠逆向工程修改,AI 一直用土法煉鋼的做法:每次找東西都重新翻底層的記憶體和組語(機器看的低階指令),到了測試又每次開 Computer use(讓 AI 看螢幕模擬滑鼠點擊)從頭點畫面,改個小東西又久又吃額度。問題不在模型聰不聰明,在於只要你沒先開口,它不會主動把重複的動作做成工具。
開始改功能前,先讓 AI 把重複的動作做成工具
同樣是改一個小數值,每次現場從頭做跟先蓋好工具,差別在於後面每一次要付出的步驟。
| 同一個「改一個小數值」任務 | 每次現場做 | 先蓋工具 |
|---|---|---|
| 找到要改的地方 | 每次寫一支一次性腳本翻檔案 | 先建好能直接查的索引或搜尋工具 |
| 改完驗證 | 開畫面一格一格點 | 專屬指令在背景跑,看執行紀錄(log)和截圖 |
| 下一次再改 | 從頭再寫一次 | 直接呼叫同一個指令 |
所以在開始改那款老遊戲的功能之前,我先針對前面這兩件事讓 AI 做了腳本工具:一支是把遊戲檔一次反編譯(轉回好讀的程式碼)的全文搜尋工具,另一支是不用動滑鼠的背景自動測試。把整個基礎建設弄起來,後面改功能這一步就快又準,測試也能讓 AI 自己來。
回到你自己的專案,第一次遇到某個動作時可以先現場做。但當你看到它重複寫同一種一次性腳本、每次重讀同一批檔案,或是每次驗證都靠開畫面點,先別讓它繼續改功能,直接把下面這段話貼給它。
停一下。這是你第三次寫一次性腳本做同一件事。先不要改功能:
把這個動作做成 tools/ 底下的具名指令(參數化、能重複呼叫),
寫進 CLAUDE.md 的工具清單,之後同類需求一律呼叫它。工具做好了,AI 還是繞回舊方法怎麼辦?
在 AI 執行指令前掛一道自動檢查,把已經有工具取代的舊寫法擋下來並提示對應的工具。在那個專案裡,只把工具清單寫在 CLAUDE.md 說明檔,AI 忙起來還是會繞回舊方法自己寫腳本。我在專案設定檔(.claude/settings.json,可跟著專案一起 commit 進 repo)裡註冊了執行前檢查(PreToolUse Hook),只要 AI 準備執行 Bash 指令,就會先比對它送出的指令內容。
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{ "type": "command", "command": "node \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/guard.mjs" }
]
}
]
}
}這道檢查擋的範圍要窄,只攔截已經有工具能取代的那一種寫法。以那個遊戲專案來說,其中一條只攔「手寫腳本去反組譯、硬掃二進位」;一旦抓到就擋下,並把該改用的指令直接列在錯誤訊息裡,Claude 會收到這段理由,知道該改用哪個指令。如果遇到現有工具處理不了的例外,AI 只要在它這次要跑的腳本裡加一行註解寫明理由,檢查讀到就會放行;平時在 Claude Code 輸入 /hooks,也能打開唯讀清單查看目前掛了哪些檢查。
如果你平常不寫程式,不用自己動手寫這支檢查腳本,直接把下面這段話貼給 AI 請它建好並當場驗證。
幫我在這個專案加一個 Claude Code 的 PreToolUse Hook:
只要你又用一次性腳本做「<那件事>」,就擋下來,
錯誤訊息直接寫「改用 tools/<工具名>」,
如果真的需要例外,腳本裡註明理由才放行。
做完實際觸發一次給我看它有擋到。把工具和這道檢查補齊之後,同一晚我還是遇到處理太久、報錯的新狀況,只能再補洞,新的卡點還是得邊用邊補。
甚麼時候不值得先蓋工具?
專案一兩天就結束,或是每次要做的動作都不一樣時,直接現場做就好。請 AI 蓋工具與寫檢查本身也要花時間和額度,能不能回本,取決於建置成本和後續還會用幾次。
只要手上的專案還會持續好幾天,下次看到 AI 第三次用同一個土方法,先叫它停下來,把這個動作做成指令,再繼續改功能。如果連請 AI 改個既有設定都會一直猜錯地方,可以接著看〈AI 說「改好了」結果根本沒好?別讓它猜第二次,先做這兩件事〉。
