MemOS 工作原理

记忆调度

记忆调度负责在对话和任务进行时,判断哪些记忆应该被提前准备、优先使用或暂时降级。

1. 什么是记忆调度

记忆调度是 MemOS 在运行时管理记忆可用性的能力。它不只是“搜到哪条记忆”,而是根据当前任务、用户状态、历史主题和记忆热度,决定哪些记忆应该更靠近模型上下文,哪些记忆可以留在低频存储中。

可以把记忆调度理解为记忆系统里的注意力管理:当用户进入某个任务场景时,系统优先准备最可能用到的记忆,减少无关历史对模型的干扰。


2. 为什么需要调度

如果每次请求都只做全量检索,系统会遇到三个问题:

  • 响应变慢:等用户提问后再从全部历史里搜索,会增加首 Token 延迟。
  • 上下文过载:召回太多历史内容,反而会淹没当前任务真正需要的信息。
  • 主题切换不自然:用户近期关注点变化时,系统需要及时把新主题调到更高优先级,把旧主题降级。

调度的目标不是保存更多内容,而是在合适的时刻让合适的记忆处于可用状态。


3. 调度关注什么

判断维度作用
当前任务判断用户正在处理的问题属于哪个主题或场景
记忆相关性识别哪些记忆与当前输入、会话和业务目标更接近
时效性优先使用近期仍然有效的信息,降低过时内容的影响
使用频率高频使用的记忆更容易被提前准备或保持活跃
权限范围确保调度结果符合用户、Agent、租户和业务隔离规则

调度结果会影响后续召回和上下文注入:相关、活跃、可信的记忆更容易被优先使用;低频、过时或不适合当前场景的记忆会被延后处理。


4. 例子:从买房到装修

前一阶段:买房是核心主题

用户输入

“帮我查一下滨江那边的二手房均价。”
“提醒我周六去看房。”
“记录一下房贷利率的最新变化。”

调度结果

生成小区、看房安排、房贷利率的记忆。
判断“买房”是近期高频主题。
让买房相关记忆保持较高优先级。


最近:装修变成新的活跃主题

用户输入

“周末要去看瓷砖。”
“提醒我和装修公司确认水电改造。”
“记一下下周家具送货时间。”

调度结果

继续生成装修相关记忆。
判断“装修”已经成为新的高频主题。
将装修相关记忆调到更高优先级。
买房相关记忆仍然保留,但逐渐降级。


用户随口说:“我感觉好多事堆在一起,你帮我理一下。”

没有调度:全量临时检索

需要从全量记忆里临时检索。
可能混入查房价、看房、买菜、看电影等低相关内容。
回答更慢,也更容易偏离当前任务。

有调度:优先准备当前主题

优先准备看瓷砖、确认水电改造、家具送货等装修记忆。
不需要每次都从全部历史里重新判断。
响应更快,结果也更接近用户当前真正挂念的事。


5. 和召回的关系

调度和召回不是同一件事:

能力关注点
记忆调度哪些记忆应该在当前阶段更活跃、更靠近模型上下文
记忆召回在一次具体请求中,检索哪些记忆作为回答依据

调度更像运行时的准备和优先级管理;召回更像一次请求里的检索和筛选。调度做得好,召回通常会更快、更准,也更不容易被无关历史干扰。