全部產品
Search
文件中心

Tablestore:架構與技術選型

更新時間:May 22, 2026

介紹記憶儲存服務的系統架構、資料模型、Scope 多租戶、適用性評估和效能評測,協助技術決策者判斷產品是否匹配業務情境。

系統架構

記憶儲存服務採用全託管 Serverless 架構,使用者通過 API 與服務互動,底層資源由平台自動管理。資料流轉過程如下:

  1. 調用 AddMemories 介面,傳入對話訊息(messages)或純文字(text)。

  2. 系統將原始訊息儲存為短期記憶。

  3. 系統從訊息中提取可檢索的長期記憶單元,並持久化儲存到Table Store。

  4. 調用 SearchMemories 介面時,服務結合語義檢索和文本檢索能力,並支援 Rerank 排序,返回相關長期記憶。

資料模型

記憶庫的資料按以下實體組織。

實體

說明

MemoryStore

記憶庫,管理記憶資料的頂層容器

Memory

長期記憶,從對話或文本中提取的可檢索資訊

Message

短期記憶,寫入的原始會話訊息記錄

MemoryStore

MemoryStore 是記憶庫,管理記憶資料的頂層容器。先建立記憶庫,再向記憶庫寫入訊息、檢索記憶或查詢審計記錄。

常見用法:

  • 按應用建立獨立記憶庫。

  • 按環境建立獨立記憶庫,例如開發、測試、生產。

  • 按業務線建立獨立記憶庫。

記憶庫名稱只能包含字母、數字和底線,最長 32 個字元。

Memory

Memory 是長期記憶。服務在寫入對話訊息或文本後,會提取可長期儲存和檢索的資訊,並產生記憶單元。

一條長期記憶通常包含:

  • 記憶 ID。

  • 記憶文本。

  • Scope。

  • 中繼資料。

  • 建立時間。

  • 版本和替換關係等管理資訊。

長期記憶可通過 SearchMemories 檢索,也可通過 ListMemoriesGetMemoryUpdateMemoryDeleteMemory 管理。

Message

Message 是短期記憶,即寫入記憶庫的原始會話訊息記錄。AddMemories 寫入時傳入的 messages 會被儲存為原始訊息,可通過 ListMemoryStoreMessages 查詢。

短期記憶介面要求填寫完整 Scope,即 appIdtenantIdagentIdrunId 均需提供,且不允許使用萬用字元。

記憶寫入

記憶服務支援以下兩種方式寫入記憶:

  • 對話訊息寫入:通過 AddMemories 介面傳入 messages 數組。服務儲存原始訊息為短期記憶,並從中提取長期記憶單元。

  • 文本寫入:通過 AddMemories 介面傳入 text 欄位,直接提交純文字內容。服務從文本中提取可檢索的長期記憶。

寫入時需指定 Scope 資訊,其中 appId 必填,tenantIdagentIdrunId 為空白時自動補為 __default__。寫入不允許使用萬用字元 *

記憶檢索

SearchMemories 支援使用自然語言檢索長期記憶。服務結合語義檢索和文本檢索能力,並支援 Rerank 排序,預設啟用 Rerank。

檢索時 appIdtenantId 為必要欄位,agentIdrunId 可使用萬用字元 * 擴大檢索範圍。

中繼資料

長期記憶支援附加中繼資料(metadata)。中繼資料可用於儲存業務自訂資訊,例如記憶來源、標籤和優先順序等。中繼資料隨記憶單元一起儲存,檢索結果中會返回對應的中繼資料欄位。

請求審計

服務記錄記憶程式庫要求,可通過 ListMemoryStoreRequests 查詢請求日誌。審計記錄包含操作類型、響應狀態、延遲和失敗原因等欄位,適用於排查寫入、檢索和管理操作中的問題。

Scope 多租戶

Scope 用於表示記憶資料的歸屬和隔離邊界。記憶服務使用 appId / tenantId / agentId / runId 四級 Scope。

欄位

說明

appId

應用標識,通常對應一個業務應用或產品

tenantId

租戶或使用者標識

agentId

Agent 標識

runId

會話、運行或任務標識

Scope 的層級為:

appId > tenantId > agentId > runId

核心規則:

  • 寫入時,appId 必填,其他欄位為空白時補為 __default__。寫入不允許使用萬用字元 *

  • 檢索長期記憶時,appIdtenantId 必填,agentIdrunId 可使用 * 實現跨 Agent 或跨會話檢索。

  • 查詢短期記憶時,四個欄位均為必填且不允許萬用字元。

檢索樣本:

  • agentId=""runId="":檢索該租戶下所有 Agent、所有會話的記憶。

  • agentId="sales_assistant"runId="*":檢索該租戶下指定 Agent 的所有會話記憶。

常見檢索範圍樣本

檢索範圍

Scope 設定

適用情境

當前會話內

appId + tenantId + agentId + runId 全部指定

只希望使用當前會話歷史

跨會話

appId + tenantId + agentId + runId="*"

同一 Agent 在多次會話中複用使用者偏好

跨 Agent、跨會話

appId + tenantId + agentId="" + runId=""

多個 Agent 共用使用者記憶

Scope 與多記憶庫的選擇

MemoryStore 支援按應用、環境或業務線建立獨立記憶庫。當資料屬於同一應用中的不同使用者或 Agent 時,推薦使用 Scope 在同一記憶庫內隔離,管理成本更低,且支援萬用字元跨 Scope 聯合檢索。當不同業務域需要完全獨立的資料空間時,建議建立多個記憶庫。

適用性評估

推薦使用的情境:

  • 智能客服、銷售助手、企業助手等對話型應用。

  • 需要跨會話記住使用者偏好、配置和歷史選擇的個人助理。

  • 多 Agent 協作情境下的共用記憶管理。

  • 需要保留原始會話記錄並支援審計排查的 Agent 應用。

  • 需要在大規模租戶和大量記憶資料下保持穩定檢索效能的生產系統。

需要評估的情境:

  • 對記憶寫入即時性要求極高的情境(記憶提取是非同步過程,存在處理延遲)。

  • 需要自訂記憶提取策略的情境(當前為系統自動提取)。

不推薦的情境:

  • 純結構化資料查詢(建議使用Table Store寬表模型或關係型資料庫)。

  • 僅需簡單的上下文視窗管理、不需要持久化記憶(可直接使用 LLM 的上下文視窗)。

效能評測結果

從檢索準確率、檢索延時和儲存規模三個維度對錶格儲存記憶服務進行了評測,並與業界主流記憶方案 Mem0 進行了對比。

維度

Table Store記憶服務

行業對比

綜合檢索準確率

76.34%

較 Mem0(64.20%)提升約 18.9%(12.14 百分點),處於行業第一梯隊

P50 檢索延時

~155 ms

同類方案通常 200-500 ms,降低約 75%

已驗證儲存規模

億層級條記憶,可水平擴充無上限

同類方案多為百萬至千萬級

Token 節省

84%+

回答語義品質幾乎無損(BERTScore F1: 0.8378 vs 全量注入 0.8535)

上述資料用於展示服務能力邊界,實際效果會受到資料規模、查詢方式、網路環境、模型配置和業務資料分布影響。以下是各維度詳細評測。

檢索準確率

評測基準:LoCoMo 資料集

LoCoMo 是當前記憶系統評測領域最具代表性的基準之一。與早期評測集只覆蓋 3-5 輪短對話不同,LoCoMo 平均每條測試資料包含 300 輪對話、跨 35 個會話,貼近真實使用者與 AI 助手長期互動的情境。

LoCoMo 原始定義了五類推理問答(單跳、多跳、時間推理、開放領域、對抗性問題),基於其中四類進行了評測。

評測維度

含義

日常對話中的典型情境

單跳推理

從單次會話中直接定位事實

"我上次說我喜歡喝什麼來著?"

多跳推理

綜合多個會話中的資訊得出答案

"根據我的飲食偏好和體檢報告,推薦一份午餐"

時間推理

理解時間軸索和先後順序

"我先說想換工作,後來又說留下了,現在的想法是?"

開放領域

結合使用者歷史資訊與外部常識推理

"我說過我對花生過敏,沙爹醬能吃嗎?"

評測結果:

記憶庫方案

單跳推理

多跳推理

時間推理

開放領域

綜合準確率

記憶儲存服務

64.42%

81.93%

77.67%

57.99%

76.34%

Mem0

68.97%

61.70%

58.26%

50.00%

64.20%

在單跳推理(直接檢索單條事實)上 Mem0 略優 6.6%,但在更貼近真實複雜度的多跳推理和時間推理情境中,Table Store分別提升超過 30%——當使用者的問題需要 AI 把多次對話串聯起來、理解時間先後做出判斷時,Table Store記憶服務的檢索品質明顯更高。

檢索延時

測試條件為單記憶庫 120 萬租戶、1 億+ 條記憶資料的超大規模情境,且不開啟Rerank的情境。

TopK

平均延時

P50 延時

P95 延時

5

164 ms

155 ms

269 ms

10

198 ms

174 ms

288 ms

50

234 ms

222 ms

384 ms

億級資料量下 P50 延時穩定在 200 ms 左右,即使返回 Top50 結果,P95 也在 384 ms 以內。換個直觀說法:即使一個百萬日活 App 的所有使用者記憶匯總到一個庫裡,每次對話中的記憶檢索依然能在 200 毫秒內完成,使用者幾乎感知不到等待。如果開啟Rerank,檢索延時會增長200-300毫秒。

儲存規模

單記憶庫已驗證支援 120 萬租戶、1 億+ 條記憶的儲存與檢索。基於Table Store的分布式架構,系統支援水平擴充,無理論上限——無需按租戶數量做分庫分表的容量規劃,業務增長時儲存層自動跟上。

Token 成本

維度

Plan A(全量注入)

Plan B(Memory Storage)

總 Token 消耗

18,768,794

2,873,531

相比 Plan A 節省

--

84.7%

BERTScore F1(語義品質)

0.8535

0.8378

Memory Storage 記憶儲存方案實現了 84%+ 的 Token 節省,且回答語義品質幾乎無損。