Claude Code 每個功能我都用過了,這是我的使用報告
整理版優先睇
Claude Code 完整功能報告:由 CLAUDE.md 到 GitHub Action,全面掌握 CLI 智能體
呢篇文章翻譯自 Shrivu Shankar 嘅使用報告,佢係一位資深開發者,深入用過 Claude Code 嘅每一個功能。文章唔係入門教學,而係想幫已經用緊 Claude Code 嘅人解鎖進階用法,解決常見痛點:AI 成日問你準唔準、上下文好快爆、子智能體亂曬籠。作者嘅整體結論係:Claude Code 唔止係編程工具,而係一個強大嘅通用智能體框架;要發揮佢嘅威力,關鍵係用好 CLAUDE.md、上下文管理、技能同 GitHub Action,而唔好沉迷複雜嘅子智能體或 MCP。
作者特別強調 CLAUDE.md 係智能體嘅「憲法」,要寫得簡潔、提供替代方案,仲可以倒逼你簡化工具設計。上下文管理方面,佢推薦用 /clear + /catchup 或者文檔化後清空,而唔好信自動壓縮。至於子智能體,佢主張用通用克隆(主幹-克隆架構)代替自定義專家,等主智能體自己分配任務。
最後,佢認為技能(SKILL.md)比 MCP 更重要,因為腳本化模型比僵化嘅 API 更靈活;MCP 應該退居做數據網關,只負責認證同安全。GitHub Action 係最被忽視嘅功能,可以將 Claude Code 變成可審計、可自我改進嘅工程系統。成篇文乾貨滿滿,值得逐 part 參考。
- CLAUDE.md 係智能體憲法,要寫得簡潔、提供替代方案,仲可以倒逼你簡化工具設計。
- 上下文管理用 /clear + /catchup 或文檔化後清空,避免依賴自動壓縮。
- 子智能體由主智能體自己管理任務分配,用通用克隆而非自定義專家。
- 技能(SKILL.md)比 MCP 更重要,應該用 CLI 工具取代無狀態 MCP,MCP 只留作數據網關。
- GitHub Action 係最被忽視功能,可做審計、自我改進嘅工程系統,將 Claude Code 投入運營。
原文:How I Use Every Claude Code Feature
Shrivu Shankar 嘅原文,包含更詳細嘅說明同例子。
Claude Code Alias 設定 (cc)
macOS/Linux: alias cc='claude --dangerously-skip-permissions'。Windows PowerShell: 在 $PROFILE 加入 function cc { claude --dangerously-skip-permissions $args }。
結構示例
## Python- 始終...- 使用 <command> 測試... 還有 10 條 ...## <內部 CLI 工具>... 10 個要點,聚焦 80% 的使用場景 ...- <用法示例>- 始終...- 禁止 <x>,改用 <Y>複雜用法或遇到 <錯誤> 時,參考 path/to/<tool>_docs.md
CLAUDE.md 與上下文管理:智能體嘅憲法同記憶體策略
CLAUDE.md
CLAUDE.md 係 Claude Code 代碼庫最緊要嘅檔案,可以話係智能體嘅憲法。個人項目可以任佢寫,但多人協作就要嚴謹:只記錄 30% 以上工程師會用到嘅工具同 API,每個內部工具文檔要分配 token 上限,好似賣廣告位咁。
- 1 CLAUDE.md 唔係說明書,只在 Claude 容易出錯嘅地方加說明。
- 2 唔好用 @ 引用文檔,會令上下文臃腫;正確做法係推銷呢個檔案,話俾 Claude 知點解同幾時要讀。
- 3 唔好只講禁止,要提供替代方案,例如「禁止 <x>,改用 <Y>」。
- 4 複雜用法或錯誤時,先參考 path/to/docs.md 嘅高級故障排除。
上下文管理方面,作者建議編碼時至少跑一次 /context,睇下 200k token 窗口用咗幾多。佢有三種工作流:自動壓縮(唔推薦)、/clear + /catchup(默認方式)、文檔化後清空(大任務專用)。
/clear + /catchup
唔好信自動壓縮;簡單重啟用 /clear,複雜任務用文檔化後清空——將計劃同進度寫入 .md 檔案,新會話讀 .md 繼續做。
子智能體、斜槓命令與會話恢復:避免反模式嘅實戰心得
子智能體
理論上自定義子智能體係最強嘅上下文管理功能,可以將 (X+Y)×N token 外包出去,只返回 Z token 答案。但實踐有兩個問題:上下文隔離同強制人類工作流。
作者嘅替代方案係用 Claude 內置嘅 Task(...) 功能生成通用智能體嘅克隆,將關鍵上下文放喺 CLAUDE.md,等主智能體自己決定幾時分俾副本。呢種「主幹-克隆架構」比自定義子智能體嘅「領導-專家模型」更靈活。
斜槓命令
斜槓命令只係常用提示詞嘅快捷方式。作者只設咗兩個:/catchup 同 /pr。如果你有一長串複雜嘅自定義命令,呢個係反模式——智能體嘅意義在於你輸入幾乎任何諗法都得到有用結果,唔使記魔法命令。
--resume
經常用 claude --resume 同 claude --continue。有時會 resume 幾日前嘅會話,問智能體當時點樣解決某個錯誤,然後用呢啲資訊改進 CLAUDE.md 同內部工具。Claude Code 將所有會話歷史存在 ~/.claude/projects/,可以用腳本做元分析,揾常見異常、權限請求和錯誤模式。
技能、MCP 新角色同 GitHub Action:將智能體變成工程系統
技能
作者同意 Simon Willison 嘅判斷:技能可能比 MCP 更重要。佢對智能體自主性嘅心智模型演變成三個階段:單次提示 → 工具調用 → 腳本化。技能係腳本化層嘅正式產品化,SKILL.md 只係更有組織、可共享、可發現嘅方式記錄 CLI 工具同腳本。
MCP 冇死,但角色要變。以前好多人構建糟糕、上下文沉重嘅 MCP,簡單鏡像 REST API。新角色係數據網關:管理認證、網絡和安全邊界,然後退居幕後,提供一兩個高層工具,例如 download_raw_data()、execute_code_in_environment()。作者唯一仲用緊嘅 MCP 係 Playwright,因為佢係複雜有狀態嘅環境;所有無狀態工具(Jira、AWS、GitHub)都已遷移到簡單 CLI 工具。
GitHub Action
Claude Code GHA 係作者最喜歡嘅功能。概念簡單:喺 GHA 入面運行 Claude Code,但可定製性極強。你可以控制整個容器同環境,獲得更多數據訪問權限,仲支援所有高級功能。佢哋用呢個構建自定義嘅隨處 PR 工具:用戶從 Slack、Jira 甚至 CloudWatch 警報觸發 PR,GHA 修復 bug 或添加功能,返回充分測試嘅 PR。GHA 日誌就係完整嘅智能體日誌,可以定期審查,揾常見錯誤,形成數據飛輪:Bug → 改進嘅 CLAUDE.md/CLI → 更好嘅智能體。
settings.json 配置
- HTTPS_PROXY / HTTP_PROXY:調試神器,可以檢查原始流量,對後台智能體做精細網絡沙盒。
- MCP_TOOL_TIMEOUT / BASH_MAX_TIMEOUT_MS:建議調高,預設超時太保守。
- ANTHROPIC_API_KEY:工作中用企業 API 密鑰,按用量定價更適合開發者使用量差異大嘅情況。
- permissions:偶爾自審允許 Claude 自動運行嘅命令列表。
Claude Code SDK 同鈎子:擴展能力嘅關鍵
Claude Code SDK
Claude Code 唔止係交互式命令行,仲係強大嘅 SDK。作者大多數新業餘項目已經將佢當默認智能體框架,取代 LangChain 或 CrewAI。三種常見用法:大規模並行腳本(用 claude -p 並行執行)、構建內部聊天工具、快速智能體原型。
- 1 大規模並行腳本:寫簡單 Bash 腳本,並行調用 claude -p 'in /path change refs from foo to bar',比主智能體管理幾十個子任務更可控。
- 2 構建內部聊天工具:適合將複雜流程封裝成簡單聊天界面畀非技術用戶,例如安裝程序出錯時回退到 SDK 修復。
- 3 快速智能體原型:任何智能體任務有諗法,先用 SDK 快速構建測試原型,再考慮完整部署。
鈎子
鈎子好重要,尤其係企業級代碼倉庫。作者用兩種鈎子:提交時阻塞(PreToolUse 包裹 git commit,檢查 /tmp/agent-pre-commit-pass 文件)同提示型(非阻塞,即發即忘)。佢特意唔用寫入時阻塞鈎子,因為中途打斷智能體會令佢困惑;等佢完成工作,提交時再檢查最終結果,更有效。
你而家用得最多嘅一個AI工具係咩呢?
我基本上80%時間都用緊 claude code。
唔好見到 claude code 有個 code 字就以為佢淨係用嚟做 AI 編程,其實佢做到好多嘢,基本上喺你電腦入面無所不能。
我用佢嚟編碼、寫作、整理文件夾,甚至乎通過 API 生成圖片。
CLI 智能體而家好熱鬧。國外有 Claude Code、Gemini CLI、Codex CLI,國內有 Opencode、Qwen code、Kimi code...
呢篇文章記錄我對 Claude Code 嘅理解——由 CLAUDE.md 到子智能體、鈎子、GitHub Actions。
文章好長,建議當參考手冊咁查,唔使一次過讀曬。
本文大部分內容翻譯自 Shrivu Shankar 嘅文章 How I Use Every Claude Code Feature。
原文連結:https://www.ginonotes.com/posts/how-i-use-every-claude-code-feature
--dangerously-skip-permissions
如果你用過 Claude Code 或者其他 CLI 工具,AI 成日問你要唔要執行下一步操作,覺得好煩?
其實喺啟動嘅時候,加返個 --dangerously-skip-permissions 參數就得喇。
當然每次都要打呢一長串英文都幾煩。所以建議設定別名(Alias)。例如 alias cc="claude --dangerously-skip-permissions"。
如果你用 Windows,喺 PowerShell 入面,簡單嘅 Alias 唔支援帶參數嘅命令(例如 --dangerously...),所以我哋要透過定義 Function(函數)嚟做到。
第一步:檢查並建立設定檔
打開 PowerShell。
輸入以下命令睇嚇設定檔存唔存在,唔存在就建立:
if (!(Test-Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force }輸入以下命令打開設定檔(用記事本):
notepad $PROFILE
第二步:加入命令
喺打開嘅記事本入面,貼上以下代碼:
function cc {
claude --dangerously-skip-permissions $args
}第三步:儲存並生效
儲存記事本並關閉。
喺 PowerShell 輸入以下命令令設定即刻生效:
. $PROFILE
(注意開頭有一個點同空格)
而家,你直接打 cc 就可以運行。
如果你係喺 Git Bash 視窗入面操作:
輸入 nano ~/.bashrc
喺檔案尾加入:
alias cc='claude --dangerously-skip-permissions'按 Ctrl+O 儲存,Ctrl+X 退出。
輸入 source ~/.bashrc 生效。
CLAUDE.md
Claude Code 代碼庫入面最重要嘅檔案就係根目錄嘅 CLAUDE.md。
可以當佢做智能體嘅憲法。佢理解你嘅代碼庫全靠呢個檔案。
個人項目入面,我俾 Claude 隨便寫。
如果係多人協作項目:
• 淨係記錄 30% 以上工程師會用到嘅工具同 API(我定嘅標準)。唔夠通用嘅,文檔放返各自產品或庫入面。 • 俾每個內部工具文檔分配 token 上限,好似賣廣告位咁。工具介紹寫得唔簡潔?唔配入 CLAUDE.md。
點樣寫好 CLAUDE.md
用耐咗總結出一套方法論:
1. CLAUDE.md 唔係說明書。
淨係喺 Claude 容易錯嘅地方加說明。唔好諗住寫完整手冊。
2. 別用 @引用文檔。
會成個檔案塞入上下文,好臃腫。淨係寫路徑?Claude 會忽略。正確做法係推銷呢個檔案——話畀佢知點解同幾時要讀。例如:遇到 FooBarError 錯誤嘅時候,參考 path/to/docs.md 嘅高級故障排除。
3. 唔好淨係話禁止。
純否定約束係個坑。永遠唔好用某個標誌?智能體真係需要嘅時候就麻煩。永遠要提供替代方案。
4. 將 CLAUDE.md 當成倒逼函數。
CLI 工具複雜冗長?唔好寫篇長文檔解釋,嗰係幫爛設計打補丁。寫個簡潔嘅 Bash 包裝腳本,提供清晰 API,然後淨係為包裝腳本寫文檔。令 CLAUDE.md 盡量短,可以倒逼你簡化代碼庫同內部工具。
簡化版示例:
## Python
- 始終...
- 使用 <command> 測試
... 還有 10 條 ...
## <內部 CLI 工具>
... 10 個要點,聚焦 80% 的使用場景 ...
- <用法示例>
- 始終...
- 禁止 <x>,改用 <Y>
複雜用法或遇到 <錯誤> 時,參考 path/to/<tool>_docs.md一句講曬:將 CLAUDE.md 當高層防護欄同指引,用佢倒逼工具設計改進,唔好寫成大而全嘅手冊。
上下文管理:精簡、清空、重啟
建議編碼嘅時候至少執行一次 /context,睇嚇 200k token 視窗用咗幾多。
就算有 Sonnet-1M,我都唔相信所有上下文都可以被有效利用。
我嘅三種工作流程:
• /compact(唔好用):自動壓縮唔透明、容易出錯、優化得唔好。• /clear+/catchup(預設方式):先清狀態,再執行自訂/catchup命令令 Claude 讀取當前 git 分支嘅所有改動。• 文檔化後清空(大任務專用):叫 Claude 將計劃同進度寫入 .md文件,/clear清狀態,新對話讀.md繼續做。
唔好信自動壓縮。簡單重啟用 /clear,複雜任務用文檔化後清空。
自訂斜槓命令
我只係set咗兩個:/catchup 和 /pr。
斜槓命令就係常用提示詞嘅快捷方式,就咁而已。
如果你有一大串複雜嘅自訂命令,嗰係反模式。Claude 呢類智能體嘅意義在於你輸入幾乎任何諗法都會得到有用、可以合併嘅結果。一旦工程師為咗做嘢要學一堆魔法命令,你就失敗咗。
斜槓命令只係個人快捷方式,唔好用佢取代更好嘅 CLAUDE.md 同工具設計。
子智能體:點解我用通用克隆,唔用自訂專家
理論上,自訂子智能體係 Claude Code 最強嘅上下文管理功能。
邏輯好簡單:一個複雜任務需要 X token 輸入上下文,執行期間累積 Y token 工作上下文,產生 Z token 答案。執行 N 個任務,主視窗佔 (X + Y + Z) × N token。子智能體將 (X + Y) × N 外判出去,淨係返 Z token 答案,主上下文保持清爽。
但實踐入面有兩個問題:
1. 上下文隔離。 創建 PythonTests子智能體,測試相關嘅上下文就從主智能體嗰度藏起咗。主智能體無辦法全局推理改動,一定要叫子智能體先至知點樣驗證代碼。2. 強制人類工作流程。 更加差嘅係,佢哋將 Claude 框死喺僵化嘅人類定義流程。你喺命令佢應該點樣分配任務——而呢啲正正係你想智能體自己解決嘅問題。
我嘅替代方案:用 Claude 內置嘅 Task(...) 功能生成通用智能體嘅克隆。
將關鍵上下文都放 CLAUDE.md 裏面,等主智能體自己決定幾時同點樣分俾副本。既有節省上下文嘅好處,又可以避免缺點。
我喺《構建多智能體系統(第二部分)》入面將呢個叫主幹-克隆架構,強烈推薦。而唔係自訂子智能體鼓勵嘅領導-專家模型。
自訂子智能體係脆弱方案。將上下文交俾主智能體,等佢自己管理任務分配。
恢復、繼續與歷史
經常用 claude --resume 和 claude --continue。重啟有 bug 嘅終端或者恢復舊對話都好方便。
有時會 claude --resume 幾日前嘅對話,就係為咗問智能體當時點樣解決某個錯誤,然後用呢啲資訊改進我哋嘅 CLAUDE.md 同內部工具。
更深一層:Claude Code 將所有對話歷史儲存喺 ~/.claude/projects/。我有腳本做元分析,揾常見異常、權限請求同錯誤模式,幫手改進面向智能體嘅上下文。
用 --resume 和 --continue 重啟對話,挖掘歷史記錄入面嘅上下文。
鈎子:提交時檢查,唔好喺寫嘅時候打斷
鈎子好重要。個人項目我唔用,但係企業級代碼倉庫入面,佢哋係確定性嘅必須做規則,配合 CLAUDE.md 裏應該做嘅建議。
兩種鈎子:
1. 提交時阻塞。 主要策略。 PreToolUse鈎子包裹所有Bash(git commit)命令,檢查/tmp/agent-pre-commit-pass檔案存唔存在。測試腳本只有全部通過嗰陣先至建立呢個檔案。檔案唔存在?阻止提交,逼 Claude 進入測試-修復循環直至構建成功。2. 提示型。 非阻塞鈎子。智能體做次優操作嗰陣俾個即發即忘嘅反饋。
我哋特登唔用寫入時阻塞鈎子。中途打斷智能體會令佢困惑甚至沮喪。等佢完成工作,提交嗰陣再檢查最終結果,更加有效。
用鈎子喺提交嗰陣強制驗證。唔好喺寫入嗰陣阻塞——等智能體完成計劃再檢查。
規劃模式
做大型功能變更,規劃係必不可少。
個人項目我全部用內置規劃模式。呢個係 Claude 開工前同佢對齊嘅方式——定義點樣構建,設定檢查點。成日用呢個功能可以培養直覺:知道俾邊啲最精簡嘅上下文就可以得到好計劃。
複雜變更加一定要用規劃模式,喺智能體開工前對齊計劃。
技能:比 MCP 更重要
我同意 Simon Willison 嘅判斷:技能可能比 MCP 更重要。
我喺大多數開發工作流程入面已經放棄 MCP,轉為構建簡單命令行工具。我對智能體自主性嘅心智模型演變成三個階段:
1. 單次提示——一個巨大提示包含所有上下文。脆弱,唔可以擴展。 2. 工具調用——經典智能體模型。手動創建工具為智能體抽象現實。更好,但引入新抽象同上下文瓶頸。 3. 腳本化——等智能體訪問原始環境:二進制、腳本、文檔。佢即時寫代碼同佢哋互動。
基於呢個模型,技能係顯而易見嘅下一步。佢哋係腳本化層嘅正式產品化。
如果你已經偏愛命令行工具多過 MCP,咁你一直喺隱式享受技能嘅好處。SKILL.md 只係更加組織化、可共享、可發現嘅方式嚟記錄呢啲 CLI 工具同腳本。
技能係正確嘅抽象。佢將基於腳本化嘅智能體模型正式化——比 MCP 嘅僵化 API 模型更加健壯、更加靈活。
MCP:新角色係數據網關
技能出現唔代表 MCP 死咗。
以前好多人構建咗糟糕、上下文沉重嘅 MCP,包含幾十個工具,只係簡單鏡像 REST API(read_thing_a()、read_thing_b()、update_thing_c())。
腳本化模型更好,但係需要安全方式訪問環境。呢個先係 MCP 新嘅、更加專注嘅角色。
MCP 唔應該係臃腫嘅 API,而應該係簡單、安全嘅網關,提供幾個強大、高層嘅工具:
download_raw_data(filters…)take_sensitive_gated_action(args…)execute_code_in_environment_with_state(code…)
MCP 嘅作用唔係為智能體抽象現實,而係管理認證、網絡同安全邊界,然後退居幕後。佢為智能體提供入口點,智能體隨後用腳本同 markdown 上下文執行實際工作。
我唯一仲用緊嘅 MCP 係 Playwright——呢個合理,因為佢係複雜、有狀態嘅環境。所有無狀態工具(Jira、AWS、GitHub)都已經遷移到簡單 CLI 工具。
用 MCP 做數據網關。俾智能體一兩個高層工具,然後等佢自己腳本化操作。
Claude Code SDK
Claude Code 唔單止係互動式命令行,仲係強大嘅 SDK。大多數新業餘項目我已經將佢當預設智能體框架,唔再用 LangChain/CrewAI 啦。
三種用法:
1. 大規模並行腳本。 大規模重構、bug 修復或者遷移,我唔會開互動式聊天。寫簡單 Bash 腳本,並行調用 claude -p "in /pathA change all refs from foo to bar"。比等主智能體管理幾十個子任務更加可控。2. 構建內部聊天工具。 SDK 適合將複雜流程封裝成簡單聊天界面俾非技術用戶。例如安裝程式出錯嗰陣回退到 Claude Code SDK 修復問題。或者內部 v0-at-home 工具,等設計團隊喺我哋 UI 框架入面隨意寫前端原型。 3. 快速智能體原型。 最常用。唔限於編碼。任何智能體任務有諗法,我都用 SDK 快速構建測試原型,再考慮完整部署。
Claude Code SDK 係強大通用嘅智能體框架。考慮更加複雜框架之前,先用佢做批量處理、內部工具同快速原型。
GitHub Action:我最鍾意但最被忽視嘅功能
Claude Code GHA 可能係我最鍾意嘅功能。
概念好簡單:就係喺 GHA 入面運行 Claude Code。但正正係呢種簡單令佢強大。
類似 Cursor 嘅後台智能體或者 Codex 託管 Web UI,但可定製性更強。你控制成個容器同環境,得到更多數據訪問權限,沙盒同審計控制比任何其他產品都強。仲支援所有高級功能,例如鈎子同 MCP。
我哋用佢構建自訂嘅隨處 PR 工具。用戶從 Slack、Jira 甚至 CloudWatch 警報觸發 PR,GHA 修復 bug 或者加功能,返回充分測試嘅 PR。
因為 GHA 日誌就係完整嘅智能體日誌,我哋有運維流程定期審查呢啲日誌,揾常見錯誤同唔一致嘅工程實踐。形成數據飛輪:Bug → 改進嘅 CLAUDE.md/CLI → 更加好嘅智能體。
GHA 係將 Claude Code 投入營運嘅終極方式——從個人工具變成核心、可審計、可自我改進嘅工程系統。
settings.json 關鍵配置
最後,幾個業餘同專業工作都好有用嘅配置:
• HTTPS_PROXY/HTTP_PROXY:除錯神器。用佢檢查原始流量,睇 Claude 喺度發咩提示。對後台智能體都係精細網絡沙盒嘅強大工具。• MCP_TOOL_TIMEOUT/BASH_MAX_TIMEOUT_MS:我會校高啲。鍾意跑長時間複雜命令,預設超時太保守。• ANTHROPIC_API_KEY:工作中用企業 API 密鑰。從按席位許可證轉為按使用量定價,更加適合我哋嘅工作模式。考慮咗開發者使用量嘅巨大差異(工程師之間差 100 倍唔出奇),仲可以俾工程師試用非 Claude Code 嘅 LLM 腳本,都喺單一企業賬户之下。• permissions:間中自己審視允許 Claude 自動運行嘅命令列表。
最後
內容好多,希望幫到你。
如果仲未用過 Claude Code 或者 Codex CLI 呢類 CLI 智能體,值得一試。
想用好呢啲高級功能,唯一嘅學習方法就係自己親手試。
你現在用的最多的一個AI工具是什麼呢?
我基本上80%時間都在用 claude code。
不要看着 claude code 帶個 code 就以為它只是做 AI 編程的,其實它可以做很多事情,基本上就在你電腦裏無所不能。
我用它來編碼,寫作,整理文件夾,甚至通過 API 生成圖片。
CLI 智能體現在很熱鬧。國外有 Claude Code、Gemini CLI、Codex CLI,國內有 Opencode、Qwen code、Kimi code...
這篇文章記錄我對 Claude Code 的理解——從 CLAUDE.md 到子智能體、鈎子、GitHub Actions。
文章長,建議當參考手冊查,不必一次讀完。
本文大部分內容翻譯自 Shrivu Shankar 的文章 How I Use Every Claude Code Feature。
原文連結:https://www.ginonotes.com/posts/how-i-use-every-claude-code-feature
--dangerously-skip-permissions
如果你用過 Claude Code 或者其他 CLI 工具,AI 經常會詢問你是否執行下一步操作,覺得很煩?
其實在啓動的時候,加上 --dangerously-skip-permissions 參數就行了。
當然每次都要寫這一長串英文也很煩。所以建議設置別名(Alias)。比如alias cc="claude --dangerously-skip-permissions"。
如果你用 Windows,在 PowerShell 中,簡單的 Alias 不支持帶參數的命令(比如 --dangerously...),所以我們需要通過定義 Function(函數) 來實現。
第一步:檢查並創建配置文件
打開 PowerShell。
輸入以下命令查看配置文件是否存在,不存在則創建:
if (!(Test-Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force }輸入以下命令打開配置文件(用記事本):
notepad $PROFILE
第二步:添加命令
在打開的記事本中,粘貼以下代碼:
function cc {
claude --dangerously-skip-permissions $args
}第三步:保存並生效
保存記事本並關閉。
在 PowerShell 中輸入以下命令讓配置立即生效:
. $PROFILE
(注意開頭有一個點和空格)
現在,你直接輸入 cc 就可以運行了。
如果你是在 Git Bash 窗口裏操作:
輸入 nano ~/.bashrc
在文件末尾添加:
alias cc='claude --dangerously-skip-permissions'按 Ctrl+O 保存,Ctrl+X 退出。
輸入 source ~/.bashrc 生效。
CLAUDE.md
Claude Code 代碼庫裏最重要的文件就是根目錄的 CLAUDE.md。
可以把它看作智能體的憲法。它理解你的代碼庫全靠這個文件。
個人項目裏,我讓 Claude 隨便往裏寫。
如果是多人協作項目:
• 只記錄 30% 以上工程師會用到的工具和 API(我定的標準)。不夠通用的,文檔放各自產品或庫裏。 • 給每個內部工具文檔分配 token 上限,像賣廣告位。工具介紹寫不簡潔?不配進 CLAUDE.md。
怎麼寫好 CLAUDE.md
用久了總結出一套方法論:
1. CLAUDE.md不是說明書。
只在 Claude 容易出錯的地方加說明。別想寫完整手冊。
2. 別用 @引用文檔。
會把整個文件塞進上下文,非常臃腫。只寫路徑?Claude 會忽略。正確做法是推銷這個文件——告訴它為什麼和何時該讀。比如:遇到 FooBarError 錯誤時,參考 path/to/docs.md 的高級故障排除。
3. 別隻說禁止。
純否定約束是坑。永遠不要用某個標誌?智能體真需要的時候就傻了。永遠提供替代方案。
4. 把 CLAUDE.md 當倒逼函數。
CLI 工具複雜冗長?別寫長文檔解釋,那是在給爛設計打補丁。寫個簡潔的 Bash 包裝腳本,提供清晰 API,然後只給包裝腳本寫文檔。讓 CLAUDE.md 儘量短,能倒逼你簡化代碼庫和內部工具。
簡化版示例:
## Python
- 始終...
- 使用 <command> 測試
... 還有 10 條 ...
## <內部 CLI 工具>
... 10 個要點,聚焦 80% 的使用場景 ...
- <用法示例>
- 始終...
- 禁止 <x>,改用 <Y>
複雜用法或遇到 <錯誤> 時,參考 path/to/<tool>_docs.md一句話:把 CLAUDE.md 當高層防護欄和指引,用它倒逼工具設計改進,別寫成大而全的手冊。
上下文管理:精簡、清空、重啓
建議編碼時至少跑一次 /context,看看 200k token 窗口用了多少。
即使有 Sonnet-1M,我也不信全部上下文都能被有效利用。
我的三種工作流:
• /compact(別用):自動壓縮不透明、容易出錯、優化不好。• /clear+/catchup(默認方式):先清狀態,再跑自定義/catchup命令讓 Claude 讀取當前 git 分支所有改動。• 文檔化後清空(大任務專用):讓 Claude 把計劃和進度寫進 .md文件,/clear清狀態,新會話讀.md繼續幹。
別信自動壓縮。簡單重啓用 /clear,複雜任務用文檔化後清空。
自定義斜槓命令
我只設了兩個:/catchup 和 /pr。
斜槓命令就是常用提示詞的快捷方式,僅此而已。
如果你有一長串複雜的自定義命令,那是反模式。Claude 這種智能體的意義在於你輸入幾乎任何想法都能得到有用、可合併的結果。一旦工程師為了幹活必須學一堆魔法命令,你就失敗了。
斜槓命令只是個人快捷方式,別用它替代更好的 CLAUDE.md 和工具設計。
子智能體:為什麼我用通用克隆,不用自定義專家
理論上,自定義子智能體是 Claude Code 最強的上下文管理功能。
邏輯很簡單:一個複雜任務需要 X token 輸入上下文,執行中累積 Y token 工作上下文,產出 Z token 答案。跑 N 個任務,主窗口占 (X + Y + Z) × N token。子智能體把 (X + Y) × N 外包出去,只返回 Z token 答案,主上下文保持清爽。
但實踐中有兩個問題:
1. 上下文隔離。 創建 PythonTests子智能體,測試相關的上下文就從主智能體那藏起來了。主智能體沒法全局推理改動,必須調子智能體才知道怎麼驗證代碼。2. 強制人類工作流。 更糟的是,它們把 Claude 框進僵化的人類定義流程。你在命令它應該怎麼分配任務——而這恰恰是你希望智能體自己解決的問題。
我的替代方案:用 Claude 內置的 Task(...) 功能生成通用智能體的克隆。
把關鍵上下文都放 CLAUDE.md 裏,讓主智能體自己決定何時、如何分給副本。既有節省上下文的好處,又避免了缺點。
我在《構建多智能體系統(第二部分)》裏把這叫主幹-克隆架構,強烈推薦。而不是自定義子智能體鼓勵的領導-專家模型。
自定義子智能體是脆弱方案。把上下文給主智能體,讓它自己管理任務分配。
恢復、繼續與歷史
經常用 claude --resume 和 claude --continue。重啓出 bug 的終端或恢復舊會話都很方便。
有時會 claude --resume 幾天前的會話,就為了問智能體當時怎麼解決某個錯誤,然後用這些信息改進我們的 CLAUDE.md 和內部工具。
更深一層:Claude Code 把所有會話歷史存在 ~/.claude/projects/。我有腳本做元分析,找常見異常、權限請求和錯誤模式,幫助改進面向智能體的上下文。
用 --resume 和 --continue 重啓會話,挖掘歷史記錄裏的上下文。
鈎子:提交時檢查,別在寫的時候打斷
鈎子很重要。個人項目我不用,但企業級代碼倉庫裏,它們是確定性的必須做規則,配合 CLAUDE.md 裏應該做的建議。
兩種鈎子:
1. 提交時阻塞。 主要策略。 PreToolUse鈎子包裹所有Bash(git commit)命令,檢查/tmp/agent-pre-commit-pass文件是否存在。測試腳本只有全部通過時才創建這個文件。文件不存在?阻止提交,逼 Claude 進測試-修復循環直到構建成功。2. 提示型。 非阻塞鈎子。智能體做次優操作時給個即發即忘的反饋。
我們特意不用寫入時阻塞鈎子。中途打斷智能體會讓它困惑甚至沮喪。讓它完成工作,提交時再檢查最終結果,更有效。
用鈎子在提交時強制驗證。別在寫入時阻塞——讓智能體完成計劃再檢查。
規劃模式
做大型功能變更,規劃必不可少。
個人項目我全用內置規劃模式。這是 Claude 開工前跟它對齊的方式——定義怎麼構建,設定檢查點。常用這功能能培養直覺:知道給哪些最精簡的上下文就能得到好計劃。
複雜變更一定要用規劃模式,在智能體開工前對齊計劃。
技能:比 MCP 更重要
我同意 Simon Willison 的判斷:技能可能比 MCP 更重要。
我在大多數開發工作流裏已經放棄 MCP,轉而構建簡單命令行工具。我對智能體自主性的心智模型演變成三個階段:
1. 單次提示——一個巨大提示包含所有上下文。脆弱,不可擴展。 2. 工具調用——經典智能體模型。手動創建工具為智能體抽象現實。更好,但引入新抽象和上下文瓶頸。 3. 腳本化——讓智能體訪問原始環境:二進制、腳本、文檔。它即時寫代碼與它們交互。
基於這個模型,技能是顯而易見的下一步。它們是腳本化層的正式產品化。
如果你已經偏愛命令行工具而非 MCP,那你一直在隱式享受技能的好處。SKILL.md 只是更組織化、可共享、可發現的方式來記錄這些 CLI 工具和腳本。
技能是正確的抽象。它把基於腳本化的智能體模型正式化了——比 MCP 的僵化 API 模型更健壯、更靈活。
MCP:新角色是數據網關
技能出現不代表 MCP 死了。
以前很多人構建了糟糕、上下文沉重的 MCP,包含幾十個工具,只是簡單鏡像 REST API(read_thing_a()、read_thing_b()、update_thing_c())。
腳本化模型更好,但需要安全方式訪問環境。這才是 MCP 新的、更專注的角色。
MCP 不應是臃腫的 API,而應是簡單、安全的網關,提供幾個強大、高層工具:
download_raw_data(filters…)take_sensitive_gated_action(args…)execute_code_in_environment_with_state(code…)
MCP 的作用不是為智能體抽象現實,而是管理認證、網絡和安全邊界,然後退居幕後。它為智能體提供入口點,智能體隨後用腳本和 markdown 上下文執行實際工作。
我唯一還在用的 MCP 是 Playwright——這合理,因為它是複雜、有狀態的環境。所有無狀態工具(Jira、AWS、GitHub)都已遷移到簡單 CLI 工具。
用 MCP 當數據網關。給智能體一兩個高層工具,然後讓它自己腳本化操作。
Claude Code SDK
Claude Code 不只是交互式命令行,還是強大的 SDK。大多數新業餘項目我已經把它當默認智能體框架,不用 LangChain/CrewAI 了。
三種用法:
1. 大規模並行腳本。 大規模重構、bug 修復或遷移,我不開交互式聊天。寫簡單 Bash 腳本,並行調用 claude -p "in /pathA change all refs from foo to bar"。比讓主智能體管理幾十個子任務更可控。2. 構建內部聊天工具。 SDK 適合把複雜流程封裝成簡單聊天界面給非技術用戶。比如安裝程序出錯時回退到 Claude Code SDK 修復問題。或者內部 v0-at-home 工具,讓設計團隊在我們 UI 框架裏隨意寫前端原型。 3. 快速智能體原型。 最常用。不限於編碼。任何智能體任務有想法,我都用 SDK 快速構建測試原型,再考慮完整部署。
Claude Code SDK 是強大通用的智能體框架。考慮更復雜框架前,先用它做批量處理、內部工具和快速原型。
GitHub Action:我最喜歡但最被忽視的功能
Claude Code GHA 可能是我最喜歡的功能。
概念簡單:就是在 GHA 裏運行 Claude Code。但正是這種簡單讓它強大。
類似 Cursor 的後台智能體或 Codex 託管 Web UI,但可定製性更強。你控制整個容器和環境,獲得更多數據訪問權限,沙盒和審計控制比任何其他產品都強。還支持所有高級功能,比如鈎子和 MCP。
我們用它構建自定義的隨處 PR 工具。用戶從 Slack、Jira 甚至 CloudWatch 警報觸發 PR,GHA 修復 bug 或添加功能,返回充分測試的 PR。
因為 GHA 日誌就是完整的智能體日誌,我們有運維流程定期審查這些日誌,找常見錯誤和不一致的工程實踐。形成數據飛輪:Bug → 改進的 CLAUDE.md/CLI → 更好的智能體。
GHA 是把 Claude Code 投入運營的終極方式——從個人工具變成核心、可審計、可自我改進的工程系統。
settings.json 關鍵配置
最後,幾個業餘和專業工作都很有用的配置:
• HTTPS_PROXY/HTTP_PROXY:調試神器。用它檢查原始流量,看 Claude 在發什麼提示。對後台智能體也是精細網絡沙盒的強大工具。• MCP_TOOL_TIMEOUT/BASH_MAX_TIMEOUT_MS:我會調高。喜歡跑長時間複雜命令,默認超時太保守。• ANTHROPIC_API_KEY:工作中用企業 API 密鑰。從按席位許可證轉為按使用量定價,更適合我們的工作模式。考慮了開發者使用量的巨大差異(工程師間差 100 倍不稀奇),還能讓工程師試用非 Claude Code 的 LLM 腳本,都在單一企業賬户下。• permissions:偶爾自審允許 Claude 自動運行的命令列表。
最後
內容很多,希望對你有幫助。
如果還沒用過 Claude Code 或 Codex CLI 這樣的 CLI 智能體,值得試試。
要想用好這些高級功能,唯一的學習方法就是親自上手。