2026-06-23 Codex Memory 是本地缓存命中吗
- 性质:对话沉淀为可复用 Q&A(无独立
source/_posts剪藏)。 - 日期:2026-06-23
问题背景
看到 Codex 本地的 MEMORY.md 内容很多,容易把它理解成「本地缓存命中」:以前问过的问题,之后就直接从缓存里拿答案。
这个理解有一部分是对的,但如果把它当成普通缓存,就会误判它在 agent 工作流里的作用。
1. 它是不是本地缓存命中?
可以部分这么理解,但不准确。
MEMORY.md 的作用更像一个长期工作记忆索引,而不是把历史内容全文塞进上下文、命中后直接复用答案。
它主要帮助 agent 快速判断:
- 这个问题以前是否处理过类似链路;
- 应该优先查看哪些文件、模块或命令;
- 用户在某个项目里的稳定偏好是什么;
- 哪些历史结论可能有用,但需要重新验证。
2. 它和普通缓存有什么不同?
普通缓存通常追求「输入相同,直接返回已有结果」。但 Codex memory 更接近「路由线索」:
| 对比项 | 普通缓存 | Codex memory |
|---|---|---|
| 主要目标 | 复用结果 | 缩小探索范围 |
| 命中后动作 | 直接返回或直接使用 | 继续读取当前文件和上下文 |
| 适合内容 | 稳定计算结果 | 项目偏好、历史路径、常见入口 |
| 风险 | 缓存过期 | 记忆过期或场景迁移错误 |
所以它不是「命中后直接执行」,而是告诉 agent:从哪里开始查更可能快。
3. 实际使用流程
典型流程是:
- 先看压缩摘要,判断是否可能相关;
- 按关键词检索
MEMORY.md; - 只有命中明确条目时,才打开对应 rollout、skill 或历史记录;
- 回到当前仓库,以当前文件、命令和运行结果为准。
这和 LLM 维护的知识库 的思路接近:持久化材料负责降低重复探索成本,但不能替代当前验证。
4. 什么时候可以信 memory?
适合信的部分:
- 用户长期偏好;
- 项目常见入口;
- 之前踩过的坑;
- 某类问题的排查路径。
需要重新验证的部分:
- 当前代码实现;
- 命令输出;
- 依赖版本;
- 文件路径;
- 最近改动后的行为。
尤其是代码仓库会不断变化,memory 里的历史结论只能当作线索,不能当作现状。
一句话总结
Codex memory 更像是「本地长期工作记忆 + 检索索引 + 历史经验路由」,不是「缓存命中后直接返回答案」。
另见
Query 草稿:Codex 整理本轮讨论;2026-06-23。