刚刚,Codex 把"压缩"换成了"记忆"
Codex CLI 将记忆系统从有损的 compaction(压缩)机制,升级为 token budget(token 预算)+ 硬性上下文切换架构。模型可主动感知剩余 token、自主触发新窗口,并通过 history 和 notes 工具完整保留与检索历史,实现从被动执行到主动管理、从失忆到记忆的设计转变。
Codex CLI 最近悄悄改了个大东西,它的记忆系统:放弃了 compaction(压缩)机制,转向 token budget(token 预算)+ 硬性上下文切换。简单说,模型不再被动等 token 用完被压缩,而是主动知道还剩多少额度,自己决定什么时候切换上下文。

我感觉 Codex 这次的改动在设计思路上有转变。这篇文章快速讲清楚三件事:它解决了什么问题、怎么设计的、有什么值得借鉴的视角。
01 先看问题:Compaction 有什么局限?
Compaction 的工作方式很简单:等 token 快用完时,把对话历史压缩成一段 summary,然后带着 summary 继续。这个方案用了挺久,但问题也很明显。
压缩是有损的。 Summary 本质上是"概括",概括就意味着丢细节。一段 10 轮的调试对话被压缩成三句话,中间的关键上下文就没了。
模型是被动的。 模型不知道当前 context window 还剩多少 token,只能等到系统触发压缩。它无法提前规划,也无法在合适的时机主动整理上下文。
切换后是失忆的。 压缩后的对话历史变成了一段 summary,模型无法回溯之前的 完整记录。想看细节?已经被压缩掉了。

所以问题的核心是压缩本身就有损,换一个窗口但保留记忆才是更好的思路。
02 解决方案:Token Budget 的核心思路
Codex 的思路是:换一个窗口,但保留记忆。
不再压缩历史,而是让模型知道剩余额度,在合适的时候切换到新的 context window。切换不是"失忆",因为历史记录完整保存在 history 和 notes 里,随时可以查。
这个方案带来三个转变:
- 从被动到主动。 模型通过 token_budget 标签知道当前还剩多少 token,可以提前规划,在合适的时候主动切换。
- 从失忆到记忆。 History 工具可以列出之前的对话窗口和条目,读取具体内容,搜索关键词。Notes 工具可以写入持久笔记,把工作状态保存下来。
- 从手动到自动。 模型可以通过 metadata 自动启用 token budgeting,不需要用户手动配置。

核心就一句话:用预算管理替代压缩。
03 怎么设计的:Token Budget 的三层架构
Token Budget 的架构可以分成三层,每层解决一个问题。
感知层:知道还剩多少。 通过 token_budget 标签提供实时余量信息。这是主动管理的前提。
管理层:主动切换窗口。 模型可以通过 new_context 工具主动请求切换到新的 context window。新窗口作为 no-summary compaction checkpoint,不压缩历史,直接开新窗口。
记忆层:保留和查询历史。 History 工具可以列出 windows 和 items、读取 items、搜索对话内容。Notes 工具可以列出、读取、搜索、追加、写入持久笔记。

三层环环相扣:感知层让模型知道"什么时候该切了",管理层让模型"能切",记忆层让模型"切了之后还能找到之前的东西"。
04 设计哲学:从"压缩"到"记忆"
这个改动最值得琢磨的是它背后的设计哲学。
长上下文管理的本质是"记忆"。 压缩是有损的,无论算法多好,丢掉的细节就是丢掉了。Token Budget 的思路是"换一个窗口,但保留记忆",这更符合人类处理长任务的方式。我们会翻回之前的记录,而不是把之前的内容概括一下就扔掉。
从"被动"到"主动"是重要转变。 以前模型是"被动执行",等系统触发压缩。现在模型"主动知道还剩多少 token,并在合适的时候切换"。这是从"工具"到"伙伴"的角色转变。
从"工具"到"伙伴"的设计哲学。 Compaction 把模型当成"工具",用完就压缩。Token Budget 把模型当成"伙伴",给它记忆,让它主动管理。这种设计哲学上的转变,比具体的技术实现更有价值。

05 写在最后
看完这些 PR 和代码,我感觉 Codex 这次改动在设计思路上有转变。长上下文管理从"压缩"变成"记忆",这个视角转换挺有意思。
对做 Agent 的人来说,最值得参考的是"主动管理"这个思路。模型不再被动等待上下文被压缩,而是主动知道还剩多少 token,并在合适的时候切换。配合 history 和 notes 的记忆机制,让长任务的处理更接近人类的工作方式。
如果想深入学这个设计,建议重点看三层架构的配合。感知层让模型知道"什么时候该切",管理层让模型"能切",记忆层让模型"切了还能找到之前的东西"。这个设计思路不只适用于 Codex,做自己的 Agent 系统时也值得借鉴。
JOTO 企业落地观察
- 企业部署长周期智能体时,若沿用压缩式记忆,关键调试过程、异常分支判断依据等细节将永久丢失,导致任务中断后无法精准恢复,增加人工干预成本;Token Budget 架构虽提升连贯性,但要求企业同步建设 history/notes 的持久化存储与权限管控能力。
- 这类系统的取舍在于:是否接受将上下文管理权部分上收至系统层。Token Budget 要求企业在智能体运行时集成 token 预算监控、窗口切换调度及跨会话知识检索模块,而非完全依赖模型自身响应,这对已有 Agent 框架的扩展性提出明确要求。
- RAG 知识工程需适配 Token Budget 架构——history 和 notes 不再是临时缓存,而是承担‘轻量级长期记忆’角色,必须支持按会话、时间、关键词等多维索引,且与企业知识库保持元数据对齐,否则将削弱记忆的可追溯性。
- AI 安全治理面临新边界:当 history/notes 成为显式可读、可检索的持久化载体,其中可能包含未脱敏的客户交互片段或内部逻辑推演,企业需在存储层即嵌入访问控制、生命周期自动归档与审计日志能力,不能仅靠 prompt 层防护。
立即咨询 JOTO
JOTO 提供覆盖企业智能体规划与搭建、AI 平台私有化部署、RAG 知识工程、AI 安全治理、FDE 驻场共创及持续运营优化的全周期 AI 落地服务,帮助企业把验证中的 AI 能力转化为安全、可控、可持续迭代的生产力。 联系 JOTO 获取 AI 落地咨询
想把这些做法用到你的业务里?
留下你的场景和痛点,我们帮你判断从哪一步开始。
联系我们


