目錄
本篇文章的重點
- 先瞭解需求再動手 – 在真正消耗token寫程式之前,先充分瞭解Claude Code接下來可能的改動,減少token浪費。
- 三種實戰場景 – 程式開發常遇到的三種場景。
- Shift + Tab切換Plan Mode
先讓Claude Code瞭解需求再動手
當我們開始用 Claude Code 寫程式時,多數人的直覺是打開 IDE、直接讓 Claude Code 修改程式碼,但這其實是錯的起手式;更有效的方法,是先讓 AI 徹底理解專案本身:從讀取目錄結構與 README 開始,接著掌握核心模組的進入點、測試程式的執行方式,以及 CI 設定檔,逐步建立整個系統的心智模型,包括有哪些模組、彼此之間如何依賴、資料如何流動、哪些地方使用了關鍵技術,以及背後是否存在歷史性的技術決策
在這個階段,Claude Code 不應該寫任何程式或執行任何指令,而是專注於分析、理解與規劃,你可以在這樣的模式下與 Claude Code 討論需求,讓它充分理解接下來要實作的功能、影響範圍與架構調整
若是全新專案,則更需要先清楚定義專案目標、技術棧、系統架構與功能規劃,讓 Claude Code 在動手前就建立完整脈絡;最終,只有在你明確授權之後,才讓 Claude Code 開始介入撰寫與修改程式碼,確保整體系統的一致性與可維護性——因為 Claude Code 的價值,不在於寫得多快,而在於它是否真正理解你的系統
實戰場景
場景一:多步驟實作
你要做一個跨多個檔案的功能。比方說,把認證系統從 JWT 換成 OAuth2。這牽涉到 auth middleware、user model、token service、API routes、前端的 token 管理、資料庫 schema⋯⋯一改就是十幾個檔案
如果你直接讓 Claude 開始改,它會怎麼做?它會按照自己的理解,一個檔案一個檔案地改。改到一半你發現方向不對——但它已經動了七個檔案了。你要 undo,要搞清楚哪些改動要保留哪些要丟掉
正確的做法:先在 Plan Mode 裡讓 Claude 分析所有相關檔案,列出完整的遷移計畫——先改什麼、後改什麼、哪些地方有向下相容的問題、資料庫要不要做 migration。你看完計畫,確認方向對了,再切換到正常模式讓它執行
場景二:程式碼探索
你剛加入一個新專案。或者你要去改一個你三個月沒碰的模組。你需要重新理解這段 code 在做什麼
Plan Mode 在這裡就是你的程式碼導覽員。你可以問 Claude:
- 「這個 authentication 模組的整體架構是什麼?」
- 「資料從前端到資料庫經過哪些 middleware?」
- 「這個 utils 資料夾裡哪些函式被最多地方引用?」
Claude 會翻遍你的程式碼,讀取相關檔案,然後給你一個清晰的分析。但它不會動你任何一行 code,你可以安心地探索,不用擔心 Claude 一不小心改了什麼
場景三:互動式討論
有些技術決策不是一次就能定下來的。你心裡有三個方案,但不確定哪個最好。
Plan Mode 讓你可以跟 Claude 反覆討論。你丟一個想法,Claude 分析利弊。你再丟另一個想法,Claude 比較兩者。你們一來一回,最後收斂到最佳方案。整個過程中,Claude 沒有動你的 code——因為方向還沒確定,動 code 是浪費
等到你們達成共識了,切換到正常模式,Claude 根據剛才討論的結論開始執行
如何使用Plan Mode
在Session中切換
在對話過程中,按 Shift+Tab 可以在三種權限模式之間循環切換
Normal Mode → Accept Edits Mode → Plan Mode → Normal Mode → …
啟動時直接指定
claude --permission-mode plan
實戰案例:用Plan Mode規劃一次複雜重構
背景
假設你的專案目前用自己寫的 JWT 認證系統,現在要遷移到 OAuth2。這是一個牽涉面很廣的重構——auth middleware、token 管理、使用者模型、API 路由、資料庫 schema 全部都要改
Step 1: 進入Plan Mode
claude --permission-mode plan
Step 2: 讓Claude Code分析現況
> 我需要把認證系統從自製 JWT 遷移到 OAuth2。
> 請分析目前的認證系統架構,列出所有相關檔案和它們的依賴關係。
Claude Code會開始讀取你的codebase,它會找到 auth 相關的 middleware、token 生成邏輯、使用者模型、路由定義、前端的 token 儲存方式。然後給你一份結構化的分析報告
Step 3: 追問細節
> 向下相容怎麼處理?現有的使用者已經有 JWT token,遷移期間怎麼同時支援兩種認證?
> 資料庫需要做什麼 migration?使用者表要加什麼欄位?
> 前端的 token refresh 邏輯需要怎麼調整?
每一個追問,Claude 都會回去讀更多相關檔案,然後給你更細緻的分析。整個過程中,它沒有碰你的任何一行 code。
Step 4: 確認計劃
經過幾輪討論,收斂出一份完整的計畫:
- 先建立 OAuth2 的 provider 設定
- 加一個新的 auth middleware 支援 OAuth2 token
- 修改 user model,加入 OAuth2 相關欄位
- 寫 database migration
- 更新 API routes,支援 OAuth2 callback
- 調整前端 token 管理邏輯
- 在過渡期用 adapter pattern 同時支援 JWT 和 OAuth2
- 寫測試覆蓋新的認證流程
- 驗證通過後,移除舊的 JWT 邏輯
正確無誤之後再開始執行
Step 5: 切換到一般模式,開始執行
按 Shift+Tab(按到 Normal Mode),然後:
> 根據我們剛才討論的計畫,從第一步開始執行。
Claude 有了完整的理解和明確的計畫,執行的品質會比直接讓它衝高很多。因為它不是盲目地改 code——它是帶著全局理解、按照確認過的計畫在工作。
這就是 Plan Mode 的價值:讓 AI 的執行有基礎,而不是碰運氣

