MemoryLake
返回全部文章
News2026 年 7 月 28 日·6 分钟阅读

为什么 Codex 会遗忘您的项目上下文——以及如何解决它(2026 年)

如果您觉得 Codex 最近变得更容易健忘,这并不是您的错觉。在 2026 年 7 月,开发者们注意到 OpenAI 悄悄减少了 Codex 中 GPT-5.6 的默认输入上下文——从大约 372k tokens 减少到 272k tokens,缩减了约 27%。这一变化是通过 GitHub 上的配置更改曝光的,而不是通过官方公告。每个会话的空间变小意味着压缩机制会更早启动,而压缩正是您项目上下文的“终结之地”。

简而言之:Codex 会遗忘您的项目上下文,是因为每次会话都会从您的仓库中重新构建理解,然后随着窗口填满将其压缩丢弃——没有任何东西能持久存储您的架构、决策或您设定的规则,因此一个长任务可能会丢失它开始时所遵循的需求。

以下是实际发生的情况、`AGENTS.md` 和压缩机制究竟能帮到什么程度,以及如何给 Codex 一个能够跨越每次会话和每次上下文缩减的项目记忆。

为什么 Codex 会遗忘您的项目上下文

Codex 目前如何处理上下文

Codex 在启动会话时会进行探索:读取文件、追踪依赖关系,并在其上下文窗口中构建代码库的工作模型。该模型即为会话状态。随着对话的增加,较旧的内容会被压缩——总结并丢弃——以腾出空间。这种理解并没有存储在任何地方;当会话结束或窗口填满时,它就会蒸发,而下一个任务又需要重新开始探索。

无法持久保留的技术原因

压缩机制在设计上就是有损的,而且它不会考虑您认为重要的事情。Codex 仓库中的一个 GitHub issue 记录了压缩机制在任务中途丢弃 AGENTS.md 规则的情况,据报告,由于智能体丢失了它一直在遵循的需求,进度从 97% 倒退回 42%。另一个 issue 记录了在会话中途切换模型时上下文丢失的情况。随着默认输入窗口缩减了大约四分之一,这些压缩事件现在在任务中发生得比以前更早。AGENTS.md 确实有帮助——它在启动时被读取——但它是一个需要您手动维护的静态文件,并且它像其他任何内容一样,可能会被压缩出活动窗口。

这给您带来的代价

每次会话都以重新发现开始:架构、关键文件、依赖关系以及您已经做出的决策。开发者们在 OpenAI 自己的论坛上正是这样描述的,询问如何在大型代码库中跨 Codex 会话保留项目上下文。然后是任务中途失败的模式:一个在完成度达到 80% 时忘记您需求的智能体,会产生您必须逐行审查的工作——而更小的窗口让这种情况发生的概率增加,而不是减少。

Codex 的内置权宜之计(以及它们的局限性)

AGENTS.md

存放稳定指令的理想场所:规范、命令、约束。然而,它有两个限制。它是手动维护的,因此动态知识——做出的决策、被否决的方法、已解决的 bug——永远无法写入其中。而且它也无法免受压缩机制的影响,这正是报告中 97%→42% 进度倒退所说明的问题。

压缩与重新读取

压缩机制通过避免硬性失败来维持长会话的运行,这确实很有用。但它是用细节换空间:具体的命令、特定的需求、先前的决策都是被总结掉的内容。然后,智能体重新读取文件以恢复丢失的内容,消耗 tokens 来重建它本已知道的信息。

启动新会话

解决会话质量下降的常用方法是重新启动——这通过丢弃该会话学到的所有内容来恢复窗口空间。您用上下文作为代价换取了清晰度。

共同的瓶颈:这些方法都不是持久的、可查询的项目知识库,无法跨越会话边界或上下文窗口的变化——这也是 Claude Code 为什么会遗忘项目上下文 背后的根本缺陷。

解决方案:给 Codex 一个持久的项目记忆

持久的解决方案是在会话之外建立一个记忆层,保存压缩机制不断丢弃的内容:架构、决策、约束和已解决的问题。MemoryLake 会一次性存储它们——支持搜索,采用类似 Git 的版本控制,以便您可以追踪决策何时发生变化,并且端到端加密,确保您的代码和基础设施细节始终属于您。因为知识存在于窗口之外,更小的上下文窗口不再意味着更小的记忆。

步骤 1:创建 API 密钥

登录 MemoryLake,生成密钥,并发送您的第一个请求——这大约需要 30 秒。

创建 MemoryLake API 密钥
创建 MemoryLake API 密钥

步骤 2:上传您的第一批记忆

放入会话不断重新发现的项目知识:架构说明、决策记录、API 和数据流文档,以及长任务绝不能丢失的需求——文档、图像和其他文件都可以。当会话确定了值得保留的内容时,将其捕获为单行记忆。

上传您的第一批记忆到 MemoryLake
上传您的第一批记忆到 MemoryLake

步骤 3:连接您的 AI 和智能体

通过 MCP 并使用您的 API 密钥将 MemoryLake 添加到 Codex,这样智能体就可以按需检索需求和过去的决策,而不是将它们保留在会被压缩的窗口中。同样的记忆也可以通过 MCP 或 API 提供给 Claude、OpenClaw 和其他智能体——在您编写代码的每个工具中实现统一的项目记忆。

通过 MCP 连接您的 AI 和智能体
通过 MCP 连接您的 AI 和智能体

重新发现和压缩的实际代价

窗口缩减税

更小的默认窗口不仅会更早截断,还会使智能体更频繁地重新读取以恢复压缩丢弃的内容,而每次重新读取都是在消耗 tokens 来重建已知的上下文,而不是在干活。在大型代码库上,这种重新发现是会话中最昂贵的部分,而且现在发生得更早了。

检索而非重新总结

有了持久层,Codex 可以拉取任务所需的特定决策或需求,而不是试图将整个项目保留在无法容纳它的窗口中。更小的压缩压力、更少的中途任务倒退、更低的支出——MemoryLake 的 Token 节省计算器(Token Saving Calculator)可以根据您的使用情况预测效果。

Codex 项目记忆的最佳实践

将需求放在压缩机制无法触及的地方

如果一个需求必须在长任务中存活,它应该属于可检索的记忆,而不仅仅存在于提示词或 AGENTS.md 中。这就是能够完成工作的智能体与在 80% 进度时倒退的智能体之间的区别。

在做出决策的瞬间捕获它们

写下一行带有日期的记录——决策、原因、被否决的替代方案——胜过永远不会进行的事后清理,并且它能阻止智能体重新提出您已经排除的方案。

按仓库划分范围

每个仓库一个记忆范围可以保持检索的精准度,并让每个项目的 Codex 会话仅拉取适用于它们的内容。

结论

Codex 变得更容易健忘并非偶然——更小的默认窗口意味着压缩更早到来,而压缩一直以来都是需求和决策悄然消失的地方。AGENTS.md 无法承载动态知识,而重新启动会话只是用上下文换取清晰度。将您项目的真实记忆放在窗口之外,窗口大小就不再决定您的智能体知道多少。上下文可以缩减,但您的记忆不必。

常见问题

OpenAI 缩减了 Codex 的上下文窗口吗?

开发者们记录了 Codex 中 GPT-5.6 默认配置的输入上下文的减少——从大约 372k 减少到 272k tokens,缩减了约 27%——这是通过 GitHub 配置更改注意到的,而不是官方公告。实际上,这意味着在长会话中压缩机制会更早触发。

为什么 Codex 会在任务中途遗忘我的 AGENTS.md 规则?

因为 AGENTS.md 被加载到与其他所有内容竞争的同一个上下文窗口中。一个 GitHub issue 记录了压缩机制在任务中途丢弃这些规则的情况,据报道,一旦需求丢失,进度就会从 97% 倒退到 42%。

AGENTS.md 难道不能解决项目上下文问题吗?

对于稳定的规范,它确实有帮助。但它是手动维护的,因此决策和已解决的问题永远无法写入其中——而且它像其他任何内容一样,可能会被压缩出活动窗口。

如何跨 Codex 会话保留项目上下文?

将其保留在会话之外。通过 MemoryLake,架构、决策和需求存在于一个可检索的层中,Codex 可以通过 MCP 读取它,因此每次会话开始时都已掌握相关信息,而无需重新探索您的仓库。相同的模式在 使用 MCP 设置跨 AI 记忆 中有详细介绍。

记忆层会减慢 Codex 的速度吗?

不会——检索是按需进行的,通常比重新读取文件以重建丢失的上下文更快。它还为实际任务释放了窗口空间,而不是将其浪费在重新发现上。