Codex 放弃上下文压缩机制:改开新窗口+历史记录+持久笔记续任务,长任务不再"挤牙膏"式续命

Codex 放弃上下文压缩机制:改开新窗口+历史记录+持久笔记续任务,长任务不再"挤牙膏"式续命
摘要:OpenAI 在 Codex 的代码仓库里悄悄推进了一组改动:用"开新窗口 + 历史记录 + 持久笔记"的组合,替代原先的上下文压缩(summary compaction)机制。这三条线索分别挂在 PR #27488(6 月 11 日的 new_context...

Codex 放弃上下文压缩机制:改开新窗口+历史记录+持久笔记续任务,长任务不再"挤牙膏"式续命

OpenAI 在 Codex 的代码仓库里悄悄推进了一组改动:用"开新窗口 + 历史记录 + 持久笔记"的组合,替代原先的上下文压缩(summary compaction)机制。这三条线索分别挂在 PR #27488(6 月 11 日的 new_context 工具,代号 escape hatch、Feature::TokenBudget)、PR #29743(6 月 23 日的 compact_token_budget,直接加载一整段全新初始上下文)和 PR #39827(8 月 21 日上线的 history 与 notes 工具)上。需要说明的是,这套机制目前仍以 flag 形式存在、未正式全量上线,但它指向的方向已经很明确:长任务续命,不再靠"把记忆挤扁"。

一、先说结论:它放弃了什么

放弃的是"有损压缩"这条老路。过去 Codex 跑长任务,上下文快满时系统会自动做 summary compaction——把前面的对话摘要成一段更短的文字塞回去。代价是信息折损:变量名、报错栈、被砍掉的中间结论,常常在压缩里悄悄丢失,模型后续就开始"记错"前面的决定。新方案不压缩,而是用"换窗口 + 外部记忆"把上下文预算留给真正当下要做的活。

二、旧机制(summary compaction)为什么被骂"挤牙膏"

开发者把它形容成"挤牙膏"式续命,核心是被迫反复重述目标。上下文被压缩后,模型忘了你前面定好的约束,你只能一遍遍在 prompt 里补背景;任务一长,人变成了模型的外部记忆体。更尴尬的是实测上限:GPT-5.6 的 Sol 标称上下文 1.05M token,但 Codex 实测被砍到 258K–353K(issue #31860、#32806),压缩触发得更频繁,丢东西的概率更高。对跑数小时的多文件重构、端到端测试,这种"越跑越糊涂"的体验是硬伤。

核心数据一览

三、新机制三件套:开新窗口 + 历史记录 + 持久笔记

三件套各管一段。其一,开新窗口(new_context / compact_token_budget):当当前窗口快满,直接开一个加载了完整初始上下文的全新会话,而不是压缩旧的;相当于"换一张干净的白纸,但把 task 设定原样搬过去"。其二,历史记录(history 工具):把过往会话的脉络作为可检索的外部上下文,需要时才拉进来,不占主窗口额度。其三,持久笔记(notes 工具):让 Codex 把关键决定、踩过的坑、待办写成长期可查的笔记,跨窗口保留。三者合起来,等于把"记忆"从上下文里拆出去,变成可管理、可检索、不折损的外部存储。

四、这样做的好处与副作用

好处很直接:长任务不再丢上下文,续命从"挤牙膏"变成"开新页",人在循环里的补背景负担显著下降,多步 agentic 任务的可预测性提高。副作用也要看清:history 和 notes 是外部检索,模型"想不起来用"时仍可能走偏;窗口切换的边界怎么切(何时开新窗口、带哪些初始上下文)目前仍靠 heuristics,flag 未全量意味着稳定性没承诺;另外"持久笔记"若写得潦草,反而会污染后续窗口。它解决的是"折损",不是"模型会不会用工具"——工具用得好不好,仍是工程问题。

趋势与结构拆解

五、和 Codex 2500 万用户、GPT-5.6 的口径怎么接

这个改动要放进 Codex 的整体节奏里看:截至 8 月 31 日,Codex 活跃用户已达 2500 万(10 天前还是 2000 万),同日起 GPT-5.4 / 5.4 mini 从 ChatGPT 登录通道退役,映射为 gpt-5.6-terra / luna(天体命名 Sol/Terra/Luna 体系),其中 Luna 降价 80%、Terra 降价 20%。用户基数和调用量在涨,上下文机制却从"压缩硬扛"转向"窗口+记忆",本质是给长任务场景降本增效——更长的有效上下文、更低的续命成本,才能接住 2500 万用户里那批真把 Codex 当生产工具使的人。对跨境开发者而言,这意味着用 Codex 改大仓、写长链路脚本的体验会肉眼变稳,值得在 9 月盯着正式上线。

卖家应对与观察方向