
Claude Code 是一款專為「智能體編碼」(agentic coding) 設計的命令列工具。它由 Anthropic 開發,旨在讓開發者能以更原生、強大的方式,將 Claude 的能力深度整合至日常的編碼工作流程中。不同於許多強制特定流程的工具,Claude Code 刻意設計得低階且無預設立場,提供近乎原始的模型存取能力,使其成為一個極具彈性、可自訂、可編寫腳本且安全無虞的開發利器。
要充分發揮 Claude Code 的潛力,關鍵在於掌握其獨特的工作模式並建立適合自己的最佳實踐。本文將作為您的入門指南,從最基礎的環境設定開始,逐步介紹一系列已被證實有效的訣竅與工作流程。無論您是剛接觸智能體編碼的新手,還是經驗豐富的開發者,都能從中找到啟發,學習如何客製化您的設定、善用各種工具,並將 Claude Code 無縫融入您的開發、測試與程式碼庫管理等各個環節。
以下內容是翻譯 Anthropic 的 Claude Code: Best practices for agentic coding,幫助你可以更快的了解 Claude Code 並開始作為你的 AI 輔助工具。
我們最近 發布了 Claude Code,這是一款為智能體編碼設計的命令列工具。作為一個研究專案,Claude Code 為 Anthropic 的工程師和研究人員提供了一種更原生的方式,將 Claude 整合到他們的編碼工作流程中。
Claude Code 刻意設計得低階且無預設立場,提供近乎原始的模型存取能力,而不強加特定的工作流程。這種設計哲學創造了一個靈活、可自訂、可編寫腳本且安全的強大工具。然而,雖然功能強大,但這種靈活性也為剛接觸智能體編碼工具的工程師帶來了學習曲線——至少在他們發展出自己的一套最佳實踐之前是如此。
本文概述了一些已被證實有效的通用模式,這些模式不僅適用於 Anthropic 的內部團隊,也適用於在各種程式碼庫、語言和環境中使用 Claude Code 的外部工程師。此列表中的任何內容都不是一成不變或普遍適用的;請將這些建議視為起點。我們鼓勵您進行實驗,找出最適合您的方式!
想了解更詳細的資訊嗎?我們在 claude.ai/code 的完整文件中,涵蓋了本文提到的所有功能,並提供了額外的範例、實作細節和進階技巧。
目錄
1. 自訂您的設定
Claude Code 是一個智能體編碼助理,它會自動將上下文(context)拉取到提示(prompt)中。這個收集上下文的過程會消耗時間和 Token,但您可以透過調整環境來進行優化。
a. 建立 CLAUDE.md
檔案
CLAUDE.md
是一個特殊檔案,Claude 在開始對話時會自動將其內容拉取到上下文中。這使得它成為記錄以下資訊的理想之處:
- 常用的 bash 指令
- 核心檔案和工具函式
- 程式碼風格指南
- 測試說明
- 儲存庫(repository)的禮儀(例如,分支命名、使用 merge 或 rebase 等)
- 開發環境設定(例如,pyenv 的使用、哪些編譯器可用)
- 專案特有的任何非預期行為或警告
- 您希望 Claude 記住的其他資訊
CLAUDE.md
檔案沒有固定的格式要求。我們建議保持其簡潔且易於人類閱讀。例如:
# Bash 指令
- npm run build:建置專案
- npm run typecheck:執行型別檢查
# 程式碼風格
- 使用 ES 模組(import/export)語法,而非 CommonJS(require)
- 盡可能解構匯入(例如:import { foo } from 'bar')
# 工作流程
- 當您完成一系列程式碼變更後,請務必進行型別檢查
- 為求效能,請優先執行單一測試,而非整個測試套件
您可以將 CLAUDE.md
檔案放置在幾個不同的位置:
- 您的儲存庫根目錄,或任何您執行
claude
的地方(最常見的用法)。將其命名為CLAUDE.md
並存入 git,以便您可以在不同會話(session)中以及與團隊共享(推薦),或者將其命名為CLAUDE.local.md
並加入.gitignore
。 - 執行
claude
的目錄的任何父目錄。這對 monorepo 最有用,您可能會在root/foo
中執行claude
,而在root/CLAUDE.md
和root/foo/CLAUDE.md
中都有CLAUDE.md
檔案。這兩個檔案都會被自動拉取到上下文中。 - 執行
claude
的目錄的任何子目錄。這與上述情況相反,在這種情況下,當您處理子目錄中的檔案時,Claude 會根據需要拉取CLAUDE.md
檔案。 - 您的家目錄 (
~/.claude/CLAUDE.md
),這會應用於您所有的 claude 會話。
當您執行 /init
指令時,Claude 會自動為您生成一個 CLAUDE.md
。
b. 調校您的 CLAUDE.md
檔案
您的 CLAUDE.md
檔案會成為 Claude 提示的一部分,因此應像任何頻繁使用的提示一樣進行優化。一個常見的錯誤是添加大量內容卻沒有迭代其有效性。花點時間實驗,確定什麼內容能讓模型產生最佳的指令遵循效果。
您可以手動將內容添加到 CLAUDE.md
,或者按下 #
鍵給 Claude 一個指令,它會自動將其整合到相關的 CLAUDE.md
中。許多工程師在編碼時會頻繁使用 #
來記錄指令、檔案和風格指南,然後將 CLAUDE.md
的變更包含在提交(commit)中,這樣團隊成員也能受益。
在 Anthropic,我們偶爾會將 CLAUDE.md
檔案透過 提示詞優化器 處理,並經常調整指令(例如,使用「IMPORTANT」或「YOU MUST」來加強語氣)以提高遵循度。

c. 管理 Claude 的工具允許清單
預設情況下,對於任何可能修改您系統的操作,Claude Code 都會請求權限:檔案寫入、許多 bash 指令、MCP 工具等。我們刻意採用這種保守的方法設計 Claude Code,以將安全性放在首位。您可以自訂允許清單,以允許您知道是安全的額外工具,或允許那些易於撤銷的潛在不安全工具(例如,檔案編輯、git commit
)。
有四種方式可以管理允許的工具:
- 在會話中被提示時選擇「永遠允許」。
- 啟動 Claude Code 後使用
/permissions
指令 來新增或移除允許清單中的工具。例如,您可以新增Edit
以永遠允許檔案編輯,Bash(git commit:*)
以允許 git 提交,或mcp__puppeteer__puppeteer_navigate
以允許使用 Puppeteer MCP 伺服器進行導航。 - 手動編輯 您的
.claude/settings.json
或~/.claude.json
(我們建議將前者納入版本控制以與團隊共享)。 - 使用
--allowedTools
CLI 旗標 來設定特定會話的權限。
d. 如果使用 GitHub,請安裝 gh CLI
Claude 知道如何使用 gh
CLI 與 GitHub 互動,以建立 issue、開啟 pull request、讀取評論等。如果沒有安裝 gh
,Claude 仍然可以使用 GitHub API 或 MCP 伺服器(如果您已安裝)。
2. 給予 Claude 更多工具
Claude 可以存取您的 shell 環境,您可以在其中為它建立一系列便利的腳本和函式,就像為自己建立一樣。它還可以透過 MCP 和 REST API 來利用更複雜的工具。
a. 將 Claude 與 bash 工具結合使用
Claude Code 會繼承您的 bash 環境,使其能夠存取您所有的工具。雖然 Claude 知道像 unix 工具和 gh
這樣常見的工具,但若沒有指示,它不會知道您的自訂 bash 工具:
- 告訴 Claude 工具名稱並提供使用範例。
- 告訴 Claude 執行
--help
來查看工具文件。 - 在
CLAUDE.md
中記錄常用的工具。
b. 將 Claude 與 MCP 結合使用
Claude Code 同時作為 MCP 伺服器和客戶端。作為客戶端,它可以透過三種方式連接到任意數量的 MCP 伺服器以存取其工具:
- 在專案設定中(在該目錄中執行 Claude Code 時可用)
- 在全域設定中(在所有專案中都可用)
- 在一個已存入版本控制的
.mcp.json
檔案中(對任何在您程式碼庫中工作的人都可用)。例如,您可以將 Puppeteer 和 Sentry 伺服器添加到您的.mcp.json
中,這樣每位在您儲存庫上工作的工程師都可以直接使用這些工具。
在使用 MCP 時,以 --mcp-debug
旗標啟動 Claude 也會很有幫助,這有助於識別設定問題。
c. 使用自訂斜線指令
對於重複性的工作流程——例如除錯循環、日誌分析等——可以將提示詞模板儲存在 .claude/commands
資料夾內的 Markdown 檔案中。當您輸入 /
時,這些模板就會透過斜線指令選單提供。您可以將這些指令存入 git,讓您的團隊其他成員也能使用。
自訂斜線指令可以包含特殊關鍵字 $ARGUMENTS
,以從指令調用中傳遞參數。
例如,這是一個可以用來自動拉取並修復 GitHub issue 的斜線指令:
請分析並修復 GitHub issue:$ARGUMENTS。
請遵循以下步驟:
1. 使用 `gh issue view` 取得 issue 的詳細資訊。
2. 理解 issue 中描述的問題。
3. 在程式碼庫中搜尋相關檔案。
4. 實作必要的變更以修復問題。
5. 編寫並執行測試以驗證修復。
6. 確保程式碼通過 linting 和型別檢查。
7. 建立一個描述性的提交訊息。
8. 推送並建立一個 PR。
請記得使用 GitHub CLI (`gh`) 來處理所有與 GitHub 相關的任務。
將以上內容放入 .claude/commands/fix-github-issue.md
會使其在 Claude Code 中成為 /project:fix-github-issue
指令。然後您就可以使用例如 /project:fix-github-issue 1234
來讓 Claude 修復 issue #1234。同樣地,您可以將您個人的指令添加到 ~/.claude/commands
資料夾,讓這些指令在您所有的會話中都可用。
3. 嘗試常見的工作流程
Claude Code 不會強加特定的工作流程,讓您有彈性地以自己想要的方式使用它。在這份彈性所提供的空間中,我們的使用者社群中浮現了幾種成功有效使用 Claude Code 的模式:
a. 探索、規劃、編碼、提交
這個多功能的工作流程適用於許多問題:
- 要求 Claude 閱讀相關的檔案、圖片或 URL,可以提供一般性的指引(「閱讀處理日誌的檔案」)或具體的檔案名稱(「閱讀 logging.py」),但明確告訴它暫時不要寫任何程式碼。
- 這是工作流程中應考慮強力使用子智能體(subagent)的部分,特別是對於複雜問題。告訴 Claude 使用子智能體來驗證細節或調查它可能有的特定問題,尤其是在對話或任務的早期,往往能在不大幅損失效率的情況下,保留上下文的可用性。
- 要求 Claude 制定一個解決特定問題的計畫。我們建議使用「think」這個詞來觸發擴展思考模式,這會給予 Claude 額外的計算時間來更徹底地評估各種方案。這些特定片語直接對應到系統中不同層級的思考預算:「think」<「think hard」<「think harder」<「ultrathink」。每個層級都會分配 progressively 更多的思考預算供 Claude 使用。
- 如果這一步驟的結果看起來合理,您可以讓 Claude 建立一份文件或一個 GitHub issue 來記錄其計畫,這樣如果實作(步驟 3)不如預期,您可以重置到這個點。
- 要求 Claude 將其解決方案實作為程式碼。這也是一個好時機,可以要求它在實作方案的各個部分時,明確驗證其解決方案的合理性。
- 要求 Claude 提交結果並建立一個 pull request。如果相關,這也是讓 Claude 更新任何 README 或變更日誌,以解釋它剛剛做了什麼的好時機。
步驟 #1-#2 至關重要——如果沒有它們,Claude 傾向於直接跳到編寫解決方案的程式碼。雖然有時候這正是您想要的,但對於需要更深入前期思考的問題,要求 Claude 先進行研究和規劃,能顯著提高其表現。
b. 編寫測試、提交;編碼、迭代、提交
這是 Anthropic 內部偏好的一種工作流程,適用於可以透過單元測試、整合測試或端對端測試輕鬆驗證的變更。測試驅動開發(TDD)在智能體編碼的加持下變得更加強大:
- 要求 Claude 根據預期的輸入/輸出對來編寫測試。明確指出您正在進行測試驅動開發,這樣它就會避免創建模擬實作,即使是對於程式碼庫中尚不存在的功能。
- 告訴 Claude 執行測試並確認它們失敗。在這個階段明確告訴它不要寫任何實作程式碼通常很有幫助。
- 當您對測試滿意時,要求 Claude 提交測試。
- 要求 Claude 編寫能通過測試的程式碼,並指示它不要修改測試。告訴 Claude 繼續進行,直到所有測試都通過。Claude 通常需要幾次迭代來編寫程式碼、執行測試、調整程式碼,然後再次執行測試。
- 在這個階段,要求它使用獨立的子智能體來驗證實作是否過度擬合(overfitting)測試會很有幫助。
- 一旦您對變更感到滿意,要求 Claude 提交程式碼。
當 Claude 有一個清晰的目標可以迭代時——無論是視覺模型、測試案例或其他類型的輸出——它的表現最好。透過提供像測試這樣的預期輸出,Claude 可以進行變更、評估結果,並逐步改進直到成功。
c. 編寫程式碼、擷取結果螢幕截圖、迭代
與測試工作流程類似,您也可以為 Claude 提供視覺目標:
- 給 Claude 一個擷取瀏覽器螢幕截圖的方法(例如,使用 Puppeteer MCP 伺服器、iOS 模擬器 MCP 伺服器,或手動複製/貼上螢幕截圖給 Claude)。
- 透過複製/貼上或拖放圖片,或提供圖片檔案路徑來給 Claude 一個視覺模型。
- 要求 Claude 在程式碼中實作該設計,擷取結果的螢幕截圖,並進行迭代,直到其結果與模型相符。
- 當您滿意時,要求 Claude 提交。
如同人類一樣,Claude 的輸出在經過迭代後往往會顯著改善。雖然第一個版本可能不錯,但經過 2-3 次迭代後,通常看起來會好得多。給予 Claude 查看其輸出的工具,以獲得最佳結果。

d. 安全 YOLO 模式
您可以不監督 Claude,改用 claude --dangerously-skip-permissions
來繞過所有權限檢查,讓 Claude 不間斷地工作直到完成。這對於修復 lint 錯誤或生成樣板程式碼等工作流程非常有效。
讓 Claude 執行任意指令是有風險的,可能導致資料遺失、系統損壞,甚至資料外洩(例如,透過提示注入攻擊)。為了將這些風險降到最低,請在沒有網路存取的容器中使用 --dangerously-skip-permissions
。您可以參考這個使用 Docker Dev Containers 的參考實作。
e. 程式碼庫問答
在接觸新的程式碼庫時,使用 Claude Code 進行學習和探索。您可以像在結對程式設計(pair programming)時詢問專案中的其他工程師一樣,向 Claude 提出各種問題。Claude 可以代理式地搜尋程式碼庫以回答一般性問題,例如:
- 日誌系統是如何運作的?
- 我該如何建立一個新的 API 端點?
- 在
foo.rs
的第 134 行,async move { ... }
是做什麼的? CustomerOnboardingFlowImpl
處理了哪些邊界案例?- 為什麼我們在第 333 行呼叫
foo()
而不是bar()
? - 在 Java 中,相當於
baz.py
第 334 行的程式碼是什麼?
在 Anthropic,以這種方式使用 Claude Code 已成為我們核心的上手(onboarding)工作流程,顯著縮短了熟悉時間並減輕了其他工程師的負擔。不需要特別的提示技巧!只需提問,Claude 就會探索程式碼以尋找答案。

f. 使用 Claude 與 git 互動
Claude 可以有效地處理許多 git 操作。許多 Anthropic 的工程師使用 Claude 處理超過 90% 的 git 互動:
- 搜尋 git 歷史 以回答諸如「v1.2.3 版本包含了哪些變更?」、「誰是這個特定功能的所有者?」或「為什麼這個 API 是這樣設計的?」等問題。明確提示 Claude 瀏覽 git 歷史來回答這類查詢會很有幫助。
- 撰寫提交訊息。Claude 會自動查看您的變更和最近的歷史記錄,以撰寫一則考慮到所有相關上下文的訊息。
- 處理複雜的 git 操作,如還原檔案、解決 rebase 衝突,以及比較和移植補丁(grafting patches)。
g. 使用 Claude 與 GitHub 互動
Claude Code 可以管理許多 GitHub 互動:
- 建立 pull request:Claude 理解「pr」這個簡寫,並會根據差異(diff)和周圍的上下文生成適當的提交訊息。
- 對簡單的程式碼審查意見進行一次性解決:只需告訴它修復您 PR 上的評論(可選擇性地給予更具體的指示),並在完成後將變更推送回 PR 分支。
- 修復失敗的建置 或 linter 警告。
- 分類和分流(triaging)開放的 issue,透過要求 Claude 循環處理開放的 GitHub issue。
這消除了記住 gh
命令列語法的需要,同時自動化了例行任務。
h. 使用 Claude 處理 Jupyter notebook
Anthropic 的研究人員和資料科學家使用 Claude Code 來讀取和寫入 Jupyter notebook。Claude 可以解釋輸出,包括圖片,提供了一種快速探索和與資料互動的方式。沒有特定的提示或工作流程要求,但我們推薦的一個工作流程是在 VS Code 中並排開啟 Claude Code 和一個 .ipynb
檔案。
您也可以要求 Claude 在向同事展示之前,清理或美化您的 Jupyter notebook。明確告訴它要讓 notebook 或其資料視覺化「美觀」,通常有助於提醒它正在為人類的觀看體驗進行優化。
4. 優化您的工作流程
以下建議適用於所有工作流程:
a. 在指令中要具體
Claude Code 的成功率會隨著更具體的指令而顯著提高,尤其是在初次嘗試時。在開始時給予清晰的指引,可以減少之後修正路線的需要。
例如:
不佳的指令 | 良好的指令 |
---|---|
為 foo.py 新增測試 | 為 foo.py 編寫一個新的測試案例,涵蓋使用者登出時的邊界情況。避免使用模擬(mock)。 |
為什麼 ExecutionFactory 的 API 這麼奇怪? | 查看 ExecutionFactory 的 git 歷史,並總結其 API 是如何演變而來的。 |
新增一個日曆小工具 | 查看首頁上現有小工具的實作方式,以理解其模式,特別是程式碼和介面的分離方式。HotDogWidget.php 是一個很好的起始範例。然後,遵循該模式實作一個新的日曆小工具,讓使用者可以選擇月份並向前/向後翻頁以選擇年份。從頭開始建構,除了程式碼庫中已使用的函式庫外,不要使用其他函式庫。 |
Claude 能夠推斷意圖,但它無法讀懂您的心思。具體性能帶來更符合期望的結果。

b. 給 Claude 圖片
Claude 能透過多種方式出色地處理圖片和圖表:
- 貼上螢幕截圖(專家提示:在 macOS 中按 cmd+ctrl+shift+4 將螢幕截圖存到剪貼簿,然後按 ctrl+v 貼上。請注意,這不是您在 Mac 上通常用來貼上的 cmd+v,且不適用於遠端操作。)
- 拖放 圖片直接到提示輸入框。
- 提供圖片的檔案路徑。
這在處理設計稿作為 UI 開發的參考點,以及用於分析和除錯的視覺圖表時特別有用。如果您沒有將視覺資料加入上下文中,向 Claude 明確表示結果的視覺吸引力有多重要仍然會很有幫助。

c. 提及您希望 Claude 查看或處理的檔案
使用 tab 鍵自動完成功能來快速引用您儲存庫中任何地方的檔案或資料夾,幫助 Claude 找到或更新正確的資源。

d. 給 Claude URL
將特定的 URL 與您的提示一起貼上,讓 Claude 抓取和閱讀。為了避免對相同網域(例如,docs.foo.com)重複出現權限提示,請使用 /permissions
將網域添加到您的允許清單中。
e. 及早且頻繁地修正路線
雖然自動接受模式(按 shift+tab 切換)能讓 Claude 自主工作,但通常您作為一個積極的協作者並引導 Claude 的方法會得到更好的結果。您可以在一開始就向 Claude 徹底解釋任務以獲得最佳結果,但您也可以隨時修正 Claude 的路線。
這四個工具有助於修正路線:
- 在編碼前要求 Claude 制定計畫。明確告訴它在您確認其計畫可行之前不要編碼。
- 在任何階段(思考、工具調用、檔案編輯)按下 Escape 鍵中斷 Claude,同時保留上下文,以便您可以重新導向或擴充指令。
- 連按兩下 Escape 鍵跳回歷史記錄,編輯先前的提示,並探索不同的方向。您可以編輯提示並重複,直到得到您想要的結果。
- 要求 Claude 復原變更,通常與選項 #2 結合使用以採取不同的方法。
雖然 Claude Code 偶爾能在第一次嘗試就完美解決問題,但使用這些修正工具通常能更快地產生更好的解決方案。
f. 使用 /clear
保持上下文的專注
在長時間的會話中,Claude 的上下文視窗可能會充滿不相關的對話、檔案內容和指令。這會降低效能,有時還會分散 Claude 的注意力。在任務之間頻繁使用 /clear
指令來重置上下文視窗。
g. 對於複雜的工作流程,使用檢查清單和草稿區
對於有多個步驟或需要詳盡解決方案的大型任務——例如程式碼遷移、修復大量 lint 錯誤或運行複雜的建置腳本——可以透過讓 Claude 使用一個 Markdown 檔案(甚至是一個 GitHub issue!)作為檢查清單和工作草稿區來提高效能:
例如,要修復大量的 lint 問題,您可以這樣做:
- 告訴 Claude 執行 lint 指令,並將所有產生的錯誤(包括檔案名稱和行號)寫入一個 Markdown 檢查清單。
- 指示 Claude 逐一處理每個問題,在修復和驗證後將其勾選掉,然後再處理下一個。
h. 將資料傳遞給 Claude
有幾種方法可以將資料提供給 Claude:
- 複製並貼上直接到您的提示中(最常見的方法)。
- 透過管道(pipe)傳入 Claude Code(例如,
cat foo.txt | claude
),這對於日誌、CSV 和大量資料特別有用。 - 告訴 Claude 透過 bash 指令、MCP 工具或自訂斜線指令來拉取資料。
- 要求 Claude 讀取檔案或抓取 URL(對圖片也有效)。
大多數會話都涉及這些方法的組合。例如,您可以透過管道傳入一個日誌檔案,然後告訴 Claude 使用工具來拉取額外的上下文以對日誌進行除錯。
5. 使用無頭模式自動化您的基礎設施
Claude Code 包含了無頭模式,適用於非互動式情境,如 CI、pre-commit hook、建置腳本和自動化。使用 -p
旗標搭配一個提示來啟用無頭模式,並使用 --output-format stream-json
來進行串流式 JSON 輸出。
請注意,無頭模式不會在會話之間持續存在。您必須在每個會話中觸發它。
a. 使用 Claude 進行 issue 分流
無頭模式可以驅動由 GitHub 事件觸發的自動化,例如當您的儲存庫中建立了一個新的 issue。例如,公開的 Claude Code 儲存庫 就使用 Claude 來檢查新進的 issue 並指派適當的標籤。
b. 將 Claude 作為 linter 使用
Claude Code 可以提供主觀的程式碼審查,超越傳統 linting 工具所能檢測的範圍,識別出如錯別字、過時的註解、誤導性的函式或變數名稱等問題。
6. 透過多重 Claude 工作流程提升水平
除了獨立使用外,一些最強大的應用涉及並行運行多個 Claude 實例:
a. 讓一個 Claude 編寫程式碼;用另一個 Claude 進行驗證
一個簡單而有效的方法是讓一個 Claude 編寫程式碼,而另一個 Claude 則進行審查或測試。這類似於與多位工程師合作,有時擁有獨立的上下文是有益的:
- 使用 Claude 編寫程式碼。
- 執行
/clear
或在另一個終端機中啟動第二個 Claude。 - 讓第二個 Claude 審查第一個 Claude 的工作。
- 啟動另一個 Claude(或再次
/clear
)來閱讀程式碼和審查回饋。 - 讓這個 Claude 根據回饋編輯程式碼。
您可以對測試做類似的事情:讓一個 Claude 編寫測試,然後讓另一個 Claude 編寫程式碼來使測試通過。您甚至可以讓您的 Claude 實例互相溝通,方法是給它們各自獨立的工作草稿區,並告訴它們要寫入哪一個、讀取哪一個。
這種分離通常比讓單一 Claude 處理所有事情產生更好的結果。
b. 擁有多個儲存庫的 checkout
許多 Anthropic 的工程師不會等待 Claude 完成每一步,而是這樣做:
- 在不同的資料夾中建立 3-4 個 git checkout。
- 在不同的終端機分頁中開啟每個資料夾。
- 在每個資料夾中啟動 Claude,賦予不同的任務。
- 輪流切換來檢查進度並批准/拒絕權限請求。
c. 使用 git worktree
這種方法在處理多個獨立任務時表現出色,是多個 checkout 的一種更輕量級的替代方案。Git worktree 允許您將同一個儲存庫的多個分支 checkout 到不同的目錄中。每個 worktree 都有自己獨立的工作目錄和檔案,但共享相同的 Git 歷史和 reflog。
使用 git worktree 使您能夠在專案的不同部分同時運行多個 Claude 會話,每個會話都專注於其獨立的任務。例如,您可能讓一個 Claude 重構您的身份驗證系統,而另一個 Claude 則在建構一個完全不相關的資料視覺化元件。由於任務不重疊,每個 Claude 都可以全速工作,無需等待對方的變更或處理合併衝突:
- 建立 worktree:
git worktree add ../project-feature-a feature-a
- 在每個 worktree 中啟動 Claude:
cd ../project-feature-a && claude
- 根據需要建立額外的 worktree(在新的終端機分頁中重複步驟 1-2)。
一些訣竅:
- 使用一致的命名慣例。
- 每個 worktree 維持一個終端機分頁。
- 如果您在 Mac 上使用 iTerm2,設定通知 以便在 Claude 需要注意時收到提醒。
- 為不同的 worktree 使用獨立的 IDE 視窗。
- 完成後清理:
git worktree remove ../project-feature-a
d. 使用無頭模式搭配自訂框架
claude -p
(無頭模式)能以程式化的方式將 Claude Code 整合到更大的工作流程中,同時利用其內建的工具和系統提示。使用無頭模式主要有兩種模式:
- 扇出(Fanning out) 處理大型遷移或分析(例如,分析數百個日誌的情緒或分析數千個 CSV):
- 讓 Claude 編寫一個腳本來生成任務列表。例如,生成一個需要從框架 A 遷移到框架 B 的 2000 個檔案的列表。
- 循環處理任務,為每個任務以程式化方式調用 Claude,並給予它一個任務和一組它可以使用的工具。例如:
claude -p “將 foo.py 從 React 遷移到 Vue。完成後,如果成功,您必須返回字串 OK,如果任務失敗,則返回 FAIL。” --allowedTools Edit Bash(git commit:*)
- 運行腳本數次並優化您的提示以獲得期望的結果。
- 管線化(Pipelining) 將 Claude 整合到現有的資料/處理管線中:
- 調用
claude -p “<您的提示>” --json | your_command
,其中your_command
是您處理管線的下一步。 - 就是這樣!JSON 輸出(可選)可以幫助提供結構,以便於自動化處理。
對於這兩種使用情況,使用 --verbose
旗標來對 Claude 的調用進行除錯會很有幫助。我們通常建議在生產環境中關閉詳細模式以獲得更簡潔的輸出。
您在使用 Claude Code 時有什麼訣竅和最佳實踐嗎?請標記 @AnthropicAI,讓我們看看您正在打造什麼!
致謝
作者:Boris Cherny。本文汲取了廣大 Claude Code 使用者社群的最佳實踐,他們富有創意的做法和工作流程持續啟發著我們。同時特別感謝 Daisy Hollman、Ashwin Bhat、Cat Wu、Sid Bidasaria、Cal Rueb、Nodir Turakulov、Barry Zhang、Drew Hodun 以及許多其他 Anthropic 的工程師,他們寶貴的見解和對 Claude Code 的實踐經驗幫助塑造了這些建議。
相關文章
- 什麼是 Claude 2?ChatGPT 最佳替代方案,支援更長的內容與上傳檔案進行分析,完全免費快速註冊使用教學
- Nero AI Face Animation 免費上傳圖片透過 AI 技術讓照片人物可以向你微笑動起來的 AI 工具!
- LightPDF Chatdoc 結合 ChatGPT AI 分析 PDF 檔案,回答提供檔案頁碼連結可及時對照參考資料內容
- Cleanvoice AI 一個能夠清除錄音中多餘聲音的 AI 智慧工具,適用於 Podcast 後製使用
- ChatPDF 上傳 PDF 文件整合 ChatGPT 學習特定資料,讓 ChatGPT 根據檔案內容來回應你
- ChatGPT 與 HIX Chat:哪個人工智慧聊天工具比較優勝?
- TinyWow AI Write 53 種免費 AI 寫作工具,無須註冊即可免費無限制使用 AI 創作產生文章與內容
- Graphy AI 線上圖表製作工具,快速幫你產生多種具有設計感的圖表類型,並提供 AI 幫你自動總結資料數據
- ChatGPT 技巧:如何透過 Unsplash API 讓 ChatGPT 能夠產生圖片+文字的回答
- ChatDOC 結合 ChatGPT 快速分析 PDF 檔案,透過 AI 快速了解資料彙總與問答,並可支援批次檔案上傳
- Vectorizer.AI 透過 AI 技術將圖片轉換 SVG 向量圖,支援 JPEG, PNG 轉 SVG, EPS, PDF 格式免費下載
- Chat YouTube 快速摘要 YouTube 影片內容!將影片結合 ChatGPT 進行彙整與問答
新增留言