全部产品
Search
文档中心

表格存储:架构与技术选型

更新时间:May 21, 2026

介绍记忆存储服务的系统架构、数据模型、Scope 多租户、适用性评估和性能评测,帮助技术决策者判断产品是否匹配业务场景。

系统架构

记忆存储服务采用全托管 Serverless 架构,用户通过 API 与服务交互,底层资源由平台自动管理。数据流转过程如下:

  1. 调用 AddMemories 接口,传入对话消息(messages)或纯文本(text)。

  2. 系统将原始消息保存为短期记忆。

  3. 系统从消息中提取可检索的长期记忆单元,并持久化存储到表格存储。

  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 应用。

  • 需要在大规模租户和大量记忆数据下保持稳定检索性能的生产系统。

需要评估的场景:

  • 对记忆写入实时性要求极高的场景(记忆提取是异步过程,存在处理延迟)。

  • 需要自定义记忆提取策略的场景(当前为系统自动提取)。

不推荐的场景:

  • 纯结构化数据查询(建议使用表格存储宽表模型或关系型数据库)。

  • 仅需简单的上下文窗口管理、不需要持久化记忆(可直接使用 LLM 的上下文窗口)。

性能评测结果

从检索准确率、检索延时和存储规模三个维度对表格存储记忆服务进行了评测,并与业界主流记忆方案 Mem0 进行了对比。

维度

表格存储记忆服务

行业对比

综合检索准确率

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%,但在更贴近真实复杂度的多跳推理和时间推理场景中,表格存储分别提升超过 30%——当用户的问题需要 AI 把多次对话串联起来、理解时间先后做出判断时,表格存储记忆服务的检索质量明显更高。

检索延时

测试条件为单记忆库 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 亿+ 条记忆的存储与检索。基于表格存储的分布式架构,系统支持水平扩展,无理论上限——无需按租户数量做分库分表的容量规划,业务增长时存储层自动跟上。

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 节省,且回答语义质量几乎无损。