上篇說Claude Code源碼意外泄露了51萬行代碼,我讓三萬幫我全部翻了一遍,總結出5個發(fā)現(xiàn):記憶系統(tǒng)、多Agent管理、安全架構、緩存經(jīng)濟學,還有未發(fā)布功能。
評論區(qū)問得最多的是記憶系統(tǒng)。
今天專門深挖這一塊。這是三萬翻得最仔細的部分,也是我覺得最顛覆認知的部分。
CLAUDE.md——你寫給AI的入職手冊
很多人用Claude Code,上來就開始干活。我建議先做一件事:寫CLAUDE.md。
這個文件是你寫給Claude Code的入職手冊。告訴它:你是誰、項目是什么、代碼規(guī)范是什么、你的偏好是什么。寫得越清楚,它越懂你。
![]()
源碼里,CLAUDE.md有4層加載機制:
第①層:公司統(tǒng)一下發(fā)的——所有人共用,比如團隊統(tǒng)一的代碼規(guī)范
第②層:個人全局配置的——所有項目都生效,比如你習慣的注釋風格
第③層:代碼倉庫里的——整個團隊共享,跟著項目走
第④層:本地私有的——不提交倉庫,只對你自己生效
加載順序是1到4,但優(yōu)先級反過來——距離你越近的越優(yōu)先。你的個人偏好,優(yōu)先級高于公司規(guī)范。
![]()
這個設計很聰明。AI時代的"入職培訓",不是給新員工講的,是你寫給AI看的。你寫得越清楚,AI越懂你。很多人抱怨AI不夠好用,其實問題出在這里——你沒告訴它你是誰。
自動記憶——記錯,也要記對
Claude Code的記憶系統(tǒng)有4種類型:用戶記憶、反饋記憶、項目記憶、參考記憶。
![]()
但源碼里有一段話,讓我停了很久:
"Record from failure AND success. If you only save corrections, you will avoid past mistakes but drift away from approaches the user has already validated, and may grow overly cautious."
翻譯:記錯誤,也要記認可。只記糾正的話,AI會越來越縮手縮腳。
大多數(shù)人想到"AI記憶",想的是:我糾正它,它記住了,下次不犯。但Claude Code的設計者想得更深——如果只記錯誤,AI會越來越保守,遠離那些你已經(jīng)驗證過有效的方法。
你說"這個方向對",它要記。你說"這個PR合并成一個是對的",它要記。你不說話但沒有推翻它的方案,它也要記——這是一個默認認可的信號。
"Corrections are easy to notice; confirmations are quieter — watch for them."
這和管理團隊是一樣的道理——不能天天批評下屬,也要記得認可和鼓勵。只有批評沒有認可,下屬會越來越保守,不敢做任何嘗試。AI也一樣。
記憶的格式也有講究。以反饋記憶為例,要求寫三個部分:規(guī)則本身、Why(當時的理由)、How to apply(什么場景觸發(fā))。
為什么要記Why?"Knowing why lets you judge edge cases instead of blindly following the rule." 知道原因才能靈活應用邊界情況,不知道原因就只能機械執(zhí)行。記憶不是備忘錄,是決策參考。
還有一個時間細節(jié):凡是有時間的記憶,必須存絕對時間。你說"下周四",必須存成"2026年4月10日"。不然三個月后這條記憶不僅失效,還會添亂。
壓縮——上下文滿了怎么辦
這是源碼里我覺得最有工程價值的部分。
AI對話有個硬限制:上下文窗口就那么大,滿了就沒法繼續(xù)。普通產品的解法是直接截斷,或者提示你"新建對話"。Claude Code的解法更精細——三重壓縮機制。
![]()
觸發(fā)線 = 上下文窗口總量 - 13000個Token緩沖。接近這條線,壓縮就啟動:
微壓縮:空間還夠,輕度整理,去掉重復內容
自動壓縮:中度緊張,提煉關鍵信息,壓縮對話輪次
完整壓縮:空間告急,全面重寫,保留骨架
但壓縮不是隨便刪。源碼明確規(guī)定了必須保留的內容:改了哪些文件、踩過什么錯誤、用戶給過的所有反饋。
最后一條最有意思——如果任務還沒結束,必須從最近的對話里原文引用用戶的話,一字不差。
為什么要一字不差?因為"把這個功能改成異步的"和"把這個功能優(yōu)化一下",執(zhí)行方向完全不同。壓縮后的摘要可能丟掉這個差別,原話不會。
壓縮完,AI打開新的上下文,依然知道從哪里繼續(xù)。對用戶來說,感覺不到中斷。
然后是源碼注釋里的那個工程細節(jié)——每天有1279個session連續(xù)壓縮失敗超過50次,最嚴重的一個session失敗了3272次,浪費了約25萬次API調用。修復方案:3行代碼,連續(xù)失敗3次就停止重試。
Token就是錢。AI產品必須時時刻刻優(yōu)化緩存,否則就是在燒用戶的錢。做AI產品的同學,這種細節(jié)決定你的產品能不能活下去。
文件系統(tǒng)——不是向量數(shù)據(jù)庫
很多人會猜:Claude Code這套記憶系統(tǒng),底層一定用了向量數(shù)據(jù)庫。但沒有——純文件系統(tǒng)。
![]()
每條記憶是一個獨立的Markdown文件,人可以直接打開看,可以手動改,可以用git管理,可以diff,可以回滾,可以grep。MEMORY.md是索引文件,最多200行,每條記憶不超過150字,超了會截斷,還會自動提示AI"索引太長了,下次寫精簡一點"。
為什么不用向量數(shù)據(jù)庫?源碼里沒解釋。我的理解是:可以被人類審查的記憶,信任成本低得多。
用向量數(shù)據(jù)庫,你不知道AI記住了什么。用Markdown文件,你打開就看到了。你知道你的AI在想什么、記著什么——這本身就是一種控制感。AI的控制感從哪來?就是你能用自然語言描述它的記憶,隨時打開、隨時修改。
Dream——AI的睡眠整理
源碼里有個模塊叫AutoDream,提示詞第一行寫的是:
"You are performing a dream — a reflective pass over your memory files." 你是在做一個夢,對記憶文件進行反思性回顧。
![]()
觸發(fā)條件:距上次整理至少24小時,且期間至少有5個工作session。
做夢4個階段:
定向:先搞清楚自己現(xiàn)在知道什么
收集:掃描今天的日志,找值得留下來的新信息
整合:把新信息寫進記憶,相對時間全部換成絕對時間,新發(fā)現(xiàn)推翻舊記憶就直接修正,不留兩條矛盾的
修剪:更新索引,刪掉過時的,保持200行以內

整合階段里有個詞:memories that drifted——記憶漂移。某條記憶寫的時候是對的,但現(xiàn)在情況變了,這條記憶已經(jīng)不準了。做夢時把這類記憶找出來修正——不是簡單疊加新內容,而是維護記憶的準確性。
人腦睡眠時也是這樣工作的——整理白天信息,去掉過時的,保留重要的。Claude Code在模擬認知。
走過的彎路
我自己最早也走了彎路,以為模型夠好,問題就解決了。
后來才明白:模型只是一部分,記憶才是真正的壁壘。
現(xiàn)在看Claude Code把記憶這件事做到了極致:記憶分層、自動提取、壓縮保鮮、文件審查、每晚做夢——這是一整套完整的系統(tǒng)。
一個越用越懂你的AI,和一個每次從頭開始的AI,是兩種截然不同的產品。這個差距,靠換一個更聰明的模型彌補不了——因為它是時間積累出來的。
所以要做好AI產品,記憶是重中之重。
從Claude Code源碼里得出的這些經(jīng)驗,不知道對你有沒有幫助,歡迎評論區(qū)告訴我。
最后,如果你也想體驗AI幫你提效,歡迎來打造屬于你的龍蝦團隊。
國內版:easyclaw.cn
國際版:easyclaw.com
企業(yè)版:easyclaw.work
《走訪100個養(yǎng)蝦人》第三期:對話惠和傳媒集團創(chuàng)始人齊娜,2小時深度對談,分享如何將龍蝦從工具培養(yǎng)為伙伴,從業(yè)務接管到反向給人照鏡子。4月8日(周三)19:00,直播間見!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.