记忆库概述
什么是记忆库
记忆库是智能体用于存储、管理和检索历史信息的核心组件,可以通过控制台创建并配置不同类型的记忆能力,对交互过程中产生的信息进行提取、整理和保存,使智能体能够在后续交互中按需获取相关历史上下文。
通过短期记忆和长期记忆协同,记忆库帮助智能体实现:
- 单次或近期对话中的上下文保持:通过短期记忆保存近期交互信息,支持连续对话。
- 跨会话的信息复用:通过长期记忆保存用户偏好、历史交互和具有持续价值的信息,支持个性化响应。
核心能力
- 分层记忆:支持短期记忆和长期记忆。短期记忆用于保存近期交互产生的上下文信息,长期记忆用于沉淀具有持续价值的信息,满足近期上下文保持和跨会话信息复用等不同记忆需求。
- 多种记忆策略:支持总结(Summary)、语义记忆(Semantic Memory)、用户偏好(User Preference)、情景记忆(Episodic Memory)和程序性记忆(Procedural Memory)等多种记忆策略,分别用于保留会话摘要、事实与上下文知识、用户偏好、具体经历以及可复用的操作流程等不同类型的信息。不同记忆策略的定义、适用场景和使用方式,参见“记忆策略”。
- 多维度记忆组织与隔离:支持按照空间、用户、会话等维度对记忆进行组织和隔离,避免不同业务空间、用户或会话之间发生非预期的数据共享,并满足不同粒度下的记忆管理和使用需求。
记忆库由平台统一提供记忆处理和存储能力,开发者无需自行搭建完整的记忆提取、存储和检索链路,可直接在智能体应用中集成使用。
记忆库与知识库的区别
记忆库和知识库都可以为智能体提供模型当前上下文之外的信息,两者的区别如下:
| 对比项 | 记忆库 | 知识库 |
|---|---|---|
| 存储内容 | 交互产生的动态信息(对话、偏好、经验) | 预先准备的静态知识(文档、FAQ、手册) |
| 数据来源 | Agent与用户/环境持续交互过程中产生 | 人工导入、系统同步或外部数据源接入 |
| 更新方式 | 持续增量更新,可新增、修改、删除 | 通常按文档或数据源进行新增、更新、删除和重建索引 |
| 检索时机 | 可在对话过程中根据业务需求检索和使用相关记忆 | 用户提问时检索相关段落 |
| 典型场景 | 用户偏好、历史决策、经验复用,如“记住用户上次说了什么” | RAG、知识问答、文档检索,如“查找产品手册内容” |
| 举例 | 用户偏好咖啡加冰 | 产品使用说明书 |
简单说:知识库解决“Agent知道什么”,记忆库解决“Agent记得什么”。
应用场景
记忆库适用于需要保持上下文连续性、复用历史信息或提供个性化体验的智能体场景,例如:
- 智能客服:保留用户历史咨询、问题背景和服务上下文,减少用户重复描述,提高连续服务能力。
- 个人助手:记录用户偏好、习惯和长期关注信息,在后续交互中提供更符合用户需求的响应。
- 企业助手:保留用户在不同会话中的业务背景和历史交互信息,支持连续的业务咨询和任务处理。
- 长任务智能体:记录任务执行过程中的阶段性信息,使智能体能够在后续交互中延续已有任务上下文。
通过记忆库,智能体可以在有限上下文条件下更有效地利用历史信息,提升上下文连续性、信息复用能力和个性化交互体验。
规格与限制
- 短期记忆事件约束与限制:短期记忆按会话隔离,事件在配置的过期时间(7~365 天)后自动清除。
- 长期记忆记录约束与限制:长期记忆持久保存,可通过检索和删除管理。
- 创建记忆库时,公网访问和私网访问至少要选择一种,开启后暂不支持关闭。
- 创建记忆库时,内置策略和自定义策略至少要选择一种;自定义策略最多可创建10个。
- 使用云服务默认密钥(agentarts/default)加密或自定义密钥加密,记忆库创建后不可修改。
- 创建记忆库时默认最多可创建10个记忆库,如需增加更多配额,请提交工单申请。
- API调用频率限制:超过频率限制的请求会被流控,可在观测指标中查看流控情况。
- 单条消息大小限制:建议单条消息内容不超过平台规定的最大长度。