CxCodex Context Management
EXPERIMENTAL · CODEX CLI 0.153.0

上下文满了,不再反复“传话”
而是做一次跨窗口接力

模型看见剩余 token,提前把任务状态写进 Notes;切到全新的上下文窗口后,再从 Notes 和只读 History 中按需找回细节。

Token Budget History + Notes new_context 默认关闭 · Under development
01 · ANIMATED WALKTHROUGH

看一次长任务如何跨过上下文边界

点“播放”自动演示,或逐步前进。这里的 token 百分比是教学示意;真实阈值由模型配置和服务端信息决定。

CONTEXT WINDOW · W-17
MODEL-VISIBLE CONTEXT 100% REMAINING
initial 系统指令、项目规则、当前环境,以及窗口 ID:W-17。
user 修复支付重试的竞态问题,保持公开 API 不变。
tool 读取 14 个文件、运行测试、定位到 idempotency key 的竞争窗口……
budget 上下文余量即将触及阈值。保存目标、决策、进度和下一步。
history 按 item ID 取回:失败测试的完整断言与对应工具输出。
旧窗口已关闭消息与工具输出不直接搬进新窗口
STEP 1 / 6
建立窗口与预算
Codex 向模型暴露当前窗口及可用 token 预算。

准确边界:新窗口自动获得的是 fresh initial context;Notes 与 History 是恢复通道,并不等于“全部旧内容自动回填”。

02 · THREE PARTS

这个实验实际打开了三块能力

它不是一个更长的 context window,也不是单纯换了一版摘要 prompt;它让模型参与自己的上下文生命周期管理。

Token Budget · 看见余量

完整窗口开始时注入窗口元数据;接近阈值时追加提醒。模型因此能在失去旧窗口前规划收尾,而不是等到溢出后被动补救。

Notes + History · 外置状态

Notes 保存精炼 checkpoint;History 保存可按窗口 ID / item ID 查找的原始条目。先读笔记,缺细节时再定点查历史,避免整段重放。

new_context · 主动换窗

这是 direct-model-only 工具。模型认为旧窗口不再有价值时,可发起无摘要 reset;同一 turn 的后续请求从 fresh initial context 继续。

核心变化:从“系统在阈值后压缩旧对话”,变成“模型在预算内先保存状态,再主动或自动切换窗口,并按需恢复”。

在 token-budget 模式下,手动 / 自动 compact 也走 fresh-window reset,不调用服务端摘要,并丢弃旧消息与工具输出的直接携带。

03 · DO NOT CONFUSE THEM

实验性换窗 ≠ Responses API Compaction

社区帖把旧方案概括成“反复摘要”,方向上能帮助理解,但对当前 Codex 来说已经不够准确。

STANDARD COMPACTION

把旧窗口压成可继续传递的状态

当前 Responses API 可返回 opaque、encrypted 的 compaction item,并可能保留部分旧条目。它不是只有一段人类可读摘要。

适合:希望把 prior state 直接带进下一次请求的 API / 常规 Codex 流程。

EXPERIMENTAL TOKEN-BUDGET MODE

放下旧窗口,靠外部索引继续工作

new_context 不生成摘要,也不把旧 user / assistant / tool items 直接带入;它重新注入标准 initial context。

适合:超长 coding task,需要主动清理噪声、精确恢复状态的 ChatGPT Codex 会话。

04 · ENABLE & ELIGIBILITY

配置很短,但启用条件很窄

把下面内容加入 ~/.codex/config.toml。功能仍标记为 Under development,字段和资格都可能变化。

~/.codex/config.toml
[features.context_management]
experimental_mode = true
ChatGPT 身份登录官方实现检查 AuthMode::Chatgpt,而不是 API key。
Plus / Pro / Pro LitePR 的资格测试只允许这三种计划。
OpenAI Codex backend要求官方 provider、OpenAI auth 和 Codex backend route。
×
明确排除API-key 会话、自定义 provider / credentials、非 Codex endpoint、temporary structured thread。