拒絕 AI “金魚腦”:我的 OpenClaw 昨晚做了個夢,醒來變聰明瞭
整理版優先睇
OpenClaw 透過 MEMORY.md、每日日誌同 Dreaming 機制,令 AI 擁有長期記憶,唔再係金魚腦。
呢篇文係大劉分享點樣用 OpenClaw 令 AI 有記憶。佢話 AI 本身得瞬時記憶,好似金魚咁,換個對話就唔認得你。OpenClaw 嘅記憶系統由四個層次組成:會話上下文、每日日誌、長期記憶(MEMORY.md)同埋人格定義(SOUL.md 等文件)。最關鍵嘅係「Dreaming」機制——AI 會喺你唔用嘅時候自動翻睇日誌,提煉精華寫入 MEMORY.md,令佢越用越聰明。
文章先講記憶嘅三層進化,對應電腦嘅臨時記憶、草稿本同固態硬碟。然後詳細介紹點樣建立 MEMORY.md 同每日日誌,仲有個可以直接複製嘅模板。核心部分係 Dreaming 機制嘅完整流程:由積累原始素材、觸發做夢、反思提煉到寫入記憶。佢提供咗三種配置方式:最簡開關、自訂 cron 時間同預設模式(core/rem/deep),仲可以用聊天命令即時控制。
進階方面,大劉教大家開啓「預壓縮刷新」防止長對話失憶,配置語義搜索令 AI 可以搜返歷史日誌,仲要喺 AGENTS.md 加入記憶規則同檢索協議。最後佢建議手動存檔、每週大掃除同用 Git 跟蹤記憶變更。成個系統嘅精髓係:最有價值嘅 AI 助手唔係 Prompt 寫得最好,而係記憶維護得最好。
- 結論:AI 記憶系統由會話、日誌同長期記憶構成,Dreaming 將日誌提煉成長期記憶,係核心。
- 方法:建立 MEMORY.md 記錄持久事實,每日日誌做原材料,Dreaming 自動提煉。
- 差異:OpenClaw 嘅 Dreaming 係後台主動反思,唔係單純記錄對話,令 AI 可以自我進化。
- 啟發:最有價值嘅 AI 助手係記憶維護得最好嘅,而唔係 Prompt 寫得最好。
- 可行動點:配置 Dreaming 開關、預壓縮刷新、語義搜索,並用 Git 跟蹤記憶變更。
MEMORY.md 模板
可直接複製嘅長期記憶模板,包含個人資訊、溝通風格、當前項目、關鍵決策、規則、教訓同偏好。
Dreaming 配置
喺 openclaw.json 嘅 plugins.entries.memory-core.config.dreaming 啟用,可設 frequency(cron)或 mode(core/rem/deep)。
預壓縮刷新配置
喺 agents.defaults.compaction.memoryFlush 開啓,設定 reserveTokensFloor 同 softThresholdTokens,等 AI 喺對話壓縮前自動保存記憶。
語義搜索配置
喺 agents.defaults.memorySearch 配置 provider(可選 openai 或 local),支援混合搜索同時間衰減。
AI 記憶系統:從金魚腦到永久記憶
用過網頁版 AI,你一定遇過呢種尷尬:昨日先話佢用開 PostgreSQL,今日佢又推薦 MySQL;傾咗成個鐘嘅項目架構,換個視窗就當你陌生人。呢個唔係 Bug,而係大模型嘅天然侷限——佢只有瞬時記憶(上下文窗口),冇長久記憶。但 OpenClaw 打破咗呢個僵局,令 AI 擁有「日記本」,最新 4.8 版本仲加入咗Dreaming機制,喺你瞓覺時偷偷覆盤進化。
為咗方便理解,可以把記憶系統想像成電腦:會話窗口係臨時記憶,一關就冇;每日日誌(草稿本)記錄當日瑣事;MEMORY.md(固態硬盤)係長期記憶,只有提煉過嘅信息先會刻入骨。OpenClaw 嘅記憶系統由四個層次構成,保質期越來越長:
- 1 Session Context(會話上下文):當前對話,臨時。
- 2 Daily Notes(每日日誌):memory/YYYY-MM-DD.md,原始記錄。
- 3 Long-term Memory(長期記憶):MEMORY.md,精煉持久事實。
- 4 Agent 定義文件:SOUL.md、IDENTITY.md、USER.md、AGENTS.md 等,穩定嘅人格同規則。
大劉核心原則:如果一個信息冇被寫入文件,喺 AI 眼裏就唔存在。
MEMORY.md 同每日日誌:AI 嘅記事本
MEMORY.md 係 AI 嘅長期記性,唔需要記錄每一句話,只需要記住結論。文章提供咗一個可直接複製嘅模板,包含「關於我」「溝通風格」「當前項目」「關鍵決策」「規則與約束」「教訓」「偏好」。記住:只存跨幾週依然有效嘅嘢,文件上限 20,000 字符,滿咗 AI 會靜默失憶。
每日日誌係 memory/YYYY-MM-DD.md,只追加唔刪除。系統自動載入今日同昨日嘅日誌,更早嘅可以靠語義搜索檢索。日誌同 MEMORY.md 嘅關係係遞進蒸餾:每日工作 → 追加到日誌 → 每週回顧提煉到 MEMORY.md → 每月清理過時內容。
# MEMORY.md — Agent 長期記憶
## 關於我
- 姓名:[你的名字]
- 時區:Asia/Shanghai (UTC+8)
- 所在地:[城市]
## 溝通風格
- 回覆保持簡潔,除非我要求詳細展開
- 中文溝通
- 偏好結構化輸出(列表、表格)
## 當前項目
- [項目 1]:一句話描述
- [項目 2]:一句話描述
## 關鍵決策
- 2026-03-18:選擇 Supabase 而不是 Firebase(更好的 Postgres 支持和行級安全)
- 2026-04-01:前端框架從 Vue 遷移到 React
## 規則與約束
- 永遠不要在沒有備份確認的情況下執行數據庫遷移
- 部署使用 Docker,不要用裸機
Dreaming:AI 嘅深夜自動進化
人類做夢係為咗篩選信息、加深記憶。OpenClaw 嘅Dreaming機製做同一件事:喺你收工後,AI 會自動翻睇日間對話記錄,提煉有價值嘅事實,主動更新 MEMORY.md。呢個唔係被動記錄,而係主動思考。
做夢完整流程
- 1 積累原始素材:日常對話自動記錄到 memory/YYYY-MM-DD.md。
- 2 觸發做夢:手動指令或定時任務令 AI 進入 Reflection 模式。
- 3 反思提煉:AI 回顧過去 N 天日誌,提取關鍵事實、決策、模式。
- 4 寫入記憶:提煉結果更新 MEMORY.md(持久事實)同 IDENTITY.md(自我認知優化)。
最簡單嘅觸發方式係直接同 AI 講:「Open,等每日21點後,回顧我哋過去三日對話,進行一次 Dreaming。」如果想自動化,可以配置 openclaw.json:
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"enabled": true,
"frequency": "0 21 * * *"
}
}
}
}
}
}
除咗自訂 cron,OpenClaw 提供三個預設模式:core(每日一次,推薦新手)、rem(約6小時高頻)、deep(約12小時深度)。仲可以透過聊天命令 <code>/dreaming status</code>、<code>/dreaming on/off</code>、<code>/dreaming core/rem/deep</code> 即時控制。
進階配置:防止 AI 忘事嘅安全網
為咗解決長對話金魚腦問題,可以開啓預壓縮刷新。喺對話 token 就快爆時,強制 AI 將重要內容「搶救」到文件:配置 <code>agents.defaults.compaction.memoryFlush</code>,設定 reserveTokensFloor(觸發閾值)同 softThresholdTokens(提前量)。
{
"agents": {
"defaults": {
"compaction": {
"reserveTokensFloor": 40000,
"memoryFlush": {
"enabled": true,
"softThresholdTokens": 4000
}
}
}
}
}
另一項重要功能係語義搜索,等 AI 識得自動檢索歷史日誌。配置時可以揀 OpenAI 嘅 embedding model 或完全本地模式:
{
"agents": {
"defaults": {
"memorySearch": {
"enabled": true,
"provider": "openai",
"model": "text-embedding-3-small",
"query": {
"hybrid": {
"enabled": true,
"vectorWeight": 0.7,
"textWeight": 0.3
}
}
}
}
}
}
最後,喺 AGENTS.md 加入記憶規則同檢索協議,令 AI 養成好習慣:學到重要信息立即寫入、被糾正時記錄錯誤、提問前先搜索記憶。仲要加入 Dreaming 協議,定義做夢時要做嘅步驟。
大劉嘅記憶衞生貼士
- 1 手動存檔:傾完重要決策(例如換技術棧),隨口講句「記入長期記憶」。
- 2 每週大掃除:每星期日叫 AI 重寫 MEMORY.md,刪走已完成任務。
- 3 Git 跟蹤:初始化 Git repo,萬一 AI 亂寫日記都可以還原。
Git 初始化指令:<code>cd ~/.openclaw/workspace && git init && git add MEMORY.md memory/ && git commit -m "初始化記憶系統"</code>。完成呢啲步驟,你嘅 AI 就會從「每日新面孔」進化成真正懂你嘅老夥計。
最有價值嘅 AI 助手唔係 Prompt 寫得最好,而係記憶維護得最好。
大家好,我係大劉。
我哋今日繼續講OpenClaw——點樣令佢擁有記憶,甚至學識做夢。
用過網頁版AI嘅你,一定遇到過呢種尷尬:
琴日先話畀佢知我習慣用 PostgreSQL,今日佢又喺度推薦 MySQL;
傾咗一個鐘嘅項目架構,轉個窗口,佢即刻當你係陌生人;
改咗同一個 Code Bug 三次,佢依然好似初戀咁,每次都畀你「初見」嘅失誤。
呢個唔係 Bug,而係大模型嘅天然侷限——佢得「即時記憶」(上下文窗口),冇「長期記憶」。
一旦對話完咗,佢就好似一條金魚,每 7 秒重新認識一次世界。
但 OpenClaw 嘅出現打破咗呢個僵局。佢唔單止令 AI 擁有咗「日記簿」,喺最新嘅 4.8 版本入面,甚至令 AI 學識咗「做夢」——喺你瞓覺嘅時候,佢會偷偷覆盤、反思、進化。
一、AI 記憶嘅三層進化
為咗方便理解,我哋可以將 AI 嘅記憶系統想像成你部電腦:
對話視窗:嗰個係臨時記憶,視窗一閂,全部都冇曬。
每日日誌(草稿本):記錄當日嘅瑣碎事,雖然亂,但係全部喺度。
MEMORY.md(固態硬碟):這是長期記憶。只有經過提煉、存入呢度嘅資訊,先係 AI 刻喺骨子裏嘅知識。
再睇全貌:OpenClaw 嘅記憶系統由四個層次構成,由上到下,資訊嘅保質期越來越長:
┌─────────────────────────────────┐
│ Session Context(會話上下文) │ ← 當前對話,臨時的
├─────────────────────────────────┤
│ Daily Notes(每日日誌) │ ← memory/YYYY-MM-DD.md,原始記錄
├─────────────────────────────────┤
│ Long-term Memory(長期記憶) │ ← MEMORY.md,精煉的持久事實
├─────────────────────────────────┤
對應到你電腦上嘅檔案結構:
~/.openclaw/workspace/
├── MEMORY.md # 長期記憶:精煉的持久事實
├── SOUL.md # Agent 人格定義
├── IDENTITY.md # 身份定義
├── USER.md # 用戶穩定信息
├── AGENTS.md # 工作流規則
└── memory/
├── 2026-04-10.md # 今天的日誌
├── 2026-04-09.md # 昨天的日誌
└── ... # 更早的日誌
OpenClaw 嘅記憶金字塔
OpenClaw 聰明嘅地方在於,佢將零散嘅聊天記錄,透過一個叫做 「Dreaming(發夢)」 嘅機制,提煉成固定嘅檔案:

大劉嘅核心原則: 如果一個資訊冇被寫入檔案,佢喺 AI 眼裏就唔存在。
二、 打造 AI 嘅日記本:MEMORY.md
如果說 SOUL.md 定義咗 AI 嘅性格,咁 MEMORY.md 就係佢嘅記事簿。佢唔需要記錄每一句說話,只需要記住「結論”。
畀新手嘅:可以直接複製嘅範本
你可以直接喺你嘅工作空間(~/.openclaw/workspace/)睇下呢個檔案,填入你嘅資訊:
# MEMORY.md — Agent 長期記憶
## 關於我
- 姓名:[你的名字]
- 時區:Asia/Shanghai (UTC+8)
- 所在地:[城市]
## 溝通風格
- 回覆保持簡潔,除非我要求詳細展開
- 中文溝通
- 偏好結構化輸出(列表、表格)
## 當前項目
- [項目 1]:一句話描述
- [項目 2]:一句話描述
## 關鍵決策
- 2026-03-18:選擇 Supabase 而不是 Firebase(更好的 Postgres 支持和行級安全)
- 2026-04-01:前端框架從 Vue 遷移到 React
## 規則與約束
- 永遠不要在沒有備份確認的情況下執行數據庫遷移
- 部署使用 Docker,不要用裸機
## 教訓(從錯誤中學到的)
- Railway 不適合跑 cron job,用 VPS 代替
## 偏好
- 使用 pnpm 而不是 npm
- 使用 Tailwind CSS
- TypeScript 嚴格模式
避坑指南: 唔好乜嘢廢話都塞入去!單個檔案上限 20,000 個字元,滿咗 AI 就會「靜默失憶」。建議只係存嗰啲跨越幾星期依然有效嘅資訊。
三、 每日日誌——AI 嘅短期記憶
每日日誌係 MEMORY.md 嘅原材料倉庫。
檔案命名格式為 memory/YYYY-MM-DD.md,係只追加(append-only)嘅檔案。每次對話啟動時,系統自動載入今日同昨日嘅日誌,再早啲嘅日誌唔會自動載入,但可以透過語義搜索檢索。
日誌同 MEMORY.md 嘅關係,係一個遞進蒸餾嘅過程:
每日工作 → 追加到 memory/YYYY-MM-DD.md
↓
每週回顧 → 將持久性事實提煉到 MEMORY.md
↓
每月清理 → 從 MEMORY.md 移除過時內容
日誌係原始礦石,MEMORY.md 係提煉後嘅黃金。
四、 令 AI 學識做夢:深夜自動進化
呢個係 OpenClaw 4.8 版最浪漫嘅功能,亦係本文最核心嘅實操部分。
人類發夢係為咗篩選資訊、加深記憶。
OpenClaw 嘅 Dreaming 機制 都係一樣:喺你收工之後,AI 會自動翻睇白天嘅聊天記錄,提煉出有價值嘅事實,主動更新到你嘅 MEMORY.md 裏。
1. 乜嘢係發夢機制?
人類嘅大腦喺瞓覺時會發夢。夢嘅本質係乜?係大腦對白天經歷嘅自動整理——篩選重要資訊,丟棄垃圾,將零散嘅記憶編織成長期知識。
OpenClaw 嘅 Dreaming 機製做嘅係同一件事。
呢個唔係被動記錄,而係主動思考。
2. 發夢嘅完整流程
成個過程可以分為四步:
第一步:積累原始素材
你和 AI 的日常對話 → 自動記錄到 memory/YYYY-MM-DD.md
第二步:觸發做夢
手動指令 或 定時觸發 → AI 進入 Reflection 模式
第三步:反思提煉
AI 回顧過去 N 天的對話日誌 → 提取關鍵事實、決策、模式
第四步:寫入記憶
提煉結果 → 更新 MEMORY.md(持久事實)
→ 更新 IDENTITY.md(自我認知優化)
用一句話概括:原始對話日誌 → 後台反思 → 提煉精華 → 寫入持久記憶。
記憶唔係記錄發生嘅每一句說話,而係記住每一句說話背後嘅意義。
3. 用「口」指揮(新手模式)
最簡單嘅方法,就係直接對你嘅 AI 講一句說話。例如你忙咗一日,準備瞓覺:
如果你唔想手動修改設定檔,直接對Open機械人落咒語:
Open,等每日21點後,請回顧我哋過去三日嘅對話日誌,進行一次 Dreaming。將發現嘅新需求趨勢總結入 MEMORY.md,並最佳化你嘅 IDENTITY.md。
就係咁一句說話,AI 就會啟動後台反思流程。
發夢唔一定要等到一日完結。傾完一個重要話題,隨時都可以令 AI 唞一陣,將關鍵資訊固化落嚟。
4. 設定 Dreaming 自動排程
手動觸發雖然簡單,但你唔可能每日都記得叫一句。
更優雅嘅做法係:令 Dreaming 按固定節奏自動運行。
Dreaming 嘅所有設定都寫喺 openclaw.json 嘅呢個路徑下:
plugins.entries.memory-core.config.dreaming
前提條件:最頂層嘅 plugins.enabled 必須為 true,否則成個插件系統關閉,Dreaming 都唔會行。
方式一:最簡設定——只係打開開關
唔好畀呢啲大括號嚇親,你只需要複製貼上,改改就得。
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"enabled": true
}
}
}
}
}
}
不寫 frequency 時,默認排程一般係 0 3 * * *(每日凌晨 3 點行一次)。
方式二:自定義排程時間——用 cron 表達式
如果你想令 AI 每日夜晚 9 點發夢(例如你收工之後):
"dreaming": {
"enabled": true,
"frequency": "0 21 * * *"
}
frequency 係標準 cron 表達式,5 個字段分別係:分 時 日 月 星期。0 21 * * * 就係每日 21:00。
注意時區問題:如果你冇設定 timezone 字段,cron 可能按 UTC 或機器默認時區執行。建議實際測試確認時間係咪符合預期。
方式三:用預設模式——一鍵揀檔
如果你唔想自己調參數,OpenClaw 提供咗三個預設模式,一個字段搞掂:
"dreaming": {
"mode": "core"
}
三個模式嘅對比:
core 模式可以理解為默認嘅日常 Dream 模式——每日整理一次,門檻中等,適合絕大多數人。
如果你同時寫咗 mode 又寫了 frequency,顯式嘅 frequency 通常會覆蓋預設時間,但具體行為以你安裝嘅版本為準。
透過聊天指令快速控制
除咗改設定檔,OpenClaw 仲提供咗聊天指令嚟實時切換:
/dreaming status—— 查看當前發夢狀態/dreaming on//dreaming off—— 開啟或關閉/dreaming core//dreaming rem//dreaming deep—— 切換模式
呢啲指令喺部分版本中可能未完全開放,如果唔用得,以改設定檔為準。
設定好呢啲之後,你會發現:
你:“Open,我明天要去爬香山,幫我整理份裝備清單。”
AI:“好的。你習慣帶兩瓶電解質水,且膝蓋受過傷,建議帶上你那副黑色的護膝。”
這種‘被記住’的感覺,就是記憶系統的複利。
五、 進階:點樣令 AI 永遠唔會唔記得嘢?
新手最容易遇到嘅問題係:傾嚇傾嚇,AI 就將開頭嘅要求唔記得咗。為瞭解決呢個「金魚腦」問題,我哋要畀佢裝上安全網。
1. 開啟防止 AI 唔記得嘢嘅安全網
呢個係最有價值嘅單項設定。佢解決嘅係長對話入面嘅金魚腦問題。
喺對話太長、記憶體就嚟滿嘅時候,強制令 AI 將重要內容「搶救」到檔案入面:
設定方法——喺 openclaw.json 入面加入:
{
"agents": {
"defaults": {
"compaction": {
"reserveTokensFloor": 40000,
"memoryFlush": {
"enabled": true,
"softThresholdTokens": 4000,
"systemPrompt": "會話即將壓縮。請立即將重要記憶保存到文件。",
"prompt": "將所有持久筆記寫入 memory/YYYY-MM-DD.md;如果沒有需要保存的內容,回覆 NO_REPLY。"
}
}
}
}
}
參數說明:
reserveTokensFloor:壓縮觸發嘅門檻(token 數)。設 40000 表示喺剩餘 40K tokens 時觸發。memoryFlush.enabled:開啟預壓縮刷新。softThresholdTokens:預刷新嘅提前量,4000 tokens 表示喺壓縮前預留足夠空間令 AI 完成儲存。systemPrompt和prompt:話畀 AI 知要做啲乜嘅指令。
開啟之後,你再唔使擔心長對話入面嘅重要資訊喺壓縮時蒸發咗。
2. 語義搜索:AI 嘅「全文檢索」
發夢機制需要 AI 能夠回顧歷史日誌。如果日誌量好大,靠全部載入上下文係唔現實嘅。
呢陣時需要設定語義搜索引擎,令 AI 喺回答你之前,先去後台「搜一下」過去嘅日記。
在 openclaw.json 入面加入:
{
"agents": {
"defaults": {
"memorySearch": {
"enabled": true,
"provider": "openai",
"model": "text-embedding-3-small",
"query": {
"hybrid": {
"enabled": true,
"vectorWeight": 0.7,
"textWeight": 0.3,
"mmr": { "enabled": true, "lambda": 0.7 },
"temporalDecay": { "enabled": true, "halfLifeDays": 30 }
}
}
}
}
}
}
如果你擔心私隱,想要完全本地化(唔發送任何 API 請求):
{
"agents": {
"defaults": {
"memorySearch": {
"provider": "local",
"fallback": "local"
}
}
}
}
設定好搜索引擎之後,喺 AGENTS.md 入面加上檢索規則,令 AI 養成先搜索再回答嘅習慣:
## 檢索協議
- 被問到具體日期/事件/決策時:先執行 memory_search
- 不確定某個偏好/規則時:先搜索 MEMORY.md 和近期日誌
- 回答關於過去工作的問題前:先搜索記憶
3. 設定 AGENTS.md 入面嘅記憶規則
在 AGENTS.md 入面加入發夢相關嘅協議:
## 記憶協議
- 學到重要信息時:立即寫入對應文件
- 被糾正時:承認錯誤,並將糾正內容追加到 MEMORY.md
- 不要讓我重複糾正同一個錯誤兩次
## Dreaming 協議
- 當用戶下線或要求進行 Dreaming 時:
1. 回顧最近的對話日誌(memory/YYYY-MM-DD.md)
2. 提取持久性事實、關鍵決策、新發現的偏好
3. 將提煉結果寫入 MEMORY.md
4. 如發現需要調整自身行為模式,更新 IDENTITY.md
5. 在下次對話開始時,主動彙報 Dreaming 的發現
到呢度,發夢機制嘅完整設定就搞掂咗。
六、 大劉嘅記憶衞生小貼士
優秀嘅記憶系統唔係堆砌,而係動態平衡。建議你養成呢三個習慣:
手動儲存:傾完一個重要決定(例如:換咗技術棧),隨口講一句:「將呢個記入長期記憶。」
每星期大掃除:每個星期日令 AI 幫你重寫一次
MEMORY.md,刪除已經完成嘅任務。Git 追蹤:點解仲要用 Git?因為 AI 有時都會「亂寫日記」,有咗佢,你就好似擁有咗後悔藥,㩒一下就可以返到尋日。
cd ~/.openclaw/workspace
git init
git add MEMORY.md memory/
git commit -m "初始化記憶系統"
咁你就可以查看記憶嘅變更歷史、回退錯誤嘅修改,甚至喺多部機器之間同步。
完成上面嘅步驟,你嘅 AI 就擁有咗一套完整嘅記憶系統。
結語
最有價值嘅 AI 助手,唔係提示詞(Prompt)寫得最好嘅,而係記憶維護得最好的。
透過 OpenClaw 嘅記憶系統,你嘅 AI 會由一個「每日都係新面孔」嘅機械人,變成一個真正明你、甚至能夠預判你需求嘅老夥記。
一個月後,當你再問佢「嗰個項目進度點樣」時,佢能夠準確講出你仲未整好嗰個 Bug,嗰啲先係 AI 真正嘅魅力。
快速上手清單:
打開你嘅 MEMORY.md,填入個人資訊同偏好
喺 openclaw.json 入面開啟 Dreaming("enabled": true)
開啟預壓縮記憶刷新(memoryFlush)
喺 AGENTS.md 入面加入記憶協議同檢索協議
用 Git 初始化工作區,畀記憶系統加上「後悔藥」
今日互動: 如果你嘅 AI 能夠永久記住一件事,你最希望佢記住啲乜?
A. 我嘅 Code 癖好
B. 我吹過嘅牛逼同未完成嘅夢想
C. 某次捱夜整 Bug 嘅慘痛教訓
我係大劉,我哋下篇見!

大家好,我是大劉。
我們今天繼續聊OpenClaw——如何讓他擁有記憶,甚至學會做夢。
用過網頁版的AI,你一定遇到過這種尷尬:
昨天剛告訴它我習慣用 PostgreSQL,今天它又在那推薦 MySQL;
聊了一個小時的項目架構,換個窗口,它瞬間把你當成陌生人;
糾正了同一個代碼 Bug 三次,它依然像初戀一樣,每次都給你“初見”的失誤。
這不是 Bug,而是大模型的天然侷限——它只有“瞬時記憶”(上下文窗口),沒有“長久記憶”。
一旦對話結束,它就像一條金魚,每 7 秒重新認識一次世界。
但 OpenClaw 的出現打破了這個僵局。它不僅讓 AI 擁有了“日記本”,在最新的 4.8 版本中,甚至讓 AI 學會了“做夢” ——在你睡覺時,它會偷偷覆盤、反思、進化。
一、AI 記憶的三層進化
為了方便理解,我們可以把 AI 的記憶系統想象成你的電腦:
會話窗口:那是臨時記憶,窗口一關,全都沒了。
每日日誌(草稿本):記錄當天的瑣事,雖然亂,但都在。
MEMORY.md(固態硬盤):這是長期記憶。只有經過提煉、存進這裏的信息,才是 AI 刻在骨子裏的知識。
再看全貌:OpenClaw 的記憶系統由四個層次構成,從上到下,信息的保質期越來越長:
┌─────────────────────────────────┐
│ Session Context(會話上下文) │ ← 當前對話,臨時的
├─────────────────────────────────┤
│ Daily Notes(每日日誌) │ ← memory/YYYY-MM-DD.md,原始記錄
├─────────────────────────────────┤
│ Long-term Memory(長期記憶) │ ← MEMORY.md,精煉的持久事實
├─────────────────────────────────┤
對應到你電腦上的文件結構:
~/.openclaw/workspace/
├── MEMORY.md # 長期記憶:精煉的持久事實
├── SOUL.md # Agent 人格定義
├── IDENTITY.md # 身份定義
├── USER.md # 用戶穩定信息
├── AGENTS.md # 工作流規則
└── memory/
├── 2026-04-10.md # 今天的日誌
├── 2026-04-09.md # 昨天的日誌
└── ... # 更早的日誌
OpenClaw 的記憶金字塔
OpenClaw 聰明的地方在於,它把零散的聊天記錄,通過一個名為 “Dreaming(做夢)” 的機制,提煉成固定的文件:

大劉的核心原則: 如果一個信息沒被寫入文件,它在 AI 眼裏就不存在。
二、 打造 AI 的日記本:MEMORY.md
如果說 SOUL.md 定義了 AI 的性格,那麼 MEMORY.md 就是它的記事本。它不需要記錄每一句話,只需要記住“結論”。
給小白的:可直接複製的模板
你可以直接在你的工作空間(~/.openclaw/workspace/)看下這個文件,填入你的信息:
# MEMORY.md — Agent 長期記憶
## 關於我
- 姓名:[你的名字]
- 時區:Asia/Shanghai (UTC+8)
- 所在地:[城市]
## 溝通風格
- 回覆保持簡潔,除非我要求詳細展開
- 中文溝通
- 偏好結構化輸出(列表、表格)
## 當前項目
- [項目 1]:一句話描述
- [項目 2]:一句話描述
## 關鍵決策
- 2026-03-18:選擇 Supabase 而不是 Firebase(更好的 Postgres 支持和行級安全)
- 2026-04-01:前端框架從 Vue 遷移到 React
## 規則與約束
- 永遠不要在沒有備份確認的情況下執行數據庫遷移
- 部署使用 Docker,不要用裸機
## 教訓(從錯誤中學到的)
- Railway 不適合跑 cron job,用 VPS 代替
## 偏好
- 使用 pnpm 而不是 npm
- 使用 Tailwind CSS
- TypeScript 嚴格模式
避坑指南: 別把什麼廢話都往裏塞!單文件上限 20,000 字符,滿了 AI 就會“靜默失憶”。建議只存那些跨越數週依然有效的信息。
三、 每日日誌——AI 的短期記憶
每日日誌是 MEMORY.md 的原材料倉庫。
文件命名格式為 memory/YYYY-MM-DD.md,是隻追加(append-only)的文件。每次會話啓動時,系統自動加載今天和昨天的日誌,更早的日誌不會自動加載,但可以通過語義搜索檢索。
日誌和 MEMORY.md 的關係,是一個遞進蒸餾的過程:
每日工作 → 追加到 memory/YYYY-MM-DD.md
↓
每週回顧 → 將持久性事實提煉到 MEMORY.md
↓
每月清理 → 從 MEMORY.md 移除過時內容
日誌是原始礦石,MEMORY.md 是提煉後的黃金。
四、 讓 AI 學會做夢:深夜自動進化
這是 OpenClaw 4.8 版最浪漫的功能,也是本文最核心的實操部分。
人類做夢是為了篩選信息、加深記憶。
OpenClaw 的 Dreaming 機制 也是如此:在你下班後,AI 會自動翻看白天的聊天記錄,提煉出有價值的事實,主動更新到你的 MEMORY.md 裏。
1. 什麼是做夢機制?
人類的大腦在睡覺時會做夢。夢的本質是什麼?是大腦對白天經歷的自動整理——篩選重要信息,丟棄垃圾,把零散的記憶編織成長期知識。
OpenClaw 的 Dreaming 機制做的是同一件事。
這不是被動記錄,而是主動思考。
2. 做夢的完整流程
整個過程可以分為四步:
第一步:積累原始素材
你和 AI 的日常對話 → 自動記錄到 memory/YYYY-MM-DD.md
第二步:觸發做夢
手動指令 或 定時觸發 → AI 進入 Reflection 模式
第三步:反思提煉
AI 回顧過去 N 天的對話日誌 → 提取關鍵事實、決策、模式
第四步:寫入記憶
提煉結果 → 更新 MEMORY.md(持久事實)
→ 更新 IDENTITY.md(自我認知優化)
用一句話概括:原始對話日誌 → 後台反思→ 提煉精華 → 寫入持久記憶。
記憶不是記錄發生的每一句話,而是記住每一句話背後的意義。
3. 用“嘴”指揮(小白模式)
最簡單的方式,就是直接對你的 AI 說一句話。比如你忙了一天,準備睡覺了:
如果你不想手動修改配置文件,直接對Open機器人下咒語:
Open,等每天21點後,請回顧我們過去三天的對話日誌,進行一次 Dreaming。把發現的新需求趨勢總結進 MEMORY.md,並優化你的 IDENTITY.md。
就這麼一句話,AI 就會啓動後台反思流程。
做夢不一定要等到一天結束。聊完一個重要話題,隨時都可以讓 AI小睡一下,把關鍵信息固化下來。
4. 配置 Dreaming 自動調度
手動觸發雖然簡單,但你不可能每天都記得喊一句。
更優雅的做法是:讓 Dreaming 按固定節奏自動運行。
Dreaming 的所有配置都寫在 openclaw.json 的這個路徑下:
plugins.entries.memory-core.config.dreaming
前提條件:頂層的 plugins.enabled 必須為 true,否則整個插件系統關閉,Dreaming 也不會跑。
方式一:最簡配置——只打開開關
別被這些大括號嚇到,你只需要複製粘貼,改改就行。
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"enabled": true
}
}
}
}
}
}
不寫 frequency 時,默認調度一般是 0 3 * * *(每天凌晨 3 點跑一次)。
方式二:自定義調度時間——用 cron 表達式
如果你想讓 AI 每天晚上 9 點做夢(比如你下班後):
"dreaming": {
"enabled": true,
"frequency": "0 21 * * *"
}
frequency 是標準 cron 表達式,5 個字段分別是:分 時 日 月 周。0 21 * * * 就是每天 21:00。
注意時區問題:如果你沒有配置 timezone 字段,cron 可能按 UTC 或機器默認時區執行。建議實測確認時間是否符合預期。
方式三:用預設模式——一鍵選檔
如果你不想自己調參數,OpenClaw 提供了三個預設模式,一個字段搞定:
"dreaming": {
"mode": "core"
}
三個模式的對比:
core 模式可以理解為默認的日常 Dream 模式——每天整理一次,門檻中等,適合絕大多數人。
如果你既寫了 mode 又寫了 frequency,顯式的 frequency 通常會覆蓋預設時間,但具體行為以你安裝的版本為準。
通過聊天命令快速控制
除了改配置文件,OpenClaw 還提供了聊天命令來實時切換:
/dreaming status—— 查看當前做夢狀態/dreaming on//dreaming off—— 開啓或關閉/dreaming core//dreaming rem//dreaming deep—— 切換模式
這些命令在部分版本中可能尚未完全暴露,如果不可用,以改配置文件為準。
配置好這些後,你會發現:
你:“Open,我明天要去爬香山,幫我整理份裝備清單。”
AI:“好的。你習慣帶兩瓶電解質水,且膝蓋受過傷,建議帶上你那副黑色的護膝。”
這種‘被記住’的感覺,就是記憶系統的複利。
五、 進階:如何讓 AI 永遠不忘事?
小白最容易遇到的問題是:聊着聊着,AI 就把開頭的要求忘了。 為了解決這個“金魚腦”問題,我們要給它裝上安全網。
1. 開啓防止 AI 忘事的安全網
這是最有價值的單項配置。它解決的是長對話中的金魚腦問題。
在對話太長、內存快滿的時候,強制讓 AI 把重要內容“搶救”到文件裏:
配置方法——在 openclaw.json 中添加:
{
"agents": {
"defaults": {
"compaction": {
"reserveTokensFloor": 40000,
"memoryFlush": {
"enabled": true,
"softThresholdTokens": 4000,
"systemPrompt": "會話即將壓縮。請立即將重要記憶保存到文件。",
"prompt": "將所有持久筆記寫入 memory/YYYY-MM-DD.md;如果沒有需要保存的內容,回覆 NO_REPLY。"
}
}
}
}
}
參數說明:
reserveTokensFloor:壓縮觸發的閾值(token 數)。設 40000 意味着在剩餘 40K tokens 時觸發。memoryFlush.enabled:開啓預壓縮刷新。softThresholdTokens:預刷新的提前量,4000 tokens 表示在壓縮前預留足夠空間讓 AI 完成保存。systemPrompt和prompt:告訴 AI 該做什麼的指令。
開啓之後,你再也不用擔心長對話中的重要信息在壓縮時蒸發了。
2. 語義搜索:AI 的“全文檢索”
做夢機制需要 AI 能回顧歷史日誌。如果日誌量很大,靠全部加載進上下文是不現實的。
這時需要配置語義搜索引擎,讓 AI 在回答你之前,先去後台“搜一下”過去的日記。
在 openclaw.json 中添加:
{
"agents": {
"defaults": {
"memorySearch": {
"enabled": true,
"provider": "openai",
"model": "text-embedding-3-small",
"query": {
"hybrid": {
"enabled": true,
"vectorWeight": 0.7,
"textWeight": 0.3,
"mmr": { "enabled": true, "lambda": 0.7 },
"temporalDecay": { "enabled": true, "halfLifeDays": 30 }
}
}
}
}
}
}
如果你擔心隱私,想要完全本地化(不發送任何 API 請求):
{
"agents": {
"defaults": {
"memorySearch": {
"provider": "local",
"fallback": "local"
}
}
}
}
配好搜索引擎後,在 AGENTS.md 中加上檢索規則,讓 AI 養成先搜索再回答的習慣:
## 檢索協議
- 被問到具體日期/事件/決策時:先執行 memory_search
- 不確定某個偏好/規則時:先搜索 MEMORY.md 和近期日誌
- 回答關於過去工作的問題前:先搜索記憶
3. 配置 AGENTS.md 中的記憶規則
在 AGENTS.md 中添加做夢相關的協議:
## 記憶協議
- 學到重要信息時:立即寫入對應文件
- 被糾正時:承認錯誤,並將糾正內容追加到 MEMORY.md
- 不要讓我重複糾正同一個錯誤兩次
## Dreaming 協議
- 當用戶下線或要求進行 Dreaming 時:
1. 回顧最近的對話日誌(memory/YYYY-MM-DD.md)
2. 提取持久性事實、關鍵決策、新發現的偏好
3. 將提煉結果寫入 MEMORY.md
4. 如發現需要調整自身行為模式,更新 IDENTITY.md
5. 在下次對話開始時,主動彙報 Dreaming 的發現
到這裏,做夢機制的完整配置就搞定了。
六、 大劉的記憶衞生小貼士
優秀的記憶系統不是堆砌,而是動態平衡。建議你養成這三個習慣:
手動存檔:聊完一個重要決策(比如:換了技術棧),隨口說一句:“把這個記到長期記憶裏。”
每週大掃除:每週日讓 AI 幫你重寫一次
MEMORY.md,刪掉已經完成的任務。Git 跟蹤:為什麼還要搞 Git?因為 AI 有時候也會‘亂寫日記’,有了它,你就像擁有了後悔藥,點一下就能回到昨天。
cd ~/.openclaw/workspace
git init
git add MEMORY.md memory/
git commit -m "初始化記憶系統"
這樣你可以查看記憶的變更歷史、回退錯誤的修改,甚至在多台機器間同步。
完成上面,你的 AI 就擁有了一套完整的記憶系統。
結語
最有價值的 AI 助手,不是提示詞(Prompt)寫得最好的,而是記憶維護得最好的。
通過 OpenClaw 的記憶系統,你的 AI 會從一個“每天都是新面孔”的機器人,變成一個真正懂你、甚至能預判你需求的老夥計。
一個月後,當你再問它“那個項目進度如何”時,它能準確報出你還沒修好的那個 Bug,那才是 AI 真正的魅力。
快速上手清單:
打開你的 MEMORY.md,填入個人信息和偏好
在 openclaw.json 中開啓 Dreaming("enabled": true)
開啓預壓縮記憶刷新(memoryFlush)
在 AGENTS.md 中加入記憶協議和檢索協議
用 Git 初始化工作區,給記憶系統加上"後悔藥"
今日互動: 如果你的 AI 能夠永久記住一件事,你最希望它記住什麼?
A. 我的代碼癖好
B. 我吹過的牛逼和未竟的夢想
C. 某次熬夜修 Bug 的慘痛教訓
我是大劉,我們下篇見!
