Codex 的记忆困局:30 秒接入 MCP 让你的 AI 助手真正认识你

一个似曾相识的场景#
你打开 Codex,开始一个新任务。你明明上周已经跟它讨论过数据库迁移策略,花了半小时解释为什么不用 Prisma 的 db push --force-reset,还让它记住了你团队的代码规范。
但今天,它什么都不记得了。
你换了个项目,之前的偏好设置全部归零。你切到 Claude Code 帮你调试一段前端代码,那边的 Codex 又是从头开始,像个失忆的新同事。
这种感觉,每个同时使用多个 AI 编程工具的开发者都不陌生。Codex 在 2026 年 4 月已经突破 300 万周活跃用户,相比 1 月增长了 5 倍,月环比增速高达 70%。它有 Web 版、桌面版(macOS 和 Windows)、ChatGPT iOS 内嵌版、CLI 命令行版、VS Code 扩展版,五个入口,一个账号,背后是同一个模型。
听起来很美好,对吧?但当你在这些入口之间切换时,记忆并不会无缝跟随。
记忆的三个层次#
在讨论解决方案之前,先搞清楚「记忆」到底意味着什么。大多数开发者说「我希望 Codex 记得我」,其实包含三层完全不同的诉求。
第一层:会话记忆。 在一次对话中,模型能不能记住三轮前说过的话?这个问题在 2023 年还很头疼,现在已经解决了。上下文窗口足够大,短期内的记忆不是问题。
第二层:项目记忆。 跨越多次会话,模型能不能记住这个代码库的技术栈、团队成员、上周做过的架构决策?Codex 在 4 月 16 日更新后加入了持久化记忆功能,但它是按项目隔离的。你在一个 Codex 项目里配置的偏好,换个项目就失效了。如果你的一半工作在 Claude Code 里完成,那 Codex 的项目记忆对你来说形同虚设。
第三层:操作者记忆。 跨越你使用的所有 AI 工具,模型能不能记住你是谁、你在做什么产品、你的客户关心什么、你踩过哪些坑?这是最高层次的记忆,也是没有任何模型提供商真心想帮你解决的问题。原因很简单,他们更希望你被锁在自己的生态里。
Codex 的内置记忆只解决了第二层的一部分。下面三种方案,分别针对第二层和第三层的完整需求。
方案一:用好 Codex 自带的记忆功能#
Codex 提供了两种内置记忆机制,对于完全在 Codex 内部工作的团队来说已经够用。
AGENTS.md 文件是第一种。在代码仓库根目录创建一个 AGENTS.md,Codex 每次执行任务时都会自动读取它。这和 Anthropic 的 CLAUDE.md 模式类似,是告诉 AI「我们团队怎么写代码」的标准方式。
一个典型的 AGENTS.md 长这样:
# AGENTS.md
## 技术栈
Next.js 15, TypeScript strict, Prisma, Postgres (端口 5433)
## 编码规范
- 优先用 Server Actions,少用 API routes
- 样式用 Tailwind,不用 CSS modules
- 单元测试用 Vitest,端到端测试用 Playwright
## 禁止事项
- 任何分支上都不允许 `prisma db push --force-reset`
- 跳过 read-before-edit hook
- 未跑 `pnpm typecheck` 就推代码到 main
Memories 面板是第二种。在 Codex 设置里,你可以配置跨项目的个人偏好,比如「回复要简洁,先给代码再解释」「引用代码时必须附上行号」。
这套方案的限制很明确:它只在 Codex 内部生效。你用 Claude Code 的时候,这些记忆完全不可见。如果你的工具链只用 Codex,这方案就足够了。如果你是多工具用户,继续往下看。
方案二:MCP 记忆服务器,30 秒打通所有工具#
这是最值得推荐的方案,也是原文作者实际在用的方案。
Codex 从 3 月底的更新开始原生支持 MCP(Model Context Protocol)服务器。你只需要在 ~/.codex/config.toml 里加几行配置:
[mcp_servers.memory]
url = "https://memory.example.com/mcp"
type = "http"
重启 Codex,运行任何涉及记忆的工具,浏览器会弹出一个 OAuth 登录页面。输入邮箱,点击邮件里的链接,授权完成。从此,Codex 就接入了和 Claude Code、Cursor、Claude Desktop 等工具共享的同一套记忆存储。
从「打开配置文件」到「Codex 能查询记忆」,整个过程大约 30 秒。
接入之后,你可以这样跟 Codex 对话:
- 「搜索我过去关于认证方案的决策记录」
- 「上个月我对限流器做了什么决定?」
- 「记住我偏好小批量提交」
- 「4 月份我对接了哪些客户?」
模型会从共享记忆后端读取和写入事实。如果你周二在 Claude Code 里改了限流器的设计,周三 Codex 就能看到这个新决策。
已知问题:桌面版内存泄漏#
需要提醒的是,Codex 桌面版目前存在一个已知 bug:每个聊天窗口都会生成完整的 MCP 进程栈。如果你同时开 10 个以上的 Codex 标签页,内存会线性增长,最终拖垮系统。
解决方案: 使用 HTTP 传输协议的 MCP 服务器(如上面示例),而不是 stdio 类型的。HTTP 服务器在网络上只运行一次,而不是每个标签页一个实例。这个问题在 GitHub Issues 11324、14548、18333、20980 上都有跟踪。
方案三:混合架构,大多数团队的最优解#
如果你的团队既用 Codex 处理有合规要求的客户代码,又用它做内部项目和个人实验,那你需要的是混合方案。
核心思路是让三种记忆机制各司其职:
| 记忆类型 | 载体 | 作用范围 |
|---|---|---|
| 个人偏好 | Codex Memories 面板 | 所有项目 |
| 项目规范 | AGENTS.md 文件 | 单个代码库 |
| 操作者记忆 | MCP 记忆服务器 | 所有 AI 工具 |
在一个团队的实际配置中,MCP 记忆服务器存储的内容包括:之前会话的经验教训、架构决策记录、客户画像、部署模式,以及「永远不要再犯」的警告。AGENTS.md 存储项目专属的技术栈和规则。Memories 面板存储个人沟通偏好。
当 Codex 启动一个任务时,它能同时访问这三层信息。三者之间不冲突,覆盖不同维度。
诚实地说说局限性#
MCP 记忆方案并非银弹,有几个现实问题需要提前了解。
后端质量参差不齐。 市面上的记忆后端有 Mem0、Letta、Zep、MemNexus 等多个选择,每个对「存什么、怎么检索、怎么收费」都有不同的设计哲学。建议至少试用两个再做决定。
检索质量不是免费的。 一个糟糕的记忆后端会把陈旧或无关的上下文塞给 Codex,反而降低输出质量。选择支持语义搜索(向量检索)、全文检索和知识图谱的后端,单模态检索太脆弱。
OpenAI 的内置记忆在快速迭代。 按照目前的节奏,到 2026 年底 Codex 的内置记忆功能大概率会追上 MCP 后端的能力。如果你在做长期技术选型,关键问题不是「现在哪个更强」,而是「当格局变化时,哪个方案能带走」。MCP 记忆是跨提供商可移植的,OpenAI 的内置记忆不是。
对开发者的实际意义#
300 万 Codex 周活用户大致分成两个群体。
第一个群体对内置记忆很满意,从不考虑 MCP。他们只用 Codex,AGENTS.md 加 Memories 面板就覆盖了所有需求。
第二个群体的 AI 工作流横跨多个工具。他们用 Claude 写某些代码,用 Codex 做另一些,用 Cursor 编辑,用 ChatGPT 做研究。对这个群体来说,MCP 记忆是让多工具工作流从碎片化变得连贯的关键拼图。
如果你属于第一类,现在的方案就够用了。
如果你属于第二类,花 30 秒配置 MCP 记忆服务器,是 2026 年剩余时间里回报率最高的一个操作。记忆是上下文存活的地方。一旦接通,你将来添加的每一个新 AI 工具,都能从已有的上下文开始工作,而不是从零开始。
选择记忆后端的关键考量#
在决定用哪个 MCP 记忆后端之前,有一个容易被忽略的判断标准:可移植性。
记忆层的锁定不在协议层面,MCP 是开放标准,任何符合规范的服务器都能接入。真正的锁定在模型层面。你选择的 AI 工具决定了记忆的写入格式和检索方式。所以,与其纠结「哪个后端功能最强」,不如问「当我换工具时,这些记忆能不能带走」。
这和选择数据库的逻辑类似:功能可以迭代,数据迁移成本才是真正的赌注。
参考来源:StudioMeyer, “Codex Has No Real Memory: Three Ways to Fix It, One in 30 Seconds”, dev.to, 2026-05-20