ब्लॉग पर वापस जाएँ

Agent 记忆实现方案:从上下文窗口到 MemoryOS 的 8 条路线

开发工具2026-10-3016 मिनट पढ़ेंAgent MemoryMemoryOSAI Agent上下文窗口长期记忆RAGMCP

Agent 的“记忆”不是把更多聊天记录塞进 prompt。它是一条从写入、整理、检索到注入的完整数据链:哪些内容值得保存,什么时候应该更新,回答时如何取回,以及用户如何删除和纠正它们。

本文整理自白白说大模型的 YouTube 视频《Agent记忆实现方案详解:一期讲透8种Memory策略,从窗口到MemoryOS》。视频公开页面目前只有标题、作者、描述和标签,没有提供可直接核验的逐字字幕或章节。因此,下面的八条路线是围绕视频主题、公开的 Agent Memory 资料和 MemoryOS 官方仓库整理出的结构化导读,不是视频逐字稿;视频中的具体演示和表述应以原视频为准。

先看全景:记忆是一个生命周期

可以把一次 Agent 任务拆成四个阶段:

  1. 写入:从对话、工具结果和用户反馈中识别候选记忆。
  2. 更新:去重、合并、标记有效期,处理新旧事实冲突。
  3. 检索:根据当前任务召回相关内容,并过滤过期或无权限的数据。
  4. 生成:把经过筛选的记忆放入上下文,同时保留来源和不确定性。

这四步比“选哪一个向量数据库”更重要。任何一层缺少边界,都可能出现记错、泄露、召回噪声或成本失控。

八条实现路线

1. 上下文窗口:最便宜的短期记忆

把最近几轮消息、工具结果和当前任务状态直接放进请求,是最简单的记忆方式。它适合一次性任务、短对话和需要完整保留局部细节的工作流。

messages = system + recent_turns + current_tool_results + user_request

它的优点是无需额外存储,行为容易解释。缺点也很明确:窗口有限,历史越长成本越高,而且“在窗口里”不等于模型一定会注意到。应给每个工具输出设置上限,并在达到预算前触发压缩或分支。

2. 摘要与压缩:把长对话变成状态

当对话接近 token 预算时,保留任务目标、已确认事实、未解决问题、关键决策和待办事项,压缩掉重复寒暄与已消费的原始输出。

conversation_state:
  goal: 修复订单导出失败
  confirmed_facts:
    - 失败发生在 CSV 编码转换
  decisions:
    - 保留 UTF-8 BOM 兼容旧客户端
  open_questions:
    - 是否还有其他导出格式
  source_turns: [42, 45, 49]

摘要必须带来源轮次或事件 ID,并允许重新生成。没有来源的摘要很容易把模型的猜测升级成事实。对关键数据,宁可保留结构化字段,也不要只保留一段自然语言总结。

3. 用户画像与偏好:稳定但可撤销的语义记忆

姓名、语言偏好、输出格式和长期项目背景属于“关于用户的事实”。可以用带时间和来源的事实表保存,而不是把它们埋在一段不可编辑的摘要里。

{
  "subject": "user:42",
  "predicate": "prefers_output_language",
  "object": "zh-CN",
  "source": "conversation:abc",
  "observed_at": "2026-10-30T08:30:00Z",
  "confidence": 0.92,
  "status": "active"
}

偏好要能被用户查看、纠正和删除。带有效期的事实不能永久复用;例如“本周需要简短回答”不应被当成永久偏好。

4. 情景记忆:保存发生过什么

情景记忆记录一次任务、一次工具调用或一次结果,而不是把所有原始聊天永久保存。一个可审计的事件至少应包含时间、任务、结果、错误、解决方式和来源指针。

{"id":"evt_001","task":"生成发布包","outcome":"success","tools":["npm","git"],"errors":[],"resolution":"构建并推送","source":"conversation:abc"}

小规模原型可以从追加式 JSONL 开始;需要并发、过滤和权限控制时,再迁移到 SQLite 或其他数据库。事件记录不应直接包含 API key、cookie、完整私聊或无必要的敏感附件。

5. 向量检索:按语义找回相关内容

把文档、事件或事实切块后做 embedding,可以解决“用户换了说法,但意思相近”的检索问题。它适合知识库、历史案例和较大规模的语义召回。

向量相似度不是事实正确性的证明。生产检索通常还要组合时间、实体、权限、来源质量和关键词过滤,并返回证据片段。对“当前余额”“最新部署版本”这类问题,应优先查询权威实时系统,而不是召回旧向量。

6. 结构化与时间记忆:处理关系、冲突和有效期

当问题包含“谁负责什么”“这个配置何时生效”“旧版本何时失效”时,三元组、关系表或带时间的事件模型比纯向量更可靠。

建议让事实显式包含 observed_at、valid_until、status 和 source。冲突时返回两条证据和各自状态,交给 Agent 或人工确认;不要用一个最新写入值静默覆盖历史。

7. 程序性记忆:把成功步骤变成可执行技能

反复成功的任务可以沉淀为 Skill:触发条件、前置条件、工具、步骤、成功标准、失败路径和版本号都应明确。这样保存的不是“上次怎么说”,而是“下次如何做”。

技能晋升要有门槛,例如同类任务多次成功、步骤可复现、工具边界清晰,并且保留来源事件。失败率应按版本和环境统计,不能把不同系统的结果混成一个总分。

8. 记忆操作系统:统一管理多层记忆

当短期对话、中期摘要、长期画像、情景事件和技能文件都存在时,单个 Agent prompt 很难承担调度职责。此时可以引入一层统一的 Memory OS,负责存储、更新、检索和生成之间的编排。

MemoryOS 官方仓库将自己定位为面向个性化 Agent 的 memory operating system,采用分层存储,并拆分为 Storage、Updating、Retrieval、Generation 四个核心模块。它同时提供 MemoryOS-MCP 等接入方式,并说明模型调用使用 OpenAI API 接口,便于接入不同模型提供商。官方 README 还给出了 LoCoMo 基准上的 F1 和 BLEU-1 改进数据;这些是项目自报的基准结果,不能直接等同于你的业务效果,落地前仍需用自己的数据评测。

Memory OS 的价值在于统一生命周期和替换后端,不代表所有项目都需要一套大型基础设施。单 Agent、低并发场景可以先用前六七条路线的组合,等写入规则、召回质量和删除流程稳定后再抽象成统一服务。

如何选型

场景首选组合需要特别防范
一次性任务上下文窗口 + 工具结果窗口超限、工具输出过长
多轮客服摘要 + 用户事实 + 过期时间把临时状态当永久偏好
研发助手情景事件 + 程序性技能把一次成功升级成错误流程
企业知识问答向量检索 + 权限过滤 + 来源召回旧文档或越权内容
复杂个人 Agent分层记忆 + 统一编排写入失控、隐私和删除困难

一个务实的升级顺序是:先把上下文预算和摘要做好,再增加结构化事实;出现可复用历史案例后引入情景存储;语义检索有明确收益时再加入向量库;最后才考虑 Memory OS 或多 Agent 共享记忆。

在 GPT88 中落地的接口边界

GPT88 的统一大模型接口适合作为上述系统的推理层。记忆服务应保持独立:它负责候选记忆筛选、权限、检索、来源和删除;模型负责理解当前任务、选择工具和生成回答。这样更换模型时,记忆数据和策略不会被绑定到某一个供应商。

每次调用都建议显式传入三类信息:

{
  "task": "当前用户请求",
  "memory": {
    "items": ["经过权限和有效期过滤的记忆"],
    "sources": ["event:evt_001"],
    "uncertainty": ["该偏好上次确认于 30 天前"]
  },
  "policy": {
    "allow_write": true,
    "allow_sensitive_memory": false
  }
}

不要把 API key、登录 cookie、支付信息或不必要的原始对话写入长期记忆。为用户提供查看、纠正和删除入口;记录谁在什么时候读写了哪条记忆;对旧数据设置 TTL 和归档策略。对于实时事实,先查业务系统,再让模型解释结果。

一份可执行的验证清单

  • 写入测试:同一事实重复出现时是否去重,矛盾事实是否保留证据。
  • 检索测试:同义表达、时间过滤、权限过滤和空结果是否正确。
  • 生成测试:回答是否引用了过期记忆,是否把低置信度内容说成确定事实。
  • 遗忘测试:用户删除后,缓存、向量索引、摘要和备份是否都不再返回。
  • 回归测试:更换模型、embedding 或后端后,核心任务成功率和延迟是否仍达标。

真正的 Agent 记忆不是“存得越多越聪明”,而是让每条信息都有清晰的来源、生命周期和使用理由。先从可解释的小系统开始,再根据评测结果增加检索和编排层,通常比一开始堆满组件更容易得到稳定结果。

参考资料

  1. 白白说大模型:Agent记忆实现方案详解:一期讲透8种Memory策略,从窗口到MemoryOS(视频公开页面;本文未获得逐字字幕)。
  2. BAI-LAB/MemoryOS(官方仓库与 README,包含架构、模块和项目自报基准)。
  3. Memory OS of AI Agent(项目 README 链接的论文)。
  4. Agent Memory 五层架构:让 Agent 真正记住并持续学习。
  5. Agent Memory 实现:JSONL、SQLite、YAML 与完整执行循环。
  6. Agent Memory 生产化:测试、观测与安全边界。