Theme / v3.9.0

MemPalace

本地優先的 AI 記憶宮殿

實戰範例

實戰範例 011:三個 Agent 共用同一個 MemPalace Hub

示範 v3.9.0 的 shared Hub 思路:多個 agent 同時搜尋同一座大型 Palace,不再各自載入一份 vector index。

情境

同一個大型專案同時開著三個 agent:一個查架構、一個寫測試、一個做 code review。三者都需要讀同一座 Palace。

v3.9.0 前,若三個 CLI 都各自 direct-search,大型 HNSW 可能被載入多份。v3.9.0 有健康 Hub 時,CLI search 會優先共用 Hub collection。

三條查詢同時進行

# agent A
mempalace search --query "訂單服務的重試決策"

# agent B
mempalace search --query "PaymentService 測試隔離原則"

# agent C
mempalace search --query "最近一次 deadlock postmortem"

對使用者來說指令不變;差異在 runtime topology:三個讀取可以由 Hub 平行處理,而不是三個 process 各自持有完整 index。

寫入仍要序列化

共享 Hub 並不代表所有 mutation 都可以無鎖並行。v3.9.0 保留 mutation exclusive,讀取才使用 shared lock。這避免兩個 agent 同時修改同一批 Drawer metadata 時製造競態。

任務交接

多人/多 agent 協作時,建立任務前記錄:

  • immutable base commit
  • definition of done
  • 對應 topic

之後用 logstream topic routing 只追該任務的事件,避免整條 fleet log 混在一起。

關鍵學習點

  • 大型 read-mostly index 適合 centralize;client 可以保持輕量。
  • 「讀可平行、寫要控序」比一把 global lock 更有效率。
  • shared state 一定要連同 health、auth、fallback 與 task identity 一起設計。