筆記目錄

Skip to content

Vibe Coding 的新手體驗 - Claude Code on Desktop

TLDR

  • 隔離機制:Claude Code 會在 .claude-worktrees 目錄下建立專案副本與隨機分支,確保原始專案安全。
  • Session 管理:若連線中斷或出現 401 錯誤,舊 Session 將無法恢復,且新 Session 會建立全新的隔離環境,導致 Context 歸零。
  • 規範配置:不要依賴 AI 對 Markdown 檔案的自動引用,應採用分層管理(Global, Project, Modular, Local)並直接將規範內容寫入 CLAUDE.md
  • Git 操作建議:避免讓 AI 自動執行複雜的 Git 指令(如 rebase),若需操作,請明確提供 Commit Hash,並注意 AI 的快照機制可能覆蓋手動修改。
  • 效能與額度:Desktop 版本存在操作延遲,需避免重複輸入導致額度浪費;建議將簡單任務(如 Commit Message)交給低成本模型,將 Claude 額度留給需要深度專案理解的任務。

Claude Code on Desktop 運作機制

Claude Code on Desktop 透過隔離環境運作,當選擇一個 Repository 後,它會在使用者資料夾下的 .claude-worktrees 目錄中建立一個與專案同名的資料夾,並在其中產生一個隨機名稱的子資料夾(包含專案完整副本)與隨機名稱的 Git Branch。所有的修改皆發生在此隔離環境中,確保原始專案不受影響。

遇到的問題與地雷

1. 對話工作階段 (Session) 無法延續

  • 發生情況:當操作閒置過久,或出現 401 Unauthorized 錯誤導致連線中斷時。
  • 問題分析:舊的 Session 無法恢復,且開啟新 Session 時,系統會強制在 .claude-worktrees 建立全新的隔離環境,導致所有上下文(Context)歸零。

2. 上下文理解的邏輯矛盾

  • 發生情況:當嘗試透過引用外部 Markdown 檔案來設定 Coding Style 或 Commit 規範時。
  • 問題分析:AI 對於「載入時讀取」與「執行時讀取」的說法常出現幻覺。實測發現,AI 並不會自動讀取 CLAUDE.md 中連結的其他 Markdown 檔案。
  • 建議做法:採用分層管理方式,並將規範內容直接「複製貼上」至 CLAUDE.md 本體。

CLAUDE.md 配置最佳實務

根據官方建議,應採用以下分層管理:

  • 全域設定 (Global)~/.claude/CLAUDE.md,適用於所有 Session。
  • 專案設定 (Project):專案根目錄下的 .claude/CLAUDE.md(推薦)。
  • 模組化規則 (Modular Rules).claude/rules/*.md,將不同規範拆分。
  • 本地覆寫 (Local Override)./CLAUDE.local.md,務必搭配 .gitignore 避免提交。

TIP

Claude Code 具備智慧讀取機制,當 Agent 涉及到特定子目錄時,會自動讀取該目錄下的 CLAUDE.md,實現局部上下文控制。

3. Git 操作的笨拙與衝突

  • 發生情況:讓 AI 自動執行 Git 變更或處理衝突時。
  • 問題分析:AI 可能會繞遠路執行複雜指令,導致 Git 線圖混亂。此外,AI 的快照機制可能在失敗後,直接用舊快照覆蓋開發者手動修正的內容。
  • 建議做法
    • 直接提供 Commit Hash 給 AI,避免模糊指令。
    • 複雜的 Git 操作(如 rebase)建議由開發者手動執行。

4. 效能延遲 (Lag)

  • 發生情況:在 Desktop 版本操作時,介面反應較慢。
  • 問題分析:因介面延遲導致重複輸入,可能造成訊息重複發送,進而導致額度被重複消耗。

結語:多模型協作策略

開發者應根據模型的擅長點與成本進行分工,以優化開發效率:

  • 複雜專案理解:使用 Claude Code。
  • 一般技術問題:使用 Gemini 或其他模型。
  • 簡單任務(如 Commit Message):使用低成本模型,避免浪費 Claude 額度。

異動歷程

  • 2026-01-06 初版文件建立。
  • 2026-01-07 補充公佈的官方 CLAUDE.md 配置最佳實務與上下文繼承機制說明。