MemOS 工作原理
记忆召回
记忆召回负责在用户发起请求时,从已有记忆中找出与当前任务最相关、最可信、最适合注入上下文的内容。
1. 什么是记忆召回
记忆召回是 MemOS 在读记忆时的核心能力。用户发起新请求后,系统会结合输入内容、会话上下文、过滤条件和记忆状态,找出可以帮助模型完成当前任务的记忆。
召回的目标不是把历史全部拿出来,而是在有限上下文里放入最有用的事实、偏好、工具经验、技能线索或知识内容。
2. 为什么不能只靠上下文
如果模型只依赖当前对话窗口,会遇到三个问题:
- 用户需要反复说明:偏好、背景和长期事项无法自然延续。
- 历史信息容易丢失:早期对话、跨会话行为和工具结果不会自动出现在当前上下文里。
- 输入容易过载:把所有历史原文拼进去成本高,也会降低回答稳定性。
记忆召回的价值,是在需要时把长期记忆转化为当前任务可用的输入。
3. 召回会返回什么
| 记忆类型 | 典型用途 |
|---|---|
| 事实记忆 | 补充用户身份、长期事项、业务状态等明确事实 |
| 偏好记忆 | 让模型延续用户偏好的语气、风格、选择习惯或约束 |
| 工具记忆 | 帮助 Agent 在相似任务中选择合适工具和调用方式 |
| 技能记忆 | 复用多轮任务中沉淀出的执行步骤和约束 |
| 知识内容 | 为回答提供文档、图片、多模态内容或知识库依据 |
召回结果通常会带有来源、时间、类型、标签、置信度和状态等信息,开发者可以继续过滤、排序或决定是否注入下游模型。
4. 召回的关键环节
| 环节 | 作用 |
|---|---|
| 理解请求 | 判断当前输入需要哪些背景、偏好或知识 |
| 过滤范围 | 根据用户、会话、时间、标签、类型等条件限定候选记忆 |
| 检索候选 | 从记忆库中找到语义相关或条件匹配的记忆 |
| 排序筛选 | 结合相关性、置信度、时效性和状态选择更可靠的结果 |
| 注入治理 | 控制哪些记忆进入模型上下文,避免过多、过旧或不合规内容 |
这些环节共同决定召回结果是否真正有用。召回太少会让模型缺少背景;召回太多会增加噪音和成本。