如果你要设计一个“个人助理“Agent,记忆系统应该如何分层?

如果你要设计一个“个人助理“Agent,记忆系统应该如何分层? 这个问题挺有意思的,个人助理 Agent 的记忆系统,核心是分层设计——不是所有记忆都放一个地方,得按时效性、访问频率、重要性分层。我之前做过一个个人助理项目,一开始就把所有记忆都扔向量库里,结果检索慢、成本高、还容易检索到过时信息。后来重构成分层架构,效果好很多。第一层:工作记忆(Working Memory) - “工作台”这是最顶层的记忆,存当前任务上下文,相当于人的"工作台"。存储内容:当前对话的上下文正在执行的任务状态临时变量和中间结果工具调用历史存储介质: 内存(Redis),延迟 1ms特点:容量有限(受 LLM 上下文窗口限制)生命周期短(会话结束就清空或归档)访问频率极高(每次推理都要用)实现要点:用滑动窗口管理,保留最近 N 轮对话超出窗口时,旧消息压缩成摘要或卸载到短期记忆每次推理前,从下层记忆加载相关信息注入到这里这块有个坑——别把工作记忆当长期记忆用。我们之前犯过这个错,工作记忆一直不清理,结果上下文窗口爆了,token 成本飙