跳到正文

Agent 长短期记忆如何分层?

短期/长期记忆与检索机制,关键模块和数据流详解

原题:在设计AI agent的记忆系统时,通常需要考虑短期记忆、长期记忆以及记忆检索机制。请阐述你如何设计一个高效且可扩展的agent记忆架构,包括关键模块和数据流。

Agent · 字节真题

回答与解析

逻辑分层

Agent 记忆应按职责划分:工作记忆保存当前目标、约束和近期工具结果;会话或情景记忆保存任务状态、事件和未完成事项;长期记忆只沉淀经确认、可复用且允许保存的偏好与事实。这是逻辑职责,不要求每层使用固定数据库。

写入与读取

交互或工具结果先经过候选提取、结构校验、去重、来源、权限与敏感信息检查,再带时间和版本写入结构化库、文本库或向量索引。新请求按身份与任务作用域做关键词、向量和结构化混合检索,再按相关性、时效性、重要性和权限重排,在上下文预算内注入。

事实、原文和向量用稳定 ID 关联。向量用于候选检索,精确属性和状态由结构化存储承载;用户纠正应生成新版本或显式覆盖规则。摘要是有损表示,必须保留原始证据引用。

系统按租户和主体分区,使用事件日志、幂等写入、删除和过期策略。多 Agent 默认隔离,只共享明确授权的命名空间。评估写入精确率、检索 Recall@K、冲突率、任务成功率、P95 延迟和存储成本,并测试错误记忆注入与删除是否真正生效。

口语版讲法(约90秒)

  • 按工作、情景和长期职责划分记忆
  • 写入先做来源、权限和冲突检查
  • 读取使用混合检索并受预算约束
  • 版本、删除和隔离保证可靠性
  • 用错误记忆注入与删除测试验收

Agent 记忆不是把所有历史塞进向量库,而是管理信息生命周期。工作记忆保存当前目标和近期工具结果;会话记忆保存任务状态;长期记忆只沉淀经确认、可复用且允许保存的信息。

写入时先做结构校验、去重、来源记录、权限和敏感信息检查。事实、原文和向量用稳定 ID 关联,向量负责候选检索,精确状态由结构化存储提供。摘要是有损的,所以要能回到原始证据。

读取时按用户和任务作用域做关键词、向量和结构化混合检索,再按相关性、时效性、重要性和权限重排。用户纠正应形成新版本或覆盖规则,不能让旧向量继续生效。

扩展时按租户分区,使用事件日志和幂等写入,并验证删除从索引和缓存生效。多 Agent 默认隔离,只有明确授权的命名空间才共享。

关键一句:可靠记忆依赖可追溯写入、受权检索、冲突处理和可验证删除。

核验来源

  1. Generative Agents: Interactive Simulacra of Human Behavior
  2. MemGPT: Towards LLMs as Operating Systems

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设你做一个电商客服agent,用户今天问订单状态,明天又来问退款进度,你怎么让agent记得前天聊过什么?而且对话越来越多,总不能全存吧,你打算怎么设计记忆系统?

  2. 问法 2 · 层层追问

    agent怎么记住用户之前说过的话?……如果对话很长,上下文窗口装不下怎么办?……那长期记忆和短期记忆怎么区分,数据怎么流动,你画一下整体架构?

  3. 问法 3 · 直球架构

    设计一个高效可扩展的agent记忆架构,要求区分短期、长期记忆,并考虑检索机制和扩展性。你从关键模块、数据流、存储选型几个方面说说怎么实现。

同模块相关题目