它什么都不记得"我感觉我们之前聊过这个。"这是 AI 最常见的一句谎话。它没有聊过。它什么都不记得。每次你打开新对话,它都是一张白纸——需要你重新介绍自己、重新解释背景、重新把上下文喂给它。三年前,"AI Agent 记忆"的意思是把对话历史塞进上下文窗口,然后祈祷模型能跟上。无状态 Agent、重复指令、跨会话零个性化——这些是使用 LLM 的代价。2026 年,这个前提消失了。记忆成了一等公民:有自己的基准测试套件、自己的研究文献、可量化的性能差距、专门为它构建的生态系统。今天查了一堆论文和行业报告,发现一个反直觉的结论:更大的上下文窗口不等于更好的记忆。
无穷上下文幻觉
几个前沿模型现在支持百万 token 上下文窗口。这诱使一些团队完全放弃记忆架构,简单地把历史全塞进去。研究一致发现这种做法会降低性能。LLM 表现出"lost in the middle"注意力模式:在超长上下文中,首尾的信息回忆率显著高于中段。就像你看一篇一万字的文章——开头和结尾记得住,中间全忘了。更实际的问题:长上下文带来二次方注意力计算成本,提示缓存变得更脆(每条新消息都改变缓存键),经济上也不可持续。以 $15/百万输入 token 计算,一个长会话单次推理可能花掉好几美元。结论很明确:扩展的上下文窗口应被视为复杂单会话任务的扩展工作记忆,而非持久记忆系统的替代品。
记忆三分法
2025-2026 年,行业收敛到来自认知科学的三层分类:情景记忆记录时间索引的具体事件——什么时候发生了什么。在 AI 系统中,这直接映射到对话日志、工具调用轨迹和交互序列。关键属性是时间顺序:情景记忆不只是事实,是锚定到某个时刻的事实。Zep 的 Graphiti 引擎在这方面做得最好。它用双时间注释存储情景子图:事件时间(事实何时在世界上为真)和摄入时间(Agent 首次观察到它的时间)。这使得精确推理回溯性更正成为可能——如果用户更新了地址,Graphiti 能区分新旧事实而不丢失任何一个。语义记忆存储去时间化的事实和关系:用户偏好、实体属性、领域知识。与情景记忆不同,语义记忆基本是无时间的——它代表 Agent 当前相信为真的事。Mem0 是 2026 年中部署最广泛的语义记忆层。它的管道用 LLM 从对话中提取命名实体和关系,存储为知识图谱中的节点和边,并交叉链接到向量嵌入以进行模糊搜索。关键架构创新是冲突检测步骤:新事实与现有图谱条目比较,合并、更新或标记以供解决。程序记忆是最有智识趣味也最不成熟的记忆层。它编码"怎么做":学到的工作流、成功的工具调用序列、行为启发式。实现挑战在于:程序记忆在 LLM 中最好以指令而非数据的形式表示。当一个 Agent 学到"调用 API Y 之前始终用 Schema X 验证 JSON"时,这个知识最有用的形式是注入系统提示的指令,而不是从向量存储中检索。这催生了一种出奇简单但被最广泛采用的模式:声明式记忆注入。CLAUDE.md、AGENTS.md、.cursorrules——项目根目录的 Markdown 文件,在每次会话开始时注入 LLM 上下文。让我意外的是它的演化。Claude Code 的 auto-memory 允许 Agent 在会话中自动将学到的东西写回 CLAUDE.md——一个更正、一个新惯例、一个失败模式。2026 年 2 月的 AutoDream 系统更进一步:它在空闲时作为后台子 Agent 运行,审查和整理记忆文件。研究者直接把这比作 REM 睡眠的记忆巩固。每个会话的学到的东西变成下一个会话的先验知识。复合学习循环。