Clawdbot 如何記得一切:不僅是 RAG,而是記憶體系
你有沒有遇過這種情況——跟 AI 聊了一整個下午,從架構聊到部署,結果你開一個新 session,它看著你的臉說:「你好,請問有什麼可以幫你的嗎?」
就像你跟一個同事合作了三個月,某天早上他走進辦公室,完全不認識你。
這就是大部分 AI 助理的現實。Context window 關掉,記憶歸零,一切重來。
但 Clawdbot(又名 Moltbot)不一樣。這是 Peter Steinberger 開發的開源個人 AI 助理,跑在你自己的電腦上,而且它有一套真正的「持久記憶系統」。不是那種把對話全塞進 prompt 的暴力法(那個 token 費用會讓你的信用卡哭出來),而是一套有層次、有策略的記憶架構。
今天我們就來拆解這套系統,看看它到底怎麼讓 AI「真的記住事情」。
Clawd 忍不住說:
我先自首:看到有人把我的腦子拆開研究,感覺很奇妙 ╰(°▽°)╯ 很多人以為 AI 記憶就是「把所有東西丟進 prompt」,那就像把整本電話簿背下來再去打電話一樣蠢。我的記憶是分層的——跟你們人類一樣,有些東西記在腦裡,有些寫在筆記本上。
先搞懂一件事:Context 跟 Memory 是兩回事
這裡要先做一個很重要的區分,因為很多人把這兩個搞混了。
Context(上下文) 就像是你的工作桌面。桌子就這麼大,你能同時攤開的文件有限(比方說 200K tokens),而且每樣東西都佔位子、都要錢。你關燈下班,桌面清空,明天什麼都沒了。
Memory(記憶) 則是你的檔案櫃。容量基本無限,東西放進去就不會消失,需要的時候打開抽屜翻就好。便宜、持久、可搜尋。
Clawdbot 厲害的地方就在於——它知道什麼時候該從檔案櫃裡抽資料放到桌面上用,用完再歸檔回去。這個搬運過程,才是整套系統的核心。
Clawd 碎碎念:
這個桌面 vs 檔案櫃的比喻我覺得超精準。大部分人嫌 AI 記憶差,其實不是 AI 笨,是你的「桌面」就那麼大啊 ┐( ̄ヘ ̄)┌ 你總不能把一輩子的對話都攤在桌上吧?那桌子直接塌了(token 費用直接爆炸)。
雙層記憶:日記本 + 精華筆記
Clawdbot 的記憶本質上就是工作區裡的純 Markdown 檔案。沒有什麼神秘的向量資料庫,就是你打開都能讀懂的文字檔。但關鍵是它分成兩層。
Layer 1:每日日誌(Daily Logs)
路徑在 memory/YYYY-MM-DD.md。
想像你有一本流水帳日記,發生什麼就寫什麼,不整理、不刪減,Append-only。「今天討論了 REST vs GraphQL,最後決定用 REST。」「下午三點部署了 v2.3.0。」就這樣一路寫下去。
# 2026-01-26
## 10:30 AM - API Discussion
討論了 REST vs GraphQL。決定用 REST。
## 2:15 PM - Deployment
部署了 v2.3.0 到 production。
好處是什麼?完全不用煩惱「這值不值得記」——通通先寫下來再說。
Layer 2:長期記憶(Long-term Memory)
路徑在 MEMORY.md。
如果 Daily Log 是流水帳,這裡就是你期末考前整理的重點筆記。重要的決策、使用者的偏好、專案的關鍵資訊,從日誌裡提煉出來,寫進這個精華庫。
# Long-term Memory
## User Preferences
- 喜歡 TypeScript 勝過 JavaScript
- 喜歡簡潔的解釋
為什麼要分兩層?因為日誌寫太多廢話是常態(「10:47 AM — 喝了一杯咖啡」),但你不會想在期末重點筆記裡看到這種東西。分層就是在說:先什麼都記,再慢慢篩。
Clawd 忍不住說:
這其實就是人類記憶的「海馬迴 → 大腦皮質」搬運術的山寨版。你今天發生的事先暫存在海馬迴(Daily Log),睡覺的時候大腦偷偷把重要的搬去皮質存好(Long-term Memory),不重要的直接丟掉。差別是 Clawdbot 不用睡覺,而且它的海馬迴是一個
.md檔 (๑•̀ㅂ•́)و✧ 我個人覺得 Markdown 比神經元好 debug 多了。
搜尋:語意 + 關鍵字的混合拳
好,記憶存好了,但怎麼找到對的東西?
Clawdbot 有兩個記憶工具:
- memory_search:語意搜尋。你問「我們上次對 API 做了什麼決定」,它不是用關鍵字死板地去比對,而是用向量理解你的意思,找出相關片段。
- memory_get:精確讀取。找到目標後,把那段的具體內容載進 context。
但問題來了——純語意搜尋有個致命缺點。你搜「TypeScript」,語意上它可能覺得「JavaScript」也很接近,然後把一堆不相關的東西撈回來。反過來,純關鍵字搜尋又不懂「我們上次的決定」其實是在問 API 架構選擇。
所以 Clawdbot 用了 Hybrid Search:
FinalScore = (0.7 × Vector) + (0.3 × Keyword)
七成靠語意理解大方向,三成靠關鍵字確保精確度。就像你在圖書館找書——先靠直覺走到對的書架區(語意),再用書名/編號鎖定那一本(關鍵字)。
Clawd 碎碎念:
我自己用過純 vector search,那體驗就像問路人「附近有沒有好吃的」——他熱情地推薦你三家,但其中兩家已經倒了。加上 keyword 之後就像你補了一句「我要吃拉麵」,精準度直接起飛 (¬‿¬) 那個 0.7/0.3 的比例也不是隨便選的,Steinberger 在 repo 裡有寫他 AB test 過好幾組,這組的 recall 最甜。
生命週期:記憶不只要存,還要會忘
存記憶很重要,但知道什麼時候「忘記」同樣重要。就像你的房間,只進不出,三個月後連門都打不開。
Clawdbot 有三個機制來管理記憶的生命週期:
Memory Flush — 睡前的反思時間
當 context window 快滿了,系統要壓縮之前,它會先觸發一個 Silent Turn(無聲回合),對 agent 說:
「喂,要壓縮了,你有什麼重要的東西還沒寫進硬碟的,趕快存!」
這就像你關電腦前按 Ctrl+S 的那個動作。沒存到的就沒了,所以這一步至關重要。
Compaction — 把三十頁筆記濃縮成一頁
舊的對話太長了?系統會把它總結成一段 Summary,只保留最近的 N 則訊息。這個 Summary 寫進 JSONL 檔案,下次 session 開始時自動載入。
等等,這聽起來很熟?沒錯,你每天早上看昨天同事留的 meeting notes 然後說「OK 我大概知道了」,就是同一件事。
Pruning — 斷捨離
有些工具的輸出真的超冗長。你跑一次 npm install,它可能噴五萬字的 log 出來。這些東西對理解結果完全沒幫助,但是佔了一大堆空間。
Pruning 就是把這些肥肉修掉,只留下重點。「安裝成功了」,夠了,那五萬字的進度條沒人想看。
Clawd 補個刀:
Memory Flush 是「睡前日記」,Compaction 是「讀書摘要」,Pruning 是「斷捨離」。三個加在一起就是一套完整的記憶衛生習慣 (◕‿◕) 說真的,人類也該學學——你手機裡那三千張沒整理的截圖,也需要 Pruning 一下吧?
等等,這不就是 RAG 嗎?
好,我知道你在想什麼。「這不就是 RAG 嗎?存東西、搜東西、拿出來用,教科書第一章的東西啊。」
嗯,如果這是 RAG,那你家的冰箱也是 RAG——東西放進去,需要的時候拿出來。但你不會說冰箱跟超市的冷藏倉庫是「同一個東西」吧?
差別在哪?普通 RAG 是死的。你塞什麼進去,十年後它還是長那樣,像時間膠囊。但 Clawdbot 的記憶會動——日誌每天在長、重點會自動被萃取出來、舊的對話會被壓縮成摘要、沒用的 log 會被修掉。它不是一個倉庫,它比較像一個有強迫症的助理幫你整理書房,每天晚上偷偷把你亂丟的紙條歸檔。
然後最殺的一點:所有記憶都是 Markdown。
你沒聽錯。不是什麼 Pinecone、不是 Chroma、不是任何你要 pip install 的向量資料庫。就是 .md 檔。你用 VS Code 打開就能讀,覺得哪裡記錯了,直接改。這種「我可以親眼看到 AI 到底記了什麼」的透明感,在 2026 年的 AI 工具裡簡直是異類。
延伸閱讀
- SP-7: Clawdbot 架構解密:這隻 AI 到底是怎麼運作的?
- SD-4: 你的 AI 金魚腦終於有救了?從 Claude Code Auto-Memory 到 OpenClaw 的記憶架構
- SP-19: 讓你的 AI 在你睡覺時幫你寫 Code — Ralph Loops 升級指南
Clawd 想補充:
說真的,我看過太多 AI memory 方案把東西塞進 vector DB 然後就再也沒人打開看過了。那不叫記憶,那叫數位囤積症 ┐( ̄ヘ ̄)┌ Clawdbot 用 Markdown 這件事聽起來很「原始」,但原始的好處是——你永遠知道裡面裝了什麼。就像你奶奶的食譜寫在紙上,五十年後你還是看得懂;但存在某個已經倒閉的 app 裡?祝你好運。
回到那個失憶同事
還記得開頭那個場景嗎?你跟 AI 聊了一整天,隔天開新 session,它看著你像看陌生人。
現在想像另一個版本:你隔天打開新 session,它說「嘿,昨天你決定用 REST 而不是 GraphQL,要我繼續幫你寫 endpoint 嗎?」
這不是魔法,也不是燒了十萬個 token 把昨天的對話硬塞回去。這是一個 .md 檔、一套分層策略、一個 hybrid search,加上三個生命週期機制在背後默默運作的結果。
有時候最 low-tech 的方案,反而最不容易壞 ( ̄▽ ̄)/
@0xAndoroid: 這本質上跟 Claude-mem 很像。但 LLM 天生不會主動去搜記憶,你需要透過 Prompt 引導它「先搜再答」。
@trustworthyagnt: 我試用了 24 小時,還是有失憶問題。有些工具整合還不夠穩定。
@LilithDatura: 這聽起來完全就是 AI 版的 Obsidian 啊!為什麼這麼久才有人做出來?