轻量型 / Lightweight Memory
以短期记忆和少量任务状态为主,不急着做复杂长期层,先把当前回合做稳。
实现成本低、调试简单、很适合早期系统快速验证。
跨会话价值弱,任务跨度一长就容易露出遗忘问题。
早期助手、短流程对话、低连续性需求场景。
如果把 agent memory 当成一个整体来看,它不是一个单点能力,而是一条从“眼前保留什么”到“长期存什么”、再到“当前怎么用”和“跑久了怎么不变脏”的完整链路。很多讨论之所以混乱,就是因为把这些层混在一起谈了。
这一章不按某一类 agent 来讲,也不只讲单个技术点,而是从全局角度把 memory 机制整理成一张地图:短期记忆管最近上下文,长期记忆管远处知识与经验,工作记忆管当前回合怎么组装,写入策略决定什么能留下,污染治理决定系统跑久之后还可信不可信,目标层则决定前面这一切到底为谁服务。
前面几章像是在拆车,看发动机、油箱、刹车、仪表盘分别怎么工作;这一章像是把整车重新装回去,回答一个更大的问题:memory 到底是由哪几层拼起来的,这几层分别负责什么,哪些组合比较轻,哪些组合比较重。
这一组不是“所有相关概念”,而是这个维度最核心、最值得先理解的主线。带下划线的机制可以直接点开,会弹出一个更细的解释窗。
如果只看孤立卡片,机制之间的关系会很模糊。把它们放回 pipeline 中,就能看清每一步在系统里承担什么角色,以及问题通常出在什么位置。
先决定当前回合眼前要保留哪些最近信息,这一层对应短期记忆。
把值得长期留下的知识、状态或经验存到合适的长期层里。
当需要远处信息时,用检索或状态读取把它们调回来。
把最近上下文、长期召回、约束和状态一起组装成当前工作记忆。
判断这一轮里哪些内容值得沉淀,哪些只是临时经过。
通过去重、冲突处理、衰减和作用域隔离,避免系统越跑越乱。
最后根据系统目标,决定前面哪一层该优先做重,哪一层暂时可以轻一点。
以短期记忆和少量任务状态为主,不急着做复杂长期层,先把当前回合做稳。
实现成本低、调试简单、很适合早期系统快速验证。
跨会话价值弱,任务跨度一长就容易露出遗忘问题。
早期助手、短流程对话、低连续性需求场景。
以长期知识召回为主,核心是 chunking、embedding、ANN、metadata 和 reranking。
以工作记忆、任务状态和恢复点为中心,重点不是记住很多,而是当前做事别断线。
重点解决跨会话接续问题,让用户回来时系统能接上进度,而不是每次从头开始。
把成功和失败经历整理成经验、策略或技能模块,希望系统下次做得更好。
多层 memory 各司其职:短期、长期、工作、写入和治理一起构成完整平台。
有人说“我们 memory 不行”,但细看后会发现,一部分是在抱怨长期检索召不回资料,一部分是在抱怨当前回合没把状态摆对,还有一部分是在抱怨系统越跑越乱。它们都叫 memory 问题,但其实落在完全不同的层。
一个早期 coding agent 如果先把最近上下文、任务状态和错误恢复点做好,往往就已经能明显提升完成率;反而一上来做复杂经验沉淀和混合存储,可能只会增加调试难度。
当系统既要做知识问答、又要做项目接续、还要记住用户偏好并执行任务时,单一 memory 机制通常不够用了,最后自然会长成多层 memory 各自分工的样子。
这一部分补充的是更偏 memory system design 的视角:不只看概念本身,而是看这些机制在真实系统里应该放在哪一层、如何被组织、如何被观测。
如果只把 memory 理解成“存东西”,很多关键问题会直接消失在视野里。真实系统里,memory 至少包含:最近信息怎么保、远处信息怎么存、需要时怎么召回、当前回合怎么组装、哪些内容该写回,以及系统跑久了怎么不变脏。
很多术语经常被混在一起提,但它们管的并不是同一件事。Buffer、Window、Summary 管的是最近历史;Vector、Graph、Relational 管的是长期表示;Ranking、Slotting、Budget 管的是当前回合怎么用;Write Policy 和 Consolidation 管的是哪些东西值得留下;Dedup、Conflict、TTL、Decay 管的是系统会不会越跑越脏。
真实系统里很少只靠一种机制。更常见的形态是:短期记忆保住当前连续性,长期记忆承接远处知识,工作记忆负责当前回合编排,写入策略控制沉淀门槛,治理机制负责长期可信度。
不是所有产品都需要一开始就做重 memory。很多时候,系统当前最缺的只是近期上下文管理、任务状态恢复或检索链路调优,而不是上多层混合治理。只有当跨会话价值、长期知识规模、任务连续性和经验复用都开始变重要时,重 memory 才真正划算。
判断一套 memory 该怎么做,最实用的方法不是先选技术栈,而是先按问题顺序往下问:我最怕忘掉什么?这些内容是近期的、远期的、结构化的、语义型的,还是经验型的?它们要怎么进当前回合?哪些该留下?留下之后怎么别变脏?
这一章讲的是 memory 机制本身的全景图,也就是“有哪些层、各自做什么、常见怎么组合”。下一章讲的是“不同 agent 类型为什么会偏不同组合”。一个是站在机制视角看整体,一个是站在 agent 视角看偏好差异。
看整套记忆最终为哪类能力服务
看不同 agent 为什么会长出不同 memory 组合