会话记忆与持久记忆:架构指南
如果您正在设计一个 AI 系统,问题不在于您是否需要记忆,而在于需要哪种类型的记忆。会话记忆和持久记忆服务于不同的目的,操作于不同的层次,并需要不同的基础设施。本页面清晰地解释了这两者。
记忆问题
许多 AI 应用仅使用会话记忆——当前对话的上下文窗口。这适用于一次性查询,但每当用户返回时期待连续性、代理恢复长任务或系统需要应用之前运行的经验时,它都会失败。会话记忆提供的内容与生产应用实际需要之间的差距就是持久记忆存在的地方。
MemoryLake 的不同之处
持久记忆可以在会话之间无限期存活——MemoryLake 将记忆存储在模型外部,并按需检索。没有过期,没有上下文窗口限制,关闭会话时不会重置。记忆在数天、数月和数年中累积。
针对不同持久性需求的类型分类——并非所有持久记忆都是相同的。MemoryLake 区分背景(静态身份)、事实(版本化声明)、事件(时间线)、对话(会话历史)、反思(行为模式)和技能(可重用工作流)。每种类型都有适当的存储语义。
毫秒级检索,准确率为 94.03%——持久记忆只有在正确的时间检索到正确的信息时才有用。MemoryLake 的 #1 LoCoMo 基准结果意味着系统可靠地呈现相关记忆,而不仅仅是最近的记忆。
工作原理
- 连接——通过 REST API、Python SDK 或 MCP 将 MemoryLake 集成到您的 AI 应用中。会话记忆继续在模型的上下文窗口内运行。
- 结构——在会话结束时(或在重要事件期间),将相关信息写入适当的 MemoryLake 记忆类型。会话结束;记忆不会。
- 重用——在下一个会话开始时,检索相关的持久记忆,并选择性地注入到上下文中。模型以累积的知识开始,而不是空白状态。
会话记忆与持久记忆
| Characteristic | Session Memory | Persistent Memory (MemoryLake) |
|---|---|---|
| Lifespan | Ends when the session closes | Survives indefinitely across sessions |
| Storage location | Inside the model's context window | External memory layer, retrieved on demand |
| Capacity | Limited by context window token count | Scales to 1B+ complex documents in production |
| Cross-session access | Not available | Available to any authorized session or agent |
| Structure | Unstructured text in context | Six typed categories with defined semantics |
| Conflict detection | None — latest input wins | Automatic conflict detection and versioning for Facts |
| Retrieval accuracy | N/A (all context is present) | 94.03% LoCoMo benchmark accuracy |
| Cost at scale | Grows with context length per call | Retrieved selectively; context stays lean |
| Compliance and audit | None by default | Versioned, source-attributed, GDPR/SOC 2 compliant |
适用于
此比较对开发者和架构师在设计 AI 记忆基础设施时非常有用——无论是面向用户的产品、内部工具还是代理系统。如果您的应用涉及同一用户或同一代理跨多个会话,持久记忆应包含在您的架构中。
相关场景
常见问题
会话记忆是否足够?
会话记忆是否足够?
对于单轮应用——一次性查询工具、文档摘要工具、代码格式化工具——会话记忆是足够的。对于任何需要连续性、个性化或累积知识的应用,持久记忆是必要的。
MemoryLake 能否替代上下文窗口?
MemoryLake 能否替代上下文窗口?
不能——而且不应该。会话记忆(上下文窗口)和持久记忆是协同工作的。上下文窗口保存的是立即相关的内容;MemoryLake 保存的是在所有先前会话中学到的内容,并选择性地呈现正确的部分。
MemoryLake 如何决定从持久记忆中呈现什么?
MemoryLake 如何决定从持久记忆中呈现什么?
您通过记忆类型和语义意图查询 MemoryLake。检索层根据与当前会话上下文的相关性对结果进行排名,并返回最适用的记忆项——而不是存储的所有内容的转储。