796 字
约 2 分钟
9
S22-J02 · 记忆系统落地:分层与会话
适用读者:要做"跨会话记住用户"的人。
前置:S22-B03、S21-B06。
覆盖旧文:774(153) 773(73) 761(262) 760(8) 759(21) 775(54) = 571 点。
覆盖扩展:E-S22-004(长期偏好 vs 会话)。
上一篇:S22-J01 · 多模型路由与运行时切换
下一篇:S22-J03 · 项目工程细节。
1. 一句话结论
记忆分三类存:会话(本轮对话)、长期偏好(跨会话事实)、知识(文档检索)。混在一处,就会既贵又不准。
| 类型 | 生命周期 | 存储 | 注入方式 |
|---|---|---|---|
| 会话记忆 | 一次会话 | 上下文/短期表 | 拼进提示词 |
| 长期偏好 | 长期 | 结构化表/KV | Advisor 注入(B03) |
| 知识 | 长期 | 向量/倒排 | RAG 检索(S20) |
2. 长期偏好 vs 会话(E-S22-004)
| 维度 | 长期偏好 | 会话 |
|---|---|---|
| 例子 | "用户喜欢简短回答" | "这次要查 10 月订单" |
| 变化频率 | 低 | 每轮变 |
| 存错代价 | 长期误导 | 影响一次 |
判据:"这条信息下个会话还要用吗?" 要 → 长期;不要 → 会话。
3. 多库一致性(A-761)
问题:长期记忆常存在多处(用户画像库 + 向量库 + 缓存),改一处不同步就冲突。
| 方案 | 说明 |
|---|---|
| 单一事实来源 + 派生 | 主库存事实,向量/缓存由变更驱动(S11-A03) |
| 双写 | ❌ 失败即脏(S17-J03) |
| 定时对账 | 兜底 |
判据:"记忆写失败会怎样?" 会导致后续回答长期错误 → 必须走"主库 + 派生"。
4. 上下文组织(A-773)
[系统提示词]
[长期偏好摘要] ← 少量、稳定
[本轮会话摘要] ← 滚动压缩
[检索片段] ← 按需(RAG)
[当前问题]
| 要点 | 说明 |
|---|---|
| 偏好放前面 | 影响全局风格 |
| 片段放后面 | 靠近问题,注意力更高 |
| 控制总预算 | S20-J02 的 10/40-60/20-30 分配 |
5. 五个误区
| 误区 | 真相 |
|---|---|
| "记忆就是存聊天记录" | 要分层 |
| "偏好越多越个性化" | 噪声更大 |
| "多库双写没问题" | 一致性难保证 |
| "会话记忆能当长期用" | 会被压缩掉 |
| "记忆不需要清理" | 会过期、会冲突 |
6. 自检
- 三类记忆的存储与注入方式?
- 长期偏好与会话的判据?
- 多库一致性怎么做?
- 上下文里各部分的位置为什么重要?
- 记忆为什么需要清理?
7. 下一篇
S22-J03 · 项目工程细节:子 Agent、Skill 与沙箱
记忆讲完,下一篇看一个真实 Agent 项目的模块划分。
本篇属于系列《S22 · AI 工程落地实战》。旧文来源:A-774/773/761/760/759/775;扩展点 E-S22-004。
S22-J02 · 记忆系统落地:分层与会话
https://www.clxhxhhr.top/posts/5520/ 评论
0 条
还没有评论,先写一条吧。