什么是记忆库
更新时间:2026-05-27
记忆库是用于存储与管理记忆的独立容器。每个记忆库拥有独立的记忆内容、配置规则和推理偏好,彼此之间相互隔离、互不可见,从根本上保障数据安全。
- 具备高度的个性化与隔离性:能够完美适配不同用户、项目、团队或业务场景,有效避免信息污染与记忆混用。
- 可根据记忆的服务对象灵活划分记忆库:如果记忆主要服务于某个用户,可按用户划分;如果记忆围绕某个项目沉淀,可按项目划分;如果多个 Agent 需要共享同一套团队知识,则可按团队划分。
- 边界定义清晰:不建议将所有用户、项目和团队的记忆都放在同一个记忆库中。记忆库的边界越清晰,后续相关记忆操作返回的结果就越稳定,权限管理和问题排查也越容易。
使用模式
支持单库模式和多库模式。接入时可以根据用户数量、项目数量和隔离要求选择合适的方式。
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 单库模式 | 所有记忆写入一个默认记忆库,配置简单,接入成本低 | 个人助手、单项目 Agent、测试或演示场景 |
| 多库模式 | 按项目、团队或用户注册独立的记忆库。每次 API 调用传入指定的 bank id。每个库有独立的配置和性格 | 多用户产品、多项目协作、多团队知识管理 |
参数配置
可通过特定配置灵活定义记忆库的目标与边界,同一记忆库也支持针对不同场景生成多套配置方案。 即使面对同一套底层记忆,不同的配置参数也会引导系统在推理与总结阶段产生截然不同的反馈结果。针对不同的记忆类型和操作模块,可按需选择性配置:
存储模块 系统默认内置一套存储策略,适用于通用场景。若希望在不同场景下使用差异化的存储策略,可自定义添加。同一记忆库支持配置多个存储策略,灵活应对多样化的业务需求。具体介绍详见存储 Retain
| 配置项 | 说明 | 建议 |
|---|---|---|
| 提取模式 | 从内容中提取事实的方式。 | concise(默认/最低成本)、verbose(丰富事实+上下文/多Token)、verbatim(原文保留+实体索引/RAG)、chunks(直存+仅Embedding/最快)、custom(自定义提示词/灵活)。 |
| 分块大小 | 处理文本块的大小。 | 分块越大,每次模型调用使用更多上下文。 |
| 提示词 | 定义存储时的目标、身份和使用方向。 | 不会影响提取规则,而是对模型做出引导。 |
| 实体标签 | 存储阶段可提取的自定义分类标签。 | 根据业务需要定义,如情感倾向、优先级、类别等结构化属性。 |
| 自由形式实体提取 | 默认开启,会自动提取人物、地点、概念等常用实体和自定义实体标签;关闭时仅提取自定义实体。 | 开启能引导模型同时对常规实体和自定义实体进行提取。 |
观察模块
观察是由原始事实抽象和合并形成的高层记忆类型,默认启用该功能。启用后,系统会自动分析并整合分散的事实信息,提炼出更稳定的模式,例如用户偏好、常见需求和反复出现的主题。具体介绍详见 观察
| 配置项 | 说明 | 建议 |
|---|---|---|
| 提示词 | 定义记忆库应综合哪些内容为观察,自定义填写时会替换内置的默认合并规则。 | 可包含偏好、技能和反复出现的模式,忽略一次事件。 |
| 批处理大小 | 单次调用模型进行合并时发送的事实数量。 | 值越高,调用次数越少,但提示词字数更多。 |
| 最大Token数 | 对事实进行合并时,需要的token预算。 | 每次生成观察时输入的最大token数目;值为-1时表示无限制。 |
| 范围内最大观察数 | 每个标签范围下允许的最大观察数;观察数量达到最大值时,只能对该范围下已有观察进行删除或更新操作。 | 没有标签的观察不受约束;值为-1时表示无数量限制。 |
反思模块
定义系统在对记忆库内容进行推理、反思和综合回答时所采用的响应方式、表达风格与判断倾向。具体介绍详见反思 Reflect
| 配置项 | 说明 | 建议 |
|---|---|---|
| 提示词 | 定义 Agent 的身份和目标,会在反思中作为框架上下文,影响回复的语气、关注重点和分析深度。 | 可按业务场景描述,例如⼯程助⼿、客服助⼿或研究助⼿。 |
| 硬性规则 | 反思阶段必须遵守的硬性约束。 | ⽤于合规、隐私、禁⽤主题或固定输出规范。 |
| 性格 | 仅影响反思风格,例如谨慎度、字面理解程度、共情程度。 | 根据 Agent 角色微调回答倾向和风格,不影响检索的原始结果。 |
Webhooks配置
可通过管理Webhook端点已接收记忆库相关事件的通知。实践类型包括 Retain 存储完成后和 Consolidation 异步整合完成后。
评价此篇文章
