Replies: 2 comments
|
我最近在给 DSH 做记忆优化插件( 先看 DSH 当前能用的注入接缝(源码实证)我逐一验证过三条路径:
关键结论:稳定性才是注入安全性的前提所以"隔离在存储层(core 记忆)"在 v0.1 下不只是更优,而是唯一 KV 安全的选择——因为 core 记忆内容稳定(只在写入时变化),system-prompt section 的前缀字节保持不变,KV 缓存得以复用。 而"按场景注入(recall)"内容易变、命中率波动,在现有接缝下要么变成持久化历史(pre-step)、要么被 deepFreeze 拦死(llm/stream)、要么打断 KV 缓存(section 注入易变内容)——三条路都堵死。 我们因此采用的分层(Letta 式)
实现见 https://github.com/QIANLING-0831/dsh-memory ( 给官方的一点建议如果 DSH 后续想支持"按场景自动注入",最干净的方向是提供一个 "非持久化 + 请求尾部追加"的接缝——请求尾部追加不破坏前缀,非持久化不污染日志。有了这个接缝,recall 注入才能真正落地而不用担心 KV 和 Token 成本。 这个帖子很好,正好把两种范式的边界问清楚了。想听大家对自己的记忆框架选型的看法。 |
|
补一个已经跑通的工程样本:Pi 生态的 dsh plugin --profile web add pi2dsh
dsh plugin --profile web add pi-hermes-memory它把“显式写入/检索的长期事实”从会话日志中独立出来,适合作为你讨论的存储层路线的一个可运行工程样本;插件仍然保持 Pi 原包,DSH 只通过兼容层获得工具、命令和生命周期。实现与验证清单:https://github.com/weijiafu14/pi2dsh#what-actually-works-today |
Uh oh!
There was an error while loading. Please reload this page.
按场景注入 vs 隔离在存储层:两种记忆注入范式的本质差异
一、按场景注入的机制(以 SGME 为例)
"按场景注入"类方案(如:SGME )的典型流程是三步:
第 ③ 步是它的核心点:
它的承诺是:只注入"场景相关"的记忆,不注入全量。
二、它的本质问题:隔离发生在检索层
"按场景注入"看似解决了"全量注入污染上下文",但往本质上看一层,会发现一个更深的问题:
换句话说:
由此带来三个固有缺陷:
一句话:按场景注入,是在乱炖库里做聪明的检索——它没有消除"乱炖",只是减少了"乱炖"带来的污染。
三、LMA 的路:隔离发生在存储层
LMA 把隔离的位置上移到了存储层:
/mount/unmount)直接圈定范围:当前会话能访问哪些体隔离是结构性的(存的时候就分开了),不是检索补丁。
四、本质对比
五、结论
一个在"事后补救",一个在"事前隔离"。
架构的"干净",就干净在隔离发生在上游(存储),而不是下游(检索):
这不是说"按需检索"没用(LMA 同样靠
memory_search按需取),而是说:检索做的是"在已隔离的范围内取对",而按场景注入做的却是"靠检索去弥补没隔离"。前者是锦上添花,后者是检索的优化。六、相关的文档
SGME 在描述其 "Unified search" 时,原文写道:
三个关键词,句句印证"隔离发生在检索层":
memory pool(单数)keyword + semantic + label triple fusionin one stop还有:
SGME 承认,"让 agent 拥有独立记忆文件"这个能力还在路线图里、尚未实现——而这恰恰是 LMA 的「体 = 独立目录 + 独立 JSONL」已经交付的东西。
七、更根本的一层:写入环节的三难困境
上面讨论的是「注入(检索)」环节——记忆怎么被取出来。但再往上游推一层,有一个更根本的问题:记忆是怎么「写入」库的?
任何记忆方案,写入无非三种路径,而三种都躲不开困境:
三种路径,要么乱炖、要么不准、要么鸡肋——没有一条能两全。
而 按场景(如sgme) 实际走的是 ① + ② 的组合(它绕开了 ③,因为"用户手写"和它"全自动"的价值主张矛盾):
所以 SGME 的写入 = "自动积累(乱炖)+ 自动分类(不准)"的双重叠加:它把最难的两条路一起走了。记忆在 Capture 那一刻就混着存,Distill 再靠分类器"亡羊补牢",但分类器本身会猜错。
这暴露了一个比"检索层隔离"更本质的事实:
记忆在写入那一刻就乱炖了,后面检索再聪明,也是在乱炖里捞。
LMA 的破法:双权威,在写入环节就分流
LMA 用「双权威」在写入那一刻就避开了这个三难:
/remember用户显式写user/summarize模型总结model关键区别:
(LMA:https://github.com/szx-a/ds.git 还在改进,文中提到的具体的实现其本身是优秀的,本文只对事和观点而言)
附
本文基于其公开 README 的自述,"按场景注入"的机制描述以其自述为准;不影响本文的核心论点——因为论点的靶子是**"隔离发生在检索层"这一类设计**,而非某一个具体实现。这些实现本身是优秀的
All reactions