你让 Claude Code 连续迭代同一个项目三周,它能记住最初的架构决策、那个永远别碰的 flaky endpoint、团队默契跳过的 PR 流程。
可当你切换到新任务时,它突然又问了一遍同样的问题——表面上看是“记忆不够强”,但当你把泄露源码里的 memory/ 目录、extract-memories Agent 和 autoDream 机制全部拆开后,才发现真正的问题是:绝大多数 Agent 记忆框架都在追求“全量世界模型”,而 Claude Code 走的是一条完全不同的路——用最轻量的实现,构建一个“在行动中逐步逼近答案”的防遗忘机制。
我起初以为 Claude Code 的记忆只是 Markdown 文件 + 200 行索引的上限,后来用 Tulving 1972 年提出的记忆系统框架(episodic / semantic / procedural)重新对照源码,才发现它其实把三类记忆全部落地了,只是实现方式极度克制、极度执行导向。这不是设计缺陷,而是它对“Agent 应该如何工作”的根本判断。
Tulving 记忆框架:经历 → 知识 → 技能 → 新的经历
1972 年 Endel Tulving 把人类记忆分成三层循环:
情境记忆(Episodic):我干了啥(记录具体经历)
语义记忆(Semantic):我知道啥(提炼规律、压缩知识)
程序化记忆(Procedural):我会做啥(内化成行动能力)
三者不是孤立的,而是不断循环:经历 → 知识 → 技能 → 新的经历。
Claude Code 的内存设计几乎完美映射了这套框架,却用最工程化的方式实现了它。
Claude Code 如何对应三类记忆
情境记忆(Episodic)
每轮对话以 JSONL 格式持久化存储,这就是最原始的“我干了啥”。
同时还有 SessionMemory 在对话过程中做实时蒸馏,边发生边初步整理。
语义记忆(Semantic)
每轮结束后 fork 出子 Agent extractMemories,把零散对话提炼成带 YAML 头的 Markdown 文件。
这就是“压缩成可复用的知识”。
更有意思的是 autoDream 机制——后台自动整合、去重、修剪、合并,把碎片重新组织成结构化知识,极像人类睡眠时的记忆巩固过程。
程序化记忆(Procedural)
大多数框架只记录负反馈(“不要做什么”)。
Claude Code 同时记录正反馈(“这个做法是对的”),让 Agent 既知道避坑,也知道该怎么做。
这层反馈记忆直接内化成“行动指引”,让模型在下次遇到类似场景时能主动调用正确技能。
Claude Code vs 主流记忆框架决策矩阵
维度Claude Code(执行导向)LangMem / Mem0 / Zep / EverMemOSOpenClaw(认知导向)关键权衡与边界条件
记忆类型覆盖三类记忆全部实现偏向语义 + 情境全局/工作区/任务三层全量认知 vs 执行防遗忘
召回机制LLM 扫 metadata(200 文件上限)向量检索逐层收敛 + 临时记忆网络简单可靠 vs 精准但重
遗忘/整合策略24h 或 5 轮触发 autoDream复杂版本化 / 过期策略按需重建轻量自动 vs 精细管理
程序化记忆正负反馈双向记录基本无隐式在任务层行动能力 vs 纯知识积累
工程复杂度极低(Markdown + fork 子 Agent)高(Mongo + Milvus + Redis 等)中等(三层网络)快速落地 vs 长期可扩展
适用场景多轮迭代调试、工程任务个人终身记忆管理需要重建上下文的复杂认知任务生产执行 vs 研究级记忆
两个类比帮你瞬间看懂 Claude Code 的设计哲学
人类工程师 vs 完美学者:大多数记忆框架像一个追求“完整世界模型”的学者——把所有知识都整理成知识图谱。Claude Code 更像一个老练的工程师:在行动中一边看、一边改、一边跑、一边修正,Memory 的核心作用只是“别在第 5 轮迭代时把第 1 轮的关键上下文忘掉”。
防遗忘机制 vs 全量资产:Claude Code 的 Memory 不是为了让你“记住一切”,而是为了在多轮试错过程中保证关键信号不丢失。它更关心“在正确的时间把正确的上下文拉进来”,而不是“把所有历史都永久保存”。
OpenClaw 的对比视角
OpenClaw 走的另一条路:不追求全量记忆,而是把记忆拆成全局层、工作区层、任务层,逐层收敛,只在必要时重建临时记忆网络。
它认为“正确使用记忆的能力”比记忆本身更重要。
放在这个坐标系里看 Claude Code,就会发现它选了一条更偏“执行”的路径——解决问题的方式更接近人类 debug 的迭代风格。
在生产环境落地 Claude Code 式记忆前必须先做的三件事
把当前项目的所有历史对话导出成 JSONL,作为初始情境记忆;
手动写几个正负反馈示例,注入 feedback 记忆,验证程序化记忆是否能真正让 Agent 越用越聪明;
先在非核心任务上跑一次 autoDream 机制,观察整合后的语义记忆文件是否真的能被后续对话高效召回。
当记忆从“资产”变成“防遗忘机制”之后
Claude Code 的内存设计再次证明:在 Agent 时代,真正值钱的不是记忆量,而是记忆被使用的效率。
它没有去堆基础设施,而是用最克制的工程手段实现了 Tulving 框架的闭环——经历、知识、技能的不断循环。
这正是它在工程场景里特别好用的原因:它不试图构建一个完美的世界模型,而是让你在行动中逐步逼近答案。
你当前 Agent 的记忆模块卡在哪一层?
欢迎在评论区分享:你在 Claude Code / OpenClaw / 自建 Agent 里用记忆模块时,最大痛点是召回不准、遗忘太快,还是程序化记忆缺失?
把你的实际场景贴出来,我们一起把这个“执行导向记忆”框架继续推深。
我是紫微AI,在做一个「人格操作系统(ZPF)」。后面会持续分享AI Agent和系统实验。感兴趣可以关注,我们下期见。