Agent 记忆系统设计:短期记忆与长期记忆的协作
让智能体「记得住」,是它从一次性问答走向长期协作的分水岭。记忆系统不是把对话历史全塞进上下文那么简单,那只会让窗口爆炸、成本失控。合理的做法是分层:短期记忆承载当前任务的工作状态,长期记忆沉淀跨会话的事实与偏好,中间还要有一套写入、检索、遗忘的机制。设计得好不好,直接决定 Agent 是越用越懂你,还是每次都像第一天上班。 短期记忆该装多少,又该怎么瘦身? 短期记忆就是当前上下文窗口里的工作区,它要装系统提示、近期对话、工具返回。问题在于工具返回动辄几千字,全留着很快超限。瘦身手段有三:对长结果做摘要、只保留最近若干轮、把中间产物转存到长期记忆后从短期里删掉。判断标准很实际——模型完成下一步决策真正需要哪些信息,就留哪些;凡是「也许以后用得上」的,都该转走,而不是占着当下的窗口。短期记忆的目标不是全,是准。 长期记忆怎么写、怎么查、又该忘? 长期记忆通常落在向量库或结构化存储里。写入时别原样存对话,要先提炼成「关于谁、什么事、什么偏好」的条目,并打上时间与来源标签。检索时按任务相关度召回,而不是按时间倒序翻旧账;召回过多要做重排,过少就扩大标签范围。遗忘机制同样关键:用户改口的偏好、已过期的临时约定,要能被新条目覆盖或标记失效。否则 Agent 会拿着三个月前的旧偏好办今天的事。把记忆当成一个有增删改查的小数据库来设计,而不是一块只进不出的黑板,长期协作才不会被陈旧信息拖垮。 去论坛讨论 前往 silicon-agi.com 论坛 参与讨论