[AI 工具] · · 20min read

【AI 初階班 #2】如何馴服 Claude Code?CLAUDE.md、Auto memory 與 Agent 完整實戰

第二堂課文字版:用 CLAUDE.md、Auto memory、Agent 三件套,把 Claude Code 從每天從零認識你的新同事,馴服成你的開發夥伴。

章節目錄 · 12
TL;DR
- 本文解決:為什麼 Claude Code 用起來「還是像個聊天機器人」,每次都要重新交代背景
- 推薦給:已經裝好 Claude Code、用過幾天但覺得「也就那樣」的工程師
- 讀完你會知道:怎麼用 CLAUDE.md 讓它記住你的角色與規矩、Auto memory 跟 CLAUDE.md 怎麼分工、怎麼派 Agent 出去做事不污染主對話、/compact--resume 的實際用法

這篇是我「初階班 第二堂:馴服 Claude Code」的文字版整理。第一堂講「裝起來」,第二堂講的是怎麼讓它越用越懂你——也就是把它從「每天從零認識你的新進同事」,馴服成你的開發夥伴。

Claude Code 官方 GitHub repo 預覽圖

---

📌 目錄

  • 為什麼 Claude Code 像個失憶的天才

  • Statusline 與 Compact:看懂對話的健康度

  • Session 三件套:claude / -c / --resume

  • .claude 資料夾與 Linux 三件套

  • 核心招式:CLAUDE.md 十大定義

  • Auto memory:他在幕後默默觀察你

  • Agent:你派出去的分身

  • MCP 是什麼,為什麼現在沒那麼紅了

  • Ultrathink:馬力歐火力全開模式

  • 常見問題

  • 延伸資源
  • ---

    🤔 為什麼 Claude Code 像個失憶的天才

    你可能也遇過這種狀況:

    • 昨天跟 Claude Code 講你的專案技術棧用 Spring Boot + MySQL,今天打開又要重講一次
    • 同一段需求每次都要附上「請用繁體中文」「不要說太棒了」這些前置
    • 它建議的程式風格跟你公司的 coding style 完全對不上
    這不是 Claude 笨,這是因為每一個新對話 session 對它來說就是一個全新的人——前一段聊天的記憶,預設不會帶到下一段。

    第二堂課要解決的就是這件事:有什麼方法可以讓 Claude「持續記住你」

    答案有四個層級,由淺到深:

  • /compact--resume單一對話的延續

  • CLAUDE.md角色與規矩的長期記憶

  • Auto memory:Claude 自動觀察你的習慣

  • Agent:派出去的分身,獨立有自己的記憶與專長
  • 接下來逐個拆。

    ---

    ⚡ Statusline 與 Compact:看懂對話的健康度

    打開 Claude Code 之後,你應該會看到畫面下方有一條狀態列,長得像這樣:

    [Sonnet 4.6] context: 6% / cost: $0.12 / cwd: ~/workspace/myproject

    這條叫做 statusline。它告訴你三件最重要的事:

    • 目前用什麼模型(Sonnet / Haiku / Opus)
    • 上下文用掉了多少%(context: 6% 表示 token 還很空)
    • 目前的工作目錄(cwd)
    要打開或客製這條狀態列,輸入 /statusline 就會跳出設定流程。它本質上就是一個儀表板——你可以把任何提示詞或環境資訊塞進去,每次按 enter 都會看到。

    為什麼要看 context 百分比

    當對話越聊越久,context 會從 6% 慢慢漲到 60%、70%——到 100% 的時候 Claude 就會開始「忘記」前面講過的東西

    這時候有兩條路:

    路線 A:壓縮對話

    /compact

    它會把前面的對話濃縮成一段摘要,從 70% 壓回 15-20%,繼續聊還能用。

    路線 B:開新對話 + 帶記憶過去

    如果話題已經換了,乾脆直接開新對話,但用 --resume 把舊的搬過來(下一段講)。

    隨手提示功能

    你有沒有發現問完一個問題後,畫面右下角會跳出「那 Apple 呢?」之類的提示?這是 Claude 內建的「下一個問題建議」——按右鍵就直接送出。寫程式或做 PM 規畫時這個特別好用,因為有邏輯的問題它能一路接著你問下去

    ---

    🔄 Session 三件套:claude / -c / --resume

    「為什麼每次打開 Claude Code 都不記得我們上次聊什麼?」

    因為每一次離開(按 Ctrl+C/exit),就建立了一個新的 session。session 是綁在你當下的工作目錄上的。在 ~/workspace/projectA 開的對話,跟在 ~/workspace/projectB 開的對話,是兩個獨立的記憶空間。

    進入 Claude Code 有三種方式,對應不同需求:

    指令用途什麼時候用
    claude開全新對話換新任務 / 不想被舊對話污染
    claude -c接續上一次對話昨天聊到一半,今天回來繼續
    claude --resume列出歷史 sessions 挑一個想找三天前那次聊的某個東西

    一個關鍵的小常識

    對話實際上存在你的電腦裡,不是純雲端:

    ~/.claude/projects/<encoded-path>/<session-id>.jsonl

    每個資料夾路徑會被編碼成一個目錄名稱,裡面每一個 .jsonl 檔就是一段對話。

    這代表兩件事:

  • 想找舊對話可以用 grep 直接搜檔案內容

  • session 是綁在「你打開 Claude Code 時所在的資料夾」——如果你習慣每次都從 home 目錄打 claude,所有對話都會混在一起。強烈建議:先 cd 到專案資料夾再開,未來找對話會輕鬆很多
  • ---

    📁 .claude 資料夾與 Linux 三件套

    要學會 Claude Code 進階用法,至少要會三個 Linux 指令

    pwd     # 我現在在哪裡?(Print Working Directory)
    ls      # 這個資料夾裡有什麼?(List)
    cd      # 切換到別的資料夾(Change Directory)

    退一層:cd ..
    回家:cd ~

    為什麼非學不可? 因為 Claude Code 的記憶是綁資料夾的,你必須要會切換目錄,才能讓不同專案的對話分開。

    .claude/ 資料夾長什麼樣

    打開 ~/.claude/,你會看到大概這幾個東西:

    ~/.claude/
    ├── CLAUDE.md        ← 全域的「我是誰」設定(重點!)
    ├── agents/          ← 你自己寫的 agent
    ├── projects/        ← 所有對話歷史(按資料夾分)
    ├── memory/          ← Auto memory 自動寫入的記憶
    └── settings.json    ← 個人設定(statusline、allowedTools)

    今天的回家作業就是寫 CLAUDE.md,下面詳細講。

    ---

    🧠 核心招式:CLAUDE.md 十大定義

    這是第二堂課最重要的一段。

    CLAUDE.md 是一份你寫給 Claude 看的長期備忘錄,每次它啟動都會讀一次。等於你雇了一個新員工,但這個員工每天上班的第一件事是看你的「員工手冊」——你寫得越具體,他越像你的人。

    寫在哪裡?分層機制

    CLAUDE.md 有三層,由上往下疊加讀取(不是覆蓋):

    層級位置用途
    全域~/.claude/CLAUDE.md你這個人的偏好(語氣、技術棧、不要奉承)
    專案/CLAUDE.md這個專案特有的規矩(API 路徑、資料庫表名)
    Local/CLAUDE.local.md不想 commit 的私人筆記(已被 gitignore)
    讀取順序:全域 → 專案 → Local,越下層越具體,但不會把上層蓋掉——它們會一起被當成 Claude 的背景知識。

    十大定義(建議的內容結構)

    不知道從哪裡開始寫?把下面這十項當 checklist,每一項一段,就是一份完整的 CLAUDE.md:

    #定義範例
    1角色定義我是資深後端工程師,希望 Claude 是我的開發夥伴
    2上下文引導工作場景、固定技術棧(Spring Boot、React、MySQL)
    3語氣繁體中文、簡潔、不要說「太棒了」
    4任務描述我會問什麼類型的問題(debug、設計、寫測試)
    5給予範例我喜歡的 commit message 格式、程式碼風格
    6需要處理的數據預期輸入長怎樣(JSON schema、表結構)
    7即時任務回覆預期30 秒內給結論、動手前先確認
    8處理問題的步驟先寫測試、再寫實作、最後 review
    9輸出格式用 markdown、code block 標語言
    10補充說明不要主動 commit、不要過度設計
    我自己的 CLAUDE.md 大概 100 多行,常駐的就有「請吐槽我的爛想法」「動手前先 30 秒給方向」這幾條——這些原本每次對話都要重打的話,現在自動帶入

    ---

    👻 Auto memory:他在幕後默默觀察你

    CLAUDE.md 是你主動寫給 Claude 的設定。Auto memory 是他自動觀察你並寫下來的記憶。

    兩者搭配的邏輯:

    • CLAUDE.md = 履歷上明文寫的「我是誰、我要什麼」
    • Auto memory = 同事相處久了發現「噢這人喜歡這樣那樣」
    你跟 Claude 聊天的過程中,他會默默把「你的身家背景、偏好、踩過的坑」記錄在 ~/.claude/projects//memory/ 底下。下一次你問問題時,他會把相關記憶自動撈出來當 context。

    為什麼這個很有感

    第一堂課之後,我在課程的兩週之間天天用 Claude Code,第二堂上課時打開 ~/.claude/projects/.../memory/MEMORY.md,已經自動寫了七八條:

    • feedback_file_paths.md — 提到檔案要給絕對路徑
    • feedback_pdf_export.md — headless Chrome 不能指定 A3,要用 puppeteer
    • user_teaching_style.md — 上課風格:分享會式口語、demo 4 件套
    沒有主動叫他寫這些——是某次我糾正他「你這路徑寫錯了,要絕對路徑啊」之後,他自己存下來的。

    怎麼關掉(如果你不想要)

    export CLAUDE_CODE_DISABLE_AUTO_MEMORY=1

    預設是開的。但說實話我從來沒關過——這是 Claude Code 跟其他 AI 工具最不同的地方之一。

    ---

    🤖 Agent:你派出去的分身

    這是第二堂課的另一個重頭戲。

    為什麼需要 Agent

    想像你是一個專案經理:你不會自己一個人寫前端、寫後端、做 UI 設計、做資安檢查——你會派不同的人去做不同的事

    Claude Code 的 agent 就是同樣的概念。每個 agent 是一個帶有專業 prompt 的子代理人,有自己的 context、不會污染主對話

    實際好處:

    • 主對話保持乾淨:派 agent 去看 100 個檔案做 code review,主對話只會收到「結論」這一段
    • 專業知識封裝:iOS 開發的 agent 帶著 iOS 相關的所有 best practice prompt
    • 可以平行派多個:UIUX agent + SA agent 可以同時討論一個需求,再把結論回傳

    手把手 demo:建一個「會修投影機的人」

    打開斜線指令 /agents,選 User scope(全域可用):

  • 描述這個人的職責 — 用中文也可以:「你是一個資深投影機技術師,有 15 年機械維修經驗」

  • 選模型 — Sonnet(一般用)、Opus(要動腦的)、Haiku(快速量大)

  • 給工具權限 — 可以讀檔、寫檔、跑指令到什麼程度

  • 挑顏色 — 派他出去工作時主對話會顯示這個顏色,視覺上分得出來
  • 完成後 Claude 會幫你自動生出完整的 prompt 框架,存在 ~/.claude/agents/projector-fixer.md,你再去微調內容就好。

    下次如果你說「幫我看一下投影機問題」,Claude 會自動偵測到、跳出來說「我有一個專家可以處理這個」。

    派多個 agent 互相討論

    進階玩法:你可以叫主對話派兩個 agent 去開會

    請我的 UIUX agent 跟 SA agent 先互相討論這個需求,
    討論完之後再給我結論。

    主畫面會看到兩個顏色的 agent 互相發言、辯論,最後吐出一個共識結論——很像真的看兩個專家在 review。

    我自己的踩坑經驗

    不太推薦從零自己寫 agent——很花時間,而且品質不如現成的。

    更快的方式:到網路上找別人寫好的,貼網址給 Claude,叫他幫你裝

    這個 agent 我覺得寫得不錯:
    https://github.com/wshobson/agents/blob/main/agents/security-reviewer.md
    請幫我加進來

    它會自己去 fetch、解析、寫進 ~/.claude/agents/ 裡面。

    反模式:建太多重複的 agent。如果你有五個「工程師」agent,每次跑會隨機挑一個,結果品質根本沒保證。保持精簡,每個職責只留一個。

    ---

    🔌 MCP 是什麼,為什麼現在沒那麼紅了

    MCP = Model Context Protocol(模型上下文協議)。

    它的概念很單純:任何人都可以寫一個外部工具,只要符合協議,Claude Code 就可以接進來用。像是電源插座的標準,符合規格的東西都能插。

    為什麼一開始很紅、現在比較冷

    MCP 剛出來的時候,因為 Claude Code 本體還缺很多功能,所以社群馬上做出一堆 MCP server 來補:

    • 連資料庫的 MCP
    • 操作瀏覽器的 MCP
    • 跨 session 記憶的 MCP
    但 Anthropic 後來把這些常見功能都直接做進 Claude Code了——Auto memory、Bash 工具、WebFetch ⋯⋯ 一個一個被內建吃掉,導致需要 MCP 的場景越來越少。

    現在還用 MCP 的場景

    我自己還在用的:

    • Playwright MCP — 控制瀏覽器,比官方那個穩定很多
    • 記憶宮殿類 MCP — 上個月才出的,跨 session 記憶用 RAG 撈
    結論:MCP 不會死,但你不用一開始就學。等遇到「Claude Code 內建做不到、外部社群有現成解」的時候再學,不會晚。

    ---

    🚀 Ultrathink:馬力歐火力全開模式

    收尾講一個我最近超愛用的關鍵字:ultrathink

    平常 Claude Code 跑 task 會考量 token 成本、控制思考時間。但你只要在 prompt 裡加上 ultrathink

    這個架構設計幫我想清楚,ultrathink。

    它會直接進入「不算 token、用盡全力思考」模式。模型發揮 4.7 版的最大功力,可能跑很久(30 秒到幾分鐘),但回覆品質非常驚人。

    什麼時候用:

    • ✅ 架構決策、設計取捨
    • ✅ 棘手 bug 找根因
    • ✅ 寫長文、複雜重構規畫
    什麼時候不用:
    • ❌ 改個 typo
    • ❌ 跑 npm install
    • ❌ 一般日常任務(會超殺雞用牛刀)
    我自己 99% 任務不用 ultrathink,但真的需要它的時候它非常頂。前提是你得買得起 token(Pro plan 以上)。

    ---

    ❓ 常見問題

    CLAUDE.md 跟 Auto memory 的差別是什麼?

    CLAUDE.md你主動寫的角色與規矩,每次 Claude 啟動都會讀。Auto memory 是 Claude 自動觀察你之後存下來的偏好筆記,存在 ~/.claude/projects//memory/。前者是設定,後者是記憶——兩個一起用效果最好。

    對話會永遠存著嗎?儲存在哪裡?

    存在你的電腦本機:~/.claude/projects//.jsonl不是純雲端。所以你可以用 grep 搜舊對話內容。理論上沒上限,但建議偶爾整理(移除超過半年沒用的 session)。

    Agent 跟主對話會吃同一個 context 嗎?

    不會。Agent 是獨立的子對話,主對話派任務出去之後,agent 自己跑、自己用自己的 context,最後把結論回傳給主對話。這就是為什麼派 agent 可以保持主對話乾淨。

    我每天都用 Claude Code,要選哪個 plan?

    我自己一開始用 \$20 Pro,兩天就把 token 用完了直接升到 \$200 Max。如果你只是偶爾用,Pro 夠;如果你每天 8 小時開著它寫 code、派 agent,Max 比較划算(額度大概是 Pro 的 20 倍)。先用 Pro 一週看 token 消耗再決定。

    Ultrathink 真的會花更多錢嗎?

    會。它會「不限制思考 token」,所以一個 ultrathink prompt 的成本可能是普通 prompt 的 5-10 倍。建議只用在真的需要深度思考的地方——架構設計、棘手 debug——不要拿來跑日常任務。

    我可以同時用 Claude Code 跟 Cursor 嗎?

    可以,兩個是不衝突的。差別在於:Cursor 是 GUI 為主、適合在 IDE 裡寫 code;Claude Code 是 CLI 為主、可以跑 agent / 排程任務 / 接 cron。我自己兩個都用,Cursor 寫 code、Claude Code 做工作流

    ---

    🔗 延伸資源

    ---
    我輩修行之人,以聖的標準要求自己,以凡的眼光理解別人。
    author
    陳彥彤

    AI 工程師 · AI 顧問。Java 後端 8 年、AI 工程師 2 年。AI 內訓 · AI 導入顧問 · 前後端與雲端培訓。

    support

    覺得文章有用可以到 GitHub 給個 star,或是透過信箱聊聊 AI 內訓、AI 導入顧問或前後端 / 雲端培訓。