· Paul Lukic · 2 分鐘閱讀 · ai-coding-agentscli-tipsdeveloper-workflow

5 個 Claude Code 命令,把我的上下文切換砍掉一半

經驗豐富的終端開發者每天都在用的 Claude Code 隱藏斜線命令 —— /statusline、!、@、/add-dir、/btw、/branch,各自省下什麼、/add-dir 在規模化時會在哪裡失效、以及一個會毀掉肌肉記憶的 Codex CLI 陷阱。

本文目錄

五個 Claude Code 命令一覽:/statusline、! shell 前綴、@filename、/add-dir、/btw 和 /branch —— 每個都對應它消除的那種摩擦

如果你一直在終端視窗之間貼上 cd /path/other-repo && claude,你就是在為上下文支付溢價。Claude Code 內建了五個經驗豐富的開發者每天都在用的命令 —— 入門教學裡一個都沒有,全在沒人讀的文件裡。其中最短的那個,每個任務大約能省三分鐘。一天五個任務。你自己算。

這篇文章整理了一位資深開發者上週發到 r/ClaudeAI 的清單 —— 1,000+ 讚不是沒有原因的 —— 並補上那個討論串跳過的部分:每個命令在哪裡停止規模化,以及該用什麼替代。 然後是 Codex CLI 部分,因為如果你在多個代理之間切換上下文,那裡的斜線語意會把你燒到。

1. /statusline —— 把「這是哪個模型?」的答案釘在螢幕上

Claude Code 裡 ROI 最高的單一命令。預設情況下,終端不會告訴你這個會話的任何資訊 —— 哪個模型、哪個分支、還剩多少上下文、你是不是用著 Pro 方案卻因為當天 Sonnet 配額燒光而被降級到 Haiku。你只能靠輸入一個問題、看回覆品質、然後猜。

/statusline 解決這個問題。跑一次,Claude 問你想顯示什麼,寫一個小腳本即時更新終端底部,搞定。經驗豐富的開發者會放上去的欄位:

  • 模型 —— sonnet-4.6 vs haiku-4.5 vs opus-4.7。在會自動降級的方案上尤其關鍵。
  • 分支 —— cwd 的 git 分支。當你不小心把 Claude 指向錯誤的儲存庫時它會告訴你。
  • 上下文 % —— 上下文視窗的填滿程度。你需要這個訊號在代理悄悄開始丟掉早期指令之前進行壓縮或 /clear
  • 目前花費 —— 本次會話的累計 token 開銷。

它在哪裡失效: statusline 是按機器設定的,不是按專案。如果你在多台筆電之間切換,就得重新設定。把設定存到你的 dotfiles 儲存庫裡,這樣在新機器上 /statusline 就是 setup.sh 裡的一行。

它省下什麼: 每個會話大約 90 秒,省掉那個「我現在在哪個模型?」的診斷 —— 否則你得輸入 what model are you 並燒掉 4k token。

2. ! —— 不離開聊天就跑 shell 命令

在一行前面加 !,Claude Code 就把它當 shell 命令跑。輸出留在對話裡,所以代理的下一條回覆可以直接引用,不用你貼上任何東西。

> ! npm test
... (real test output appears in chat)
> What's broken in the auth test?

代理現在看到的是真實的失敗,不是你轉述的版本。沒有複製貼上。沒有「讓我再看一下輸出」。

兩個進階用法:

  • ! 命令執行時按 Ctrl+B 把它送到背景。開一個長時間執行的 npm run e2e,在同一個會話裡繼續迭代。
  • @(下一條提示)組合用 git diff 工作流:! git diff @src/orders/order_service.py —— diff 落到聊天裡,代理就此推理,你在同一輪接受它的修復。

它在哪裡失效: 代理把完整的 stdout 讀進上下文。一次 5 萬行的 npm install 會啃光你的上下文視窗。用 ! npm install 2>&1 | tail -20 或者管道到檔案然後用 @ 引用那個檔案。

它省下什麼: 取決於工作流,但中位數的開發者每個代理會話大約跑 30 次快速 shell 檢查。每次複製貼上約 10 秒,加起來五分鐘。複利。

3. @filename —— 少打字,精確指向檔案

輸入 @ 後跟檔名的一部分。Claude Code 顯示一個模糊比對的路徑選擇器。Tab 自動補全。檔案被直接注入上下文 —— 沒有代理搜尋,沒有 grep 呼叫,沒有在檔案發現上浪費 token。

最大的贏面不是速度,而是精確度。當你輸入 @order_service,代理拿到的就是那個檔案。當你說「看一下 order service」,代理會搜尋你的儲存庫,常常會 grep 所有包含 “order” 這個詞的內容並讀 8 個檔案以確保萬無一失。其中一個是你真正想要的檔案。另外七個讓你付了 token。

給那些痴迷成本計算的人:在一個中等規模的儲存庫裡,一次模糊的檔案引用可能因為不必要的讀取花掉約 $0.30。@ 是免費的。

它在哪裡失效: 跨儲存庫不工作。如果你的認證程式碼在 ~/work/auth-svc/ 裡,而你坐在 ~/work/api/ 裡,@auth_service.py 不會自動補全。這就把我們帶到下一個命令。

柱狀圖展示 /add-dir 目錄數量從 1 增到 7+ 時,每個任務的 token 消耗變化。超過 5 個儲存庫後柱體變成強調色;虛線顯示 Coograph 在所有規模下維持約 4k token 恆定

4. /add-dir —— 當你的專案其實是三個專案

/add-dir <path> 把另一個目錄掛到當前會話的工作上下文裡。現在 @ 自動補全在兩個目錄上都工作。在你的「專案」是一個前端儲存庫、一個後端儲存庫、再加一個共享型別儲存庫時很有用 —— 這是任何超過十名工程師的公司的標準形態。

Marmelab 那篇貼文把這個叫作「對於跨多個儲存庫拆分的專案堪稱完美」。在三個儲存庫時確實完美。到五個就開始裂。

/add-dir 在規模化時在哪裡失效:

  • 每加一個目錄都會膨脹 Claude 要考慮的檔案樹。三個儲存庫時,搜尋還很緊湊。到七個,代理開始命中無關檔案 —— 你的 infra/tools/、廢棄的服務。Token 成本上升。延遲上升。幻覺風險上升。
  • /add-dir 是按會話的。每次對話你都要重新加入相同的目錄。煩到大多數開發者就直接放棄了,手動貼上檔案,完全失去多儲存庫視角。
  • 沒有語意感知。/add-dir 讓檔案可達;它不告訴代理哪些檔案實際被依賴。代理還是 grep。檔案還是回來。大部分是雜訊。

解法不是更多的 /add-dir。解法是一張依賴圖,代理取代列舉檔案去查詢它。這就是我們在 Coograph 構建的東西 —— 把相關儲存庫複製為兄弟目錄,執行 /coograph-init,代理的 get_minimal_context() 呼叫就回傳一個任務真正重要的 3–5 個檔案,包括跨儲存庫邊界的。每個會話不用重新設定 /add-dir。沒有檔案樹膨脹。在已提交的基準測試中測得 80% 的 token 減少。

如果你在三個儲存庫,/add-dir 沒問題。到七個,你需要一張圖。

5. /btw/branch —— 不丟失位置的旁路對話

兩個命令,一個工作流問題:你正在一次重構的深處,想問 Claude 一些題外的東西 —— 「嘿,這個模式在 Python 裡道地的寫法是什麼?」 —— 又不想炸掉代理的工作狀態。

  • /btw <question> —— Claude 回答這個旁路問題,然後回到之前的任務。用於一次性查找。
  • /branch —— 派生出一個新會話,繼承當前上下文但允許你分叉。用於較長的「等等,讓我探索這個方向一會兒」繞道。

/branch 的隱藏價值:你可以在並行中比較兩種實作方式,又不丟失原始對話。派生一個分支,讓 Claude 實作方式 B,把輸出 A/B 並排對比,殺掉分支,回到原始會話拿贏家。

它在哪裡失效: /branch 會話不共享檔案變更。如果你讓分支編輯了 src/orders/order_service.py,然後回到主會話,主會話毫不知情。這樣很容易丟工作。把 /branch 當作唯讀,或者在分支前先提交。

並排終端示意圖:Claude Code 用前導斜線執行 /coograph-init,而 Codex CLI 必須去掉斜線直接輸入 coograph-init —— 斜線在那裡是內建命令保留前綴

加餐:Codex CLI 的陷阱

如果你在 Claude Code 和 OpenAI 的 Codex CLI 之間切換,這裡有個會在第一天就絆倒你的耙子。

在 Claude Code 裡,/foo 跑名為 foo 的斜線命令 —— 包括你的自訂命令。在 Codex CLI 裡,/ 是為內建命令保留的。 自訂技能不能用前導斜線呼叫。你要麼按名字呼叫(coograph-init 而不是 /coograph-init),要麼讓它們透過描述自動觸發(Codex 偏好的模式)。

每個 Coograph 使用者第一次在 Codex CLI 裡試的時候都會被這個絆倒。技能裝好了,檔案在那裡,斜線自動補全顯示什麼都沒有,你就假設它壞了。它沒壞 —— 輸入 coograph-init 不要斜線,它就跑起來。

同樣的技能,兩種不同的呼叫方式。值得在你的 statusline 裡留個 30 秒的心理標記。

經驗豐富的開發者實際上用這些做什麼

把模式串起來:

  • /statusline 裝好的時候設一次。忘了它。
  • ! 成為跑任何東西的預設方式。別再 alt-tab 了。
  • @ 是你的動詞,表示「看這個檔案」 —— 不是搜尋查詢,是顯式指標。
  • /add-dir 到 ~3 個儲存庫都還行。再多,加一張依賴圖,別再和檔案樹死磕。
  • /btw 用於單行題外。/branch 用於並行實驗,但先提交。
  • Codex CLI:自訂技能去掉斜線。

這些沒有一個是奇技淫巧。Marmelab 那篇貼文拿到 1k 讚是因為留言區全是開發者在那裡說*「等等,這是個命令?」* 這些東西一直藏著,是因為 Claude Code 出廠自帶一個低調的入門 —— 你可以從來沒發現 /statusline 也能高效產出,所以大多數開發者就真的從來沒發現。

複利模式:上面每個命令都在每個任務上省下摩擦。摩擦是那種你修好之前都看不見的成本。一天五個任務,一年 250 個工作日 —— 即使每個任務只省 30 秒,那也是 10 小時。終端開發者不是更好的工程師。他們只是讀了文件。

想要更少命令?

給 Coograph 的誠實推銷:上面的工作流大部分是給「讓 Claude Code 看到正確檔案」打的水管。/add-dir@、一半的 ! —— 它們存在是因為代理對你的程式碼沒有結構性視圖。一張依賴圖把水管移除。代理呼叫一次 get_minimal_context() 就拿到相關檔案,包括跨儲存庫的。每個會話不用 /add-dir。不用 @ 在自動補全裡釣正確路徑。

Coograph 是 MIT 授權、永久免費。五分鐘安裝。如果你一天裡 /add-dir 輸入過兩次以上,你會在第一個任務裡就感受到差別。

立即開始 · 基準測試 · 在 GitHub 查看


這和只是多記幾個斜線命令有什麼不同?

斜線命令給你更好的摩擦。一張依賴圖把摩擦完全移除。如果你用 Claude Code 的第一天是 @src/orders/... 把它指到正確檔案,到第一百天應該是代理已經知道哪個檔案重要。這就是 get_minimal_context() 回傳的 —— 也是 /add-dir 做不到的,因為它是把檔案加進搜尋空間,而不是收窄它。

為什麼 Codex CLI 不直接支援相同的斜線語法?

Codex CLI 把 / 命名空間保留給 OpenAI 的內建命令。自訂技能註冊它們的名字和一段描述;當描述符合使用者意圖時模型自動呼叫它們。這是不同的設計選擇 —— 較不顯式,較宣告式 —— 你只能接受。實用的繞過辦法是用清晰、無歧義的技能描述,讓自動觸發可靠地觸發;並且在需要顯式呼叫時輸入 coograph-init(不帶斜線)。

/branch 會額外花錢嗎?

每個 /branch 都是一個新會話,所以會 —— 它會承擔自己的上下文視窗載入。如果主會話已經 60% 滿,分支會把那一大堆 token 複製到新會話裡。對快速實驗便宜,對長時間並行執行昂貴。在重的會話上分支前先看一眼你 /statusline 上的上下文 %。

削減你的 AI 編程帳單 30–80%。Coograph 採用 MIT 授權、永久免費。Pro 提供客製服務。