记忆调度
记忆调度就像大脑的注意力机制,动态决定在合适的时刻调用合适的记忆。
1. 能力介绍
在 MemOS 中,记忆调度(Memory Scheduling) 通过对【不同使用效率(参数>激活>工作>其他明文)的记忆】的相互调度,让模型能更高效、准确地获取用户所需的记忆。在对话和任务进行时,通过预测用户后续对话所需记忆并提前调入高效率记忆类型如激活记忆工作记忆,加速推理链路
为什么需要调度
在复杂的交互里,如果每次过来只靠简单的全局搜索,系统可能会:
- 太慢:等到用户问完再临时搜索,首 Token 延迟高。
- 不准:太多历史,反而淹没了关键信息,难以检索。
调度的作用就是让系统具备“即时准备、快速响应”的能力:
- 预加载:在对话一开始,就加载用户的常用背景。
- 预测调用:在用户还没输入完时,提前准备可能要用的记忆。
怎么调——结合任务语义、上下文、访问频率、生命周期等信息,动态安排记忆的调用与存储
| 维度 | 说明 |
|---|---|
| 调什么? | 参数记忆(长期知识与技能) 激活记忆(运行时的 KV 缓存与隐层状态) 明文记忆(外部可编辑的事实、用户偏好、检索片段) 支持 明文 ⇆ 激活 ⇆ 参数的动态迁移,高频使用的明文片段可以提前编译成 KV 缓存;长期稳定的模板可以沉淀到参数中。 |
| 什么时候调? | 上下文和高效记忆不足以支撑回答用户提问时进行记忆结构的优化 根据用户的意图和需求,对用户可能需要的记忆内容进行提前的准备 在连续提问过程中,调度记忆保持对话场景的高效准确 |
| 调给谁? | 当前用户、特定角色代理(Agent)、或跨任务的共享上下文 |
| 调成什么样? | 记忆会被打上热度、时效性、重要性等指标。调度器据此决定先加载谁、谁放冷存、谁需要归档。 |
使用 MemOS 云服务时,调度的作用可以从 searchMemory API 的表现中观测到:
- 它能快速返回相关记忆,避免上下文断裂。
- 返回的内容已经过调度器优化,确保结果既相关又不会过载模型输入。
2. 案例:家庭助理场景中的记忆调度
- 前段时间:用户忙着买房
用户经常说:
- “帮我查一下 XX 小区的二手房均价。”
- “提醒我周六去看房。”
- “记录一下房贷利率的最新变化。”
MemOS系统操作
- 系统最初将这些条目都生成 明文记忆。
- 因为“买房”相关信息被频繁提及,调度器在后台判断它是近期的核心主题,于是将这些明文迁移为 激活记忆,让后续查询更快更直接。
- 最近:用户房子买好了开始装修
用户开始频繁提到:
- “周末要去看瓷砖。”
- “提醒我和装修公司确认水电改造。”
- “记一下下周家具送货时间。”
MemOS系统操作
- 系统继续生成新的 明文记忆。
- 调度器检测到“装修”已经成为新的高频主题,于是把这些条目迁移为 激活记忆。
- 同时,之前“买房”相关激活记忆不再被频繁使用,会被自动降级回明文层,以减少活跃占用。
- 当前时刻:用户随口说——我感觉好多事堆在一起,你帮我理一下
如果没有调度,系统只能全库检索,把所有可能相关的记忆拉出来:
- 看瓷砖(装修)
- 确认水电改造(装修)
- 家具送货(装修)
- 查房价(买房时期,过时)
- 看房(买房时期,过时)
- 买菜(生活琐事)
- 看电影(生活琐事)
有调度时,系统可以更快速返回
- 看瓷砖
- 确认水电改造
- 家具送货
👉 用户体感 UP
- 响应更快(因为不需要全库检索)。
- 列出的就是自己最挂念的事 → 感觉助理“很懂我”
3. 进阶:如果你想做深度定制
开发者可以通过 扩展调度策略 来定制系统行为,主要包括:
| 扩展点 | 可配置内容 | 示例场景 |
|---|---|---|
| 调度策略 | 定义不同任务下的记忆选择逻辑 | 对话系统优先用激活记忆;科研系统优先检索最新明文 |
| 转换规则 | 设定跨类型迁移条件 | 高频 FAQ → KV 缓存;稳定范式 → 参数模块 |
| 上下文绑定 | 将记忆与角色/用户挂钩 | 学生用户自动加载学习偏好;企业用户加载项目档案 |
| 权限与治理 | 调度时结合访问控制与合规检查 | 医疗记录仅医生可见;敏感内容不可跨域共享 |
| 调度指标 | 基于访问频率、延迟需求优化调度 | 高频热记忆提升优先级;低频冷记忆降级存档 |
4. 下一步行动
了解MemOS更多核心能力
5. 联系我们
