L2 Scenario 场景知识块 本节摘要:L1 是离散的原子,但工作场景往往是「一组相关的记忆」共同构成的——这需要 L2 Scenario。L2 围绕项目或场景,把相关的 L1 聚合成一个知识块,让 Agent 能「快速恢复一个工作场景」。本节讲清 L2 聚合什么、它为何能让 Agent 秒进场景、它与 L1 的粒度差异。如果说 L1 是「一个事实」,L2 就是「一个项目上下文」——前者管精确,后者管「进状态」。 一、为什么需要 L2:场景是一组记忆,不是单条 先理解一个工作场景的本质——它通常不是「一条事实」,而是「一组相关的事实+约束+做法」交织: L2 的价值就在这里:它把一个场景需要的多条 L1 聚合成块,让 Agent 一次拿到「整幅场景图」,而不必一条条拼凑。
本节摘要:L1 是离散的原子,但工作场景往往是「一组相关的记忆」共同构成的——这需要 L2 Scenario。L2 围绕项目或场景,把相关的 L1 聚合成一个知识块,让 Agent 能「快速恢复一个工作场景」。本节讲清 L2 聚合什么、它为何能让 Agent 秒进场景、它与 L1 的粒度差异。如果说 L1 是「一个事实」,L2 就是「一个项目上下文」——前者管精确,后者管「进状态」。
先理解一个工作场景的本质——它通常不是「一条事实」,而是「一组相关的事实+约束+做法」交织:
一个真实场景:「鉴权模块的维护」 这个场景需要的记忆(散落在多条 L1 里): ├─ 约束:「鉴权模块不能动,移动端在用」(L1) ├─ 事实:「鉴权用 JWT,密钥在配置中心」(L1) ├─ 做法:「改鉴权要走 Review,要测移动端兼容」(L1) └─ 历史:「上次改鉴权引发过移动端故障」(L1) → 如果一条条单独召回,既慢又可能漏 → 把它们聚合成 L2「鉴权模块场景」,一次召回整块
L2 的价值就在这里:它把一个场景需要的多条 L1 聚合成块,让 Agent 一次拿到「整幅场景图」,而不必一条条拼凑。
关键概念:L1 解决「精确召回单条事实」,L2 解决「快速恢复一个场景」。前者像查字典,后者像「读档进入一个项目」——前者管准,后者管快和全。
L2 聚合的依据是「项目或场景」的关联性。什么样的 L1 会被聚进同一个 L2?大致有几类关联:
| 关联类型 | 例子 |
|---|---|
| 同一项目 | 「鉴权模块」相关的所有 L1 |
| 同一场景 | 「发布流程」相关的所有 L1 |
| 同一时间窗口 | 某次迭代周期内积累的 L1 |
| 同一主题 | 「数据库迁移」主题下的 L1 |
聚合后,一个 L2 大致是这样的结构:
一个 L2 Scenario 的形态 场景标识:「鉴权模块维护」 ├─ 关联 L1 们(指针 or 内嵌摘要) │ ├─ 约束:不可改动(移动端依赖) │ ├─ 事实:JWT + 配置中心密钥 │ ├─ 做法:改要走 Review + 测兼容 │ └─ 历史:曾引发移动端故障 ├─ 场景摘要(LLM 生成的概述) └─ 时间范围 / 关联项目
L2 的核心价值是「bootstrap 效率」——Agent 进入一个场景时,不必从零拼凑,直接读 L2 就能秒进状态:
没有 L2(逐条召回 L1) Agent 进「鉴权模块」场景 ├─ 召回 L1:约束(命中) ├─ 召回 L1:事实(命中) ├─ 召回 L1:做法(可能漏召回) ├─ 召回 L1:历史(可能漏召回) → 慢、可能不全 有 L2(召回整块) Agent 进「鉴权模块」场景 └─ 召回 L2「鉴权模块维护」(整块到手) → 快、全、上下文连贯
这就是为什么 L2/L3 被称为「平时用来快速进入语境」的层——它们把分散的信息预组织好了,Agent 拿到就能用。这种「预组织」是 L2 区别于 L1 的本质。
💡 技巧:判断一条信息该是 L1 还是 L2,看它是「孤立事实」还是「场景的一部分」。孤立事实(如「喜欢简洁注释」)是 L1;只有放在特定场景里才有意义的(如「鉴权模块的 Review 流程」),会聚进对应 L2。
L1 和 L2 不是「大小」差异,而是「组织层次」差异:
| 维度 | L1 Atom | L2 Scenario |
|---|---|---|
| 粒度 | 单条事实/偏好/约束/事件 | 一组相关 L1 的聚合 |
| 组织 | 扁平,各自独立 | 围绕场景组织 |
| 召回方式 | 按问题精确检索 | 按场景标识整块取 |
| 适用 | 「数据库是什么?」这类单点问题 | 「我要改鉴权」这类场景进入 |
| 占上下文 | 极少(一句话) | 较多(一块) |
粒度关系(自底向上聚合) L1 L1 L1 L1 L1 L1 L1 (扁平的原子们) │ │ │ │ │ └──┴──┴─ L2A └──┴── L2B (聚合成场景块)
注意 L2 不是「所有 L1 都聚合」,只有「场景相关」的 L1 才聚。孤立的 L1(如个人偏好)可能永远停在 L1 层,不进任何 L2。这是合理的——不是所有信息都属于某个场景。
L2 不是手工创建的,它由抽取 Pipeline 在 L1 积累到一定程度后,围绕检测到的「场景」自动聚合生成:
L2 的生成节奏(相对 L1 更慢) 对话产生 → L0 录制(即时) → L1 抽取(异步,秒级~分钟级) → L2 聚合(更慢,需 L1 积累+场景检测) → L2 是「慢变量」,反映的是稳定的项目/场景结构
这种「慢变量」特性意味着:L2 相对稳定,不会因为一次对话就剧变。它反映的是「这个项目大致是什么样子」,而不是「上一秒说了什么」。这与 L3(更慢的画像)一脉相承——越往上层,变化越慢、越稳定。
⚠️ 注意:L2 的「场景检测」依赖 LLM 判断哪些 L1 属于同一场景,这有一定主观性。实践中 L2 可能随抽取迭代而调整(某条 L1 从 L2A 移到 L2B),这是正常的精化过程,不是错误。
L2 是场景块,下一节再上一层——L3 Core/Persona,从长期交互中提炼出最稳定的画像与模式,让 Agent 迅速进入用户和团队的语境。