代理迴圈
當您給 Claude 一項任務時,它會經歷三個階段:收集上下文、採取行動和驗證結果。這些階段相互融合。Claude 始終使用工具,無論是搜尋檔案以了解您的程式碼、編輯以進行變更,還是執行測試以檢查其工作。模型
Claude Code 使用 Claude 模型來理解您的程式碼並推理任務。Claude 可以讀取任何語言的程式碼、理解元件如何連接,以及找出需要改變什麼來完成您的目標。對於複雜任務,它將工作分解為步驟、執行它們,並根據學到的內容進行調整。 多個模型可用,具有不同的權衡。Sonnet 可以很好地處理大多數編碼任務。Opus 為複雜的架構決策提供更強的推理能力。在會話期間使用/model 切換,或使用 claude --model <name> 開始。
當本指南說「Claude 選擇」或「Claude 決定」時,是模型在進行推理。
工具
工具是使 Claude Code 成為代理的原因。沒有工具,Claude 只能用文字回應。有了工具,Claude 可以採取行動:讀取您的程式碼、編輯檔案、執行命令、搜尋網路,以及與外部服務互動。每個工具使用都會返回資訊,反饋到迴圈中,告知 Claude 的下一個決定。 內建工具通常分為五個類別,每個類別代表不同類型的代理能力。| 類別 | Claude 可以做什麼 |
|---|---|
| 檔案操作 | 讀取檔案、編輯程式碼、建立新檔案、重新命名和重新組織 |
| 搜尋 | 按模式查找檔案、使用正規表達式搜尋內容、探索程式碼庫 |
| 執行 | 執行 shell 命令、啟動伺服器、執行測試、使用 git |
| 網路 | 搜尋網路、擷取文件、查詢錯誤訊息 |
| 程式碼智能 | 編輯後查看類型錯誤和警告、跳轉到定義、查找參考(需要程式碼智能外掛程式) |
- 執行測試套件以查看失敗的內容
- 讀取錯誤輸出
- 搜尋相關的原始檔案
- 讀取這些檔案以理解程式碼
- 編輯檔案以修復問題
- 再次執行測試以驗證
Claude 可以存取什麼
本指南重點介紹終端機。Claude Code 也在 VS Code、JetBrains IDE 和其他環境中執行。 當您在目錄中執行claude 時,Claude Code 可以存取:
- 您的專案。 您目錄和子目錄中的檔案,以及其他地方經您許可的檔案。
- 您的終端機。 您可以執行的任何命令:建置工具、git、套件管理器、系統公用程式、指令碼。如果您可以從命令列執行,Claude 也可以。
- 您的 git 狀態。 目前分支、未提交的變更和最近的提交歷史。
- 您的 CLAUDE.md。 一個 markdown 檔案,您可以在其中儲存專案特定的指示、慣例和 Claude 應該在每個會話中知道的上下文。
- 自動記憶。 Claude 在您工作時自動儲存的學習內容,例如專案模式和您的偏好。MEMORY.md 的前 200 行在每個會話開始時載入。
- 您設定的擴展。 用於外部服務的 MCP servers、用於工作流程的 skills、用於委派工作的 subagents,以及用於瀏覽器互動的 Claude in Chrome。
環境和介面
上述代理迴圈、工具和功能在您使用 Claude Code 的任何地方都是相同的。改變的是程式碼執行的位置以及您與它互動的方式。執行環境
Claude Code 在三個環境中執行,每個環境對程式碼執行位置有不同的權衡。| 環境 | 程式碼執行位置 | 使用案例 |
|---|---|---|
| 本機 | 您的機器 | 預設。完全存取您的檔案、工具和環境 |
| 雲端 | Anthropic 管理的 VM | 卸載任務、處理您本機沒有的儲存庫 |
| 遠端控制 | 您的機器,從瀏覽器控制 | 使用網路 UI,同時保持一切本機 |
介面
您可以透過終端機、桌面應用程式、IDE 擴展、claude.ai/code、遠端控制、Slack 和 CI/CD 管道存取 Claude Code。介面決定了您如何看到和與 Claude 互動,但底層代理迴圈是相同的。請參閱在任何地方使用 Claude Code 以取得完整清單。使用會話
Claude Code 在您工作時將您的對話儲存在本機。每條訊息、工具使用和結果都被儲存,這使得重新開始、恢復和分叉會話成為可能。在 Claude 進行程式碼變更之前,它還會快照受影響的檔案,以便您在需要時可以還原。 會話是獨立的。 每個新會話都以新的上下文視窗開始,沒有來自先前會話的對話歷史。Claude 可以使用自動記憶跨會話保留學習內容,您可以在 CLAUDE.md 中新增自己的持久指示。跨分支工作
每個 Claude Code 對話都是綁定到您目前目錄的會話。當您恢復時,您只會看到該目錄中的會話。 Claude 看到您目前分支的檔案。當您切換分支時,Claude 看到新分支的檔案,但您的對話歷史保持不變。Claude 記得您討論過的內容,即使在切換後也是如此。 由於會話綁定到目錄,您可以使用 git worktrees 執行平行 Claude 會話,這會為個別分支建立單獨的目錄。恢復或分叉會話
當您使用claude --continue 或 claude --resume 恢復會話時,您使用相同的會話 ID 從中斷的地方繼續。新訊息附加到現有對話。您的完整對話歷史被還原,但會話範圍的許可不被還原。您需要重新批准這些。
--fork-session 旗標:
--fork-session 為每個終端機提供自己的乾淨會話。
上下文視窗
Claude 的上下文視窗保存您的對話歷史、檔案內容、命令輸出、CLAUDE.md、自動記憶、載入的 skills 和系統指示。當您工作時,上下文會填滿。Claude 會自動壓縮,但對話早期的指示可能會丟失。將持久規則放在 CLAUDE.md 中,並執行/context 以查看什麼在使用空間。
當上下文填滿時
Claude Code 在您接近限制時自動管理上下文。它首先清除較舊的工具輸出,然後在需要時總結對話。您的請求和關鍵程式碼片段被保留;對話早期的詳細指示可能會丟失。將持久規則放在 CLAUDE.md 中,而不是依賴對話歷史。 要控制在壓縮期間保留的內容,請在 CLAUDE.md 中新增「Compact Instructions」部分或使用焦點執行/compact(如 /compact focus on the API changes)。
執行 /context 以查看什麼在使用空間。MCP servers 將工具定義新增到每個請求,因此幾個伺服器在您開始工作之前可能會消耗大量上下文。執行 /mcp 以檢查每個伺服器的成本。
使用 skills 和 subagents 管理上下文
除了壓縮,您可以使用其他功能來控制什麼載入到上下文中。 Skills 按需載入。Claude 在會話開始時看到 skill 描述,但完整內容只在使用 skill 時載入。對於您手動呼叫的 skills,設定disable-model-invocation: true 以將描述保留在上下文之外,直到您需要它們。
Subagents 獲得自己的新上下文,完全與您的主要對話分開。他們的工作不會使您的上下文膨脹。完成後,他們返回摘要。這種隔離是 subagents 在長會話中有幫助的原因。
請參閱上下文成本以了解每個功能的成本,以及減少令牌使用以獲得管理上下文的提示。
使用檢查點和許可保持安全
Claude 有兩個安全機制:檢查點讓您撤銷檔案變更,許可控制 Claude 可以在不詢問的情況下執行的操作。使用檢查點撤銷變更
每個檔案編輯都是可逆的。 在 Claude 編輯任何檔案之前,它會快照目前內容。如果出現問題,按Esc 兩次以重新開始到先前狀態,或要求 Claude 撤銷。
檢查點是會話本機的,與 git 分開。它們只涵蓋檔案變更。影響遠端系統的操作(資料庫、API、部署)無法檢查點,這就是為什麼 Claude 在執行具有外部副作用的命令之前詢問。
控制 Claude 可以做什麼
按Shift+Tab 循環通過許可模式:
- 預設:Claude 在檔案編輯和 shell 命令之前詢問
- 自動接受編輯:Claude 編輯檔案而不詢問,仍然詢問命令
- Plan Mode:Claude 僅使用唯讀工具,建立您可以在執行前批准的計畫
- Auto mode:Claude 使用背景安全檢查評估所有操作。目前是研究預覽
.claude/settings.json 中允許特定命令,以便 Claude 不會每次都詢問。這對於受信任的命令(如 npm test 或 git status)很有用。設定可以從組織範圍的政策範圍到個人偏好。請參閱許可以取得詳細資訊。
有效使用 Claude Code
這些提示可幫助您從 Claude Code 獲得更好的結果。向 Claude Code 尋求幫助
Claude Code 可以教您如何使用它。提出問題,例如「我如何設定 hooks?」或「構建我的 CLAUDE.md 的最佳方式是什麼?」,Claude 會解釋。 內建命令也會引導您完成設定:/init引導您為您的專案建立 CLAUDE.md/agents幫助您設定自訂 subagents/doctor診斷您的安裝的常見問題
這是一個對話
Claude Code 是對話式的。您不需要完美的提示。從您想要的開始,然後細化:中斷和引導
您可以在任何時刻中斷 Claude。如果它走錯了路,只需輸入您的更正並按 Enter。Claude 將停止正在執行的操作,並根據您的輸入調整其方法。您不必等待它完成或重新開始。預先具體
您的初始提示越精確,您需要的更正就越少。參考特定檔案、提及約束,並指出範例模式。給 Claude 一些東西來驗證
Claude 在能夠檢查自己的工作時表現更好。包括測試案例、貼上預期 UI 的螢幕截圖,或定義您想要的輸出。在實現之前探索
對於複雜的問題,將研究與編碼分開。使用計畫模式(按Shift+Tab 兩次)首先分析程式碼庫:
委派,不要指示
想像委派給一位能力強大的同事。提供上下文和方向,然後相信 Claude 會找出詳細資訊:接下來
使用功能擴展
新增 Skills、MCP 連接和自訂命令
常見工作流程
典型任務的逐步指南