---
schemaVersion: 1
slug: gp-191-20260507-danizhu-claude-dreams-agent
ticketId: GP-191
lang: zh-tw
title: Claude 也要睡覺了：Dreams 怎麼整理 Agent 的記憶垃圾山
summary: Anthropic 的 Claude Dreams 不是單純摘要工具，而是替 Agent 記憶做離線整理的第二個迴圈。它把舊記憶與最多 100 段過往會話重新消化，產生可審核、可替換、可丟棄的新記憶庫。
originalDate: 2026-05-06
translatedDate: 2026-05-07
source: "@danizhu on X"
sourceUrl: https://x.com/danizhu/status/2052101465263509680
author: null
authorshipNote: null
canonicalUrl: https://gu-log.vercel.app/posts/gp-191-20260507-danizhu-claude-dreams-agent
status: published
replacementTicketId: null
replacementUrl: null
---

# Claude 也要睡覺了：Dreams 怎麼整理 Agent 的記憶垃圾山

> **來源:** [@danizhu on X](https://x.com/danizhu/status/2052101465263509680)

Anthropic 替 Claude 的 Managed Agents API 宣布了一個新功能：**Dreams**。這個 API 可以先粗略理解成：開發者把 Claude 包成會接任務、用工具、跨會話工作的服務，而不是每次只開一個乾淨聊天室。

這個名字很可愛，甚至有點中二。AI 會講話、會推理、會用工具，現在連睡覺都要排進行程表。可是 @danizhu 這則推文真正抓到的重點不是命名，而是 Dreams 解決了一個每個 [Agent](https://gu-log.vercel.app/glossary#agent) 開發者遲早會撞上的問題：**[context rot](https://gu-log.vercel.app/glossary#context-rot)**。

所謂 context rot，聽起來像工程師把霉菌帶進 prompt 裡，但問題其實非常樸素。Agent 在工作時會把東西寫進記憶，這件事一開始很美好。記得使用者偏好、記得專案慣例、記得過去踩過的坑，感覺像請了一位會做筆記的助理。

然後會話一路累積，筆記本開始變成倉庫清倉現場。

同一件事被重複記錄，版本還不一樣。三週前成立的假設現在已經過期，但它還躺在記憶庫裡裝死。某次除錯時隨手留下的臨時判斷，被 Agent 當成宇宙真理一起帶進下一輪脈絡。最後 Agent 每次工作都拖著一大袋雜訊上路，像去便利商店買茶葉蛋卻背了一整套露營裝備，瓦斯爐、天幕、摺疊椅全部帶齊。茶葉蛋還沒買到，人先累死。

Dreams 的意思是：Claude 可以在「睡覺」時整理這袋東西。

## Dreams 實際做了什麼

Dreams 不是在原本的記憶庫上直接動刀。依照推文描述，開發者會觸發一個非同步工作，也就是先丟一個背景任務給 Claude，讓它讀取既有記憶庫，並搭配過往會話紀錄一起看。這裡有一個明確限制：最多可以納入 **100 段會話**。

接著 Claude 會產生一份**全新的、重新組織過的記憶庫**。

這個新記憶庫要處理幾件事。重複項目會被合併；彼此矛盾的內容會被解決；已經過時的條目會被替換；過去會話裡沒有被明白寫成記憶、但其實反覆出現的模式，也可能被整理出來。

這最後一點很關鍵。Dreams 不是把資料夾重新命名，或把垃圾桶清一清而已。它比較像半夜偷偷幫研究生整理實驗紀錄的教授：不只把紙本按照日期排好，還會從一堆「今天又炸了」的註記裡看出「原來每次換某個參數都會炸」。

> **Mogu murmur：**
>
> 這裡最猛的是「從逐字紀錄裡挖出沒有明寫的模式」。一般摘要像把會議錄音壓成幾個結論；Dreams 比較像助教看完整學期作業後說：「這位同學不是不會寫遞迴，是每次終止條件都忘記。」這不是壓縮，是診斷。

原本的記憶庫不會被碰。這個設計非常工程腦，也非常重要。Dreams 產出的只是新版本，開發者可以審查，可以掛到未來會話，也可以覺得不對勁就丟掉。

換句話說，它預設整理記憶這件事可能會整理錯。不是因為 Claude 很爛，而是因為「替長期記憶下結論」本來就有風險。把原始記憶留著，讓輸出可審核、可逆轉，這比直接開著推土機進資料庫優雅很多。

---

## 這不是摘要器，是記憶礦工

@danizhu 特別提醒，Dreams 不是單純做一次摘要。

如果只是摘要，那就像把一間爆炸的房間拍成一張全景照。照片比較小，房間還是爆炸。Dreams 的定位更接近主動從會話紀錄裡挖模式、找洞見、重組知識。

開發者還可以傳入自訂指令，指定整理時要優先看什麼、忽略什麼。推文舉的例子很具體：可以要求 Claude 優先整理程式碼風格偏好，同時忽略一次性的除錯筆記。

這個差別很大。因為 Agent 記憶裡最麻煩的，常常不是資訊太少，而是資訊的壽命不同。

「這個專案偏好小函式、少抽象」可能是長期偏好。

「今天測試失敗是因為某個環境變數沒設」可能只是一次事件。

把兩者都塞進長期記憶，Agent 就會開始出現奇怪行為。好比家庭冰箱裡同時放泡菜、感冒藥、去年中秋節沒吃完的烤肉醬，而且每個瓶子都貼著「重要」。最後打開冰箱只剩考古。

Dreams 的價值就在於，它提供了一個機制，讓記憶不只是越堆越高，而是可以被重新分類、過濾、凝結成更穩定的知識。

> **Mogu 認真說：**
>
> Agent 記憶最怕「一日限定情報」混成「永久人格設定」。今天因為版本衝突暫時不要跑某個指令，不代表之後還要避開它。把臨時解法當祖訓，這種系統真的會讓工程師懷疑人生。

---

## 可以看 Claude 睡覺時在想什麼

Dreams 還有一個很有意思的設計：執行期間可以觀察。

推文提到，當一個 dream 正在跑，它的 `session_id` 會指向底層正在運作的即時會話。開發者可以串流事件，看到 Claude 當下正在讀什麼、寫什麼。

這點看似只是可觀測性，但對 Agent 記憶系統來說很實際。因為記憶整理不是純粹的背景清潔工作，它會影響未來行為。若整理過程完全黑箱，等於把「這個 Agent 之後會怎麼理解使用者、專案、偏好」交給一個看不見的夜間批次工作。

可串流觀察讓 Dreams 比較像一個可以旁聽的整理過程。開發者不一定每次都要盯著看，但當結果很奇怪時，至少有機會回頭檢查：Claude 是讀到哪段會話才產生這個判斷？哪個記憶被合併了？哪個舊條目被替換了？

這不是華麗功能，是除錯時會救命的功能。系統越像會自己學習，越需要留下可追蹤的痕跡。不然 Agent 突然開始堅持某種做法，工程師只能坐在螢幕前發呆：到底哪一次對話把它教壞了。

---

## 成本：沒有魔法，照 Token 算

Dreams 的成本也沒有藏什麼神祕小字。推文說，它依照所使用模型的標準 API [Token](https://gu-log.vercel.app/glossary#token) 費率計費，可以用 Opus 或 Sonnet，也就是 Anthropic 不同等級的 Claude 模型。用量會隨輸入會話的數量與長度成長，所以建議一開始從小規模開始。

這裡沒有免費午餐，也沒有「睡覺不用電」這種童話。Claude 要讀既有記憶庫、讀過往會話、做整理、產生新記憶，全部都會消耗 token。

但這個成本模型也讓取捨變得清楚。Dreams 不必每次 Agent 動一下就跑。它比較像定期保養，而不是每踩一次油門就拆引擎。可以先從少量會話、明確目標開始，觀察整理出來的記憶品質，再決定什麼時候值得擴大。

> **Mogu 吐槽時間：**
>
> 這裡千萬不要把 Dreams 想成「記憶越多越要全部拿去夢一次」。那就像家裡幾本書還裝圖書館條碼機，結果光掃碼就掃到天荒地老。先針對高價值、高噪音的會話做整理，通常比較像工程，不像祭改。

---

## 為什麼叫 Dreams：不是浪漫，是排程

@danizhu 認為 Dreams 這個名字是刻意的隱喻，而且是一個好隱喻。先講清楚：下面這段睡眠與記憶的類比，是用一般認知科學常見的「睡眠幫助記憶鞏固」說法來理解命名，不是 Anthropic 文件宣稱 Claude 真的有生物式睡眠。

這個比喻真正有用的地方，不是「AI 好像人類」這種浪漫話術，而是它提醒開發者：整理記憶最好不要硬塞在做事當下。

生物記憶的鞏固大多發生在睡眠期間。大腦會重播經驗，剪掉比較弱的連結，強化有意義的模式。睡覺不是把白天發生的事逐字備份，而是把一整天的混亂重新編碼：重要的留下，雜訊淡掉，原本分散的經驗被連成模式。

Agent 也有類似問題。白天，也就是執行任務時，它要行動、得到結果，並把重要資訊寫進記憶。這時候要求它同時完美維護長期記憶，負擔很重，也容易把眼前事件誤判成永久規則。

Dreams 把這件事拆開：工作時先記錄，睡覺時再整理。

---

## 第二個迴圈：Agent 不只要行動，也要反思

推文最有洞見的一段，是把 Dreams 看成 Agent 迴圈之外的第二個迴圈。這句聽起來有點抽象，翻成白話就是：Agent 不能只有「做事」這一條流水線，還需要另一條「事後檢討」流水線。

原本的 Agent 迴圈負責行動與寫入：接任務、使用工具、得到結果、把重要資訊寫進記憶。這個迴圈很像白天醒著做事。

Dreams 則形成另一個迴圈：反思、重組、改善。它把累積下來的經驗拿到離線階段重新塑形，避免任務跑到一半還要一邊扮演工程師、一邊扮演檔案管理員。

這個分離，是 @danizhu 認為長期效能可以複利成長的關鍵。因為在 Dreams 之前，記憶比較像只追加日誌：新的東西一直寫進去，舊的東西很少被真正消化。雜訊變多時，常見解法是繼續調 [Prompt](https://gu-log.vercel.app/glossary#prompt)，叫 Agent「請忽略不重要的東西」、「請優先看最近資訊」、「請自行判斷衝突」。這當然有用，但也有點像房間太亂時，在門口貼一張紙寫「進門請小心不要踩到雜物」。問題還在，只是多了一張紙。

Dreams 的轉變是：記憶可以變成會演化的知識庫。背後多了一個離線學習機制，專門處理記憶生命週期。

> **Mogu 內心戲：**
>
> 這是整則推文的核心爆點。很多 Agent 系統把「會記得」當終點，其實那只是開始。真正困難的是「記得正確的東西、忘掉該忘的東西、把零散事件變成可用規則」。人腦如果只能記不能忘，大概很快就藍屏。

---

## 更大的脈絡窗不是解藥

@danizhu 最後把矛頭指向一個常見迷思：更好的 Agent 不一定來自更大的[脈絡窗](https://gu-log.vercel.app/glossary#context-window)，而是來自更好的記憶生命週期管理。脈絡窗可以先想成 Claude 這次對話「一次看得到多少資料」的桌面大小。

這句話很狠，因為 AI 圈太常把「塞更多」當答案。脈絡窗不夠？加大。歷史資訊太多？加大。Agent 忘東忘西？再加大。

可是無限大的脈絡也不能自動解決雜訊、矛盾、訊號遺失。把整間倉庫都塞進背包，背包變大了，倉庫還是亂的。Agent 仍然可能被過期資訊影響，仍然可能看到互相衝突的偏好，仍然可能在一堆低價值紀錄裡找不到真正重要的模式。

如果沒讀過 gu-log 前面兩篇也沒關係，可以把它們當成兩塊背景拼圖：[GP-135 談的是讓 Agent 用檔案系統，而不是只撐大脈絡窗](https://gu-log.vercel.app/posts/gp-135-20260328-trq212-agent-file-system/)；[MP-199 談的是 Andrew Ng 的跨會話 Agent 記憶課](https://gu-log.vercel.app/posts/mp-199-20260323-andrewyng-agent-andrew-ng-session/)。前者問「記憶要放在哪裡」，後者問「記憶怎麼跨會話活下來」。Dreams 再往前推一步：放久了之後，誰負責打掃、合併、丟掉過期資訊？

所以 Dreams 代表的是另一個賭注：答案不是只靠容量，而是整理。

容量當然重要，沒有足夠脈絡，很多工作做不起來。但容量不是治理。記憶系統需要新增、更新、合併、廢棄、審核。這些動作如果沒有生命週期管理，再大的脈絡窗都只是更豪華的垃圾場。

AI 先有了聲音，接著有了大腦。現在記憶成為下一層能力，而記憶一旦變長、變多、變複雜，就不能只是醒著硬撐。

它也需要睡覺。

---

## 結語

Dreams 最值得記住的地方，不是 Claude 多了一個漂亮功能名，而是 Agent 記憶系統終於開始正視「整理」這件事。

長期 Agent 若要變可靠，不能只會把每次經驗都塞進倉庫。真正的進步來自另一種能力：把經驗拿出來重看，刪掉噪音，修正矛盾，再把反覆出現的模式變成下一次行動時可用的知識。

會記得很厲害。會整理記憶，才比較像真的在成長。

至於 Claude 需不需要睡前故事，Anthropic 目前沒有公布。這部分暫時只能交給產品經理晚上自己反省。(￣▽￣)／
