← 返回基礎知識
04 · 記憶系統

四層記憶與向量檢索

記憶是 OpenClaw 區別於普通 Chatbot 的核心能力。從不可變的身份內核到即時對話,四層記憶構建完整的上下文連續性。

四層記憶架構

層級存儲位置生命週期說明
SOULSOUL.md永久不可變Agent 人格、價值觀、核心身份,創建後不應被修改
TOOLSSkills + Extensions按需加載當前可用工具與技能,動態變化
USERMEMORY.md + 向量庫持久化關於用戶的偏好、決策、歷史事實,支援語義搜尋
Session內存 + sessions.json會話級當前對話上下文,Token 耗盡時被壓縮

Daily Logs 日誌系統

每天的互動以 append-only 方式寫入 memory/YYYY-MM-DD.md。Session 開始時 Agent 自動讀取今天與昨天的日誌,為對話提供連續性。

# memory/2026-03-08.md

## 10:23 - 用戶詢問天氣
查詢了北京天氣,回覆晴轉多雲,15-22°C

## 14:05 - 代碼審查任務
幫用戶審查了 api/routes.ts,發現 3 個潛在問題...

自動記憶:Pre-Compaction

當 Session 接近 token 上限(預設約 4000 tokens)時,OpenClaw 觸發一個 silent agentic turn:1) 檢測閾值;2) 在後台執行隱藏 turn 將重要記憶寫入 MEMORY.md 與 Daily Log;3) 壓縮舊上下文,用戶看不到(回傳 NO_REPLY)。這保證即使對話極長,關鍵資訊也不會丟失。

向量記憶搜尋

策略原理擅長
Embedding 向量將文本轉為向量,計算語義相似度模糊搜尋、語義關聯
BM25 關鍵詞TF-IDF 加權關鍵詞匹配精確匹配(檔名、命令、人名)

底層使用 SQLite-vec 進行向量存儲與檢索。系統監聽記憶檔案變化,以 debounced 方式自動重建索引。工具:memory_search 做語義搜尋(返回約 400 token 的 chunks);memory_get 讀取特定檔案全文。