1. 什麼是 Claude Code?
Claude Code 是 Anthropic 推出的 CLI(命令列)AI 程式助手,直接在終端機裡運作,可以讀寫檔案、執行指令、管理 Git — 不只是程式碼補全,而是真正的 AI 開發代理人。
年營收預估 25 億美金,是目前成長最快的 AI 開發工具。支援 Sub-agents 並行、完整 Hooks 系統、CLAUDE.md 持久記憶,以及 Command → Agent → Skill 編排工作流。
vs 其他工具
- 完整終端機存取
- Sub-agents 並行
- 完整 Hooks 系統
- CLAUDE.md 記憶
- 25 億年收(預估)
- IDE 嵌入式補全
- 行內程式碼建議
- 無代理能力
- 無自訂 Hooks
- 無記憶系統
- 圖形化 IDE 介面
- 內建 AI 對話
- 受限的代理功能
- 無 Hooks 系統
- 無原生編排
2. 安裝與開始
三步驟開始使用 Claude Code。
# 1. 安裝 Claude Code
npm install -g @anthropic-ai/claude-code
# 2. 進入你的專案目錄
cd your-project
# 3. 啟動 Claude Code
claude
常用指令速查
🚀 基本操作
claude # 啟動互動模式
claude -c # 繼續上次對話
claude -r # 恢復指定 session
claude -p "問題" # 一次性問答
claude /init # 初始化 CLAUDE.md
⚙️ 進階操作
claude --model opus # 指定模型
claude --worktree # Git worktree 隔離
claude --enable-auto-mode # Auto Mode
/context # 查看 context 用量
/compact # 壓縮對話
/effort max # 最大思考深度
第一次使用?先跑 claude /init 建立 CLAUDE.md,把你的專案規範寫進去。
這是投資報酬率最高的一步 — Claude 會記住你的偏好,每次對話都更精準。
3. 核心架構:三個 C
Claude Code 的擴展性建立在三大元件上:Agents(代理人)、Commands(指令)、Skills(技能)。
Agents 代理人
- 自訂模型與工具
- 背景執行模式
- Hooks 生命週期
- Git Worktree 隔離
- Skill 預載注入
Commands 指令
- /slash 指令觸發
- Context fork 隔離
- 模型與 effort 覆寫
- 工具權限控制
- Shell 腳本嵌入
Skills 技能
- 路徑匹配自動載入
- Agent 預載注入
- 獨立 fork 執行
- simplify / batch / debug
- loop 排程重複
🤖 Agents — 16 個 Frontmatter 欄位
| 欄位 | 類型 | 說明 |
|---|---|---|
| name | string | 唯一識別名(小寫+連字號) |
| description | string | 何時啟用。用 "PROACTIVELY" 可自動觸發 |
| tools | string/list | 允許的工具白名單,支援 Agent(type) 語法 |
| disallowedTools | string/list | 從繼承清單中移除的工具 |
| model | string | haiku、sonnet、opus 或 inherit |
| permissionMode | string | default、acceptEdits、dontAsk、bypassPermissions、plan |
| maxTurns | integer | 最大執行回合數 |
| skills | list | 啟動時預載的 Skill 名稱 |
| mcpServers | list | MCP 伺服器連線 |
| hooks | object | 生命週期 Hooks |
| memory | string | 記憶範圍:user、project、local |
| background | boolean | 設為 true 時以背景任務執行 |
| effort | string | low、medium、high、max |
| isolation | string | 設 "worktree" 在臨時 git worktree 中執行 |
| initialPrompt | string | 作為 main agent 時自動提交的首個提示 |
| color | string | CLI 輸出顏色(如 green、magenta) |
6 個官方內建 Agent
| # | Agent | 模型 | 工具 | 用途 |
|---|---|---|---|---|
| 1 | general-purpose | inherit | 全部 | 複雜多步驟任務 — 預設代理類型 |
| 2 | Explore | haiku | 唯讀 | 快速程式碼搜尋與探索 |
| 3 | Plan | inherit | 唯讀 | 實作前的規劃研究 |
| 4 | Bash | inherit | Bash | 在獨立 context 中執行終端指令 |
| 5 | statusline-setup | sonnet | Read, Edit | 設定狀態列 |
| 6 | claude-code-guide | haiku | Glob, Grep, Read, WebFetch, WebSearch | 回答 Claude Code 功能問題 |
⌨️ Commands — 13 個 Frontmatter 欄位
| 欄位 | 類型 | 說明 |
|---|---|---|
| name | string | 顯示名稱和 /slash-command ID |
| description | string | 功能說明,顯示在自動完成中 |
| argument-hint | string | 自動完成時的參數提示 |
| disable-model-invocation | boolean | 防止 Claude 自動觸發此指令 |
| user-invocable | boolean | 設 false 從選單隱藏 |
| paths | string/list | Glob 模式限制載入時機 |
| allowed-tools | string | 不需權限提示的工具 |
| model | string | 執行時使用的模型 |
| effort | string | 覆寫 effort 等級 |
| context | string | 設 fork 在獨立 subagent 中執行 |
| agent | string | context: fork 時的 subagent 類型 |
| shell | string | bash(預設)或 powershell |
| hooks | object | 限定此 command 的生命週期 hooks |
64 個官方指令(依分類)
| # | 指令 | 分類 | 說明 |
|---|---|---|---|
| 1-3 | /login /logout /upgrade | Auth | 帳號登入、登出、升級方案 |
| 4-15 | /color /config /keybindings /permissions /privacy-settings /sandbox /statusline /stickers /terminal-setup /theme /vim /voice | Config | 主題、按鍵、權限、沙盒、語音等設定 |
| 16-22 | /context /cost /extra-usage /insights /stats /status /usage | Context | Context 視覺化、Token 用量、使用分析 |
| 23-27 | /doctor /feedback /help /release-notes /tasks | Debug | 診斷、回報問題、背景任務管理 |
| 28-29 | /copy /export | Export | 複製回應到剪貼簿、匯出對話 |
| 30-37 | /agents /chrome /hooks /ide /mcp /plugin /reload-plugins /skills | Extensions | 代理人、MCP、Plugin、Hooks 管理 |
| 38 | /memory | Memory | 編輯 CLAUDE.md 記憶檔、管理 auto-memory |
| 39-43 | /effort /fast /model /passes /plan | Model | 模型切換、effort 調整、Plan 模式 |
| 44-49 | /add-dir /diff /init /pr-comments /review /security-review | Project | 工作目錄、Diff 檢視、PR、安全審查 |
| 50-56 | /desktop /install-github-app /install-slack-app /mobile /remote-control /remote-env /schedule | Remote | Desktop App、Slack、GitHub、遠端控制、雲端排程 |
| 57-64 | /branch /btw /clear /compact /exit /rename /resume /rewind | Session | 分支、壓縮、回溯、Session 管理 |
🧩 Skills — 13 個 Frontmatter 欄位
| 欄位 | 類型 | 說明 |
|---|---|---|
| name | string | 顯示名稱和 /slash-command ID |
| description | string | 功能說明,供自動發現使用 |
| argument-hint | string | 自動完成時的參數提示 |
| disable-model-invocation | boolean | 防止 Claude 自動觸發 |
| user-invocable | boolean | 設 false 隱藏(僅供 agent 預載) |
| allowed-tools | string | 不需權限提示的工具 |
| model | string | 執行時使用的模型 |
| effort | string | 覆寫 effort 等級 |
| context | string | 設 fork 在獨立 subagent 中執行 |
| agent | string | context: fork 時的 subagent 類型 |
| hooks | object | 限定此 skill 的生命週期 hooks |
| paths | string/list | Glob 模式限制自動載入時機 |
| shell | string | bash(預設)或 powershell |
5 個官方內建 Skill
| # | Skill | 用途 |
|---|---|---|
| 1 | simplify | 審查變更程式碼 — 重構消除重複,提升品質與效率 |
| 2 | batch | 批次跨多檔案執行指令 |
| 3 | debug | 除錯失敗的指令或程式碼問題 |
| 4 | loop | 定時重複執行 prompt 或指令(最長 3 天) |
| 5 | claude-api | 用 Claude API / Anthropic SDK 建構應用 |
4. Memory 記憶系統
CLAUDE.md 是 Claude Code 的持久記憶 — 每次啟動都會載入,讓 Claude 記住你的專案規範、偏好和工作流程。
寫好 CLAUDE.md
CLAUDE.md 是改善 Claude Code 輸出最有效的方法:
- 專案結構說明
- 程式碼風格規範
- 常用指令與路徑
- 測試與部署流程
- 個人偏好用 CLAUDE.local.md
三層載入機制
Claude Code 用兩種方向載入記憶:
- 向上載入 — 啟動時往上走,載入沿途所有 CLAUDE.md
- 向下懶載入 — 子目錄只在讀取時才載入
- 全域 — ~/.claude/CLAUDE.md 適用所有 session
- 同層兄弟目錄不會載入
Monorepo 結構範例
├── CLAUDE.md ← 根層共用(啟動即載入)
├── frontend/
│ └── CLAUDE.md ← 前端專屬(讀取時才載入)
├── backend/
│ └── CLAUDE.md ← 後端專屬(讀取時才載入)
└── api/
└── CLAUDE.md ← API 專屬(讀取時才載入)
從 /mymonorepo/frontend/ 啟動時:
✅ /mymonorepo/CLAUDE.md — 祖先目錄,啟動即載入
✅ frontend/CLAUDE.md — 當前目錄,啟動即載入
❌ backend/CLAUDE.md — 不同分支,不載入
❌ api/CLAUDE.md — 不同分支,不載入
5. Hooks 確定性護欄
Hooks 是在 agentic loop 之外執行的確定性腳本 — 在特定事件觸發時自動運行,提供安全護欄和自動化。
Hooks 在工具操作完成後才觸發(PostToolUse),不是在操作前。PreToolUse 是例外,可以在執行前攔截。
Agent 支援的 6 類 Hooks
PreToolUse
工具執行前觸發。可以阻止、修改或記錄即將執行的操作。
PostToolUse
工具執行後觸發。驗證輸出、執行 linter、發送通知。
Notification
Claude 需要用戶注意時觸發。可連接音效、桌面通知。
Stop
Agent 完成回合時觸發。執行最終檢查或清理。
SubagentStop
Subagent 停止時觸發。收集子代理結果。
HTTP Hooks
透過 HTTP POST 觸發外部 webhook,支援 JSON payload。
設定範例
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "npx eslint --fix $CLAUDE_FILE_PATHS"
}
]
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Glass.aiff"
}
]
}
]
}
}
6. 編排工作流
Command → Agent → Skill 是 Claude Code 的核心編排模式。一個 Command 啟動流程,Agent 負責執行,Skill 提供專業知識。
實例:天氣系統
| 元件 | 角色 | 範例 |
|---|---|---|
| Command | 入口點,用戶互動 | /weather-orchestrator |
| Agent | 用預載 skill 抓資料 | weather-agent(預載 weather-fetcher) |
| Skill | 獨立產出視覺結果 | weather-svg-creator |
執行流程
// 用戶輸入
/weather-orchestrator
// Step 1: Command 詢問用戶偏好
├─ AskUser: "攝氏還是華氏?"
│ └─ 用戶: "攝氏"
// Step 2: Command 透過 Agent tool 呼叫 agent
├─ Agent tool → weather-agent
│ ├─ 預載 Skill: weather-fetcher(領域知識)
│ ├─ 從 Open-Meteo API 取得 → 26°C
│ └─ 回傳溫度值給 Command
// Step 3: Command 透過 Skill tool 呼叫 skill
├─ Skill tool → weather-svg-creator
│ ├─ 產出 → weather.svg(天氣卡片)
│ └─ 產出 → output.md(摘要)
// 完成
└─ 顯示結果給用戶
Agent Skill(預載):透過 agent 的 skills 欄位注入,作為領域知識。
Skill(獨立):透過 Skill tool 獨立呼叫,直接產出結果。
7. 實戰技巧
日常使用 Claude Code 的實用技巧,讓你更高效地開發。
/context — Context 視覺化
查看當前 context 使用量的彩色格狀圖。顯示哪些工具佔用最多空間,建議如何優化。
context: fork
在 command 或 skill 中設 context: fork,讓它在獨立 subagent 中執行,不污染主對話。
paths 路徑匹配
用 paths 欄位設定 glob 模式,讓 skill 只在操作特定檔案時自動載入。
Auto Mode
用 claude --enable-auto-mode 啟動。背景安全分類器取代手動權限提示。
effort 調整
/effort low|medium|high|max 調整思考深度。max 需要 Opus 4.6。
/compact — 壓縮對話
context 快滿時用 /compact 壓縮。可附焦點:/compact 保留 API 內容
常用 CLI 啟動旗標
| 旗標 | 簡寫 | 說明 |
|---|---|---|
| --continue | -c | 繼續最近的對話 |
| --resume | -r | 恢復特定 session |
| --model <NAME> | 指定模型(sonnet、opus、haiku) | |
| -p | 非互動模式輸出(headless / SDK) | |
| --permission-mode | default、plan、acceptEdits、bypassPermissions | |
| --allowedTools | 不需權限提示的工具清單 | |
| --add-dir <path> | 新增工作目錄到 session | |
| --worktree | 在 git worktree 中執行 | |
| --enable-auto-mode | 啟用 Auto Mode(beta) |
8. 從小白到高手:實戰指令攻略
大部分人用 Claude Code 的方式,跟用 ChatGPT 沒有任何區別 — 打開終端、問一個問題、複製貼上、關掉。這就像買了一輛跑車,但每天只用它聽廣播。以下是讓你真正駕馭 Claude Code 的指令體系。
Claude Code 不是聊天機器人。它能讀你的文件、執行命令、編輯代碼、管理 Git。
從今天開始,停止「問 Claude 一個問題」的思維,
開始「給 Claude 派一個任務」的思維。
📌 基礎篇:90% 的人用錯了的東西
1. 啟動時直接帶任務
大部分人的操作是:先打開 Claude Code,再輸入需求。
但你可以在啟動的時候就把任務帶上:
claude "幫我找出所有TODO註釋,為每個創建GitHub issue"
這條命令會以一個乾淨的上下文啟動一個全新會話,沒有任何歷史對話的干擾。每個任務都是全新的開始。
2. /clear — 最重要的習慣,沒有之一
Claude Code 有一個 200K token 的上下文窗口。你發的每條消息、Claude 讀的每個文件、執行的每條命令的輸出,全部會累積在這個窗口裡。
當窗口使用率達到 90% 的時候,Claude 不只是變慢了 — 它會變笨。重要的指令被埋在海量的上下文裡,模型開始犯一些在乾淨窗口裡絕不會犯的錯誤。
解決方法極其簡單:每完成一個任務,輸入 /clear。
寫完一個功能,準備修一個 bug?先 /clear。
修完 bug,準備寫測試?先 /clear。
把它想象成關掉 30 個瀏覽器標籤頁再開始新工作。這一條指令,可能會讓你對 Claude Code 的滿意度提升 50%。
3. /compact — 輕量版的清理
有時候你不想完全清除上下文,但又覺得對話越來越重。
/compact 會壓縮對話歷史 — Claude 把之前發生的事情做一個摘要,然後用這個摘要繼續工作,釋放大量的上下文空間。
# 先查看當前窗口使用率
/context
# 超過 70% 就用 /compact,超過 85% 就直接 /clear
/compact
別讓使用率飆到 90% 以上。那是性能懸崖。
⚡ 速度篇:形成肌肉記憶之後,效率翻倍
4. Esc 鍵 — 後悔藥
按一次 Esc,Claude 會立刻停下正在做的事情,但不會丟失上下文。
按兩次 Esc,會彈出一個檢查重點菜單。你可以回到之前任意一個時間點 — 恢復代碼、恢復對話,或者兩者都恢復。
這意味著你可以放心大膽地讓 Claude 嘗試一個你只有 40% 把握的方案。成了,太好了。沒成,兩秒鐘回到過去,零損失。
從「小心翼翼地給指令」變成「大膽嘗試,隨時回退」。
5. 感嘆號 ! — 不用離開 Claude 就能跑命令
在 Claude Code 裡直接輸入感嘆號加命令:
!git status
!npm test
!cat src/api/routes.ts
命令會立刻執行,輸出結果會出現在上下文裡,Claude 可以直接看到並做出反應。
這比讓 Claude 自己去跑命令更快得多 — 沒有權限確認的彈窗,沒有「讓我幫你運行一下」的客套話。
6. 管道符 | — 把任何東西餵給 Claude
這一條是真正的效率殺器:
git diff main | claude -p "檢查安全問題"
cat error.log | claude -p "分析崩潰原因"
cat package.json | claude -p "哪些依賴過期或有漏洞?"
你可以把任何東西通過管道傳給 Claude。-p 標誌表示非交互模式 — Claude 處理完就退出,不會進入對話。
一條命令替代你 90% 的代碼審查工作。
🎯 進階篇:從「會用」到「用得好」
7. 命名會話 — 像管理項目一樣管理對話
claude -n "支付系統重構"
這條命令會創建一個有名字的會話。下次想繼續這個會話,直接:
claude -r "支付系統重構"
不再是一個巨大的、上下文越來越髒的會話。而是為每個工作流保持獨立的、乾淨的、可以隨時切換的命名會話。
8. CLAUDE.md — 給你的項目寫一份永久說明書
這個文件放在項目根目錄下,每次 Claude Code 啟動會話時會自動加載。你可以把它理解為項目級別的操作指南。
# 項目說明
這是一個 Next.js 14 項目,使用 TypeScript、Prisma ORM 和 Tailwind。
API 路由在 /src/app/api/ 目錄下。
所有數據庫查詢通過 Prisma 完成,不使用原生 SQL。
# 代碼風格
使用函數式組件和 hooks,不使用 class 組件。
錯誤信息要對用戶友好,不暴露技術細節。
# 測試
每次修改後運行 npm run test。
在確認完成之前修復所有失敗的測試。
最後一條特別關鍵 — 據 Claude Code 的創建者 Boris Cherny 說,讓 Claude 在完成代碼之前先跑測試並修復錯誤,代碼質量可以提升 2 到 3 倍。
9. 自動權限模式
claude --permission-mode auto
默認情況下,Claude 每做一個操作都會問你要權限。一個稍微複雜的任務,你可能要點 20 次「允許」。
auto 模式用 AI 安全分類器在每個操作前進行審查 — 危險操作會提示你確認,常規操作直接執行。
它是「每 30 秒點一次是」和「完全跳過所有權限」之間的一個平衡點。
10. 預算控制
claude -p "重構API層" --max-budget-usd 5.00
claude -p "修這個bug" --max-turns 3
給每次會話設定嚴格的消費上限。Claude 到了上限就停,不會在毫無進展的任務上無限燒 Token。
--max-turns 限制來回迭代的次數。兩個參數配合使用,成本完全可控。
🏗️ 高級篇:從「個人工具」到「團隊基建」
11. 隔離分支工作
claude -w "implement-oauth"
Claude 會創建一個獨立的 Git 工作樹,所有工作在裡面完成,提交更改,可選擇性地創建 PR。
你的主分支完全不受影響。出了任何問題,主代碼庫永遠不會被破壞。
12. 並行 Agent 團隊
claude -w feature-auth --background
claude -w feature-payments --background
claude -w feature-notifications --background
三個功能同時開發。每個 Agent 在自己的工作樹里獨立工作,各自提交 PR,你只需要在 PR 進來的時候審查就行。
到這一步,Claude Code 就不再是一個工具了。它是一支你管理的團隊。
13. 自動格式化 Hook
每次 Claude 編輯文件後自動運行代碼格式化:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write $CLAUDE_FILE_PATHS"
}
]
}
]
}
}
每次編輯自動跑 Prettier。CLAUDE.md 要求 100% 執行,Hook 也要 100% 執行。
14. /install-github-app — 自動 PR 審查
/install-github-app
運行一次,Claude 自動幫你管理每個 PR。人類提交變更名、Claude 自動建議修改並安裝安全檢查。
當你大量使用 AI 工具生成代碼時,PR 的數量會急劇增加。有一個能真正理解你代碼庫的自動審查器,是防止質量下滑的最後一道防線。
📋 一張速查表
| 基礎指令 | |
|---|---|
| claude | 啟動交互會話 |
| claude "任務描述" | 帶任務啟動 |
| claude -c | 繼續上一個會話 |
| claude -r "名稱" | 恢復命名會話 |
| /clear | 清除上下文(每個任務之間必做) |
| 效率指令 | |
|---|---|
| Esc | 停止當前操作 |
| Esc Esc | 回退到檢查點 |
| !命令 | 在 Claude 裡直接跑 Shell 命令 |
| /compact | 壓縮上下文 |
| /context | 查看 Token 使用率 |
| 進階指令 | |
|---|---|
| --permission-mode auto | AI 決定權限 |
| --max-budget-usd 5.00 | 消費上限 |
| 高級指令 | |
|---|---|
| CLAUDE.md | 項目永久說明書 |
| hooks | 自動格式化/自動檢查 |
| /install-github-app | 自動 PR 審查 |
| claude -w 分支 --background | 並行 Agent |
Claude Code 和大多數 AI 工具有一個根本的區別:它不是一個你跟它聊天的對象,而是一個你管理的系統。
聊天機器人的使用方式是:問一個好問題,得到一個好回答。
Claude Code 的使用方式是:搭建好環境、設定好規則、派出任務、控制成本、管理質量。
這更像是在管理一支團隊,而不是在跟一個助手對話。
一旦你開始用管理者的思維去使用 Claude Code — 你就會突然理解,為什麼有人說這是 AI 編程領域迄今為止最強大的工具。
工具是一樣的。差距在於你怎麼用它。