Clawdbot 記憶系統深度解析:AI 如何記住你的一切
深入解析 Clawdbot 的記憶系統架構:從 Context 與 Memory 的差異、兩層記憶結構、向量搜尋機制,到 Compaction 壓縮與 Memory Flush 防丟失機制,完整了解 AI 助理如何實現 24/7 持久記憶。
什麼是 AI 記憶系統?
AI 記憶系統是讓 AI 助理能夠跨對話、跨時間保留重要資訊的機制,使得每次對話不再是從零開始,而是能延續之前的脈絡與決策。
與 ChatGPT 或 Claude 的雲端記憶不同,Clawdbot 採用完全本地化的記憶架構:
- 所有記憶以 Markdown 檔案 儲存在本機
- 使用者擁有完整的資料控制權
- 可手動編輯、版本控制
- 支援語意搜尋快速檢索
Context vs Memory:關鍵差異
理解 Clawdbot 記憶系統的第一步,是區分 Context(上下文) 與 Memory(記憶)。
Context(上下文)
Context 是模型在單次請求中看到的所有內容:
1 | Context = System Prompt + 對話歷史 + 工具結果 + 附件 |
| 特性 | 說明 |
|---|---|
| 短暫性 | 僅存在於當次請求 |
| 有限制 | 受模型 Context Window 限制(如 200K tokens) |
| 有成本 | 每個 token 都計入 API 費用 |
Memory(記憶)
Memory 是儲存在磁碟上的持久資料:
1 | Memory = MEMORY.md + memory/*.md + Session 記錄 |
| 特性 | 說明 |
|---|---|
| 持久性 | 重啟後仍然存在,可保留數月、數年 |
| 無限制 | 可無限成長 |
| 低成本 | 儲存不產生 API 費用 |
| 可搜尋 | 透過向量索引進行語意檢索 |
兩層記憶架構
Clawdbot 採用兩層記憶系統,分別處理短期與長期記憶:
1 | ~/clawd/ |
Layer 1:每日筆記 (memory/YYYY-MM-DD.md)
這是 AI 在一天中持續記錄的筆記,採用 Append-only 模式:
1 | # 2026-01-27 |
寫入時機:
- 使用者說「記住這個」
- AI 判斷為重要資訊
- 系統自動觸發(Compaction 前)
Layer 2:長期記憶 (MEMORY.md)
這是經過整理的持久知識庫:
1 | # Long-term Memory |
寫入時機:
- 重大決策
- 長期有效的偏好設定
- 重要的學習經驗
記憶工具
Clawdbot 透過兩個專用工具存取記憶:
memory_search:語意搜尋
搜尋所有記憶檔案,找出相關內容:
1 | { |
回傳結果:
1 | { |
memory_get:讀取特定內容
根據搜尋結果讀取完整內容:
1 | { |
向量索引機制
當記憶檔案被儲存時,Clawdbot 會自動建立向量索引:
1 | 1. 檔案儲存 |
混合搜尋策略
Clawdbot 同時使用兩種搜尋策略:
| 策略 | 用途 | 權重 |
|---|---|---|
| Vector Search | 語意相似(「那個資料庫的事」) | 70% |
| BM25 Keyword | 精確匹配(「POSTGRES_URL」) | 30% |
最終分數計算:
1 | finalScore = (0.7 × vectorScore) + (0.3 × textScore) |
這確保無論搜尋概念性問題還是精確關鍵字,都能獲得好結果。
Compaction:Context 壓縮
當對話接近 Context Window 限制時,Clawdbot 會觸發 Compaction:
1 | 壓縮前: |
手動觸發
1 | /compact 專注於決策和待解問題 |
Memory Flush:防丟失機制
Compaction 是有損壓縮,可能遺失重要資訊。為了解決這個問題,Clawdbot 在壓縮前會執行 Memory Flush:
1 | Context 接近上限(75%) |
這確保即使對話被壓縮,關鍵決策和資訊也不會丟失。
多代理記憶隔離
Clawdbot 支援多個獨立代理,每個代理擁有獨立的記憶空間:
1 | ~/.clawdbot/memory/ |
應用場景:
- 「個人」代理用於 WhatsApp 私人對話
- 「工作」代理用於 Slack 工作討論
- 各自擁有獨立的記憶與個性
實際應用範例
範例 1:專案決策追蹤
1 | 你:我們之前選了什麼資料庫? |
範例 2:偏好記憶
1 | 你:幫我寫一段程式碼 |
範例 3:跨日脈絡延續
1 | 你:昨天那個 Bug 修好了嗎? |
常見問題 FAQ
Q1:記憶檔案可以手動編輯嗎?
可以。所有記憶都是純 Markdown 檔案,你可以直接用任何編輯器修改。修改後 Clawdbot 會自動重新索引。
Q2:記憶會佔用多少空間?
記憶檔案本身很小(純文字)。向量索引儲存在 SQLite 檔案中,通常每個代理幾 MB 到幾十 MB。
Q3:如何備份記憶?
整個 ~/clawd/ 工作區都是普通檔案,可以用 Git 版本控制,或任何備份工具備份。
Q4:多久清理一次舊記憶?
Clawdbot 不會自動刪除記憶。你可以手動清理過時的 daily log,重要資訊應該已經整理到 MEMORY.md。
Q5:記憶搜尋的準確度如何?
混合搜尋(向量 + BM25)在大多數情況下表現良好。如果搜尋結果不理想,可以調整 minScore 閾值或使用更精確的關鍵字。
結語
Clawdbot 的記憶系統體現了幾個重要設計原則:
- 透明勝過黑箱:記憶是純 Markdown,可讀、可編輯、可版本控制
- 搜尋勝過注入:按需檢索相關記憶,而非塞滿整個 Context
- 持久勝過臨時:重要資訊寫入檔案,不怕對話被壓縮
- 混合勝過單一:向量 + 關鍵字搜尋,兼顧語意與精確匹配
對於需要長期記憶的 AI 助理應用場景,Clawdbot 的本地化記憶架構提供了一個透明、可控、且有效的解決方案。
參考連結:




