Agent 记忆系统的设计取舍
记忆是 Agent 从"无状态问答"走向"持续协作"的关键,但四类记忆各有代价。
短期记忆就是当前上下文窗口里的对话,最快但最贵——每多 1000 token,每次推理都付一次钱,且逼近窗口上限时召回质量下降。长期记忆写入向量库或 KV 存储,便宜且容量大,但召回有延迟,且 embedding 召回未必命中真正相关的那条。情景记忆记"某次任务发生了什么",利于复盘却不利于直接复用。语义记忆记抽象知识(如"用户偏好用 tab 缩进"),稳定但难以及时更新。
一个真实取舍:我曾让一个助手把每次会话的决策摘要存进长期记忆,结果几周后召回的全是过时偏好——因为情景记忆和语义记忆混在同一库,检索时新旧互相稀释。后来按"事实类入语义库、事件类入带时间戳的日志库"分开,召回才稳定。
窗口博弈的核心不是"塞更多",而是"召得更准"。与其把整段历史塞进上下文,不如用一个小检索器先过滤,只把最相关的 3-5 条放进窗口。记忆系统的目标从来不是记住一切,而是在正确的时刻想起正确的那一小段。
← 返回想法列表