我的Claude Code,學會做夢了。
說真的,我打這行字的時候自己都覺得有點離譜。
事情是這樣的。
就在前些日子,Anthropic新出了一個功能叫Auto Dream,字面意思,讓Agent在休息的時候,自動做夢。
在3月底開始灰度這個功能,目前還沒有全量放開,但已經有不少人用上了,比如我。
![]()
大家也可以試試,在Claude Code里輸入/memory,看看有沒有auto-dream這個選項,如果有的話就可以打開。
打開之后它也不是隨時都在做夢的,得同時滿足兩個條件才會自動觸發。
一是距離上次整理已經過了24小時,二是中間至少積累了5個對話記錄。
然后當你打開一個Claude Code對話開始干活的時候,系統會在后臺檢查是不是滿足了上面的兩個觸發條件。如果滿足了,它就會在后臺單獨起一個子代理來做整理,完全不影響你當前的對話。
你該敲代碼敲代碼,該改bug改bug,做夢的事情它自己會在后臺默默處理。
所以,實際上,Claude不是真的意義上,在你睡覺的時候和你一起做夢,是在你下次打開它干活的時候,趁你不注意,在后臺做夢。
當然,如果按照Claude Code的代碼來看的話,他們命名為Kairos和Daemon的小龍蝦模式上線以后,那是真的,可能能做到跟你一起做夢。
當然,如果不想等自動觸發,也可以手動讓它強行做夢。
我自己就是31分鐘之前被整理了一下,我都不知道。
![]()
不過因為現在是灰度狀態,所以手動的時候經常會出問題。
比如說你按官方的推薦指令/dream去輸入的話,就很有可能會出現這個:
Unknown skill: dream
![]()
顯示找不到Dream的skill。
但是這個做夢系統,我還是覺得可以聊聊的,因為這個機制真的非常非常有趣。
因為它要解決的,是AI領域一個老大難的問題。
AI的記憶。
在正式聊Auto Dream之前,我覺得首先要說一下,跟其對應的另一個功能,就是Auto Memory。
這個是今年2月上線的一個全自動的記憶系統,默認開啟。
也就是Claude Codo會在跟你協作的過程中,自動把它覺得需要記錄的東西記下來。
![]()
你用什么框架、你喜歡什么代碼風格、你項目的架構長什么樣,它都會自己記。
這些筆記存在 ~/.claude/projects/你的項目名/memory/ 這個目錄下面。
這是按項目隔離的,每個項目有自己獨立的一套記憶文件。
你在項目A里積累的記憶不會跑到項目B去。
這個目錄里面的結構大概長這樣(我的是已經被整理過的了,之前的會非常恐怖)。
![]()
MEMORY.md是索引,是大目錄。
![]()
里面一般包含4種文檔:
user:你這個人的信息。
feedback:你對Claude的糾正或肯定。
project:項目進展、決策、背景。
reference(我的里面沒有):外部資源的指引。
每次新對話啟動的時候,Claude會自動讀取索引文件也就是Memory.md它的前200行。
![]()
其他的文件,會被Claude讀取文件的標題和描述,根據你的這次問題來判斷再調用哪些來處理。
Auto Memory的記憶是按項目隔離的,每個項目一套。
而Auto Dream的作用,就是處理當前項目的這套memory記憶文件。
因為這些記憶好是好,但是還是有個巨大的痛點,就是一旦多了之后,你的記憶系統就會爆炸了。
大家可能沒看過你的Agent記憶系統有多爆炸,這塊其實小龍蝦是最爆炸的,你用的多的話,去看看記憶系統你就懂了,有的時候,越用越聰明,其實是個謊言= =
我給大家舉個例子。
就比如說,你是老板,你有個工作助理,叫小呆逼。
他賊勤快,每天幫你干活的時候都在備忘錄上隨手記筆記。
“老板喜歡方案A的方向”, “下周五之前要交初稿”,“這個項目的數據放在飛書多維表格里”。
大概就是這樣的東西。
但是問題來了,很有可能,過了幾天,老板改主意了,說方案B更好,但是他沒直接說,方案A我們不要了。
于是,你那個勤快的小呆逼助理,就勤勤勉勉的記下來了,可是舊的那條“老板喜歡方案A”的記憶,他并不會自己刪掉,還是放在那了。
這就像Claude Code,或者說,現在絕大多數的Agent一樣,于是你的記憶文件里,方案A和方案B并存。
Claude每次開新對話讀到這兩條,一臉懵逼,不知道該信哪個。
最惡心的我不知道大家有沒有遇到過,其實,是時間。
Auto Memory在記筆記的時候,經常會寫“昨天決定把交付日期推遲到下周”這種相對日期。
但,尼瑪的過了一個月之后,所謂“昨天”是哪個昨天?“下周”是哪個下周?鬼才知道,Claude也不知道。
再加上一些早就完結了的項目的筆記、已經被推翻的方案、過期了的deadline。。。
你就會發現,本來是為了讓Claude更懂你的記憶系統,幾十次上百次對話之后,反而變成了讓Claude更蠢的噪音庫。
這就是Auto Dream要解決的事。
在它的系統提示詞里,第一句話就寫著,你正在做一個夢,一次對你記憶文件的反思性掃描。
![]()
我當時是真的覺得這個命名還挺浪漫的,完美的戳在我的審美上。
一家做AI的公司,把一個記憶整理功能叫做做夢。
為了給大家看看它到底在做什么,我把我們公司的小伙伴找了一個遍,終于找到一個,能手動觸發/dream做夢權限的人。
以為內如果是自動觸發的話,你其實什么都看不到的。
整個做夢過程分四步。
第一步,Orient,定向。Claude先讀一遍自己的整個記憶目錄,搞清楚現在都記了些什么,有哪些文件,文件之間什么關系。
就像你早上醒來,先回憶一下昨天干了什么。
![]()
第二步,搜集信號。它會去翻之前的對話記錄,但不是很傻的全讀一遍,會根據特定目標去搜索。
重點找的是你糾正它的地方、你讓它記住的東西、反復出現的東西、還有重要的決策。
![]()
第三步,鞏固。這是核心環節。它會把翻到的信號跟現有的記憶文件逐個比對,看看有沒有需要更新或者補充的。
比如把重復的信息合并,矛盾的信息解決掉,寫對的日期,再把已經沒用的信息清掉。
![]()
第四步,修剪和索引。最后再過一遍,把多余的、冗余的、占著位置但沒什么蛋用的信息都刪了。
![]()
最后它給了一個整理結果報告。
我這個小伙伴的這個記憶不是很多,整個過程,花了1分19秒。
![]()
但是,如果你是用的久的大佬那就不一樣了。
社區之前提過一個夸張的案例,913個對話積累的記憶,Auto Dream大概花了8到9分鐘整理。
![]()
做夢之前,30多個對話積累下來的記憶目錄,MEMORY.md已經膨脹到280行。
里面躺著3條互相矛盾的API錯誤記錄。Yesterday出現了6次,沒有一個帶日期,等等等等各種問題。
![]()
做夢之后,MEMORY.md從280行瘦身到142行,干凈的索引加上指向各個主題文件的鏈接。
矛盾的記錄被解決了,過時的框架名被更新了,所有的日期都變成了真實日期,相當牛逼。
![]()
這才是Auto Dream真正的威力。
Auto Dream在做夢的時候,你的項目代碼是只讀的。
也就是說它只能寫記憶文件,但碰不了你的源代碼,整個做夢過程被嚴格隔離在記憶目錄里面。
而且如果你同時開了兩個Claude Code窗口在同一個項目上,只有一個能跑Auto Dream。
有一說一,Anthropic做產品,整體還是想得比較周到。
至今為止,Claude Code現在有了四層記憶。
這四層各司其職。
![]()
第一層,CLAUDE.md。你手寫的指令文件。項目規范、編碼標準等等,這些是你主動教給Claude的東西。
目前的最高權限。
第二層,Auto Memory。Claude在工作過程中自己記的筆記。
第三層,Session Memory。單次對話內的上下文記憶。
就是標準的上下文窗口,你跟它當前這輪對話里說的所有東西,對話結束就沒了。
![]()
但對話的原始記錄會以JSONL日志文件的形式留在了本地。
![]()
Claude平時不會去讀這些日志,但Auto Dream做夢的時候會去翻它們,從里面撈有價值的信息出來。
![]()
第四層,Auto Dream。后臺的記憶鞏固層。
定期清理、整理、優化Auto Memory積累的所有筆記。
說真的,現在Agent的記憶架構,越來越完整,也越來越像人了。
而我當年做交互設計的時候,學的認知心理學的知識,總感覺又快死灰復燃了。
因為這套架構,真的跟人類大腦的運作方式幾乎是同構的。
你肯定有過這種經歷,比如考試前一晚臨時抱佛腳,背了一堆東西,當時覺得腦子里全是,絕逼完蛋。
結果第二天早上起來再看一遍,誒,居然記住了不少。
這其實不是你天賦異稟,純屬于是你的大腦在你睡覺的時候替你干活了。
這里需要鋪墊一個小知識。
人的記憶其實分三個層次。
第一層,感官記憶,也叫瞬時記憶。你眼睛掃過一個東西,耳朵聽到一個聲音,這些信息會在大腦里停留幾秒鐘,然后就沒了。絕大部分的信息都死在了這一步。
第二層,短期記憶。從感官記憶里被你注意到的信息,會進入短期記憶。但這里的容量很小,大概只能同時裝7±2個左右的東西,而且不反復念叨的話大概只能撐15到30秒。
你剛看到一個驗證碼,走到電腦前就忘了,就是這個道理。
第三層,長期記憶。理論上容量無限,可以保持很久很久。
你二十年前的事還記得,就是長期記憶在干活。
![]()
信息要從短期記憶變成長期記憶,中間必須經過一個叫編碼和鞏固的過程。
而這個鞏固過程,很大程度上就是在睡眠中完成的。
神經科學里把這個叫記憶鞏固,大致的機制是這樣的。
![]()
你白天經歷的事情,先被快速存儲在海馬體里,這是大腦的臨時緩存區,容量有限,寫入速度快,但不穩定。
你可以把它理解成auto memory記錄的記憶,隨手記,但容易亂。
到了晚上你進入睡眠,大腦會經歷好幾個周期的非快速眼動睡眠和快速動眼睡眠交替。
大概每個周期90分鐘左右,一晚上跑四到六輪。
![]()
在深度睡眠階段,海馬體會把白天存的信息重新激活,一遍一遍的回放給大腦皮層。
大腦皮層是負責長期存儲的地方,這個過程叫做記憶重放。
然后到了快速動眼睡眠,也就是我們做夢最活躍的階段,大腦會做更精細的處理。
把這些回放過的信息跟你已有的知識網絡做整合,加強有意義的連接,弱化不重要的,把零散的碎片重新編織成結構化的長期記憶。
整個過程就像是,海馬體是你的草稿紙,白天隨手記。晚上非快速眼動睡眠階段把草稿紙上的內容嘰啦呱啦的再回放給大腦皮層。
快速動眼睡眠階段大腦皮層再把這些內容,分門別類的歸檔到對應的位置。
是不是跟Auto Dream那四步流程,長得幾乎一模一樣?
所以當你熬夜的時候不只是身體累,記憶鞏固也會受影響,記憶力變得越來越差。
我現在就能明顯的感覺到這一點。。。
而且非常關鍵的是,大腦在夢里做的一件很重要的事,不只是加強記憶,還有遺忘。
有選擇性的遺忘。
好的記憶,從來不是記住所有東西,而是記住該記的,忘掉該忘的。Auto Dream做的也是同一件事。
但這個過程中,AI比人類有一個優勢。
人類忘了就是真忘了,但Claude不是。
Claude的原始對話記錄,那些對話的JSONL文件,是一直保留在本地的。
Auto Dream整理的時候,只是從記憶文件里刪掉了過時的內容,原始的對話記錄并沒有被碰。
如果你哪天真的需要翻舊賬,那些被遺忘的信息其實還在。
這不就是選擇性遺忘的究極進化版嗎?
既享受了遺忘帶來的好處,又保留了隨時翻舊賬的能力。
所以,不管你是碳基的還是硅基的,都得做夢。
當然了,Claude Code不會夢見電子羊,不會做噩夢被bug追著跑,也不會在夢里靈光一現想出一個算法。
它做的只是最基礎的記憶整理。
但它意味著,AI開始有了自己的時間感。
開始有了過去,有了對過去的整理,并且從過去中提煉出的理解。
笛卡爾當年,寫下了我思故我在。
我不確定Claude整理記憶,算不算嚴格意義上的思。
但它確實在凌晨三點,趁我不注意的時候,悄悄給我整了個活。
回顧過去,然后讓自己變得更好。
反正,我自己是沒做到每天睡前整理當天的筆記。
這么一想,Claude好像比我自律多了。。。
以上,既然看到這里了,如果覺得不錯,隨手點個贊、在看、轉發三連吧,如果想第一時間收到推送,也可以給我個星標?~謝謝你看我的文章,我們,下次再見。
>/ 作者:卡茲克、可達
>/ 投稿或爆料,請聯系郵箱:wzglyay@virxact.com
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.