Agent 学习笔记 06:Agent 为什么需要记忆:从聊天历史到长期状态
连续对话里,用户说过的偏好、已经确认的约束和当前任务进度都不能每轮重新猜。但“把所有聊天记录都塞回上下文”并不等于记忆,反而会带来成本、噪声和隐私问题。
三类记忆解决三类问题
短期记忆维持当前会话的连续性,例如刚才确认的文件路径;工作记忆保存任务中间状态,例如已完成步骤、待验证假设和工具结果;长期记忆沉淀跨会话仍有价值的信息,例如稳定偏好或经过确认的项目背景。
短期记忆:这轮对话还需要什么
工作记忆:这个任务推进到哪里
长期记忆:以后遇到相关任务值得想起什么
三者的生命周期和召回方式不同,塞进同一个向量库只会让边界越来越模糊。
记忆不是原样保存,而是有选择地写入
“我下周三去上海”是有时效的事件,“我更喜欢 Python 示例”可能是长期偏好,“先别发布,只生成草稿”则属于当前任务约束。写入时要抽取类型、来源、时间、置信度和过期规则;同一事实被更正时,应更新或失效旧记录,而不是保留两个互相冲突的版本。
召回要同时考虑相关性和时效
向量相似度只能说明文本像不像,不能说明事实是否仍然有效。一次召回可以综合任务匹配、用户身份、时间衰减、重要度和权限:
候选记忆 -> 权限过滤 -> 时效过滤 -> 语义召回 -> 去重/冲突检测 -> 注入上下文
对临时安排,时间权重应更高;对长期偏好,用户最近一次明确修改比历史重复次数更重要。
让用户拥有纠错权
记忆可能推断错,也可能保存了不该保存的信息。产品应提供查看、修改、删除和关闭记忆的入口。模型在使用低置信度记忆时,最好说“我记得你可能偏好……是否仍然如此”,而不是把推断包装成确定事实。
这章给我的启发
记忆系统最难的不是存储,而是治理:什么值得记、多久有效、何时召回、由谁看到。只有这些问题有明确答案,Agent 才会显得体贴而不是冒失。

浙公网安备 33010602011771号