首页 / Codex 教程 / 记忆系统

Codex 教程

记忆系统

本教程共 32 篇 · 第 23 篇 · 更新于 2026-07-26 · 约 10 分钟阅读

CodexCodex 教程记忆系统MemoriesChronicle线程历史持久化

23. 记忆系统

本节目标:搞懂 Codex 的记忆机制—Memories 自动记忆怎么开、怎么管,分页线程历史怎么恢复和搜索,Chronicle 屏幕记忆是什么,以及哪些信息该记、哪些绝对不能记。

你跟 Codex 聊了半天,纠正了好几次习惯,关掉终端再开—它全忘了,又得从头交代。这种体验谁都不想重复。Codex 的记忆系统就是来解决这个问题的,但它跟你想的可能不太一样。

先分清:记忆是两套,不是一套

很多人一提「让 Codex 记住」,只想到 Memories。其实跟「记东西」相关的,是两套各管各的系统。

打个比方,AGENTS.md 是教练赛前在战术板上写的规矩—全队都得照着打,每场都重看一遍。Memories 是球探坐在看台上随手记的小本子—没人要求他记,他自己边看边攒,下次遇到同个对手翻出来就用。

维度AGENTS.mdMemories(记忆)
谁写的你手动写Codex 自己生成
装什么必须每次生效的规则从过往会话学到的上下文
默认开关一直生效默认关闭
可靠性确定性,每轮都读概率性,后台异步生成
进不进 git进,全队共享不进,机器本地
Warning

必须每次生效的规矩,写进 AGENTS.md,别赌 Memories。因为 Memories 是概率性的—它可能还没生成、这个会话可能没注入、合并时可能被挤掉。

Memories:它自己写的那本笔记

Memories 解决的痛点很实在:你不想每开一个新会话,都把「我用 TypeScript、不写分号、测试这么跑」从头交代一遍。开了 Memories,它能把这些稳定偏好带到后面的工作里。

怎么开(默认是关的)

两种开法,挑一种:

法一,配置文件开(长期生效):

# ~/.codex/config.toml
[features]
memories = true

法二,在 ChatGPT 桌面应用设置里开。进 Settings > Personalization,启用 Memories 即可。

Note

Memories 在欧洲经济区(EEA)、英国、瑞士不可用。这是功能层面按区域关掉的,不是网络问题。

它怎么写进去的—后台异步,不是实时

这是最反直觉的一点。Memories 不会在你说完那句话后立刻记下来。它的工作机制分三层:

  1. 从够格的过往会话里提炼。还在进行中的、太短命的会话会被跳过,免得把没干完的活儿瞎总结。
  2. 等会话闲够久才在后台总结。默认要空闲 6 小时,确认你不是还在干,才在后台生成记忆。
  3. 配额紧张时跳过。当速率限制剩余低于 25% 时,后台记忆生成会被跳过。
Tip

你刚跟 Codex 说「以后这项目都用 pnpm」,转头它又给你 npm install —不是 bug,是它还没来得及记。这种必须每次生效的规矩,本来就该写进 AGENTS.md

存在哪

记忆文件存在你的 Codex 主目录下,默认是 ~/.codex/memories/

~/.codex/memories/
├── (摘要文件)
├── (持久条目文件)
├── (近期输入文件)
└── (过往会话佐证文件)

这些文件是 Codex 生成的状态文件。你可以看、可以排查问题,但别把手抠编辑当成主要控制手段—想控制行为用下一节的 /memories 和配置项。

/memories 和配置项:怎么管它记不记

开了 Memories 之后,你会遇到两种需求:这个会话我想不想让它用已有记忆?想不想拿这个会话去生成新记忆?比如你在调一段一次性实验代码,根本不想它学进去。

会话级:/memories

在 Codex 交互界面或 TUI 里敲:

/memories

它让你选—这个会话要不要用已有记忆、要不要拿这个会话去生成未来记忆,或者干脆关掉。会话级的选择不改你的全局设置,只影响当前这一个会话。

Tip

干正经项目活时让它正常记,干一次性脏活或敏感操作时,进去先 /memories 把生成关掉—免得临时垃圾或敏感上下文学进长期笔记。

全局级:config.toml 旋钮

想长期定规矩,写进 ~/.codex/config.toml[memories] 段:

配置项作用默认值
memories.use_memoriesfalse 则不把已有记忆注入未来会话true
memories.generate_memoriesfalse 则新会话不被拿去生成记忆true
memories.disable_on_external_context用过 MCP 或网页搜索的会话不参与记忆生成false
memories.min_rollout_idle_hours会话空闲多久后才进入记忆生成6
memories.min_rate_limit_remaining_percent速率限额剩余低于此值不生成记忆25
memories.max_rollout_age_days参与记忆生成的会话最大年龄30
memories.extract_model单会话记忆提取用的模型默认
memories.consolidation_model全局记忆合并用的模型默认

举个最常用的—只想让它用旧记忆、别再学新的:

[memories]
generate_memories = false
use_memories = true

分页线程历史:会话恢复与搜索

自 v0.145.0 起,Codex 引入了实验性分页线程历史(Paginated Thread History)。这个功能让会话的恢复、搜索、持久化都更高效。

什么是线程

在 Codex 里,一次独立的对话任务就是一个线程(Thread)。你发的每条指令背后,都对应一个线程。线程里包含多轮对话(Turn),每轮包含你的提示词和智能体的响应。

恢复历史会话

不用每次从头开始,你可以接着上次聊:

# 恢复最近一次会话
codex resume --last

# 查看所有已保存的会话
codex resume

在交互界面里,也可以用斜杠命令:

/resume
Note

分页线程历史支持给会话起持久化名称。你可以给重要的会话取个好认的名字,下次直接按名字恢复,不用翻列表找。

分叉当前会话

想在现有对话基础上另起一条线探索,不破坏原来的:

/fork

/fork 会克隆当前会话到一个新线程。原来的对话不受影响,你在分叉里随便试。

搜索历史会话

分页线程历史带来了搜索能力。你可以按关键词搜过往的对话内容,快速找到之前讨论过的某个话题或解决方案。

Chronicle:让 Codex 看屏幕来攒记忆

Chronicle 是 Codex 独有的实验性能力—普通 Memories 从对话里学,Chronicle 从你的屏幕内容里学。

Warning

Chronicle 仅面向 macOS 上的 ChatGPT Pro 订阅用户开放,且在 EU、英国、瑞士不可用。

它能干啥

Chronicle 拿最近的屏幕上下文去喂记忆,让 Codex 更懂你在指什么。三个典型好处:

  1. 用上你正在看的内容—省得切来切去解释。
  2. 补全你没说全的上下文—不用从零精心组织背景。
  3. 记住你用的工具和工作流—学着学着就省了你解释。

怎么开

  1. 打开 ChatGPT 桌面应用的 Settings。
  2. 进入 Personalization,确认 Memories 已启用。
  3. 在记忆设置下方打开 Chronicle。
  4. 查看同意对话框,选择 Continue。
  5. 按提示授予 macOS 屏幕录制和辅助功能权限。

三条隐私警告

开之前必须看懂这三条:

Warning
  1. 吃配额很快。Chronicle 靠后台跑沙箱智能体从截屏生成记忆,消耗速率限额很快。
  2. 增加提示注入风险。用 Chronicle 会加大来自屏幕内容的提示注入攻击风险。
  3. 记忆不加密存本地。Chronicle 生成的记忆是不加密的 Markdown 文件。

想暂停时,用菜单栏的 Codex 图标选 Pause Chronicle。开会前或看敏感内容时,务必先暂停。

数据存哪

  • 屏幕截图是临时的:只存在 $TMPDIR/chronicle/screen_recording/,超过 6 小时自动删除。
  • 生成的记忆存在本地:在 ~/.codex/memories_extensions/chronicle/,是能读、能改的 Markdown 文件。想让 Codex 忘掉某事,删掉对应文件即可。
  • 截图在 OpenAI 服务器处理完即弃,不用于训练。

该记什么、不该记什么

过三关判断一条信息该不该交给 Memories:

第一关:必须每次生效吗? 凡是必须每次都生效的死规矩,写进 AGENTS.md,不要赌 Memories。

第二关:会不会变、能不能复用? 只服务这一次的信息(临时端口号、调试状态),不要交给 Memories。下次还用得上的(技术栈、项目惯例、踩过的坑),才适合让它攒。

第三关:敏不敏感?

Warning

密码、token、API key 绝对不进任何记忆文件。记忆是不加密的明文 Markdown 存在硬盘上。Codex 会尽量做脱敏,但那是兜底,不是许可。分享 ~/.codex 目录前,先去 ~/.codex/memories/ 扫一眼。

小结

  • 两套记忆AGENTS.md 你写、确定性、每轮必读、进 git;Memories 它自己生成、概率性、默认关着、机器本地
  • Memories 开启[features]memories = true,存在 ~/.codex/memories/,后台异步生成(等会话空闲 6 小时)
  • 会话控制/memories 管当前会话用不用、生不生成;[memories] 段管全局策略
  • 分页线程历史(v0.145.0):支持恢复、搜索、持久化名称、子代理和 memories
  • 会话管理codex resume --last 恢复最近会话,/fork 分叉当前会话
  • Chronicle:实验性屏幕记忆,仅 Pro + macOS,开之前看懂三条隐私警告
  • 红线:密钥绝对不进记忆,分享目录前先扫一遍

下一章讲 Codex 桌面应用—那个把 Codex 塞进 ChatGPT 桌面版的图形界面,怎么选项目、怎么切 Local/Cloud 模式、怎么用 Git 检查点。