拒絕 AI “金魚腦”:我的 OpenClaw 昨晚做了個夢,醒來變聰明瞭

作者:大劉AI編程
日期:2026年4月11日 上午12:31
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

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 自動提煉。
  • 差異OpenClawDreaming 係後台主動反思,唔係單純記錄對話,令 AI 可以自我進化。
  • 啟發:最有價值嘅 AI 助手係記憶維護得最好嘅,而唔係 Prompt 寫得最好。
  • 可行動點:配置 Dreaming 開關、預壓縮刷新、語義搜索,並用 Git 跟蹤記憶變更。
值得記低
Skill

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. 1 Session Context(會話上下文):當前對話,臨時。
  2. 2 Daily Notes(每日日誌):memory/YYYY-MM-DD.md,原始記錄。
  3. 3 Long-term Memory(長期記憶):MEMORY.md,精煉持久事實。
  4. 4 Agent 定義文件SOUL.mdIDENTITY.mdUSER.md、AGENTS.md 等,穩定嘅人格同規則。

大劉核心原則:如果一個信息冇被寫入文件,喺 AI 眼裏就唔存在。

整理重點

MEMORY.md 同每日日誌:AI 嘅記事本

MEMORY.md 係 AI 嘅長期記性,唔需要記錄每一句話,只需要記住結論。文章提供咗一個可直接複製嘅模板,包含「關於我」「溝通風格」「當前項目」「關鍵決策」「規則與約束」「教訓」「偏好」。記住:只存跨幾週依然有效嘅嘢,文件上限 20,000 字符,滿咗 AI 會靜默失憶。

每日日誌係 memory/YYYY-MM-DD.md,只追加唔刪除。系統自動載入今日同昨日嘅日誌,更早嘅可以靠語義搜索檢索。日誌同 MEMORY.md 嘅關係係遞進蒸餾:每日工作 → 追加到日誌 → 每週回顧提煉到 MEMORY.md → 每月清理過時內容。

MEMORY.md 模板(部份) markdown
# MEMORY.md — Agent 長期記憶

## 關於我
- 姓名:[你的名字]
- 時區:Asia/Shanghai (UTC+8)
- 所在地:[城市]

## 溝通風格
- 回覆保持簡潔,除非我要求詳細展開
- 中文溝通
- 偏好結構化輸出(列表、表格)

## 當前項目
- [項目 1]:一句話描述
- [項目 2]:一句話描述

## 關鍵決策
- 2026-03-18:選擇 Supabase 而不是 Firebase(更好的 Postgres 支持和行級安全)
- 2026-04-01:前端框架從 Vue 遷移到 React

## 規則與約束
- 永遠不要在沒有備份確認的情況下執行數據庫遷移
- 部署使用 Docker,不要用裸機
整理重點

Dreaming:AI 嘅深夜自動進化

人類做夢係為咗篩選信息、加深記憶。OpenClawDreaming機製做同一件事:喺你收工後,AI 會自動翻睇日間對話記錄,提煉有價值嘅事實,主動更新 MEMORY.md。呢個唔係被動記錄,而係主動思考。

做夢完整流程

  1. 1 積累原始素材:日常對話自動記錄到 memory/YYYY-MM-DD.md
  2. 2 觸發做夢:手動指令或定時任務令 AI 進入 Reflection 模式。
  3. 3 反思提煉:AI 回顧過去 N 天日誌,提取關鍵事實、決策、模式。
  4. 4 寫入記憶:提煉結果更新 MEMORY.md(持久事實)同 IDENTITY.md(自我認知優化)。

最簡單嘅觸發方式係直接同 AI 講:「Open,等每日21點後,回顧我哋過去三日對話,進行一次 Dreaming。」如果想自動化,可以配置 openclaw.json:

Dreaming 配置範例(最簡模式) 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(提前量)。

預壓縮刷新配置 json
{
 "agents": {
 "defaults": {
 "compaction": {
 "reserveTokensFloor": 40000,
 "memoryFlush": {
 "enabled": true,
 "softThresholdTokens": 4000
 }
 }
 }
 }
}

另一項重要功能係語義搜索,等 AI 識得自動檢索歷史日誌。配置時可以揀 OpenAI 嘅 embedding model 或完全本地模式:

語義搜索配置(混合搜索) json
{
 "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. 1 手動存檔:傾完重要決策(例如換技術棧),隨口講句「記入長期記憶」。
  2. 2 每週大掃除:每星期日叫 AI 重寫 MEMORY.md,刪走已完成任務。
  3. 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 嘅記憶系統想像成你部電腦:

  1. 對話視窗:嗰個係臨時記憶,視窗一閂,全部都冇曬。

  2. 每日日誌(草稿本):記錄當日嘅瑣碎事,雖然亂,但係全部喺度。

  3. 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" 
}

三個模式嘅對比:

mode
排程節奏
適用場合
core
每日一次(類似每日凌晨檔)
日常使用,推薦新手揀呢個
rem
約每 6 小時
高頻整理,門檻更嚴格
deep
約每 12 小時
深度整理,另一套門檻組合

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 的發現

到呢度,發夢機制嘅完整設定就搞掂咗。


六、 大劉嘅記憶衞生小貼士

優秀嘅記憶系統唔係堆砌,而係動態平衡。建議你養成呢三個習慣:

  1. 手動儲存:傾完一個重要決定(例如:換咗技術棧),隨口講一句:「將呢個記入長期記憶。」

  2. 每星期大掃除:每個星期日令 AI 幫你重寫一次 MEMORY.md,刪除已經完成嘅任務。

  3. Git 追蹤:點解仲要用 Git?因為 AI 有時都會「亂寫日記」,有咗佢,你就好似擁有咗後悔藥,㩒一下就可以返到尋日。

cd ~/.openclaw/workspace
git init
git add MEMORY.md memory/
git commit -m "初始化記憶系統"

咁你就可以查看記憶嘅變更歷史、回退錯誤嘅修改,甚至喺多部機器之間同步。

完成上面嘅步驟,你嘅 AI 就擁有咗一套完整嘅記憶系統。

結語

最有價值嘅 AI 助手,唔係提示詞(Prompt)寫得最好嘅,而係記憶維護得最好的。

透過 OpenClaw 嘅記憶系統,你嘅 AI 會由一個「每日都係新面孔」嘅機械人,變成一個真正明你、甚至能夠預判你需求嘅老夥記。

一個月後,當你再問佢「嗰個項目進度點樣」時,佢能夠準確講出你仲未整好嗰個 Bug,嗰啲先係 AI 真正嘅魅力。

快速上手清單

  1. 打開你嘅 MEMORY.md,填入個人資訊同偏好

  2. 喺 openclaw.json 入面開啟 Dreaming("enabled": true)

  3. 開啟預壓縮記憶刷新(memoryFlush)

  4. 喺 AGENTS.md 入面加入記憶協議同檢索協議

  5. 用 Git 初始化工作區,畀記憶系統加上「後悔藥」

今日互動: 如果你嘅 AI 能夠永久記住一件事,你最希望佢記住啲乜?

A. 我嘅 Code 癖好

B. 我吹過嘅牛逼同未完成嘅夢想

C. 某次捱夜整 Bug 嘅慘痛教訓

我係大劉,我哋下篇見!

圖片
更多文章:
OpenClaw 進化論:有咗「靈魂」之後,我哋要幫 AI 揾份好工
OpenClaw系列:新手玩 OpenClaw 成日冇反應?係你冇畀佢裝上呢對「眼」
OpenClaw系列:大劉教你用 SOUL.md,將冰冷嘅 Code 養成「三有青年」
保姆級教學,大劉帶你由 0 領養 OpenClaw
一句說話上線:OpenClaw 令部署唔再係難事
OpenClaw系列:拒絕 FOMO,我係點樣調教出有「靈魂」嘅 AI 寫作夥伴
OpenClaw系列二:點樣基於 OpenClaw 打造一個永遠唔會失憶嘅 AI 助手?



大家好,我是大劉。

我們今天繼續聊OpenClaw——如何讓他擁有記憶,甚至學會做夢

用過網頁版的AI,你一定遇到過這種尷尬:

  • 昨天剛告訴它我習慣用 PostgreSQL,今天它又在那推薦 MySQL;

  • 聊了一個小時的項目架構,換個窗口,它瞬間把你當成陌生人;

  • 糾正了同一個代碼 Bug 三次,它依然像初戀一樣,每次都給你“初見”的失誤。

這不是 Bug,而是大模型的天然侷限——它只有“瞬時記憶”(上下文窗口),沒有“長久記憶”。

一旦對話結束,它就像一條金魚,每 7 秒重新認識一次世界。

但 OpenClaw 的出現打破了這個僵局。它不僅讓 AI 擁有了“日記本”,在最新的 4.8 版本中,甚至讓 AI 學會了“做夢” ——在你睡覺時,它會偷偷覆盤、反思、進化。


一、AI 記憶的三層進化

為了方便理解,我們可以把 AI 的記憶系統想象成你的電腦:

  1. 會話窗口:那是臨時記憶,窗口一關,全都沒了。

  2. 每日日誌(草稿本):記錄當天的瑣事,雖然亂,但都在。

  3. 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" 
}

三個模式的對比:

mode
調度節奏
適用場景
core
每天一次(類似每日凌晨檔)
日常使用,推薦新手選這個
rem
約每 6 小時
高頻整理,閾值更嚴格
deep
約每 12 小時
深度整理,另一套閾值組合

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 的發現

到這裏,做夢機制的完整配置就搞定了。


六、 大劉的記憶衞生小貼士

優秀的記憶系統不是堆砌,而是動態平衡。建議你養成這三個習慣:

  1. 手動存檔:聊完一個重要決策(比如:換了技術棧),隨口說一句:“把這個記到長期記憶裏。”

  2. 每週大掃除:每週日讓 AI 幫你重寫一次 MEMORY.md,刪掉已經完成的任務。

  3. Git 跟蹤:為什麼還要搞 Git?因為 AI 有時候也會‘亂寫日記’,有了它,你就像擁有了後悔藥,點一下就能回到昨天。

cd ~/.openclaw/workspace
git init
git add MEMORY.md memory/
git commit -m "初始化記憶系統"

這樣你可以查看記憶的變更歷史、回退錯誤的修改,甚至在多台機器間同步。

完成上面,你的 AI 就擁有了一套完整的記憶系統。

結語

最有價值的 AI 助手,不是提示詞(Prompt)寫得最好的,而是記憶維護得最好的。

通過 OpenClaw 的記憶系統,你的 AI 會從一個“每天都是新面孔”的機器人,變成一個真正懂你、甚至能預判你需求的老夥計。

一個月後,當你再問它“那個項目進度如何”時,它能準確報出你還沒修好的那個 Bug,那才是 AI 真正的魅力。

快速上手清單

  1. 打開你的 MEMORY.md,填入個人信息和偏好

  2. 在 openclaw.json 中開啓 Dreaming("enabled": true)

  3. 開啓預壓縮記憶刷新(memoryFlush)

  4. 在 AGENTS.md 中加入記憶協議和檢索協議

  5. 用 Git 初始化工作區,給記憶系統加上"後悔藥"

今日互動: 如果你的 AI 能夠永久記住一件事,你最希望它記住什麼?

A. 我的代碼癖好

B. 我吹過的牛逼和未竟的夢想

C. 某次熬夜修 Bug 的慘痛教訓

我是大劉,我們下篇見!

圖片
更多文章:
OpenClaw 進化論:有了“靈魂”之後,我們要給 AI 找個好工作
OpenClaw系列: 小白玩 OpenClaw 動不動就不響應?那是你沒給它裝上這雙“眼睛”
OpenClaw系列:大劉教你用 SOUL.md,把冰冷的代碼養成“三有青年”
保姆級教程,大劉帶你從 0 領養 OpenClaw
一句話上線:OpenClaw 讓部署不再是難事
OpenClaw系列:拒絕 FOMO,我是如何調教出有“靈魂”的 AI 寫作夥伴
OpenClaw系列二:如何基於 OpenClaw 打造一個永不失憶的 AI 助手?