LLM 本質上是金魚腦。
你跟 ChatGPT 聊得再深入,把對話視窗一關,它對你一無所知——下次開新對話,又是初次見面。這不是 bug,是大型語言模型的本質:它沒有記憶,只有當下被塞進 context window 的文字——就連「這一場聊過的」,也是每一輪都被重新餵回去的 session 內容。視窗一關、沒人再餵,就什麼都沒了。
這件事我感受最深的不是理論,是煩。剛開始用 AI 那陣子,每件事都要重複交代——持倉講過了、家裡的規矩講過了、上週定下的方向也講過了,換一個視窗全部重來。它不是不聰明,是不知道怎麼延續:你們昨天明明推進到一半,今天它連「我們做過什麼」都不知道。
但我家的管家記得上個月我說過的話:記得我的投資持倉、記得家裡濕度的閾值、記得家人的生日要訂餐廳。它怎麼記住的?
先講清楚一件事,免得後面六天都建立在誤會上:這套三層記憶不是我發明的,是 OpenClaw 這個框架本身就有的設計(Day 1 提過,系統跑在它上面)。我做的是另一件事——把它實際跑起來、撞上它沒管的部分,然後補上治理。
這一週要講的其實是後者。框架給你引擎,怎麼開、怎麼保養、油門踩到哪會爆,那些沒人幫你寫。
還有一個理由,讓「記憶」值得用一整週講。Day 1 的角色表給 Clawrion 的定位是 💾 持久化系統——「它不思考,它記得」;Day 7 算完那筆帳,收在「記憶與準時本來就不需要智慧」。準時是下週排程實戰的主題,記憶就是這一週。對一個大腦不在身上的系統來說,記憶不是它的功能之一,是它的本體——思考可以外包,記得不行。
第二週,就從這裡開始。
很多人以為「把資料塞進 prompt」就是記憶。不是。
context window 是模型的工作檯面,不是它的倉庫。檯面有大小上限、每次對話結束就清空、而且每塞一份資料都要重新付一次 token 成本。把所有歷史都塞進 context,既塞不下、也燒錢、關掉還是忘。
真正的記憶,必須活在 context 之外——存在某個關掉對話也不會消失的地方,需要時再讀回檯面。對自架系統來說,那個地方就是檔案。
舉個實際的例子:如果沒有記憶層,我的投資長 Agent 每次被叫醒都得重新問我「你的持倉是什麼?」——因為昨天告訴它的,今天它已經忘光了。有了長期記憶,它每次醒來就自帶我的持倉與規則——我問「今天要注意什麼」,它不必先反問「你有什麼」。記憶的價值,就是讓 Agent 不必每天重新認識你。
框架把記憶拆成三層,各司其職——這張圖是它的設計,不是我的:

① 短期記憶——Session(工作記憶)
就是當下對話的 context window。Agent 在這層即時思考、回應,但它是易失的:對話結束就清空。它的角色不是「記住」,是「處理」。
② 長期記憶——檔案(兩格)
這層才是真正的倉庫,又分兩格:
memory/YYYY-MM-DD.md:每日原始日誌,當天發生什麼就寫什麼,未經整理的流水帳。MEMORY.md:精煉後的長期記憶,是從日誌裡淬煉出來、值得長期保留的東西。兩者的關係,就像「日記」與「你對自己的理解」:日記是原始素材,理解是沉澱後的結論。
攤開來看更清楚。日誌裡的一天長這樣(示意,內容已抽換):
- 09:12 盤前確認:美股持倉無異動,記憶體類股比重偏高,續觀察
- 14:30 主臥濕度 78%,除濕機自動啟動,40 分鐘後回到 62%
- 21:05 討論過把週報改成固定樣板,結論:先不動
而同一週真正沉澱進 MEMORY.md 的,可能只有一條:
- 持倉規則:記憶體類股比重偏高,超過上限要提醒再平衡
流水帳記「發生過」,長期記憶記「往後每天都用得上」。十幾行變一行——消失的那十幾行不是丟了,是被判斷過了。判斷是誰做的?就是第三層的工作。
③ Dreaming——夜間鞏固
這層是橋梁。每天凌晨,系統會自動跑一個 dreaming 循環:讀過去幾天的日誌 → 提煉出重要的事 → 寫回 MEMORY.md,並清掉過期內容。沒有這層,日誌會無限堆積、MEMORY.md 永遠不會更新。Dreaming 是把「發生過的事」變成「記得的事」的關鍵一步。
明天整篇講這一層。先預告一句:它是整個系列裡,把我打臉打得最腫的一篇。
框架這個三層設計也不是憑空來的,它幾乎是照著人類記憶系統抄的:
| 我的 Agent | 人類記憶 |
|---|---|
| Session context | 工作記憶(當下在想的事,轉頭就忘) |
| 每日日誌 + MEMORY.md | 長期記憶(沉澱下來的經驗) |
| Dreaming 夜間整合 | 睡眠鞏固(大腦在睡覺時把白天的記憶歸檔) |
人腦不會把每件事都即時寫進長期記憶,而是先暫存,在睡眠時才做整合與遺忘。我的系統做的是同一件事:白天記流水帳,夜裡才消化沉澱。當你發現「最好的架構往往是模仿生物系統」時,會有種莫名的踏實感。
把「分三層」講具體一點——看一條記憶怎麼流過這三層:
memory/2026-06-20.md(每日日誌),跟當天其他事一起,未經整理的流水帳。MEMORY.md(長期記憶),順手把日誌裡的瑣事過濾掉。MEMORY.md,於是它記得我的防守部位調整——盤前報告自己就帶上了。同一條資訊,從「正在處理」沉澱成「長期記得」,靠的就是這三層的接力。記憶不是某一層的事,是它在層與層之間流動的結果。
順帶說一個用了半年才有感的事:這三層裡真正每天兌現價值的,是最不炫的那個動作——啟動時把 MEMORY.md 讀回來。做夢很有戲(明天會講它的戲有多足),但讓管家像管家的,是它每次醒來就記得你。
補一句:這條流水線的入口不只「我跟 Agent 的對話」——Day 1 講過家裡其實有兩個 AI,桌面端那位(大腦)留下的交接單,夜裡也會被消化進同一條線。兩套系統怎麼靠這招不分裂,Day 11 專門講。
(至於這些記憶為什麼全用 Markdown 檔、而不是資料庫——那是個夠大的決定,留到 Day 13 專門講。)
講到這裡都在講「怎麼寫進去」,但記憶還有另一半:怎麼讀回來。檔案式記憶的讀回只有兩條路——
MEMORY.md 走這條。保證讀到,代價是它恆常佔著工作檯面——這也是它必須精煉的理由(Day 10 會講減肥)。後面這條不是理論風險。系統裡有一項統計:每條記憶被「回想」(主動搜尋)過幾次。我去翻的時候,多數條目是零——不是它們沒價值,是自動化任務醒來只做手上的事,從不回頭翻舊帳。
所以這一週要講的所有寫入功夫,都建立在一個前提上:寫入 ≠ 記得,被讀到才算記得。(Day 14 會比較的 RAG,真正的差異就在這一步——它把「想起來」自動化了。)
LLM 沒有記憶,但系統可以有。三層架構讓我的 Agent「活」了起來:
明天展開第三層:那個讓 AI「每天凌晨三點睡覺」的 Dreaming 機制——它到底在夜裡做了什麼。
🔑 這篇的關鍵字
三層記憶:short-term(session context)· long-term(外化成檔案的MEMORY.md)· 整合層(dreaming)· 「一條記憶的一生」=日誌 → 提煉 → 長期記憶 · 寫入 ≠ 記得,被讀到才算 · 這三層是框架內建的——先查你用的框架有沒有,別自己造
我是一名金融業資訊工程師,這是我半年來在家自架 AI Agent 系統的實錄。