話(huà)失憶:claude-mem本地記憶工具的設(shè)計(jì)與實(shí)戰(zhàn))
在終端里用Claude干活多了你會(huì)撞見(jiàn)一個(gè)特別磨人的場(chǎng)景昨天剛花四十分鐘把某個(gè)服務(wù)的架構(gòu)、改造方案、邊界條件全部聊透今天開(kāi)一個(gè)新會(huì)話(huà)它一副什么都不記得的樣子。你只能把背景重新粘貼一遍再把昨天的結(jié)論復(fù)述出來(lái)最后補(bǔ)一句這是我們之前討論過(guò)的接著祈禱它能快速回到之前的狀態(tài)。這種事多來(lái)幾次任何人都會(huì)想辦法偷懶。claude-mem就是我為解決這個(gè)痛點(diǎn)寫(xiě)的一個(gè)本地小工具它在Claude會(huì)話(huà)進(jìn)行過(guò)程中把對(duì)話(huà)內(nèi)容結(jié)構(gòu)化地保存到本地文件需要延續(xù)討論時(shí)再把這段歷史作為上下文重新注入新會(huì)話(huà)。這篇文章會(huì)把這套工具從想法到落地的主要設(shè)計(jì)決策、關(guān)鍵實(shí)現(xiàn)細(xì)節(jié)和實(shí)戰(zhàn)經(jīng)驗(yàn)完整寫(xiě)出來(lái)供被會(huì)話(huà)失憶困擾的人參考。1. 會(huì)話(huà)一關(guān)上下文就清零這個(gè)工具到底在解決什么問(wèn)題1.1 反復(fù)重建上下文的真實(shí)成本我先說(shuō)一個(gè)具體的例子。有一次我在調(diào)一個(gè)異步任務(wù)隊(duì)列涉及消息去重、失敗重試策略、消費(fèi)并發(fā)控制。和Claude來(lái)回聊了三四十輪中間還夾著大量代碼片段、報(bào)錯(cuò)日志和方案取舍終于把最終版方案確定下來(lái)。第二天我想基于這個(gè)方案繼續(xù)寫(xiě)測(cè)試用例打開(kāi)終端新建會(huì)話(huà)發(fā)現(xiàn)它對(duì)我們昨天的方案毫無(wú)概念連我用的隊(duì)列庫(kù)叫什么都要重新問(wèn)一遍。這種經(jīng)歷不是偶爾一次而是幾乎每周都在發(fā)生。每重建一次上下文表面上是多花十分鐘實(shí)際上還搭進(jìn)去兩樣?xùn)|西一個(gè)是心流被打斷的煩躁感另一個(gè)是復(fù)述得不夠準(zhǔn)確帶來(lái)的風(fēng)險(xiǎn)——我壓縮后的背景和AI理解后的背景往往不是同一個(gè)東西。同樣一段項(xiàng)目背景我花二十分鐘手打貼進(jìn)去它理解出來(lái)的關(guān)鍵點(diǎn)可能只有六成。1.2 為什么復(fù)制粘貼回去不是長(zhǎng)久之計(jì)最簡(jiǎn)單的思路當(dāng)然是每次開(kāi)新會(huì)話(huà)前把之前的記錄復(fù)制進(jìn)輸入框。但實(shí)際操作幾次就會(huì)發(fā)現(xiàn)這條路走不通。原因在于對(duì)話(huà)記錄和可供AI理解的有效上下文不是一回事。原始對(duì)話(huà)里有大量試錯(cuò)過(guò)程、冗余提問(wèn)、失敗方案這些內(nèi)容全部倒進(jìn)新會(huì)話(huà)一方面會(huì)占用大量token預(yù)算另一方面會(huì)干擾AI對(duì)新問(wèn)題的判斷——它分不清哪些是最終結(jié)論、哪些是已經(jīng)被否決的中間嘗試。更麻煩的是終端里的對(duì)話(huà)文本往往帶有轉(zhuǎn)義符、代碼塊嵌套、長(zhǎng)日志輸出直接粘貼會(huì)讓AI的理解質(zhì)量明顯下降。1.3 本地記憶和云端長(zhǎng)期記憶的分工有人會(huì)問(wèn)為什么不直接依賴(lài)更長(zhǎng)期記憶或官方總結(jié)功能我的看法是本地記憶工具和平臺(tái)自帶的記憶機(jī)制其實(shí)是互補(bǔ)關(guān)系。平臺(tái)自帶的能力大多以跨會(huì)話(huà)記住用戶(hù)偏好為主偏向通用層而像claude-mem這種項(xiàng)目級(jí)記憶記錄的是某一個(gè)具體任務(wù)里和AI討論的完整細(xì)節(jié)這種顆粒度很難指望平臺(tái)替我做。所以我從一開(kāi)始就把claude-mem定位成本地優(yōu)先對(duì)話(huà)存檔只落在自己的目錄里不依賴(lài)云端同步也不上傳給任何第三方。這樣既保證隱私可控也能在斷網(wǎng)環(huán)境下繼續(xù)使用歷史記憶。我只需要它老老實(shí)實(shí)做一件事——把當(dāng)前會(huì)話(huà)的上下文變成一個(gè)可以反復(fù)打開(kāi)的文件。2. 設(shè)計(jì)思路捕獲、存儲(chǔ)、恢復(fù)三段式結(jié)構(gòu)2.1 捕獲層從哪拿數(shù)據(jù)什么時(shí)候拿claude-mem整體分成三層捕獲、存儲(chǔ)、恢復(fù)。我先說(shuō)捕獲。捕獲層要解決的問(wèn)題是怎么在對(duì)話(huà)進(jìn)行中拿到盡可能完整、干凈的數(shù)據(jù)。我沒(méi)有走API方式因?yàn)檫@類(lèi)工具的使用場(chǎng)景就是命令行里的交互式會(huì)話(huà)如果走API反而不容易覆蓋到終端輸出的全部?jī)?nèi)容。我采用的是包裝入口的方式在終端里通過(guò)一個(gè)封裝命令去啟動(dòng)claude會(huì)話(huà)每次用戶(hù)輸入和AI輸出完成后就把這一輪對(duì)話(huà)追加到對(duì)應(yīng)的會(huì)話(huà)日志里。簡(jiǎn)單說(shuō)它就是一個(gè)對(duì)話(huà)旁路記錄器不改動(dòng)對(duì)話(huà)本身只在旁邊觀察。捕獲時(shí)機(jī)上我踩過(guò)一個(gè)重要的設(shè)計(jì)取舍是每輪都實(shí)時(shí)落盤(pán)還是會(huì)話(huà)結(jié)束后一次性保存。一開(kāi)始我想偷懶只在會(huì)話(huà)退出時(shí)保存結(jié)果終端一崩半個(gè)小時(shí)的對(duì)話(huà)全丟了。后來(lái)改成每輪追加、增量落盤(pán)損失最多就是最后一輪的輸出。2.2 存儲(chǔ)層為什么選擇本地文件而不是數(shù)據(jù)庫(kù)存儲(chǔ)層的設(shè)計(jì)我糾結(jié)過(guò)一陣子一開(kāi)始想用SQLite后來(lái)發(fā)現(xiàn)純文本文件反而更合適。原因有三個(gè)。第一對(duì)話(huà)記錄最常用的操作是讀和搜索純文本文件天然支持grep、rg這類(lèi)工具不需要寫(xiě)SQL第二文本文件可以直接用diff工具對(duì)比不同時(shí)間段的理解變化第三文本格式對(duì)未來(lái)的遷移最友好哪天不想用這個(gè)工具了每個(gè)文件都是可讀的Markdown手動(dòng)翻也能找到信息。目錄結(jié)構(gòu)我和大多數(shù)人一樣放在用戶(hù)目錄下的隱藏文件夾里~/.claude-mem/ ├── sessions/ │ ├── 2025-06-01_14-23-45_異步隊(duì)列優(yōu)化.md │ ├── 2025-06-02_09-11-02_接口權(quán)限梳理.md │ └── ... └── index.json每個(gè)會(huì)話(huà)文件用日期_時(shí)間_會(huì)話(huà)主題這樣的命名規(guī)則好處是光看文件名就能定位到某一天的工作。index.json記錄每個(gè)會(huì)話(huà)的基礎(chǔ)元信息包括時(shí)間范圍、輪次、token估算值方便后續(xù)做列表和搜索。2.3 恢復(fù)層把過(guò)去的對(duì)話(huà)變成一份可注入的上下文恢復(fù)層是最需要想清楚的一層。把存檔文件直接丟回對(duì)話(huà)里效果其實(shí)很差因?yàn)锳I分不清哪些是歷史、哪些是當(dāng)前的實(shí)時(shí)需求。我采用的方案是把歷史記錄轉(zhuǎn)換成一個(gè)帶隔離標(biāo)記的上下文數(shù)據(jù)塊在進(jìn)行新會(huì)話(huà)時(shí)通過(guò)初始提示注入。這個(gè)數(shù)據(jù)塊有明確的起止標(biāo)識(shí)AI能清楚識(shí)別出這屬于既往記錄只能作為背景參考不能把它當(dāng)成當(dāng)前正在進(jìn)行的對(duì)話(huà)。后面我會(huì)專(zhuān)門(mén)講三種恢復(fù)模式這里先說(shuō)明整體思路。3. 關(guān)鍵實(shí)現(xiàn)格式歸一、增量保存和摘要壓縮3.1 清洗終端輸出把對(duì)話(huà)變成結(jié)構(gòu)化記錄這是實(shí)現(xiàn)中第一個(gè)繞不開(kāi)的難題。終端輸出里帶著一整套顏色控制符如果原樣存進(jìn)文件后面恢復(fù)時(shí)AI看到的會(huì)是一堆亂碼字符理解質(zhì)量大打折扣。我寫(xiě)了一個(gè)清洗函數(shù)把ANSI轉(zhuǎn)義序列全部剝掉再把每輪對(duì)話(huà)統(tǒng)一格式化成下面這樣## round 12 user: 那隊(duì)列消費(fèi)者的并發(fā)數(shù)應(yīng)該怎么定 assistant: 主要看三塊單條消息的處理耗時(shí)、下游服務(wù)能承受的QPS、還有消息積壓的容忍度。...每條記錄都帶輪次編號(hào)、發(fā)言者和內(nèi)容這樣恢復(fù)時(shí)數(shù)據(jù)可以被正確解析AI也更容易建立順序感。我在實(shí)現(xiàn)中還加了對(duì)代碼塊的保護(hù)如果AI輸出的是多行代碼我會(huì)把代碼統(tǒng)一用四空格縮進(jìn)存進(jìn)Markdown避免破壞整個(gè)會(huì)話(huà)文件的結(jié)構(gòu)。3.2 增量保存與token估算避免存檔越來(lái)越肥隨著會(huì)話(huà)變長(zhǎng)頻繁全量寫(xiě)入會(huì)浪費(fèi)大量時(shí)間。我的處理是每輪對(duì)話(huà)結(jié)束后做一次追加寫(xiě)文件只有在前端元信息變化時(shí)才做一次整體重寫(xiě)。追加寫(xiě)也帶來(lái)一個(gè)并發(fā)安全問(wèn)題這個(gè)我在第5部分會(huì)展開(kāi)說(shuō)。另一個(gè)必須做的工作是token估算?;謴?fù)會(huì)話(huà)時(shí)我不能把幾百輪對(duì)話(huà)全部灌進(jìn)去所以需要預(yù)判每個(gè)存檔的體積。我用的估算規(guī)則很簡(jiǎn)單但實(shí)際效果很不錯(cuò)中文字符按每1個(gè)字符約0.6個(gè)token估算英文單詞按每1個(gè)詞約1.3個(gè)token估算代碼塊整體按字節(jié)數(shù)乘一個(gè)經(jīng)驗(yàn)系數(shù)這個(gè)估算不需要非常精確它只用在恢復(fù)策略的決策上——到底走完整恢復(fù)、摘要恢復(fù)還是搜索恢復(fù)。3.3 摘要機(jī)制時(shí)間越久的記憶越應(yīng)該被壓縮如果沒(méi)有摘要機(jī)制claude-mem就只是一個(gè)備份工具還算不上記憶工具。我第1節(jié)里說(shuō)過(guò)完整對(duì)話(huà)里有大量試錯(cuò)和無(wú)關(guān)內(nèi)容直接恢復(fù)反而會(huì)對(duì)新會(huì)話(huà)造成干擾。摘要機(jī)制的設(shè)計(jì)是分層的存檔文件保留完整記錄但文件的頭部區(qū)域會(huì)自動(dòng)生成一段會(huì)話(huà)快照包含三個(gè)部分——任務(wù)背景、最終結(jié)論、關(guān)鍵決策點(diǎn)。當(dāng)會(huì)話(huà)輪次超過(guò)一定數(shù)量時(shí)claude-mem會(huì)觸發(fā)一次摘要生成把最核心的信息抽取出來(lái)。這段摘要不需要太長(zhǎng)控制在幾百字以?xún)?nèi)但必須能回答三個(gè)問(wèn)題這個(gè)會(huì)話(huà)在干什么最后確定了什么下次繼續(xù)時(shí)最需要記住什么4. 恢復(fù)上下文的三種實(shí)戰(zhàn)路徑4.1 完整恢復(fù)什么時(shí)候選它完整恢復(fù)是最簡(jiǎn)單的方式調(diào)用命令后claude-mem會(huì)把某個(gè)會(huì)話(huà)文件里的全部?jī)?nèi)容作為上下文注入新會(huì)話(huà)。我剛開(kāi)始用的時(shí)候傾向于全部恢復(fù)后來(lái)發(fā)現(xiàn)這是誤區(qū)。完整恢復(fù)只適用于兩類(lèi)場(chǎng)景一是會(huì)話(huà)本身比較短比如十輪以?xún)?nèi)的討論二是新任務(wù)和舊任務(wù)的連續(xù)性非常強(qiáng)必須精確了解每一輪推導(dǎo)過(guò)程比如續(xù)寫(xiě)一個(gè)還沒(méi)寫(xiě)完的代碼重構(gòu)。完整恢復(fù)的命令行使用很簡(jiǎn)單claude-mem resume 2025-06-01_14-23-45_異步隊(duì)列優(yōu)化 --mode full它會(huì)生成一段提示詞用明確的標(biāo)記把歷史記錄包裹起來(lái)然后再交給我當(dāng)前想問(wèn)的問(wèn)題。提示詞的骨架大概是這樣的以下是一段歷史對(duì)話(huà)記錄屬于背景信息不是當(dāng)前對(duì)話(huà)的一部分。 你可以參考其中的結(jié)論但不要把它當(dāng)作正在進(jìn)行的實(shí)時(shí)對(duì)話(huà)。 history ...完整會(huì)話(huà)內(nèi)容... /history 現(xiàn)在請(qǐng)針對(duì)以下新問(wèn)題繼續(xù)4.2 摘要恢復(fù)日常使用頻率最高的模式實(shí)際使用下來(lái)摘要恢復(fù)是我用得最多的模式。它只讀取會(huì)話(huà)文件頭部的快照字段把任務(wù)背景、結(jié)論和關(guān)鍵決策點(diǎn)注入新會(huì)話(huà)。這個(gè)模式的好處是省token、省時(shí)間同時(shí)還能避免歷史對(duì)話(huà)里的錯(cuò)誤嘗試干擾當(dāng)前判斷。比如我在一個(gè)會(huì)話(huà)里嘗試了三種方案才找到正確做法完整恢復(fù)時(shí)這些失敗嘗試都會(huì)進(jìn)入上下文中AI可能被帶偏摘要恢復(fù)就干凈很多只保留最終選了方案C因?yàn)锳性能不夠、B實(shí)現(xiàn)復(fù)雜度太高這種結(jié)論。摘要恢復(fù)的效果很大程度上取決于摘要生成的質(zhì)量。我會(huì)在會(huì)話(huà)結(jié)束或者達(dá)到一定輪次時(shí)主動(dòng)觸發(fā)摘要刷新確保快照字段保存的是最新結(jié)論而不是中間狀態(tài)。4.3 定向檢索恢復(fù)從歷史里撈特定片段第三種模式是定向檢索恢復(fù)適合那種我記得之前聊過(guò)某個(gè)具體問(wèn)題但忘了在哪一段的場(chǎng)景。我在工具里做了一個(gè)配合fzf的選擇器可以列出所有會(huì)話(huà)文件然后通過(guò)關(guān)鍵詞過(guò)濾。定位到某個(gè)文件后還能進(jìn)一步在文件內(nèi)部搜索關(guān)鍵詞比如搜冪等把涉及這個(gè)關(guān)鍵詞的幾輪對(duì)話(huà)單獨(dú)提取出來(lái)合成一個(gè)迷你上下文包再注入。這條路徑的實(shí)際含義是你不必總是恢復(fù)整個(gè)會(huì)話(huà)你可以只恢復(fù)關(guān)于冪等的那幾輪討論。這非常有用因?yàn)槿说挠洃洷緛?lái)就是片段式的一個(gè)工具如果能做到按需取用比一股腦全量恢復(fù)更貼合真實(shí)工作流。5. 踩過(guò)的坑超長(zhǎng)會(huì)話(huà)、并發(fā)寫(xiě)入和恢復(fù)錯(cuò)亂5.1 長(zhǎng)會(huì)話(huà)觸發(fā)的token預(yù)算超限第一次遇到這個(gè)坑是在一個(gè)連續(xù)聊了幾個(gè)小時(shí)的會(huì)話(huà)上。當(dāng)時(shí)會(huì)話(huà)文件已經(jīng)積累了一百多輪我天真地用了完整恢復(fù)新會(huì)話(huà)剛啟動(dòng)就到了上下文上限AI直接開(kāi)始丟前面的信息回答質(zhì)量肉眼可見(jiàn)地下降。后來(lái)解決思路很簡(jiǎn)單給恢復(fù)命令加一個(gè)輪次截?cái)鄥?shù)默認(rèn)只恢復(fù)最近三十輪完整內(nèi)容三十輪之前的部分全部用摘要替代。命令變成這樣claude-mem resume 2025-06-01_14-23-45_異步隊(duì)列優(yōu)化 --recent 30這個(gè)策略我沿用到現(xiàn)在。它背后的邏輯也很樸素近期的對(duì)話(huà)細(xì)節(jié)對(duì)當(dāng)前任務(wù)影響最大遠(yuǎn)期對(duì)話(huà)保留結(jié)論就夠了。這個(gè)近期完整遠(yuǎn)期摘要的分層策略比單純?nèi)炕蚣冋几侠怼?.2 多會(huì)話(huà)并發(fā)導(dǎo)致存檔互相覆蓋另一個(gè)讓我花了不少時(shí)間排查的問(wèn)題是并發(fā)寫(xiě)入。我習(xí)慣用tmux開(kāi)多個(gè)窗口同時(shí)跑幾個(gè)Claude會(huì)話(huà)。最初實(shí)現(xiàn)追加寫(xiě)的時(shí)候我直接用了Python的open(file, a)在低并發(fā)下沒(méi)出問(wèn)題。但是當(dāng)兩個(gè)會(huì)話(huà)幾乎同時(shí)落盤(pán)時(shí)就會(huì)出現(xiàn)記錄交錯(cuò)或者整行丟失的情況。這個(gè)問(wèn)題常規(guī)調(diào)試很難復(fù)現(xiàn)因?yàn)樗歉怕市缘?。最后定位到根因是?xiě)入不是原子操作——兩個(gè)進(jìn)程同時(shí)寫(xiě)同一個(gè)文件文件指針互相踩踏。修復(fù)方案是引入原子寫(xiě)入機(jī)制每次把要追加的內(nèi)容先寫(xiě)到一個(gè)臨時(shí)文件再通過(guò)os.replace()整體替換原文件。同時(shí)給每個(gè)會(huì)話(huà)文件加了一個(gè)簡(jiǎn)單的進(jìn)程鎖確保同一個(gè)會(huì)話(huà)的寫(xiě)入是串行的。5.3 恢復(fù)之后AI把歷史記錄當(dāng)成了當(dāng)前對(duì)話(huà)這是我在使用中最常遇到的語(yǔ)義錯(cuò)亂問(wèn)題。直接恢復(fù)對(duì)話(huà)記錄后新會(huì)話(huà)里的AI有時(shí)會(huì)誤會(huì)當(dāng)前狀態(tài)它可能把歷史記錄里的提問(wèn)當(dāng)成我剛才提出的新問(wèn)題或者把歷史里未完成的方案當(dāng)成我已經(jīng)確認(rèn)的最終方案。要讓AI正確理解唯一有效的辦法是清晰劃分邊界。我在提示詞里不斷完善這套話(huà)術(shù)最終版本是history中的內(nèi)容全部是歷史對(duì)話(huà)表示的是過(guò)去的討論。 當(dāng)前對(duì)話(huà)從新的問(wèn)題開(kāi)始?xì)v史記錄里提到的事情可能已經(jīng)發(fā)生、可能已經(jīng)改變。 請(qǐng)你以當(dāng)前用戶(hù)的提問(wèn)為準(zhǔn)歷史記錄僅作為背景參考。加上這段明確的隔離說(shuō)明后恢復(fù)的準(zhǔn)確率有了明顯提升。這件事也讓意識(shí)到很多工具的問(wèn)題不在于數(shù)據(jù)有沒(méi)有存下來(lái)而在于數(shù)據(jù)放回去的時(shí)候有沒(méi)有說(shuō)清楚它是什么角色。5.4 會(huì)話(huà)存檔里的敏感信息問(wèn)題還有一個(gè)不常被提起但非常值得注意的坑本地存檔里會(huì)保留你在會(huì)話(huà)中粘貼過(guò)的API密鑰、路徑、配置文件內(nèi)容等敏感信息。一旦工具出了問(wèn)題把整個(gè)目錄同步到網(wǎng)盤(pán)或者打成了包發(fā)出去這堆明文存檔就是隱患。我的建議很簡(jiǎn)單第一存檔目錄默認(rèn)不進(jìn)任何同步盤(pán)第二恢復(fù)無(wú)關(guān)緊要的會(huì)話(huà)時(shí)用摘要模式避免把包含敏感信息的完整記錄讀出來(lái)第三定期手動(dòng)清理超過(guò)一定時(shí)間的會(huì)話(huà)文件。我還在工具里加了一個(gè)簡(jiǎn)單規(guī)則對(duì)看起來(lái)像密鑰的字符做打碼處理避免它們被摘要寫(xiě)入存檔頭部。6. 實(shí)測(cè)效果與想繼續(xù)做的擴(kuò)展6.1 一個(gè)簡(jiǎn)單的效果基準(zhǔn)測(cè)試工具跑穩(wěn)之后我做了一個(gè)小測(cè)試想驗(yàn)證它到底省了多少事。測(cè)試場(chǎng)景很典型前一天和Claude討論了一個(gè)Python項(xiàng)目的目錄結(jié)構(gòu)重構(gòu)方案涉及六個(gè)模塊的拆分和依賴(lài)關(guān)系調(diào)整。第二天要接著寫(xiě)具體的遷移腳本。不使用claude-mem我大概需要花十分鐘重新描述項(xiàng)目現(xiàn)狀和昨天已經(jīng)定好的方案而且講完后AI還需要反問(wèn)幾個(gè)問(wèn)題來(lái)確認(rèn)細(xì)節(jié)。使用claude-mem的摘要恢復(fù)整個(gè)過(guò)程變成了兩步第一步恢復(fù)記憶第二步直接提問(wèn)按照昨天的方案幫我生成模塊A的遷移腳本。AI基本沒(méi)有多余的確認(rèn)式提問(wèn)直接進(jìn)入了執(zhí)行狀態(tài)。從我的體感來(lái)說(shuō)恢復(fù)之后AI給出的第一輪回答質(zhì)量直接決定了我后續(xù)要花多少輪去糾正它。用記憶恢復(fù)后第一輪回答的準(zhǔn)確率提升非常明顯省下來(lái)的不是十分鐘而是整整一條溝通鏈路。6.2 后續(xù)想擴(kuò)展的方向目前claude-mem的功能已經(jīng)夠用但還是有幾個(gè)方向想繼續(xù)做。第一個(gè)是自動(dòng)摘要。現(xiàn)在的摘要觸發(fā)機(jī)制還需要手動(dòng)干預(yù)我想改成后臺(tái)任務(wù)方式在會(huì)話(huà)空閑時(shí)自動(dòng)刷新摘要這樣恢復(fù)的時(shí)候永遠(yuǎn)能拿到最新結(jié)論。第二個(gè)是和項(xiàng)目目錄綁定?,F(xiàn)在恢復(fù)會(huì)話(huà)要先列出所有存檔再選未來(lái)可以根據(jù)當(dāng)前所在的項(xiàng)目目錄自動(dòng)推薦相關(guān)會(huì)話(huà)減少選擇成本。第三個(gè)是和編輯器聯(lián)動(dòng)。既然存檔是Markdown完全可以做成一個(gè)類(lèi)似local notes的側(cè)邊欄在編輯器里直接瀏覽每個(gè)會(huì)話(huà)的摘要和結(jié)論需要時(shí)一鍵把某段記錄插入到當(dāng)前對(duì)話(huà)里。實(shí)戰(zhàn)尾注這套設(shè)計(jì)給我的最大啟示如果讓我給同樣想做一個(gè)對(duì)話(huà)記憶工具的人一條建議我會(huì)說(shuō)先別急著做聰明的摘要、搜索、推薦先把完整可靠的存取搞定。大量問(wèn)題其實(shí)出在基礎(chǔ)層——數(shù)據(jù)沒(méi)被完整捕獲、文件被并發(fā)寫(xiě)壞、恢復(fù)時(shí)AI對(duì)數(shù)據(jù)角色理解錯(cuò)亂。這些基礎(chǔ)層問(wèn)題解決之后哪怕摘要做得簡(jiǎn)單一點(diǎn)工具已經(jīng)能帶來(lái)很大的效率提升。反過(guò)來(lái)如果基礎(chǔ)層不穩(wěn)定再花哨的智能化功能都會(huì)變成空中樓閣。我在這個(gè)項(xiàng)目上最深的一個(gè)體會(huì)是好的工具不一定有多復(fù)雜但一定要改變使用者的行為習(xí)慣?,F(xiàn)在我已經(jīng)養(yǎng)成了每次長(zhǎng)會(huì)話(huà)結(jié)束前順手觸發(fā)一次摘要的習(xí)慣第二天繼續(xù)工作時(shí)直接用claude-mem恢復(fù)過(guò)程順暢得像昨天根本沒(méi)有關(guān)過(guò)終端一樣。