Agent记忆管理怎么设计的? 核心考点向量数据库不是万能的分层记忆架构设计有没有解决过记忆在时间维度状态混乱的问题一、总体回答基础框架VectorDBRAG向量数据库和RAG是基础但是实际生产中会面临模糊匹配和精确查找的冲突时间状态的盲区问题四层记忆架构各层读写策略不同会话元数据结构化用户档案对话摘要滑动窗口短期会话长期会话通过Prompt拼接长期会话人物设定对话风格前几轮对话摘要最近几轮对话记录深层状态管理LedgerViewsPolicy三件套管理状态双时间机制-解决时间盲区程序性技能-把高频成功的路径固化成程序性技能skills生成二、Memory是一套完整机制分层设计显示读写时间状态管理程序性经验沉淀2.1 向量数据库局限擅长模糊语义匹配 在精准查找中没有优势时间状态问题比如用户上周说“我在上海”这周说“我搬到北京”这两条信息语义相似度接近Agent查的时候可能同时捞出分不清当前状态产生时间盲区旧状态没有被重新覆写Agent可能会带着过期时间决策2.2 ChatGPT四层分层设计会话元数据:对话基本信息用完就弃不持久化结构化用户档案用json格式存用户核心属性偏好身份历史决策精准读取不走向量检索直接键值查找对话摘要最近几次对话浓缩成主题关键词保留语义但压缩Token滑动窗口处理当下对话上下文超出对话token就丢弃2.3 核心三大命题Memory不是存储区而是影响决策的外部状态记忆系统是Agent行为的输入变量而不是可有可无的日志仓库系统三件套ledgerViewspolicyLedger原始账本只追加不修改保证数据可溯源Views派生视图把原始数据转换成大模型能直接理解的格式不同任务不同视图policy控制策略决定什么时候读什么时候写和遗忘遗忘策略在隐私合规很重要要建立显示的慢思考回路让Agent能主动调用记忆工具而不是每次被动的把记忆全部塞进Prompt这样才能在长任务里保持上下文精准高效2.4 时间约束解决方法双时间机制Vaild Time记录这条信息在现实世界里的有效时间段Transaction事务时间记录这条时间是什么时候被写入的两个时间戳配合才能正确处理用户搬家这类状态覆写2.5 程序性技能经验转化为SOP把多次成功的路径转化成程序技能skills下次遇到同类任务可以直接调用skill而不是从0规划