L2 scene 与 L3 persona 沉淀机制 本节摘要:L1 抽取与去重产出了扁平的原子,但记忆不止需要「精确单点召回」,还需要「快速进入场景和人设」——这靠 L2 与 L3。本节讲清这两层的沉淀机制:L2 如何通过场景检测把相关 L1 聚合成块,L3 如何从长期历史蒸馏出稳定画像与模式。两层的共同特点是「慢变量」——它们不随单次对话剧变,反映的是稳定结构。理解这两层的沉淀节奏,你就理解了为什么「用得越久记忆越准」。
本节摘要:L1 抽取与去重产出了扁平的原子,但记忆不止需要「精确单点召回」,还需要「快速进入场景和人设」——这靠 L2 与 L3。本节讲清这两层的沉淀机制:L2 如何通过场景检测把相关 L1 聚合成块,L3 如何从长期历史蒸馏出稳定画像与模式。两层的共同特点是「慢变量」——它们不随单次对话剧变,反映的是稳定结构。理解这两层的沉淀节奏,你就理解了为什么「用得越久记忆越准」。
L2 的核心是「场景检测」——判断哪些 L1 属于同一项目/场景,然后把它们聚合成块:
L2 沉淀机制 L1 池(扁平原子们) │ ├─ 场景检测(识别关联簇) │ - 同一项目频繁共现的 L1? │ - LLM 判断属于同一场景? │ └─ 聚合成 L2 块 - L2「鉴权模块维护」= [L1约束, L1事实, L1做法, L1历史] - 生成场景摘要(LLM)
场景检测的判据大致两类:
| 判据 | 怎么判断 | 例子 |
|---|---|---|
| 共现统计 | 多条 L1 在同一项目/时间窗口频繁出现 | 「鉴权」「JWT」「Review」常一起出现 |
| 语义聚类 | LLM 判断多条 L1 围绕同一主题 | 「不可改」「走 Review」「测兼容」都属鉴权场景 |
检测到场景后,聚合不是简单打包,还会让 LLM 生成「场景摘要」——一段对这组 L1 的高层概述,让召回时 Agent 拿到 L2 就能快速理解「这个场景长什么样」。
关键概念:L2 的价值在「预组织」。如果没有 L2,Agent 进入鉴权场景要逐条召回 4 条 L1,可能漏召回;有了 L2,一次召回整块,既快又全。这种「预组织」是用空间(存 L2)换时间(召回快)和完整性(不漏)。
L3 比 L2 更抽象——它不是「一个场景」,而是「跨所有场景的稳定模式」。提炼方式是从大量 L1/L2 历史里蒸馏:
L3 提炼机制 大量 L1 + L2 历史 │ ├─ 长期统计 │ - 用户在多次交互中反复呈现的倾向 │ - 团队跨项目的工作模式 │ └─ 蒸馏成 L3 - Persona:「用户 = 资深后端 + 重可读性 + 保守」 - Core:「团队 = 重稳定 + 强 Review 文化」
L3 提炼的关键是「长期」——它不是看一两次对话,而是看「统计上的稳定倾向」。用户某次反常地选了激进方案,L3 不会立刻改;只有统计显示倾向变了,L3 才缓慢更新。
| 维度 | L2(场景) | L3(画像/模式) |
|---|---|---|
| 抽象对象 | 一个项目/场景 | 一个人/一个团队 |
| 数据来源 | 相关 L1 簇 | 大量 L1/L2 长期历史 |
| 更新节奏 | 项目周期级 | 长期周期级(最慢) |
| 稳定性 | 中 | 高(不被偶发带偏) |
L2/L3 都是「慢变量」,这是它们与 L1 的根本差异:
快变量 vs 慢变量 L1(快变量):秒~分钟级变化,反映「最近说了什么」 L2(中):项目周期级,反映「这个项目长什么样」 L3(慢变量):长期周期,反映「人/团队的稳定模式」 → 慢变量需要时间积累,用得越久越准
这带来一个重要推论:L3 的价值随使用时间增长。新用户刚开始用,L3 还没形成,Agent 冷启动优势不明显;用几个月后,L3 画像准确,Agent 像「老熟人」一样懂你。这就是「经验复利」在 L3 层的体现——不是一次性的,是积累出来的。
💡 技巧:评估一套记忆系统「用得好不好」,看 L3 质量。L1 不准是抽取问题(可调),L3 不准往往是「用得还不够久」(要积累)。如果你的团队用了半年还觉得 Agent「不懂我们」,排查 L3 提炼是否正常工作(历史够不够、提炼周期有没有跑)。
L2/L3 的沉淀不像 L1 那样「L0 完成就触发」,它们有自己的节奏:
沉淀的触发编排 L1 抽取完成 ├─ 触发 L2 场景检测? │ - 条件:L1 积累到一定量 / 检测到新场景信号 │ - 不是每条 L1 都触发 L2 重组 │ 周期性任务 └─ 触发 L3 提炼 - 条件:定时(如每天/每周)+ 历史足够 - L3 不是事件触发,是周期性「回头看」
| 层 | 触发 | 为什么这样 |
|---|---|---|
| L2 | L1 积累 + 场景信号 | 场景需要足够 L1 才检测得出 |
| L3 | 周期性定时 | 画像需要长期统计,不能被单次事件驱动 |
这种编排解释了为什么 L2/L3 比 L1 慢——它们不是「即时反应」,而是「积累后的提炼」。这与它们的「稳定」定位一致:稳定的东西不该被即时事件牵着走。
L2/L3 沉淀出来后,它们在召回里扮演「快速进入语境」的角色(第 4 章讲过):
召回时的 L2/L3 角色 问题来了 ├─ 优先召回 L3 Persona(基础人设,几乎每次) ├─ 优先召回 L2 场景块(若命中某场景) ├─ 回退召回 L1 原子(需具体事实时) └─ 回退召回 L0 原话(需核对时) → L2/L3 是「平时最常用」的层,因为它们让 Agent 秒进状态
这也解释了为什么 L2/L3 的质量如此重要——它们是召回的「第一梯队」,质量差会直接影响大多数对话的体验。而它们的质量来自「沉淀机制」是否正常工作——场景检测准不准、画像提炼够不够周期跑,这些是本节讲的核心。
L2/L3 沉淀清楚后,下一节看召回引擎——这些沉淀好的记忆,如何通过 BM25+向量+RRF 混合检索被精确取出来。