==================================
Hi~大家好。
我是清湯餃子,一個用 Claude Code 寫了半年程式的普通前端工程師。
說實話,一開始我也用不太好,就覺得它跟其他 AI 程式設計工具差不多,問問題、寫程式,能有什麼差別。
後來踩坑踩多了才發現,原來以前跟 AI 對話的方式,簡直就是在浪費它的能力。
這篇文章不是什麼高大上的理論,只是我一路走來總結的 16 個小技巧。都很實用,看完就能用~
不知道你們有沒有遇到過這種情況:AI 給你寫了一段程式,看起來是對的,結果一跑,全是 bug。
其實這不是 AI 的問題~是你沒有告訴它什麼算「對」。
範例(錯與對):
# ❌ 模糊
"實現一個驗證電子郵件的函數"
# ✅ 帶驗證
"編寫 validateEmail 函數。測試用例:
- [email protected] → true
- invalid → false
- [email protected] → false
實現後運行測試"
UI 更動也是一樣的道理。告訴它用什麼工具驗證,它會自己打開瀏覽器測試,不對的話會自己改。
心得:這一條是我踩坑最多的地方。之前每次讓 AI 寫程式都不给測試用例,結果來回改好幾遍。加上驗證方式後,效率直接翻倍。
這是最重要的技巧,沒有之一。
你要是跟 AI 說「幫我寫個登入功能」,它也能寫。但寫出來的東西,你大概率要改很多次。
範例:
# ❌ 模糊
"幫我寫個登入功能"
# ✅ 具體
"用 JWT 實作使用者登入功能:
1. 登入介面 POST /api/login
2. 接收 email + password
3. 驗證成功後回傳 JWT token,有效期 7 天
4. 使用 jsonwebtoken 套件
5. 參考 src/auth/ 的程式風格"
就多這麼一小段話,能讓你少改十次。
官方提供的策略示例:
有時候我們自己都沒想清楚要什麼。
這時別急著讓 AI 開始做,先讓它訪談你。
範例 prompt:
我想做 xxx。請詳細問我。
詢問技術實作、使用者介面/使用者體驗、邊界情況及權衡取捨。避免問顯而易見的問題,深入探討難點部分。
持續提問直到完成,隨後撰寫 SPEC.md 文件。
它會問你一些你可能根本沒考慮到的問題。把這些問題都想清楚了,再開始寫程式,會順利很多。
拜託別一上來就讓 AI 寫程式。
先讓它探索一下:讀讀程式碼,理解結構。然後讓它規劃:列出要改哪些檔案、怎麼改。最後才是實作。
官方推薦的四階段工作流程:
切換方式:按 Shift+Tab 或 Alt+M
AI 干活的過程中,如果你發現方向不對,要立刻說。
小提示:如果你在一個會話中對同一問題修正了 AI 兩次以上,趕快跑 /clear 重開。
Checkpoints(檢查點)是 Claude Code 的自動狀態追蹤功能:
工作原理:
回退方式:
限制:
這可能是最容易被忽視的一點。
AI 是按 token 收費的。上下文越長,花錢越多。而且上下文太長時,AI 的表現也會下降。
技巧 1:任務之間清除
技巧 2:用 /compact 壓縮上下文
範例:
/compact Focus on code samples and API usage
讓 AI 精簡之前的內容,省 token。
技巧 3:用 /btw 快速提問(不計入對話歷史)
範例:
/btw 這個函數的參數型別是什麼?
特點:
當你需要分析整個程式庫時,別讓主對話去讀。
建立一個 subagent(子代理),讓它在獨立的上下文裡跑。最後匯報結果,不會弄髒主對話。
內建 Subagents 類型:
適合前端專案的 Subagent 範例:
建立方式:執行 /agents → 選擇 Create new agent → 描述需求
每次開新專案都要跟 AI 解釋專案規範,是不是很累?
在專案根目錄建立 CLAUDE.md,一次說清楚就好。
範例 CLAUDE.md:
# 專案說明
## 技術棧
- React 18 + TypeScript
- Vite
- Tailwind CSS
## 程式碼規範
- 元件使用函式元件
- 使用 TypeScript 型別
- 樣式使用 Tailwind
執行 /init 還可以自動生成。
保持簡潔,500 行以內就可以。
提示:專門指令可以移到 skills(技能)中按需載入,而不是全部放在 CLAUDE.md 裡,這樣可以保持基礎上下文較小,降低 token 消耗。
CLAUDE.md 中的指令,AI 可能會忘記。但 Hooks(鉤子)是確定性的,每次都會執行。
範例 Hook 設定:
{
"hooks": {
"PostToolUse": [{
"matcher": "Edit|Write",
"hooks": [{
"type": "command",
"command": "eslint --fix $FILE"
}]
}]
}
}
例如每次寫完程式自動跑 lint,每次提交前自動檢查。
有些工作流程是重複性的。建立一個 Skill(技能),一次定義,隨時叫用。
範例 skill(YAML):
---
name: fix-issue
description: Fix a GitHub issue
disable-model-invocation: true
---
Analyze and fix: $ARGUMENTS.
1. Get issue details
2. Understand the problem
3. Search relevant files
4. Implement fix
5. Write and run tests
6. Commit and PR
呼叫方式:/fix-issue 1234
用 -p 參數,AI 可以融入你的命令列工作流程。
範例:
# 程式碼審查
git diff | claude -p "review these changes"
# 測試失敗分析
npm test 2>&1 | claude -p "why did tests fail"
# 建立提交
claude -p "create commit" --allowedTools "Bash(git diff *),Bash(git commit *)"
取得結構化輸出:
claude -p "summarize" --output-format json
MCP 可以讓 AI 讀取你的郵件、日曆、各種 SaaS 資料。
範例:
# HTTP 伺服器
claude mcp add --transport http notion https://mcp.notion.com/mcp
# 本地 stdio
claude mcp add --transport stdio airtable -- npx -y airtable-mcp-server
管理:
claude mcp list
claude mcp remove github
也可以在對話中使用 /mcp 查看配置。
同時開多個 AI 會話處理不同任務?用 worktree 隔離,每個會話有獨立的程式碼副本,不會互相干擾。
範例:
claude --worktree feature-auth
claude --worktree bugfix-123
Git Worktree 是 Git 的功能,用於在同一倉庫中建立多個獨立的工作目錄。
在 Claude Code 中的用途:
使用方法:
# 建立名為 "feature-auth" 的 worktree 並啟動 Claude
claude --worktree feature-auth
# 自動生成隨機名稱
claude --worktree
特點:
範例:
/rename auth-refactor
claude --resume auth-refactor
早命名,後續好找。
簡單任務可以關掉深度思考,複雜任務再打開。
可在 /model 裡調整努力等級:低、中、高。注意只有支援的模型且為訂閱帳號才可用 ultrathink 關鍵字,在提示裡加 "ultrathink" 可切換。快捷鍵:Option+T
省錢小技巧:簡單任務別讓它想太多。
16 個技巧,不多也不少。
但最重要的是:看完一定要去用,不然就白看了。
一句話總結:Context Window(上下文窗口)是最重要的資源,所有技巧都圍繞這一點。
希望這篇文章對你有幫助!有問題歡迎來問我。
歡迎關注我的公眾號「清湯餃子」,取得更多技術乾貨~
