新手常犯的 10 個 Claude Code 錯誤(以及如何避免)
從別人的錯誤中學習。新 Claude Code 使用者最常遇到的陷阱,以及克服它們的實用解決方案。
學習新東西時,每個人都會犯錯。使用 Claude Code 時,某些錯誤太常見了,避開它們可以省下你好幾個小時的挫折。
這裡是新手常犯的 10 個錯誤——以及如何避免它們。
錯誤 #1:一次在提示詞裡寫太多
問題
❌ "建立一個完整的電商網站,有使用者認證、
商品目錄、購物車、Stripe 結帳整合、
訂單歷史、管理後台、庫存管理、email
通知、還有響應式設計。用 React、
Node.js、PostgreSQL,部署到 AWS。"
Claude 被壓垮了。輸出是不完整或混亂的。
解法
把它拆成容易消化的小塊:
✅ "我們來建一個電商網站。先從商品目錄開始——
一個簡單的頁面顯示商品的名稱、圖片和價格。
之後再加更多功能。"
然後迭代:
- 首先:商品列表
- 然後:商品詳情頁
- 然後:購物車
- 然後:結帳
- 以此類推…
經驗法則
一次一個功能。 如果你的提示詞超過一段,那可能太多了。
錯誤 #2:不審查 Claude 建造的東西
問題
你:"幫我建一個登入系統"
Claude:[建立登入系統]
你:"現在加密碼重置"
Claude:[加入密碼重置]
你:"現在加社群登入"
Claude:[加入社群登入]
... 30 分鐘後 ...
你:"為什麼這些都不能用??"
小錯誤會累積。不檢查每個步驟,你就在有問題的基礎上繼續建造。
解法
每個重大變更後:
✅ "執行 App 並給我看登入頁面"
✅ "用一個測試使用者測試登入"
✅ "console 有什麼錯誤?"
經驗法則
加更多之前先測試。 驗證每一層都能運作,再建下一層。
錯誤 #3:太含糊
問題
❌ "讓它更好"
❌ "修好它"
❌ "它壞了"
Claude 不知道「更好」對你來說是什麼意思。沒有具體說明,你會得到隨機的改變。
解法
具體說明哪裡有問題,以及你想要什麼:
✅ "按鈕在手機上太小了——讓它至少 44px 高,
才有更好的觸控目標"
✅ "表單按 Enter 不會送出——加入鍵盤送出功能"
✅ "錯誤訊息出現在卡片裡面,但我想要它是
頂部的 toast 通知"
經驗法則
描述目前的問題 + 你期望的結果。
錯誤 #4:沒設置 CLAUDE.md
問題
每次對話,你都在重複:
- “用 TypeScript”
- “遵循我們的程式碼規範”
- “我們用的是 React 和 Tailwind”
- “變數用 camelCase”
你浪費時間,而且結果不一致。
解法
在專案根目錄建立 CLAUDE.md 檔案:
# 專案:MyApp
## 技術棧
- React 18 配合 TypeScript
- Tailwind CSS 做樣式
- Supabase 做後端
## 程式碼規範
- 使用 functional components
- 偏好 named exports
- 所有檔案用 kebab-case
## 設計指南
- 極簡、乾淨的美學
- Mobile-first 方法
- 使用我們的配色:blue-600 主色、gray-800 文字
現在 Claude 自動知道你的偏好。
經驗法則
投資 10 分鐘在 CLAUDE.md = 省下好幾個小時的重複。
錯誤 #5:忽略錯誤訊息
問題
你:"它不能用"
Claude:"你看到什麼錯誤?"
你:"我不知道,就是紅色的字"
錯誤訊息精確地告訴你哪裡出錯了。忽略它們是在浪費時間。
解法
永遠分享完整的錯誤訊息:
✅ "我在嘗試送出表單時遇到這個錯誤:
TypeError: Cannot read properties of undefined (reading 'email')
at handleSubmit (Form.tsx:24:15)"
或者就請 Claude 檢查:
✅ "執行 App 並給我看 console 裡的任何錯誤"
經驗法則
錯誤訊息是線索,不是噪音。 讀它們(或讓 Claude 讀)。
錯誤 #6:不儲存進度
問題
你已經建了一個小時了。事情進展順利。然後:
- 你的電腦當機
- 你不小心弄壞了什麼
- 你想試不同的方向
一切都沒了。
解法
經常使用 git:
✅ "基本版面已經能運作了。把這個 commit 為 'Basic layout complete'"
或建立檢查點:
✅ "建立一個目前進度的快照,並總結我們到目前
為止建了什麼"
經驗法則
每個里程碑後都 commit。 這是免費的保險。
錯誤 #7:從一開始就過度工程化
問題
❌ "建立一個微服務架構,用 Kubernetes、
Redis 快取、訊息佇列、還有 CI/CD pipeline"
你只是在建一個 todo app。
解法
從簡單開始。只在需要時才加複雜度:
✅ "建立一個簡單的 todo app。就用基本的 HTML
和 JavaScript,不用框架。如果需要之後再升級。"
最好的架構是能運作且你能理解的架構。
經驗法則
先讓它能動,再讓它更好。 過早優化是萬惡之源。
錯誤 #8:不問「為什麼」
問題
Claude 建議了什麼。你接受了但不理解:
Claude:"我在這裡加了一個 useCallback hook"
你:"好"
... 之後 ...
你:[完全不知道怎麼修改程式碼]
解法
請求解釋:
✅ "為什麼你在這裡用 useCallback?簡單解釋一下。"
✅ "我不理解這個部分。可以解釋這段程式碼做什麼
以及為什麼我們需要它嗎?"
✅ "如果我們移除這個會怎樣?它解決什麼問題?"
經驗法則
理解比速度重要。 花時間學習正在建造的東西。
錯誤 #9:和 Claude 對抗而不是指揮
問題
你:"用不同的方法"
Claude:[換方法]
你:"不,不是這樣"
Claude:[再改一次]
你:"還是不對"
... 挫折接踵而來 ...
你知道你不想要什麼,但沒有說清楚你想要什麼。
解法
一開始就清楚說明你的要求:
✅ "我想要一個下拉選單,要:
- 點擊時打開,不是 hover
- 點擊外部時關閉
- 有順暢的動畫
- 在選中的項目旁邊顯示勾號
請在實作之前先給我看方法。"
或者請求選項:
✅ "我需要一個方式來顯示通知。我們可以用的
3 種不同方法是什麼?簡短解釋每個,讓我可以選擇。"
經驗法則
展示,不是告訴。 給你想要的範例,而不只是你不想要的。
錯誤 #10:期待第一次嘗試就完美
問題
你:"建一個登陸頁面"
Claude:[建立登陸頁面]
你:"這不是我腦中想的樣子。AI 沒用。"
第一稿很少是完美的——無論是人類還是 AI 產出的。
解法
擁抱迭代:
✅ "不錯的開始!讓我們優化它:
- Hero 區塊:讓標題更粗
- 顏色:用更多對比
- 版面:給功能區塊更多呼吸空間"
把第一版的輸出想像成要被塑形的黏土,不是完成的雕塑。
經驗法則
第一版是草圖。 優化才是魔法發生的地方。
額外錯誤
用 Claude 做錯誤的任務
Claude Code 擅長:
- ✅ 建立和修改程式碼
- ✅ 除錯問題
- ✅ 解釋概念
- ✅ 建立文件
Claude Code 較不適合:
- ⚠️ 即時網路搜尋(資料可能過時)
- ⚠️ 存取你的私人 API(未設置時)
- ⚠️ 執行長時間運行的程序
- ⚠️ 需要人類判斷的任務(設計品味、商業決策)
不用鍵盤快捷鍵
停止到處點擊。學這些:
| 快捷鍵 | 動作 |
|---|---|
Escape | 中斷 Claude |
Ctrl+C | 取消目前操作 |
上箭頭 | 叫出上一個提示詞 |
Tab | 接受建議 |
忘記檢查費用
// 檢查你的使用量
claude --cost
// 設定預算警告
// 在 settings.json 裡:
{
"costWarning": {
"sessionLimit": 5.00,
"dailyLimit": 20.00
}
}
快速參考:該做和不該做
❌ 不要
- 寫 10 個功能的提示詞
- 跳過變更之間的測試
- 說「讓它更好」但不具體說明
- 忽略錯誤訊息
- 接受你不理解的程式碼
- 對抗而不是指揮
- 立刻期待完美
✅ 要
- 把工作拆成小塊
- 每次變更後測試
- 具體說明問題和目標
- 設置 CLAUDE.md
- 讀或分享錯誤訊息
- 困惑時問「為什麼」
- 一開始就提供清楚的要求
- 迭代和優化
- 經常 commit 進度
恢復用語
當事情出錯時,試試這些:
當卡住時
"讓我們退一步。總結一下我們建了什麼以及
我們在哪裡。下一步應該做什麼?"
當壞掉時
"有東西不能運作了。執行 App 並給我看
所有錯誤。讓我們一個一個修復。"
當迷失時
"我對目前的狀態很困惑。可以解釋我們有
什麼檔案以及每個做什麼嗎?"
當你想重新開始時
"讓我們重置這個組件。刪除 [檔案] 並
用更簡單的方法重建它。"
黃金法則
把 Claude 當作一個有能力的初級開發者。
- 給清楚的指示
- 審查工作
- 問問題
- 提供回饋
- 一起迭代
你不是在對機器輸入命令。你是在和一個非常快、非常有知識的助手協作,他需要你的指導。