AI小栈AI小栈
首页
  • 模块概览
  • Transformer 与注意力机制
  • 主流大模型对比
  • Prompt Engineering
  • Token 与成本核算
  • Function Calling
  • 模块概览
  • Agent 范式
  • 多 Agent 协作
  • 记忆系统
  • 规划与推理
  • 安全与可控性
  • 模块概览
  • LangChain / LangGraph
  • Claude Agent SDK
  • OpenAI Agents SDK
  • AutoGen / CrewAI
  • Dify / Coze
  • MCP 协议
  • 模块概览
  • RAG 工程化
  • 工具设计与封装
  • 流式输出与 UX
  • 可观测性
  • 部署与成本优化
  • 测试与评估
  • 模块概览
  • 智能编程助手
  • 知识库问答 Agent
  • 数据分析 Agent
  • 多模态 Agent
  • 运维 Agent
  • 从0到1构建
  • 模块概览
  • 论文解读
  • 开源项目追踪
  • MCP 生态
  • Agent 商业化
  • 职业路径
  • 模块概览
  • 技术面试实战
  • Agent 面试题解析
  • 项目经验包装
  • 流程与心态准备
首页
  • 模块概览
  • Transformer 与注意力机制
  • 主流大模型对比
  • Prompt Engineering
  • Token 与成本核算
  • Function Calling
  • 模块概览
  • Agent 范式
  • 多 Agent 协作
  • 记忆系统
  • 规划与推理
  • 安全与可控性
  • 模块概览
  • LangChain / LangGraph
  • Claude Agent SDK
  • OpenAI Agents SDK
  • AutoGen / CrewAI
  • Dify / Coze
  • MCP 协议
  • 模块概览
  • RAG 工程化
  • 工具设计与封装
  • 流式输出与 UX
  • 可观测性
  • 部署与成本优化
  • 测试与评估
  • 模块概览
  • 智能编程助手
  • 知识库问答 Agent
  • 数据分析 Agent
  • 多模态 Agent
  • 运维 Agent
  • 从0到1构建
  • 模块概览
  • 论文解读
  • 开源项目追踪
  • MCP 生态
  • Agent 商业化
  • 职业路径
  • 模块概览
  • 技术面试实战
  • Agent 面试题解析
  • 项目经验包装
  • 流程与心态准备
  • Agent 架构与设计

    • 模块概览
    • Agent 基本范式:ReAct、Plan-and-Execute 与 Reflexion
    • 多 Agent 协作:分工策略、通信机制与编排模式
    • 记忆系统:短期记忆、长期记忆与遗忘策略
    • 规划与推理:Chain of Thought、Tree of Thought 与任务分解
    • 安全与可控性:权限边界、人类监督与幻觉防御

记忆系统:短期记忆、长期记忆与遗忘策略

记忆是 Agent 超越"无状态函数调用"的关键能力。没有记忆的 Agent 只能处理瞬态的单轮任务,无法积累经验、维持上下文或从历史中学习。一个精心设计的记忆系统赋予 Agent 三项核心能力:维持当前任务的连贯性、唤醒历史中的相关经验、以及在信息过载时高效取舍。

短期记忆:任务上下文的即时维护

短期记忆对应 Agent 在当前任务执行过程中需要持续维护的上下文信息。其核心形态是 LLM 的对话上下文窗口(Context Window),包含当前对话历史、已执行的行动记录、中间推理结论与环境观察反馈。

短期记忆的设计挑战在于:

上下文窗口的有限性

即使是最先进的 LLM,其上下文窗口也存在明确上限(如 128K 或 200K tokens)。在长链任务中,对话历史与中间产出的累积可能迅速逼近甚至超出窗口容量。一旦超出,最早的上下文信息将被截断,Agent 便丢失了对任务初始目标与早期步骤的记忆,导致行为偏离。

上下文管理策略

常见的短期记忆管理策略包括:

  • 滑动窗口:只保留最近 N 轮对话,丢弃更早的历史。简单但粗暴,可能丢失关键早期信息。
  • 摘要压缩:定期对历史对话进行摘要,用压缩后的摘要替代原文。保留了语义核心但牺牲了细节精度。
  • 关键信息提取:从历史上下文中提取任务目标、关键决策节点与未解决约束,以结构化形式常驻在上下文头部。这些"锚点信息"确保 Agent 在任何时刻都能回溯任务的核心意图。

最佳实践是组合使用上述策略:锚点信息常驻头部保障方向一致,摘要压缩管理中期历史,滑动窗口控制近期对话的完整度。

长期记忆:跨任务的经验检索

长期记忆解决的是跨任务、跨会话的经验积累与唤醒问题。当 Agent 在今天的任务中遇到了与昨天相似的问题,长期记忆使其能够检索历史解决方案而非从头探索。

向量检索架构

长期记忆的主流实现基于向量数据库(Vector Database):

  1. 写入阶段:Agent 将每次任务的关键经验、决策记录与解决方案转化为向量嵌入(Embedding),存入向量数据库,附带时间戳与元数据标签。
  2. 检索阶段:当新任务遇到相似情境时,Agent 将当前问题转化为查询向量,在数据库中检索语义最相近的历史记录。
  3. 融合阶段:检索到的历史经验被注入当前任务的上下文窗口,作为"回忆"信息指导 Agent 的后续决策。

向量检索的核心优势是语义匹配而非精确匹配——即使当前问题的表述与历史记录不同,只要语义相近就能被检索到。这使得 Agent 的"回忆"能力接近人类的联想记忆。

记忆的组织结构

原始的向量存储只是基础,更高级的长期记忆系统引入了结构化组织:

  • 情景记忆(Episodic Memory):存储完整的任务经历,包括问题、行动序列与最终结果,适合"遇到类似问题时参考类似做法"的场景。
  • 语义记忆(Semantic Memory):从多次经历中提炼的一般性知识与规则,如"当 API 返回 404 时应首先检查 URL 拼写",适合直接指导决策。
  • 程序记忆(Procedural Memory):固化的高效行动模式与工具使用套路,类似人类的"技能",可在相似情境中直接调用而无需重新推理。

记忆压缩与遗忘策略

记忆的无限制积累会导致两个问题:检索效率退化(向量数据库中的噪声记录稀释了相关信号的浓度)与上下文窗口被冗余信息挤占。因此,Agent 需要类似人类大脑的遗忘机制。

时间衰减遗忘

为每条记忆记录分配一个衰减权重,权重随时间递减。近期记忆权重高,远期记忆权重低。检索时综合考虑语义相似度与时间权重,使得"最新鲜的经验"优先被唤醒。时间衰减模拟了人类"近期记忆更清晰"的自然特征。

频率强化记忆

反复被检索与使用的记忆获得强化权重,类似人类的"反复练习形成长期记忆"。一条经验如果被多次验证有效,其检索优先级持续提升;反之,长期未被引用的记忆逐渐降权直至淘汰。

冗余合并与抽象压缩

定期对记忆库进行清理:语义高度重叠的多条记录被合并为一条更精炼的抽象表述,消除冗余的同时保留核心知识。例如,三次相似的任务失败记录可以被压缩为一条规则:"在该类任务中,方案 X 的成功率低于 20%,应优先考虑方案 Y。"

主动遗忘

最激进的策略是主动删除置信度低于阈值的记忆记录——那些从未被验证、从未被引用或已被判定为错误的记忆。主动遗忘确保记忆库保持精炼,避免噪声记忆干扰决策质量。

💡 设计要点:短期记忆追求"不丢失关键上下文",长期记忆追求"唤醒最相关经验",遗忘策略追求"保持记忆库的精炼与高效"。三者协同运作,构成 Agent 认知能力的记忆基础设施。


本章小结

记忆类型存储内容管理方式核心挑战
短期记忆当前对话上下文滑动窗口、摘要压缩窗口溢出、信息丢失
长期记忆历史经验、用户偏好向量检索、结构化存储检索准确率、存储成本
遗忘策略冗余/过时信息清理时间衰减、频率强化、主动删除避免误删有价值记忆

三层记忆架构:工作记忆(当前对话)→ 会话记忆(近期摘要)→ 长期记忆(结构化知识)。Agent 在不同场景下访问不同层级,既保证专注性又不丢失长期积累。


📖 延伸阅读

  1. Generative Agents: Interactive Simulacra of Human Behavior —— 记忆架构经典论文
  2. LangChain Memory Modules —— 官方记忆系统实现
  3. Vector Databases Comparison —— 向量数据库性能基准
  4. Pinecone Documentation —— 主流向量数据库文档
Prev
多 Agent 协作:分工策略、通信机制与编排模式
Next
规划与推理:Chain of Thought、Tree of Thought 与任务分解