Theme / v3.9.0

MemPalace

本地優先的 AI 記憶宮殿

基礎觀念

Verbatim 儲存機制

探索 MemPalace 如何運用原文(Verbatim)儲存技術,確保長期記憶的精準與零失真。

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 的 知識圖譜,以及它如何透過「連結記憶」實現高相關性的檢索。