AI 基础
什么是 AI 代理记忆?短期、长期、情景记忆和语义记忆解析
代理记忆并非单一数据库或无限增长的提示词。它是为保留工作上下文、情景、事实和已学程序而设计的系统,并在恰当时机检索相应信息。

AI 代理记忆是存储、组织和检索代理在即时模型响应之外可能需要的信息的系统。 它可以保留活动任务状态、过去的经验、事实、偏好和已学习的程序,但它不是单一的数据库,也不同于模型的上下文窗口。
记忆帮助代理在长期任务和重复交互中保持连贯。它也可能引入过时的事实、隐私风险和误导性的检索。关键的设计问题不是“代理如何记住所有内容?”,而是“它应该记住什么、记多久以及在何种授权下?”
上下文不是记忆
模型的 上下文窗口 是在特定推理期间可用的信息:指令、消息、工具结果、检索到的文档以及其他输入。它的功能类似于临时工作区。
记忆 是决定哪些信息持久化以及选定记录如何返回工作区的更广泛机制。充满对话的数据库只是存储;只有当系统能够在适当时机检索到正确的信息并呈现其可靠性时,它才成为有用的记忆。
这一区别很重要,因为大型上下文窗口并不能解决记忆管理问题。将每个先前事件都填入提示会增加成本,并可能因无关或矛盾的细节分散模型注意力。
代理记忆的主要类型
一个生产系统可以通过对话状态、结构化数据库、向量搜索、事件日志和版本化指令的组合来实现上述四种功能。该分类法描述了信息所扮演的角色,而非存储信息的数据库产品。客户偏好属于语义记忆,无论它存放在关系表还是向量索引中。
工作记忆或短期记忆
工作记忆保存当前任务的活动状态:目标、当前计划、近期观察、未解问题、工具输出以及已完成的步骤。它通常部分存储在对话中,部分存储在结构化状态对象中。
由于工作上下文受限,长期运行的代理可能会对较早的事件进行摘要、单独保留重要变量,或仅加载任务的下一个相关部分。
情景记忆
情景记忆将经历记录为事件:发生了什么、何时、在何种情境、采取了哪些行动以及产生了什么结果。代理可能记得某次部署在配置更改后失败,或用户因某个陈述的理由拒绝了推荐。
情景记录可以支持基于案例的推理——寻找与当前情形相似的过去情境。它们需要谨慎归属,因为早前的结果可能依赖于已不再适用的条件。
语义记忆
语义记忆独立于单一事件地表示事实和概念。示例包括客户偏好的语言、内部指标的定义或产品之间的关系。
语义记忆可以存在于文档、向量索引、关系数据库或知识图谱中。重要事实应包含来源、时间戳和所有权,以便代理能够区分权威记录和模型生成的摘要。
程序性记忆
程序性记忆捕获工作执行方式:工作流、工具选择规则、检查清单、成功方案或可复用技能。在当前系统中,这通常表现为版本化指令、代码或已测试的模板,而不是模型自行静默更改。
将程序性更新与普通对话分离是一项安全特性。单次异常交互不应自动重写代理的操作规则。
代理如何记忆某事
| 工作记忆 | 在当前任务期间使用的临时上下文。 |
|---|---|
| 情景记忆 | 对选定事件和先前交互的记录。 |
| 语义记忆 | 从经验中提取的概括性事实或概念。 |
| 遗忘 | 删除或衰减,以限制陈旧、敏感和低价值的状态。 |
实用的记忆流水线包含四个阶段。
- 捕获: 观察消息、动作、结果或环境变化。
- 选择并编码: 决定信息是否值得保留,并将其转换为带元数据的记录。
- 存储: 将记录放入合适的系统,并设置访问控制和保留策略。
- 检索: 当新任务到来时,搜索相关记录,进行排序,并将少量选定记录放入上下文。
一些系统会加入合并步骤:将重复观察合并、解决重复项,或将事件转化为持久事实。此过程不应抹去来源或不确定性。
检索工作原理
向量相似度搜索很常见,因为它即使在措辞不同的情况下也能找到语义相关的记录。然而,仅靠相似度不足以满足需求。六个月前的偏好可能在主题上相关,但已不再有效。
稳健的检索可以结合多种信号:
- 语义相关性: 记录与当前任务的匹配程度;
- 新近性: 是否应给予更新信息更高权重;
- 重要性: 记录是否影响关键决策或约束;
- 权威性: 是否来源于可信系统、用户或模型推断;
- 范围: 当前代理和用户是否被允许访问;
- 多样性: 所选记忆是否提供不同信息,而非重复同一点。
有影响力的记忆架构
该Generative Agents研究提出了一种架构,其中代理存储观察结果,基于相关性、近期性和重要性检索记忆,并形成更高层次的反思以指导规划。它展示了记忆如何在模拟行为中创造连续性。
MemGPT 通过类操作系统的比喻来处理受限上下文,使用分层记忆并在小型活动上下文与更大外部存储之间进行显式移动。更广泛的教训是,上下文应被视为稀缺资源进行管理。
这些理念影响了现代代理,但实际生产中的记忆通常使用更简化的组件:结构化任务状态、事件日志、向量存储以及显式的用户偏好。复杂性应基于已证明的需求而引入。
记忆 vs. 检索增强生成
检索增强生成(RAG)将外部信息引入模型上下文。代理记忆可以使用相同的检索技术,但其来源和生命周期不同。
RAG 系统可能从独立于代理的精心策划的知识库中检索。记忆系统通常包含代理自身交互产生的记录,并且必须决定写入什么以及读取什么。两者的界限可能模糊,但记忆引入了个性化、保留以及自生成数据风险,这些是普通文档检索所不具备的。
常见记忆失效
冲突是不可避免的。用户可能会更改偏好,两个系统可能对同一账户意见不合,或摘要可能遗漏重要的例外情况。可靠的记忆会保留时间戳和来源,定义哪个系统具有权威性,并在出现未解决的矛盾时将其呈现出来,而不是悄悄选择排名最前的记录。
- 陈旧记忆: 旧的事实覆盖了更新的系统记录值。
- 错误记忆: 将模型生成的推断存储为已确认的内容。
- 检索噪声: 相似但无关的记录分散模型注意力。
- 过度个性化: 系统在给定偏好的上下文之外应用该偏好。
- 跨用户泄漏: 来自某个人或租户的记录出现在另一用户的上下文中。
- 投毒: 恶意内容被存储,以便后续操纵代理行为。
- 无限保留: 敏感数据在没有明确目的或删除路径的情况下持续存在。
负责任地设计记忆
从明确的类别入手。将权威事实、用户提供的偏好、模型摘要和原始交互日志分开存储。记录来源和时间戳。对高影响力的事实设定过期规则,或在证据冲突时要求确认。
用户应能够查看、纠正并在适当情况下删除持久的个人记忆。访问控制必须在存储和检索阶段都生效。数据库中存在的记录并不自动对每个代理、任务或用户开放。
将记忆视为一个系统来评估。测试代理是否检索到有用的记录、忽略无关信息、尊重更新后的事实、抵御投毒尝试,并在没有记忆可用时表现正常。将改进幅度与增加的延迟、成本和隐私风险进行对比衡量。
记忆是否意味着代理在学习?
通常情况下,模型权重并未改变。大多数代理记忆是外部信息,在运行时被检索到模型上下文中。这可以显著改变行为,但不同于对底层模型的训练或微调。保持这种区分有助于团队理解可逆性:外部记录可以在不重新训练模型的情况下被纠正或删除。
不一定。大多数代理记忆改变的是提供给固定模型的信息;它并未更新模型的参数。系统的行为可能因上下文变化而不同,这看起来像是学习,但并未修改底层神经网络。
这种划分是有价值的。外部记忆可以更容易地被检查、纠正、治理和删除,而不像通过训练嵌入的知识那样难以操作。
关于 AI 代理记忆需要记住的要点
AI 代理记忆是一套围绕模型的检索与治理架构。工作记忆维护当前任务;情景记忆记录经验;语义记忆保存事实;程序记忆编码可复用的工作方式。
最佳的记忆系统应具备选择性、可归属、权限感知且易于纠正的特性。记忆更多并非目标,关键是帮助代理在不违背信任的前提下,将正确的证据带入正确的决策。












