Claude-Mem:給 Claude Code 加上跨會話長期記憶

整理 Claude-Mem 的定位、工作方式和使用場景:它如何透過會話壓縮、向量檢索和 mem-search,讓 Claude Code 在跨會話開發中保留專案上下文。

Claude-Mem 是一個給 Claude Code 使用的持久化記憶系統。

它想解決的問題很具體:AI 編程助手每次開新會話時,往往會忘記之前討論過的架構決策、踩過的坑、專案偏好和實作背景。
如果一個專案做得久,每次都重新解釋上下文,非常浪費時間。

Claude-Mem 的思路是:把 Claude Code 的會話內容壓縮成記憶,存進本地資料庫和向量庫,之後再透過搜尋工具找回來。

它解決什麼問題

Claude Code 很適合處理程式碼任務,但會話上下文畢竟有限。

常見痛點包括:

  • 新會話不知道舊會話做過什麼
  • 專案裡的設計決策需要反覆解釋
  • 曾經排查過的問題容易重複踩
  • 長期任務缺少連續記憶
  • 多次對話之間很難沉澱專案知識

Claude-Mem 就是圍繞這些問題設計的。

它不是簡單保存聊天記錄,而是把會話壓縮成更容易檢索的記憶片段。這樣後續需要時,可以透過語義搜尋把相關上下文找回來。

工作方式

從 README 的設計看,Claude-Mem 主要由幾部分組成。

第一部分是 hooks。

它會接入 Claude Code 的會話流程,在合適的時機捕獲會話資料。

第二部分是後台 worker。

worker 負責把原始會話內容處理成更短、更可檢索的記憶。

第三部分是本地儲存。

專案使用 SQLite 保存結構化元資料,用 Chroma 保存向量索引。這樣既能保留會話記錄的基本資訊,也能支援語義檢索。

第四部分是 mem-search

這是給 Claude Code 使用的查詢入口。需要找回舊上下文時,可以透過它搜尋相關記憶。

整體流程可以理解為:

  1. Claude Code 會話產生內容
  2. hooks 捕獲會話資料
  3. worker 非同步壓縮和整理
  4. 記憶寫入 SQLite 與 Chroma
  5. 後續透過 mem-search 檢索

適合什麼場景

Claude-Mem 適合長期專案,而不是一次性小任務。

比如:

  • 一個倉庫持續開發很多天
  • 程式碼結構複雜,背景說明很多
  • 需要記住專案約定、命名習慣和架構選擇
  • 經常讓 Claude Code 修 Bug、寫功能、整理文件
  • 希望 AI 能記住「之前為什麼這麼改」

如果你只是臨時讓 Claude Code 改一行程式碼,長期記憶意義不大。
但如果你把 Claude Code 當作長期協作者,它就會變得有用。

安裝和啟動

README 中給出的安裝方式很直接:

1
2
npm install -g claude-mem
claude-mem install

啟動時可以使用:

1
claude-mem start

查看狀態:

1
claude-mem status

如果需要停止:

1
claude-mem stop

這些命令背後的目標,是把記憶系統作為一個長期執行的本地服務接到 Claude Code 工作流裡。

mem-search 怎麼用

mem-search 是找回記憶的關鍵入口。

它的用途不是替代普通搜尋,而是讓 Claude Code 能按語義查詢過去會話中的內容。

比如你可以讓 Claude Code 查詢:

  • 某個模組之前為什麼這樣設計
  • 某個 Bug 當時怎麼排查
  • 專案裡約定的命名規則
  • 之前討論過的技術取捨
  • 某次重構的背景原因

這種查詢和簡單關鍵字搜尋不同。
如果記憶壓縮和向量索引做得好,即使你不記得原話,也能找回相近語義的內容。

和普通專案文件有什麼區別

專案文件適合記錄穩定結論。

比如:

  • 架構說明
  • 部署流程
  • API 約定
  • 資料庫結構
  • 開發規範

Claude-Mem 更適合記錄會話過程中產生的上下文。

比如:

  • 為什麼某個方案被放棄
  • 某個臨時問題怎麼繞過
  • 某個實作背後的討論過程
  • 還沒來得及寫進文件的專案偏好
  • 多次對話裡積累出的任務背景

兩者不是互相替代。
比較好的方式是:穩定知識寫進專案文件,過程性上下文交給記憶系統輔助檢索。

使用時要注意什麼

第一,長期記憶不是越多越好。

如果所有對話都無差別保存,後續檢索可能會變得嘈雜。真正有價值的是專案決策、實作背景、問題排查和長期偏好。

第二,記憶不能替代程式碼和文件。

AI 搜到的舊上下文只能作為參考。最終判斷仍然要看目前程式碼、測試結果和最新需求。

第三,隱私和本地資料要注意。

既然它會保存會話內容,就要清楚哪些專案適合接入,哪些敏感資訊不應該進入對話。

第四,記憶系統需要維護。

隨著專案推進,舊記憶可能過時。過時的上下文如果被誤用,反而會誤導後續任務。

為什麼這類工具值得關注

AI 編程工具正在從「單次問答」走向「長期協作」。

單次問答裡,模型只要回答目前問題就夠了。
長期協作裡,它需要知道專案歷史、之前的決策、團隊偏好和已經踩過的坑。

Claude-Mem 這類工具的意義就在這裡:它把「記住上下文」從臨時聊天能力,變成一個可以安裝、執行、檢索的本地系統。

對真實工程專案來說,這比單純讓模型上下文窗口變長更實用。
因為很多資訊不是一次性塞進上下文就好,而是需要在合適的時候被找回來。

適合誰嘗試

如果你符合下面幾種情況,可以考慮試試:

  • 高頻使用 Claude Code
  • 經常跨天處理同一個專案
  • 專案上下文比較複雜
  • 經常需要向 AI 重複解釋背景
  • 想把會話裡的經驗沉澱下來

如果你只是偶爾使用 Claude Code,或者專案很小,暫時不一定需要這類系統。

參考

最後一句

Claude-Mem 的重點不是「保存聊天記錄」,而是讓 Claude Code 能在後續任務裡找回有用上下文。

當 AI 編程從一次性任務變成長期專案協作,記憶系統會越來越重要。
它不能替代文件和測試,但可以減少重複解釋,讓 AI 更像一個了解專案歷史的助手。

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計