权重 vs 上下文:知识何时属于模型
个人 agent 有两个地方可以存放它学到的东西。第一处是上下文窗口:每次检索文本,粘进提示词里。第二处是权重:编辑模型,让知识成为它所知的一部分,完全不需要检索步骤。大多数 agent 记忆系统从不刻意做这个选择。它们默认用上下文,把它叫做记忆,然后就完事了。
我认为这个默认对某一类知识是错的:持久的信念与偏好。这篇文章绘制领域地图,精读两条相关的文献线,并主张用一个路由层来决定每条记忆住在哪里。
领域地图:知识可以存在的三处地方
综述 Memory in the Age of AI Agents(Hu et al., December 2025, updated January 2026)沿三个轴组织 agent 记忆:形态、功能与动态。在功能轴下,它区分事实性记忆、经验性记忆和工作记忆;在形态轴下,它区分三种实现:
- token 级记忆:以原始文本存在输入里的知识,
- 参数化记忆:学进模型权重的知识,
- 潜在记忆:压缩后的向量表示。
形态轴就是权重与上下文之争的轴。RAG 和上下文工程属于 token 级记忆。LLM 模型编辑属于参数化记忆。这份综述最有用的动作是否定性的:它仔细地把 agent 记忆与 RAG、与上下文工程划清界限,因为系统类文章把这些词混用,而它们解决的是不同的问题。RAG 是外部存储之上的查找层。上下文工程是提示词组装。三种形态里,只有参数化记忆的答案不取决于实际检索到了什么、窗口里还剩多少空间。第三种形态的潜在记忆,在路由规则里没有投票权:压缩向量是另外两种形态经过的一种表示,而不是能单独写入、审计或回滚的存储,所以现实的选择仍是二选一。
这个区分并非纸上谈兵。token 级记忆廉价、可逆、可归因:你能指出产生某条答案的是哪个检索到的分块。它的弱点是以提示词为作用域。检索排序、分块边界和上下文预算,全都横在记忆与答案之间。参数化记忆的特征正好相反:一旦写入,即使检索关闭它依然在,也不占提示词空间;但它有黏性,一次坏编辑可能污染无关的查询。所以工程问题不是哪个更好,而是谁来决定、依据什么证据。
精读:编辑脉络,从 ROME 到 HoReN
这个选择的参数化一侧曾经很脆弱。经典脉络 ROME、MEMIT 和 GRACE 确立了两种编辑器家族:写入 MLP 权重的先定位后编辑方法,以及经由外部键值记忆路由查询的参数保持型码本。两个家族共有同一个扩展问题:随着编辑累积,局部性与泛化退化,多数编辑器撑不到一万次序列化编辑就崩溃了。我在 LLM 序列化知识编辑 里写过这条脉络。我也亲手复现过 GRACE,让我印象最深、也是 HoReN 兑现的那条教训是:一旦值在写入时被冻结,键就决定一切,而键如何匹配,正是改写泛化生死攸关之处。
这在这里很重要,因为个人 agent 的记忆天然是序列化的。信念一条一条累积,永不停歇。一个能撑十次编辑、到第一百次就走样的编辑器,不是记忆系统,只是演示品。
HoReN: Normalized Hopfield Retrieval for Large-Scale Sequential Model Editing(arXiv 2605.08143, May 2026)是在序列化编辑扩展到 5 万次上最强的已发表结果。HoReN 用一个码本包裹单个 MLP 层,码本里每个条目既是知识键,又是 Hopfield 存储模式。检索通过单位超球面上的角相似度进行,这提供了局部性;随后是阻尼 Hopfield 动力学,把改写句拉进正确的记忆盆地。在 LLaMA-3.1-8B 上的受控 ZsRE 压力测试里,HoReN 在 5 万次编辑处把整体编辑性能保持在 0.93 以上,而此前的编辑器在达到 1 万次之前就崩溃或严重退化。它把 ROME 的键值视角与 GRACE 的码本架构统一起来,而归一化是承重的那一块:对幅度敏感的路由正是旧编辑器里破坏改写泛化的东西。
这为什么会影响权重与上下文之争的决策?因为 HoReN 降低了参数化路径的风险。把持久信念写入权重不再是可能损坏无关知识的脆弱操作,而变成有界、可归因、带有可度量局部性保证的更新。这是把权重编辑当作常规记忆操作、而非研究产物的前提。
我的立场:建一个路由层,而不是更好的存储
如果参数化路径现在足够扎实,稀缺的资源就是路由决策。我会围绕一条规则来构建系统:
user turn -> extract memory candidates -> classify
belief -> consolidation -> HoReN weight edit
fact -> reversible RAG store
noise -> dropped
路由层才是真正的系统。两条写入路径的成本并不相同,正是这种不对称给这条规则定了价。一次 RAG 写入是一次数据库插入:廉价、即时、可逆。一次权重编辑是一遍巩固:用 GPU 时间在 8B 基础模型上训练下一个适配器,然后热切换。Engram 把它作为后台任务运行,持续服务旧适配器,直到新的编辑模块就绪。所以「信念进权重」真正的意思是:信念是值得付出一遍巩固的写入;任何能廉价重新取回、或你宁可能删掉的东西,都留在存储里。
抽取环节必须带置信度阈值,把每一轮分进这些桶里,因为路由出错比丢弃更糟:写进权重的事实会变得黏性、难以解开;停在 RAG 里的信念,一旦检索被关闭或分块被淘汰,就会消失。
第二个设计问题是键设计。个人信念查询最终归结为寥寥几种近乎相同的句式:「我相信什么?」「我的偏好是什么?」「我该怎么选?」如果编辑只以查询为键,换个措辞的问题就够不到这条信念的记忆;更糟的是,键本身可能就编码了答案。解决办法是从主语、关系和信念陈述中派生出额外键,让相近的查询句式仍能抵达正确的编辑后记忆,又不会把答案泄漏进查找键。
Engram:实践中的事实与信念切分
这正是 Engram 的形态——一个我围绕同样的路由层理念构建的持续学习记忆系统。Engram 把记忆分成三类:普通事实、文档和日程留在可逆的 RAG 存储里;持久信念与偏好经过一遍巩固,经由作为编辑后端的 HoReN 写入模型权重;瞬时的聊天噪音被丢弃。
这个 demo 围绕归因而非感觉构建:教给它一条持久信念,巩固它,然后在禁用检索的状态下问探针。如果 retrieved == [] 而答案仍能回想起教过的信念,说明知识活在被编辑的模块里,而不是提示词里。编辑模块也可以关掉再打开:关闭时,信念消失;打开时,它回来。这个开关是我所知的、对提示词填塞与真正的权重级记忆之间差别最干净的演示。
Engram 也实现了上面的键设计策略:它从用户查询、信念陈述和主语或领域词中派生出额外的规范键,全部不含答案,所以「我相信什么?」和「最好的 X 是什么?」都能检索到正确的编辑后记忆,键不会泄漏目标答案。
完整构建笔记见 Engram:把用户信念写进模型权重。一条可推广的教训:记忆系统不应只会记忆,它还应能证明答案来自哪里。
本文链接的来源均经抓取并核实。