[智能体-257]:智能体的短期记忆,即memory;长期记忆,即RAG Memory 运行内存 RAM只存本次对话上下文进程在数据在、会话销毁数据丢短期记忆只用于本轮多轮聊天拼接 Prompt。RAG 机械硬盘文档落地向量库持久化存储永久保存全量私有资料跨会话全局知识库需要时按需检索。一、核心定义与原理1. Memory短期记忆会话上下文存储内容历史聊天消息HumanMessage/AIMessage生命周期绑定单次会话 ID程序重启 / 会话结束 → 数据清空使用逻辑每次提问自动把历史对话拼入 Prompt实现多轮连贯对话** 存储载体内存数组、Redis (会话缓存)不会存入向量库python运行from langchain_core.chat_history import InMemoryChatMessageHistory history InMemoryChatMessageHistory() # 一轮一问一答自动append消息只在当前会话生效 history.add_user_message(报销标准) history.add_ai_message(一线350一晚)2. RAG长期记忆全局知识库存储内容企业合同、规章、产品文档、海量私有非结构化文本生命周期文档切片→向量化→写入向量库 (Chroma/Milvus)永久落盘使用逻辑用户提问 → 向量相似度检索文档 → 文档作为参考上下文拼入 Prompt跨会话A 用户、B 用户、不同聊天会话共用同一套知识库二、5 点关键差异维度Memory 短期记忆RAG 长期记忆存储对象聊天历史对话业务文档、知识库原文存活周期单次会话有效临时缓存在会话session的不同chat中有效永久持久化服务重启仍存在触发时机每次对话必加载历史固定 RAG每次必检索Agent-RAGLLM 按需检索作用标准化、常识、通识理解上下文指代它、这个、如上所述定制化、个性化、专有解决大模型知识截止、私有数据、幻觉问题部署位置内存 / 会话缓存向量数据库 / 文件存储三、三种落地组合方案工程最常用方案 1纯对话机器人Memory 无 RAGL2只靠历史上下文聊天没有私有知识库只记住本轮对话内容。python运行def get_hist(_): return history.messages chat_chain {input:RunnablePassthrough(),history:get_hist} | prompt | llm方案 2带会话记忆的固定 RAGMemoryRAGL3 企业客服-- 固定流程Memory 保存多轮聊天解决指代RAG 固定前置检索拿企业资料plaintext用户问题→读取聊天历史→RAG查知识库→历史文档问题一起进Prompt方案 3AgentMemoryRAG (封装 ToolL4 智能体) --大模型动态流程MemoryAgent 内部 scratchpad 会话聊天记忆保存本轮思考与对话RAG封装 RetrieverToolLLM缺资料才调用知识库常识直接用模型固有知识。四、容易混淆的两个概念澄清Agent 内部 scratchpad ≠ Memoryscratchpad保存 ReAct/FC 每一轮「思考 - 工具 - 结果」步骤是智能体任务临时草稿Memory用户聊天对话历史面向用户。RAG 不能替代 MemoryMemory 不能替代 RAG没有 Memory多轮对话无法理解代词没有 RAG模型不知道企业内部规章制度。五、拓展长期对话记忆落地会话数据落库 会话 RAG如果需要跨会话记住用户历史聊天数月前聊天记录把历史聊天消息存入向量库变成聊天 RAG提问时检索过往历史此时聊天记录从「短期 Memory」升级为「长期 RAG 记忆」。最简总结Memory记人话短期聊天RAG记资料长期文档