基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
  • 知识卡片碎片时间过考点
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
    • AI 热点每日 AI 资讯与动向
AI 工作台
简历
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
技术实践2026-11-09 17:57

智能体记忆为何要与上下文分层

dev.to · AI#Agent#记忆架构#上下文管理
Editor brief · 编辑速览

文章区分单次推理可见的工作记忆与跨会话保存的情景记忆,指出上下文窗口不能直接替代数据库。随后讨论历史堆积带来的检索退化,以及裁剪等上下文管理方式的取舍。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

Agent 跨会话记不住事,未必是模型不够强,也可能是应用把所有历史都塞进了上下文。原文的核心主张是:当前任务要用的信息,与需要长期保存的经历,应该放在不同的层里,通过写入、召回和整理连接起来。

这篇值得读的地方,是把「加个向量库就有记忆」拆成了具体的架构选择。对需要跨会话工作的 AI 编程助手、客服或个人助理,真正要设计的是:保存什么、什么时候取回,以及哪些旧记录该被更新。

上下文再大,也不能当长期数据库

工作记忆(Working Memory)是模型在一次推理中能看到的内容,包括 system prompt、对话、工具结果和推理记录。它随当前运行存在,不会自动成为跨会话记忆。

原文用 RAM 和硬盘作比:上下文负责当前计算,外部存储负责长期保留。这个比喻有用,因为它把「模型能看到」和「应用已经保存」分开了。

作者引用 GPT-5 最多支持 272,000 个输入 tokens,说明容量扩大也不能解决历史无限增长的问题。按原文转述,OpenAI cookbook 提醒,未经筛选的历史仍可能挤满窗口;Anthropic 用 context rot 描述上下文变长后召回能力下降的现象;Chroma 对 18 个模型进行仅改变输入长度的测试,每次实验都出现了性能退化。

这些是作者引用的材料,不是他们团队自己的实测。它们支持的判断是:能装进上下文,不代表模型能稳定地用好。

窗口有压力时,常见办法只有两类。裁剪直接丢弃旧轮次,便宜、确定,但遗忘突然;摘要把历史压缩后再注入,能保留较远的信息,却增加延迟,也可能把原意压偏。两者都需要取舍,摘要尤其不能被当作无损备份。

长期记忆该存哪里,取决于你怎么找

情景记忆(Episodic Memory)记录的是某个时间发生的一次具体交互,以及它的结果。它保存在上下文之外,需要时再召回。

原文给了两个实现参照。Mem0 的流程是提取值得长期保留的事实、去重、生成 embedding、保存,再结合语义、关键词、实体和时间评分检索。LangGraph 则区分了两个职责:checkpointer 保存同一线程内的历史,BaseStore 保存跨会话的事实。

这里最实用的提醒是:先确定查询方式,再选存储。

要找相似问题,可以用向量搜索;要查「上周二发生了什么」,带时间戳的日志更直接;要精确定位某条记录,结构化数据库更合适。语义相似度不能替代时间过滤和精确查询。

原文还回顾了 2023 年的 MemGPT。它把记忆管理看成操作系统问题:上下文像 RAM,外部数据库像磁盘,模型通过函数调用主动调入、移出信息。这种分页机制(Paging),相当于 Agent 发现缺少过去的信息时,自己发起查询。

在其长距离、多会话测试中,GPT-4 的准确率从 32.1% 提高到 92.5%。不过,原文也交代了限制:后续分析认为另一个基准规模较小,且偏向检索;当窗口已经能容纳全部历史时,分页的作用会减弱。这个结果不能直接当作所有 Agent 的收益预期。

写得进去、取得出来,还得定期整理

外部存储只是容器。作者把真正需要设计的信息流分成三条路径:

  • 写入路径决定哪些内容从工作记忆进入长期存储,以及何时写入。
  • 召回路径决定取回哪些记录、一次取回多少。
  • 整理路径读取积累的经历,提炼出摘要、偏好和经验。

第三条最容易被漏掉。只保存每次对话,时间久了会积累重复、过期甚至互相冲突的内容。搜索能找到记录,却不能自动判断哪条仍然有效。

原文提到,MemGPT 会在窗口使用到 70% 时提醒模型,把有用信息移出去;Anthropic 的 Claude Plays Pokemon Agent 则通过战略笔记,在数千个步骤中跨越上下文重置。这两个例子说明,信息需要在窗口耗尽之前主动保留,长期记录也需要持续加工。

但原文没有给出完整的整理策略,例如多久运行一次、如何处理冲突、怎样确认摘要没有失真。这部分仍需要应用自己补齐。

我的判断

我认同先区分工作记忆与长期存储,再讨论工具选型。相比不断扩大窗口,或只靠滚动摘要,这种设计让保存和召回的责任更清楚,也方便定位「忘了」究竟发生在哪一步。

但作者把情景记录、长期事实、用户偏好放在同一条叙述里,实际落地还应分开处理。一次交互的结果有时间边界,用户偏好可能改变,项目规则也可能被新版配置覆盖。它们不能只靠相似度统一排序。

另外,模型不会因为外部存储增加就自动更新参数。文末所谓 Agent「学习」,更准确地说,是应用保存了经历,并在后续推理时重新提供。原文没有给出分页、全量历史和摘要方案之间的完整成本与延迟对照,因此具体选型仍属于经验建议。

能拿来做什么

  • 如果你的 AI 编程助手只处理一次短任务,可以先用当前上下文完成工作;出现跨会话需求后,再明确哪些项目约定、决策和执行结果需要持久化。
  • 在 Node 服务中,按查询需求设计召回接口:精确字段走数据库查询,近期事件按时间过滤,相似问题再使用向量检索。
  • 为记忆写入设置明确触发点,例如用户确认项目约定、任务完成或工具返回最终结果时,提取并保存有用信息,同时保留时间和来源。
  • 把整理当作独立流程,定期合并重复记录、标记过期内容,并抽查摘要是否保留原意,避免错误记录在后续会话里反复生效。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
64GB 跑 284B 模型,先看测试条件
下一篇
MCP 写操作不能靠模型自行确认

资讯速览

dev.to · AI · 2026-11-09 17:57

AI 评分 8.0 / 10

相关标签

#Agent#记忆架构#上下文管理

继续阅读

  • BIOME 开源多智能体协作工程框架
  • 64GB 跑 284B 模型,先看测试条件
  • MCP 写操作不能靠模型自行确认
  • Seedream 5.5强化连续编辑与透明素材生成
  • 多智能体分工:采集、裁决与执行分离