JOTO
Contact us
← AI 智库
大语言模型

刚刚,Codex 把"压缩"换成了"记忆"

2026 年 9 月 8 日

Codex CLI 将记忆系统从有损的 compaction(压缩)机制,升级为 token budget(token 预算)+ 硬性上下文切换架构。模型可主动感知剩余 token、自主触发新窗口,并通过 history 和 notes 工具完整保留与检索历史,实现从被动执行到主动管理、从失忆到记忆的设计转变。

Codex CLI 最近悄悄改了个大东西,它的记忆系统:放弃了 compaction(压缩)机制,转向 token budget(token 预算)+ 硬性上下文切换。简单说,模型不再被动等 token 用完被压缩,而是主动知道还剩多少额度,自己决定什么时候切换上下文。

Codex CLI 记忆系统架构对比图:左侧为 compaction,右侧为 token budget
Codex CLI 记忆系统架构对比图:左侧为 compaction,右侧为 token budget

我感觉 Codex 这次的改动在设计思路上有转变。这篇文章快速讲清楚三件事:它解决了什么问题、怎么设计的、有什么值得借鉴的视角。

01 先看问题:Compaction 有什么局限?

Compaction 的工作方式很简单:等 token 快用完时,把对话历史压缩成一段 summary,然后带着 summary 继续。这个方案用了挺久,但问题也很明显。

压缩是有损的。 Summary 本质上是"概括",概括就意味着丢细节。一段 10 轮的调试对话被压缩成三句话,中间的关键上下文就没了。

模型是被动的。 模型不知道当前 context window 还剩多少 token,只能等到系统触发压缩。它无法提前规划,也无法在合适的时机主动整理上下文。

切换后是失忆的。 压缩后的对话历史变成了一段 summary,模型无法回溯之前的 完整记录。想看细节?已经被压缩掉了。

Compaction 流程示意图:历史对话 → token 耗尽 → 压缩为 summary → 继续对话
Compaction 流程示意图:历史对话 → token 耗尽 → 压缩为 summary → 继续对话

所以问题的核心是压缩本身就有损,换一个窗口但保留记忆才是更好的思路

02 解决方案:Token Budget 的核心思路

Codex 的思路是:换一个窗口,但保留记忆。

不再压缩历史,而是让模型知道剩余额度,在合适的时候切换到新的 context window。切换不是"失忆",因为历史记录完整保存在 historynotes 里,随时可以查。

这个方案带来三个转变:

  • 从被动到主动。 模型通过 token_budget 标签知道当前还剩多少 token,可以提前规划,在合适的时候主动切换。
  • 从失忆到记忆。 History 工具可以列出之前的对话窗口和条目,读取具体内容,搜索关键词。Notes 工具可以写入持久笔记,把工作状态保存下来。
  • 从手动到自动。 模型可以通过 metadata 自动启用 token budgeting,不需要用户手动配置。
Token Budget 工作流程:感知 token 余量 → 主动请求 new_context → 切换窗口 → 通过 history/notes 检索历史
Token Budget 工作流程:感知 token 余量 → 主动请求 new_context → 切换窗口 → 通过 history/notes 检索历史

核心就一句话:用预算管理替代压缩

03 怎么设计的:Token Budget 的三层架构

Token Budget 的架构可以分成三层,每层解决一个问题。

感知层知道还剩多少。 通过 token_budget 标签提供实时余量信息。这是主动管理的前提。

管理层主动切换窗口。 模型可以通过 new_context 工具主动请求切换到新的 context window。新窗口作为 no-summary compaction checkpoint,不压缩历史,直接开新窗口。

记忆层保留和查询历史。 History 工具可以列出 windows 和 items、读取 items、搜索对话内容。Notes 工具可以列出、读取、搜索、追加、写入持久笔记。

Token Budget 三层架构图:感知层(token_budget)、管理层(new_context)、记忆层(history + notes)
Token Budget 三层架构图:感知层(token_budget)、管理层(new_context)、记忆层(history + notes)

三层环环相扣:感知层让模型知道"什么时候该切了",管理层让模型"能切",记忆层让模型"切了之后还能找到之前的东西"。

04 设计哲学:从"压缩"到"记忆"

这个改动最值得琢磨的是它背后的设计哲学。

长上下文管理的本质是"记忆"。 压缩是有损的,无论算法多好,丢掉的细节就是丢掉了。Token Budget 的思路是"换一个窗口,但保留记忆",这更符合人类处理长任务的方式。我们会翻回之前的记录,而不是把之前的内容概括一下就扔掉。

从"被动"到"主动"是重要转变。 以前模型是"被动执行",等系统触发压缩。现在模型"主动知道还剩多少 token,并在合适的时候切换"。这是从"工具"到"伙伴"的角色转变。

从"工具"到"伙伴"的设计哲学。 Compaction 把模型当成"工具",用完就压缩。Token Budget 把模型当成"伙伴",给它记忆,让它主动管理。这种设计哲学上的转变,比具体的技术实现更有价值

设计哲学对比:左侧 Compaction(工具视角),右侧 Token Budget(伙伴视角)
设计哲学对比:左侧 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 落地咨询

想把这些做法用到你的业务里?

留下你的场景和痛点,我们帮你判断从哪一步开始。

联系我们
Contact Us

Start your enterprise AI rollout

Tell us your industry, team, and current pain points. We'll get back to you within one business day to help you decide what to tackle first, what data to prepare, and which platform fits.

WeChat
Scan to add us for a 1:1 chat
JOTO WeChat consultation QR code

Tell us what you need

Once we receive your details, we'll be in touch within one business day.