Claude Code Plan Mode 完整教學 — 讓 AI 先想清楚再動手的正確姿勢
蓋房子的師傅不會拿到一塊地就開始砌牆。他先畫圖。樑柱位置、管線走向、承重計算——圖紙確認了,才叫水泥車進場。
你讓 AI 改程式碼的時候呢?直接下指令,它立刻開始動檔案。改了三個、砍了兩個、建了一個——你還沒搞清楚它的邏輯,事情已經做完了。運氣好,結果是對的。運氣不好,你在 git diff 裡面撈殘骸。
Plan Mode 就是那張圖紙。Claude 進入唯讀狀態——可以讀檔案、搜程式碼、分析依賴,但不能改任何東西。它把整個計畫攤開給你看,你確認了,它才動手。
為什麼「先規劃」反而更快
這裡有個違反直覺的現象。
你可能覺得多一個規劃步驟會拖慢速度——原本直接做就好,現在還要先寫計畫、review 計畫、確認計畫,不是多繞了一圈?
實際操作完全相反。Anthropic 觀察到最有效率的 AI 輔助開發者遵循一個 80/20 比例——80% 的時間花在規劃(理解需求、對應依賴、辨識邊界條件),只有 20% 的時間在監督程式碼執行。(來源:Anthropic Claude Code Best Practices)
不是因為他們動作慢。是因為計畫做好了,執行階段幾乎不需要回頭修。
反過來,不做計畫直接衝的人,表面上動作很快——Claude 噼里啪啦改了二十個檔案——但有三個改壞了,兩個漏了邊界條件,一個引入了 circular dependency。修這些問題花的時間,比一開始規劃的時間長三倍。
蓋房子也是。砌牆很快,拆牆重砌很慢。
三種方式進入 Plan Mode
看你的使用情境選一個。
Shift+Tab 按兩次
在任何 prompt 輸入框裡,按兩次 Shift+Tab,底部狀態列會切換到 plan mode。再按兩次切回正常模式。
這是最常用的方式。你正在跟 Claude 來回工作,突然遇到一個需要先想清楚的任務——按兩下,進 plan mode,描述需求,看完計畫,再按兩下切回去讓它執行。
/plan 指令
在 prompt 裡輸入 /plan,Claude 只會在這一輪回覆使用 plan mode。下一輪自動回到正常模式。
適合「偶爾想看一下計畫」的場景。你不想切換整個 session 的狀態,只是這一題想讓它先規劃。
啟動時指定
1 | claude --permission-mode plan |
整個 session 預設都在 plan mode。Claude 全程唯讀,只分析不動手。
什麼時候用?你拿到一個不熟悉的 codebase,想讓 Claude 幫你摸清楚結構、畫出模組關係、標記技術債——但你完全不想讓它改任何東西。
計畫出來了,然後呢
Claude 產出計畫之後,你不是只能說「好」或「不好」。
按 Ctrl+G,計畫檔案會在你的預設文字編輯器裡打開。你可以:
- 在步驟旁邊加行內備註——「這一步要注意 backward compatibility」
- 刪掉你不同意的步驟——直接整段砍掉
- 重新排列順序——你覺得應該先處理 migration 再改 API,把它拖上去
- 補充遺漏的步驟——加一行「記得更新 README」
存檔關閉,Claude 會讀取你的所有修改,更新後的計畫就是它接下來的執行藍圖。
這是 Plan Mode 跟「叫 Claude 先想一下」的根本差別。不是 Claude 想完你看一眼就算了——你可以動手改計畫,而且它會照著改過的版本做。
停一下。
你可能會問:「我直接在 prompt 裡跟 Claude 說『先列出步驟再做』,效果不是一樣嗎?」
不一樣。差在權限。
用自然語言要求 Claude「先規劃」,它可能一邊規劃一邊就開始改檔案了——它覺得自己「已經想清楚了」。Plan Mode 是強制鎖定:Claude 在唯讀狀態下沒有修改檔案的權限,物理上做不到「邊想邊動手」。
就像你跟包商說「先畫圖再施工」,他可能畫到一半就開始敲牆了。但如果你把工具鎖在倉庫裡,他拿不到鐵鎚,就只能老老實實畫完。
什麼時候該用、什麼時候不用
不是每個任務都需要 Plan Mode。用在對的地方是省時間,用在錯的地方是浪費時間。
該用的場景
涉及三個以上檔案的改動。 一個檔案的改動,看完 diff 就知道對不對。三個以上的檔案,改動之間有依賴關係、有順序問題、有可能互相衝突——先看計畫再動手,可以預先抓到這些問題。
Schema 變更。 資料庫 schema 一改,連帶影響 model、repository、service、controller、migration、test。這種牽一髮動全身的改動,不看計畫就執行是在賭運氣。
安全敏感的程式碼。 Authentication、authorization、encryption——這些地方改錯一個地方可能就是資安事件。Plan Mode 讓你在任何程式碼被修改之前就能審查整個策略。
大型重構。 把一個 module 拆成三個、把 REST 換成 GraphQL、把 monolith 拆 microservice。這種量級的改動,沒有計畫等於沒有方向。
不熟悉的 codebase。 接手一個新專案,讓 Claude 在 plan mode 下跑一遍——它會讀目錄結構、主要檔案、import 關係,幫你畫出一張地圖。比你自己一個一個檔案點開來看快十倍。
不需要的場景
單一檔案的小改動。 改一個 typo、調一個 CSS 數值、加一行 log。直接做就好,規劃反而多此一舉。
純讀取的問題。 「這個 function 回傳什麼型別?」「package.json 裡 express 是哪個版本?」——Claude 本來就只需要讀,不需要特別鎖唯讀。
跟其他功能怎麼搭
Plan Mode 單獨用已經有價值,但跟其他功能組合起來效果更強。
Plan Mode + Extended Thinking。 Thinking 是 Claude 內部的推理深度,Plan Mode 是外部的權限控制。兩個同時開:Claude 用 thinking 做深度分析,用 plan mode 確保分析結果先給你看,不會直接變成程式碼。適合架構決策、技術方案比較這類需要深度思考的規劃任務。
Plan Mode + Sub-agents。 先在 plan mode 下產出完整計畫,確認後退出 plan mode,讓 Claude 把計畫拆分成多個子任務,分派給 sub-agents 平行執行。規劃是一個人想清楚,執行是一群人同時做。
Plan Mode + Git Worktrees。 用 plan mode 規劃一個實驗性的改動,確認計畫後在 worktree 裡執行——主分支完全不受影響。計畫不滿意?整個 worktree 砍掉重來,零成本。
一個完整的工作流範例
用一個實際場景走一遍。
假設你要在一個 Spring Boot 專案裡加上 OAuth2 登入功能。這涉及 security config、filter chain、user entity、repository、controller、前端 callback handling——至少六七個檔案。
1 | 1. Shift+Tab x2 → 進入 Plan Mode |
整個過程你全程掌握方向。不是 Claude 決定怎麼做,是你決定怎麼做,Claude 負責執行。
你帶走的那張圖
回到一開始的蓋房子。
圖紙的價值不是讓施工變慢。是讓你在第一根樑柱立起來之前,就能看到整棟房子的樣子——哪裡承重不夠、哪裡管線打架、哪裡動線不合理。
Plan Mode 就是這張圖紙。Claude 在唯讀狀態下畫出完整的施工計畫,你審查、標註、修改,確認了才讓它動工。
有個更深層的 insight:大部分人用 AI 寫程式的方式是「描述需求 → 等結果 → 看對不對」。這是把 AI 當成黑盒。Plan Mode 把這個流程改成「描述需求 → 看計畫 → 調整計畫 → 執行計畫」——你介入的不是結果,是過程。
能介入過程的人,控制的是方向。只能看結果的人,控制的是運氣。
試一次就知道差別。下次遇到一個涉及三個以上檔案的改動,按兩下 Shift+Tab,讓 Claude 先畫圖再動工。
不過有一個我還在摸索的問題——當計畫很長(超過 50 個步驟),Ctrl+G 打開的編輯器體驗其實不太好,scroll 來 scroll 去很容易迷路。如果你有更好的 review 大型計畫的方式,歡迎跟我說。









