AI 代理的记忆系统并非铁板一块。四种记忆类型——工作记忆、语义记忆、情景记忆、程序记忆——各有分工。选错记忆层,信息存取效率会大打折扣。一套五问决策树能帮开发者为每类信息找到最合适的位置。
为什么记忆分层很重要
工作记忆依赖当前对话的 token 预算,适合会话期间的临时信息;语义记忆存储相对稳定的结构化信息,如用户姓名、偏好、业务规则;情景记忆保存历史交互记录,用于追踪过往决策或投诉;程序记忆则让代理通过重复任务积累经验,变得越来越熟练。
一个客服代理可能同时使用四层:当前工单放工作记忆、用户订阅等级放语义记忆、历史投诉放情景记忆、已学会的退款流程放程序记忆。问题往往出在记忆层放错:把本该放结构化档案的稳定信息塞进向量数据库,检索变慢且不可靠;或者在整个会话历史里搜索,反而找出过时、相互矛盾的旧信息。
五问决策树
文章提出一套决策树,要求对每类信息单独跑一遍,而不是对整个代理只跑一次。「当前工单」「账户详情」「投诉历史」属于三类信息,完全可能落在不同分支。
第一问:信息需要在当前轮次之后继续保留吗? 一次性分类请求不需要记忆;但支持代理已处理的问题、需要从昨天继续的代码项目必须携带上下文。若不需要 → 当前上下文窗口足够;若需要 → 进入第二问。
第二问:信息需要跨会话存在吗? 会话内的上下文用对话缓冲区配合截断或摘要即可;但回头客的偏好、进行中的项目状态、多天任务必须独立于单次对话存活。若仅需会话内连续 → 工作记忆;若需跨会话 → 还需要继续判断。
后续三问继续细分信息属于「稳定可结构化存储」「历史记录本身有价值」还是「重复任务应积累经验」,最终指向语义记忆、情景记忆或程序记忆。
换句话说,没有哪种记忆系统是万能的,关键是让每一类信息各归其位。
编注:信源为 Hacker News 转载的机器学习技术博客,材料侧重概念框架与设计思路,未涉及具体代码实现或生产环境 Benchmark 数据。