概念介绍

记忆种类

解释 MemOS 生成并使用的不同种类的记忆。

MemOS 会生成并使用不同种类的记忆,这些记忆在后续召回时承担的作用不同:有的用于确认事件,有的用于判断偏好,有的用于总结用户画像与完整事件,有的用于指导 Agent 任务怎么做,有的用于补充知识。区分记忆种类,可以在检索时返回更相关的内容,为模型提供更准确的上下文。


1. 事实记忆

事实记忆描述相对客观的信息,通常来自用户明确说过的内容、行为事件、文件或反馈。

常见例子:

  • 用户住在上海。
  • 用户的设备是 MacBook Pro 13 寸 Intel 版本。

事实记忆适合回答“用户是谁”“用户做过什么”“用户现在处于什么状态”“某件事是否发生过”等问题。

记忆可能随时间变化,MemOS 会结合 时间感知记忆生命周期管理 处理这类变化。

2. 偏好记忆

偏好记忆描述用户长期或阶段性的倾向,既可以来自用户明确表达,也可以来自行为的总结或推断。

常见例子:

  • 用户喜欢简洁直接的回答风格。
  • 用户规划旅行时偏好文化景点,不喜欢购物商场。
  • 用户买宠物食品时需要避开鸡肉口味。

偏好记忆适合用于推荐、生成、排序和个性化决策。它不只是回答“用户说过什么”,而是帮助 Agent 判断“怎样做更符合这个用户”。


3. 属性记忆

属性记忆(Profile)可用于构建结构化的画像,对话中的零散信息被抽取并映射到预先定义好的属性字段,并随对话深入自动更新、补全。核心特点包括:

  • 结构化:画像由预先定义的字段构成,统一存储、可直接取用,不分散在零散的记忆中;
  • 持续更新:随对话深入,MemOS 自动更新属性字段,让画像始终贴合用户的最新状态;
  • 字段级可控:支持自定义每个字段是否允许自动更新,关键字段可锁定,保持核心设定稳定。

示例结构如下所示:

基础信息
  姓名:张三
  职业:工程师
  居住地:杭州
兴趣爱好
  爱好:露营、独立游戏
  喜欢的音乐:民谣
性格标签
  三个关键词:开朗、好奇、爱较真

适用于个人助理、情感陪伴 / 虚拟角色等场景,用于增强对话一致性、稳定性,让 AI 长期记住用户是谁,详见 属性记忆


4. 事件记忆

事件记忆(Event)从对话中抽取结构化事件,保留时间、地点、参与者等关键要素。

常见例子:

  • 6月14日,张三和朋友去西湖边露营,晚上一起看了星星,聊了人生规划。
  • 6月10日,客户李四提交退换货申请,客服小二审核通过,6月13日完成签收。

事件记忆是对一段对话的总结与归纳,保留了关键的时间线、发生地点和参与者,详见 事件记忆


5. 记忆自进化 Skills

MemOS 从历史消息中自动提炼技能,实现记忆的自进化,也可以直接上传已有技能包到知识库。旅行规划、报销审核、客户问题排查这类有稳定步骤的任务,都适合沉淀为技能,详见 记忆自进化


6. 工具记忆

工具记忆记录的是“工具怎么用”。它会从 Tool Schema、工具调用参数、工具返回结果和调用轨迹中沉淀经验,帮助 Agent 更稳定地选择工具、填写参数和使用返回结果,详见 工具记忆


7. 知识库记忆

知识库记忆来自项目级文档、制度、手册、FAQ、流程文件或 Skill 文件。它不属于某个用户的个人历史,更适合被多个用户或 Agent 共享。

常见例子:

  • 公司财务报销制度。
  • 产品使用手册。
  • 售后退换货政策。

知识库记忆可以和用户记忆一起参与召回。员工询问【内网代理打不开了,我该重新装哪个版本?】时,知识库提供【安装说明】,用户事实记忆补充【这个员工的设备是 Intel 版本 MacBook Pro】,两者结合后回答会更准确,详见 知识库


8. 如何生成并使用

生成记忆

当前,MemOS 默认生成所有类型的记忆,可通过 allow_memory_view 控制允许生成的记忆种类:

  • 事实、偏好、事件、技能记忆在添加消息后自动抽取并更新记忆;
  • 属性记忆需要先创建模板并绑定用户,添加消息时自动抽取更新;
  • 工具记忆需要在添加消息时传入 "role":"tool" 的工具调用信息;
  • 知识库记忆需要创建知识库并上传文档。

使用记忆

检索记忆时,可通过 include_memory_view 控制允许检索的记忆种类。不传时默认召回事实记忆和偏好记忆。与传入值的对应关系如下所示:

记忆种类取值
事实记忆detail_factual
偏好记忆preference
属性记忆profile
事件记忆event
技能记忆skill
工具记忆tool_memory

其中,知识库记忆需要在检索记忆时,传入 knowledgebase_ids 指定参与召回的知识库记忆。使用方式参考如下所示:

{
  "user_id": "memos_user_123",
  "query": "最近有什么安排?",
  "knowledgebase_ids": ["memos_kb_001"]
}
需要查看完整字段、请求格式和响应格式,详见 Search Memory 接口文档

9. 直接开始使用

Add Message

写入用户对话、文件和工具调用轨迹

Search Memory

检索不同种类的记忆