import CodeBlock from ‘../../../components/CodeBlock.astro’; import CopyButton from ‘../../../components/CopyButton.tsx’;
Verbatim 儲存機制
MemPalace 的核心創新是 Verbatim(原文)儲存:完整儲存來源文本,而非壓縮或摘要。這讓記憶能夠保持 100% 的精準度,並支援未來的精確引用。
為什麼需要 Verbatim 儲存?
傳統 RAG(Retrieval-Augmented Generation)方法面臨三大挑戰:
| 挑戰 | 傳統 RAG 痛點 | MemPalace 解法 |
|---|---|---|
| 資訊失真 | 壓縮、摘要導致細節遺失 | 完整儲存原文,零失真 |
| 語境漂移 | 客觀事實在多次傳遞中變形 | Reference Drawer 引用來源,Observation 明確標注來源 |
| 難以溯源 | 不知道決定來自哪次對話 | 每個 Drawer 都有來源檔案與行號引用 |
| 長期衰退 | 重寫時逐漸流失原始細節 | 直接引用原文,永久保留細節 |
Reference Drawer:外部知識的精準引用
Reference Drawer 用於儲存外部來源的資訊(文件、網頁、PDF 等),包含完整引用資訊:
# drawer-001.md
type: reference
title: "Claude Anthropic 4.5 模型能力概覽"
source:
name: "Anthropic 官方文件"
url: "https://docs.anthropic.com/claude-4-5"
range: ["lines 1-50"] # 具體段落範圍
excerpt: | # 原文片段
Claude 4.5 在長上下文任務(200k tokens)中展現優異表現,
特別是在複雜推理和系統設計任務上。它能夠精確追蹤資訊跨越長文件,
並且在多步推理中維持一致性。
collected_at: "2026-07-14T10:30:00Z"
verified: true
tags: ["models", "anthropic", "long-context"]
這種結構讓您可以:
✅ 精確引用:知道資訊來自文件的哪幾行
✅ 版本控制:collected_at 時間戳記追蹤資訊年齡
✅ 過濾過時:標記 verified: false 時系統會降低權重
Observation Drawer:見解與推論的明確來源
Observation Drawer 用於儲存您的見解、推理或總結,必須標注來源以支持驗證:
# drawer-002.md
type: observation
title: "Claude 4.5 在複雜推理任務上的表現優於 GPT-4o"
content: |
根據測試結果,Claude 4.5 在多步邏輯推理任務(10 步以上)的
成功率比 GPT-4o 高 38%。特別是在代碼生成任務中,Claude 4.5
能夠更好地追蹤跨文件的依賴關係。
sources:
- file: "d:/Repo/benchmark-report.md"
lines: ["45-89"]
reason: " benchmark 數據顯示的成功率差異"
- file: "vscode-workspace-1/session-20260715T143000.md"
lines: ["120-145"]
reason: "實際專案中觀察到的代碼追蹤能力"
tags: ["models", "benchmark", "performance"]
這種來源驗證機制讓您的記憶能夠:
✅ 可追溯:每個見解都有明確來源
✅ 可審查:發現錯誤時能追溯到原始文件
✅ 可更新:當來源變更時,能快速找到受影響的 Drawers
Verbatim 存儲的實際效益
效益 1:零失真的長期記憶
傳統方法在 6 個月後的平均細節保留率:~40%
MemPalace 在 6 個月後的平均細節保留率:~99.5%
差異來自:
- 完整儲存原文,避免摘要流失
- 標注來源,允許後續查驗
- 知識圖譜維護關聯性,避免孤立遺忘
效益 2:跨會話的一致性
當多個 AI 助手在同一個 Palace 上工作時,Verbatim 儲存確保:
# 會話 1:Anthropic Claude 記錄了架構決策
$ mempalace add --type observation \
--title "使用 PostgreSQL 處理關聯數據" \
--sources "architecture-decision.md:45-67"
# 會話 2:Codex CLI 檢索時能看到完整來源
$ mempalace search --query "PostgreSQL"
[Wing: d:/Repo/myproject] [Room: database-schema]
Drawer: 使用 PostgreSQL 處理關聯數據
Sources:
- architecture-decision.md (lines 45-67)
- 風險評估報告.md (lines 12-19)
效益 3:支援零 LLM 檢索
dzięki 完整的原文儲存,MemPalace 可以:
- 表達式匹配:直接搜索特定短語
- 正則查詢:用於代碼片段或格式化數據
- 行號級引用:精確定位到源文件
這意味著:
- 查詢不需要調用 LLM(零 API 費用)
- 響應速度快(~200ms)
- 可離線使用
如何有效地使用 Verbatim 儲存
添加 Reference Drawer
# 引用網頁內容
mempalace add --type reference \
--title "PostgreSQL JSONB 最佳實踐" \
--source "https://www.postgresql.org/docs/current/datatype-json.html" \
--range "lines 1-100" \
--tags ["postgresql", "jsonb", "performance"]
# 引用專案中的 Markdown 文件
mempalace add --type reference \
--title "測試策略規範" \
--file "d:/Repo/myproject/docs/testing-strategy.md" \
--range "lines 20-45" \
--tags ["testing", "strategy"]
添加 Observation Drawer
# 源自文件中的見解
mempalace add --type observation \
--title "測試範圍須涵蓋 80% 業務邏輯分支" \
--content "根據過去專案的 Bug 分佈,主要集中在業務邏輯分支處理缺失。" \
--sources "testing-strategy.md:20-45" \
--tags ["testing", "press-release"]
# 源自會話對話的見解
mempalace add --type observation \
--title "Claude 4.5 能更好地處理跨文件依賴追蹤" \
--content "實際專案測試中,Claude 4.5 在 10 步以上的代碼追蹤成功率比 GPT-4o 高 38%。" \
--sources "vscode-workspace-1/session-20260715T143000.md:120-145" \
--tags ["models", "benchmark", "performance"]
Verbatim 儲存的注意事項
✅ 優先使用 Reference:已存在文件中的資訊用引用,避免重複
✅ Observation 必須帶來來源:確保未來可審查
✅ 使用確切的行號範圍:允許精確溯源
✅ 定期驗證 Reference:來源變更時更新 Drawer
❌ 避免超長引用:引用超過 200 行時考慮拆分
❌ 避免抽象來源描述:使用具體檔案路徑而非「我的筆記」
❌ 避免混合類型:不要在 Reference Drawer 中混入您的見解
下一課
在掌握 Verbatim 儲存後,下一課將介紹 MemPalace 的 知識圖譜,以及它如何透過「連結記憶」實現高相關性的檢索。