AI 說「改好了」結果根本沒好?別讓它猜第二次,先做這兩件事

你請 AI 改一個小功能,它很快回報「改好了」,實際一測卻發現根本沒變。別只回「還是沒好」讓它繼續瞎猜,先叫它從程式碼查出系統跑起來到底是誰說了算、上次為甚麼沒生效,或用 Hook 做成自動守門。

這篇的段落(3)
  1. 顯示修改完成,為甚麼重整畫面還是沒好?
  2. 第一次沒生效別讓它猜第二次,先問這兩件事
  3. 寫進規則檔它還是會忘,改成三道自動關卡才擋得住

用 Claude Code、Cursor 或 ChatGPT 改網站、後端與工作專案時,AI 常回報「修改完成」,重整畫面卻毫無變化。你回一句「還是沒好」,它換個地方再猜,三四輪下來額度燒掉、系統還可能被弄壞;這通常跟模型笨不笨、提示詞細不細無關。

我後來只要它第一次改完沒反應,就不准它直接改第二版,先叫它去查兩件事:現在到底是哪一行程式在管這個值?剛剛那次為甚麼沒用?先逼它找對地方再動手,就不會一直在錯的檔案裡打轉。

我休假讓 AI 改一款 2012 年的老遊戲時,一開始也常看它繞一大圈解決問題。有一次它抓著早就沒人呼叫的同名舊元件連改四次,還寫了 22 支臨時測試腳本;另一次連猜三次參數,把一個欄位填成 0,伺服器當場拒絕啟動。

顯示修改完成,為甚麼重整畫面還是沒好?

因為 AI 改在沒有決定權的地方。就像前面那次老遊戲,AI 一直以為只有玩家看得到的畫面端(客戶端)能改,直到我叫它回頭查後台負責判定的伺服器那一端,才發現判斷邏輯其實在那裡。日常網站與後端專案常在這三種地方白改。

常見的「改了卻沒變」AI 動手改的地方為甚麼沒生效(誰才握著決定權)
改了設定檔,系統行為還是舊的直接改 .env 環境變數檔或靜態設定檔背景服務只在啟動時讀一次設定;沒重啟對應服務,新設定根本不會載入
改了資料或初始值,一跑起來又跳回原狀直接改資料庫欄位或預設值系統執行時會被記憶體快取、狀態管理或定時同步蓋回舊值,外面的修改馬上被洗掉
在畫面端修了半天,狀態還是不對一直在前端預設值或樣式裡打轉權限、計費規則或頁面跳轉條件其實由後端 API 決定;後端回傳甚麼,前端寫死也沒用

第一次沒生效別讓它猜第二次,先問這兩件事

第一次改完還是沒好時,別只回「還是沒好」,先貼這段停損指令:

程式碼
先停下來,不要直接改第二版。請先查程式碼回答這兩件事,附上檔案名稱與行號:
1. 系統實際跑起來的時候,是哪個程序、在哪一行讀取這個設定或欄位?後面有沒有快取、自動存檔或後端邏輯會把它蓋掉?
2. 上一次修改為甚麼沒生效?請找出程式碼裡的實際原因,確認找對地方再動手。

只要 AI 答不出明確的檔案與行號,就表示它還沒找到握著決定權的地方。

寫進規則檔它還是會忘,改成三道自動關卡才擋得住

前面的停損指令三個工具都能貼;但每次手貼太累,只把「動手前先確認前提」寫進 CLAUDE.md 照樣會忘,前面那兩次出事都發生在我寫下文字規則之後。所以我 10 月 30 日刪掉那條文字規則,改用 Claude Code 的 Hook 守三道關卡,規定 AI 改檔案前要先填理解卡、同一個問題改第二次以上要先看上次結果欄有沒有帶行號的失敗原因、說「修好了」或「完成」時要附上畫面或執行紀錄。把原本想一直確認的事變成 AI 交出來前先跑的檢查,最後比較要擔心的應該會只剩下「你說 A、它做 B」。

這套三道關卡 10 月 30 日中午上線後,第一筆就攔下「沒有理解卡」的修改,到整理紀錄時在我的專案裡已觸發 103 次檢查。因為 AI 可能隨便掰一個行號交差,第一關除了看有沒有填卡,還會去讀那一行前後 5 行,確認有它寫的那個字才放行。理解卡由 AI 填寫,格式長這樣:

程式碼
原話:<你交代的那句話>
目標:<要改成甚麼樣>
依據:<檔案:行號> `<那一行裡讀這個值的字>`
結果:<改完實際看到了甚麼;沒生效就寫程式裡的原因>

不寫程式也能貼這段話請 Claude Code 先建好第一關和第三關,也就是改檔案前先攔截(PreToolUse)、回覆結束時檢查結果(Stop)。設定存在專案的 .claude/settings.json 裡,能放進版本庫共用,平時輸入 /hooks 就能看清單:

程式碼
幫我在這個專案的 .claude/settings.json 加 Claude Code Hook:
1. PreToolUse(Edit|Write):改檔案前,先檢查我們的理解卡有沒有寫「依據:檔案:行號 `字`」,
   並讀那一行前後 5 行確認真的有那個字,沒有就擋下並說明原因。
2. Stop:回覆裡說「修好了」或「完成」卻沒有附執行結果,就擋下。
做完各觸發一次給我看它有擋到。

有兩種情況不用這套守門。一種是從零開始的新專案或純靜態網頁;另一種是已確定改哪裡、正在微調手感的數值,這類做成可以邊玩邊即時調、確認後才寫回檔案就好。

下次 AI 跟你說「改好了」、畫面卻一點都沒變時,不要讓它猜第二次;先叫它貼出系統跑起來是哪個檔案、在哪一行讀取這個值,以及上一次為甚麼沒生效。遇到 AI 放著現成工具不用、每次重寫一次性腳本時,可看上一篇〈AI 第三次用同一個笨方法時,叫它停下來做工具〉。

免費 5 層健檢:拿手上的任務自己測 →看 Claude Code 深度工程手冊(免費試看) →60 分鐘專案卡關諮詢 →
Cab(CabLate)作者照片

寫這篇的是 Cab,在第一線教 AI 落地,從農會推廣人員教到外商工程團隊。我的經歷・團隊想導入,看企業內訓。