
# 记忆库概述
#### 什么是记忆库
记忆库是智能体的记忆中枢，可以通过控制台创建记忆库并配置短期和长期记忆策略，有效抽取并整合上下文信息，完成记忆数据的全生命周期管理。
使用优势：
- 开箱即用：
  - 短期记忆 + 长期记忆：支持短期记忆（7\~365天）和长期记忆（持久化存储），满足不同时间跨度的记忆需求。
  
  - 多种记忆策略：支持语义记忆、用户偏好、会话摘要、情景记忆等策略，满足不同场景的记忆需求。
   
- 多维度隔离： 按策略类型隔离：支持按空间、会话、用户维度进行记忆隔离，确保数据的安全性和独立性。
  
- 全托管免运维： 云上全托管：无需管理数据库等基础设施和记忆处理引擎，实现业务快速上线，降低运维成本和复杂度。
  
 
#### 应用场景
应用场景：适用于智能客服、个人助手、问诊等需跨会话连贯交互的场景，不同场景需要用户偏好等不同记忆策略，以支持跨会话个性化与连续性。
使用价值：提升回答精准度与上下文连贯性，避免用户重复输入，提高智能体运行效率、交互精准度与个性化用户体验，灵活适配各类业务场景需求。
#### 工作原理
图1记忆库工作原理   
![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002571238311.png "点击放大")
记忆库工作原理如下：
1. 用户与Agent交互
   - 用户通过对话与Agent进行交互。用户可以提出问题、发出指令或进行其他形式的交流。
   
   - Agent接收用户的输入，并对其进行处理。
    
2. Agent与短期记忆的交互
   - 添加/删除：Agent将用户的对话内容添加到短期记忆中。同时，Agent也可以根据需要从短期记忆中删除某些信息。
   
   - 查询/检索：Agent可以从短期记忆中查询和检索相关信息，以便更好地理解和回应用户的请求。
    
3. 短期记忆与记忆提取模块的交互 消息数量/会话空闲时间聚合：短期记忆中的信息会根据消息数量或会话空闲时间进行聚合。当满足一定的条件（如达到一定数量的消息或会话空闲时间超过某个阈值）时，短期记忆中的信息会被传递给记忆提取模块。
   
4. 记忆提取模块
   - Embedding（向量嵌入）：记忆提取模块首先对聚合后的信息进行嵌入处理，将其转换为向量表示。这些向量能够捕捉信息的语义和结构特征。
   
   - Consolidation（巩固）：嵌入后的向量会被进一步巩固，可能包括降维、特征提取等操作，以生成更加紧凑和有效的表示。
   
   - Extraction（抽取）：从巩固后的向量中抽取关键信息，生成最终的记忆表示。这些记忆表示能够反映用户对话中的重要信息和上下文。
   
   
   ![](https://support.huaweicloud.com/highcode-agentarts/public_sys-resources/note_3.0-zh-cn.png)
   记忆提取有一定的时间延迟，可能无法立即完成记忆提取。建议短期记忆写入3-5分钟后再进行长期记忆查询。
   
5. 向量数据库 记忆提取模块生成的记忆表示会被存储到向量数据库中。向量数据库用于长期存储和管理这些记忆表示，以便后续的查询和使用。
   
 
#### 记忆策略说明
- 总结 Summary：汇总和压缩会话中的主题、任务、历史决策记录等关键信息。
- 语义记忆 Semantic Memory：从会话记录中识别和提取事实信息和上下文知识的关键片段，包括但不限于事实性知识、概念等。
- 用户偏好 User Preference：从原始会话中提取用户行为模式、关键偏好和选择等信息，为每个用户建立一个持久的、动态更新的用户偏好。
- 情景记忆 Episodic Memory：从对话或经历中提取具有时空序列的具体事件、个人体验和场景细节。
 
