记忆与 KV 的分工
为什么不是简单加长上下文:哪些东西该留在 Qwen 的热 KV 里,哪些该写入带地址的记忆记录,各自的边界在哪里。
441.19tok 批次 B 平均输入前缀 token
这一节回答一个问题:既然模型已经有上下文窗口,为什么还要单独做一层记忆? 答案不是「窗口不够长」,而是把长期事实塞进上下文,会以线性成本换来极低的复用率。 下面把「哪些东西留在 Qwen 的热 KV 里、哪些写进记忆记录」这条分界线逐层讲清楚。
先看没有这层记忆时会发生什么
同一套题、同一协议下,原版 Qwen3.5-4B 在 246 道可回答题上只答对 3 道(1.22%)。 它的典型回答不是答错,而是明确表示拿不到信息:
作为一个人工智能模型,我无法访问您的个人历史对话记录、系统配置或您之前设定的具体规则……每次对话对我来说都是全新的开始。原版 Qwen3.5-4B · 评测样本 user-009 原始回答
这句话在事实上完全正确——模型确实没有这些信息。问题出在:这些信息本来就应该被保存下来, 而它们不属于「当前这轮对话」,所以每轮都重新粘一遍历史是最笨的保存方式。
四层分工:谁存什么、为什么
这是整份设计里最核心的一张表。判断标准只有一条:这份信息是「这一轮才有意义」还是「跨轮次可复用」。
关键判断
Memory Slot 不试图逐 token 模拟完整 KV。它接管的是 KV 里最昂贵、最适合长期保存、 也最容易重复利用的那一部分;而当前对话的顺序关系,仍然由 Qwen 的原生上下文负责。
分工落到数字上是什么样
下面这组对照最能说明「不是把历史灌进去,而是把命中的少量证据灌进去」。两组数字分别来自批次 A 与批次 B(同一题集、同一协议)。
注意最后一项:上限是 131,072 token,实际只用了 17,990。 这说明读取路径被"有界"约束住了——不会因为记忆库变大就把显存吃满。
这条分工线换来了什么、付出了什么
换来的
付出的
这条线不能推到哪里
第三条尤其要注意:1,048,576 是地址空间与分页结构的容量, 本次两个批次实际装载的是 723 / 738 条 active records,分别是 23 / 24 个页面。 容量上限与已装入量是两个概念,我们不在页面上把它们混为一谈。