Externalized Memory
將 AI Agent 的中間進度、需求清單等以外部製品(Artifacts)形式儲存於模型以外,讓本質上無狀態的 Agent 具備跨 session 的連續性。
問題:Agent 天生無狀態
LLM 本身是無狀態的——每個新的 context window 都是全新記憶。長任務中一旦 session 中斷,所有進度消失。
長鏈路成功率衰減 也說明了:多步驟執行中任何一步失敗都需要有恢復機制——而 Agent 沒有「記得做到哪裡」的原生能力。
解法:外部化 = 記憶
把 Agent 的狀態、進度、決策歷程寫到模型外部的持久化媒介:
| 外部製品類型 | 用途 | 範例 |
|---|---|---|
| 進度追踪文件 | 記錄「做了哪些、還剩哪些」 | progress.md、TODO.md |
| 結構化需求清單 | 記錄「要做什麼、為什麼」 | requirements.json、spec.md |
| 增量 Git 提交 | 每完成一小步就 commit | git commit -m "feat: add X" |
| 檢查點(Checkpoint) | 關鍵里程碑的快照 | .checkpoint.json |
新 session 開始前,讓 Agent 先讀這些製品 → 重建上下文 → 繼續執行。
本 vault 的對應實作
vault 本身就是一個 Externalized Memory 系統:
| 製品 | 功能 |
|---|---|
CLAUDE.md | Agent 的規則與操作指南(CLAUDE.md(專案手冊)) |
wiki/log.md | 變更歷程的 append-only 紀錄 |
wiki/daily/ | 每日異動詳情(見 §15) |
wiki/entities/ | 知識的結構化外部記憶 |
每次 LLM 進入 vault 都先讀 CLAUDE.md → 重建規則記憶 → 繼續工作。這正是 Externalized Memory 的操作。
跟 Context Engineering 的差異
| Context Engineering | Externalized Memory | |
|---|---|---|
| 解決的問題 | 如何把資訊送進 context | 如何讓資訊跨 session 持久 |
| 技術手段 | RAG / 壓縮 / 工具定義 | 檔案 / Git / JSON 製品 |
| 時間軸 | 單次 session 內 | 跨多個 session |
兩者互補:Context Eng 管「這次 session 看什麼」,Externalized Memory 管「下次 session 從哪裡繼續」。
與卡片盒筆記的類比
卡片盒筆記法 12 法則 第 4 條「大腦外部化」說的是同一件事——人的記憶是有限的,把知識寫到外部系統(Zettelkasten / vault)讓「外部大腦」承載記憶。Externalized Memory 就是把這個概念套用到 AI Agent。
相關概念
強連結(原文明確提及)
- Harness Engineering — Externalized Memory 是 Harness 的核心模式之一
- 長鏈路成功率衰減 — 需要 Externalized Memory 的原因
- 3A 架構 — Evaluator 把結果寫回外部製品,Generator 下次再讀
推斷連結(LLM 認為相關,待確認)
- CLAUDE.md(專案手冊) ?? — vault 的 Externalized Memory 主幹
- Bookkeeping by LLM ?? — LLM 做 bookkeeping = 維護外部記憶的分工
- 卡片盒筆記法 12 法則 ?? — 法則 4「大腦外部化」是人類版的 Externalized Memory
- Context Rot Zone ?? — Externalized Memory 是對抗 Context Rot 的跨 session 補充手段
深入閱讀
- Harness Engineering 深度學習指南 §第一部分 Q7
← 回到 wiki