Codex 在 GPT-6 Sol 上的自动压缩:源码中的默认值,以及调高它的代价
更新于 September 27, 2026 · 首次发布 September 27, 2026
Codex 在 244,800 个 token 时自动压缩 GPT-6 Sol 会话,即它为该模型分配的 272,000 token 窗口的 90%。 除非你同时调高 model_context_window,否则把 model_auto_compact_token_limit 设得高于这个数字毫无作用。如果把窗口提高到 272K 以上,每个越过这条线的轮次都会按长上下文费率计费。我们的数字来自 Codex 0.157.1 的源代码,以及 Codex 下载的模型目录。
Codex 给 GPT-6 Sol 多大的上下文窗口?
272,000 个 token,尽管 API 最多可接受 922,000 个。 Codex 会下载模型目录并缓存到 ~/.codex/models_cache.json。gpt-6-sol 的条目列出 context_window 为 272,000,max_context_window 为 872,000。它还把 effective_context_window_percent 设为 95,并将 auto_compact_token_limit 留空。GPT-6 Astra 和 GPT-6 Luna 的值相同。
272K 并非随意取值,它恰好是 GPT-6 长上下文定价的起点。
| 数值 | token 数 | 来源 |
|---|---|---|
| 上下文窗口 | 272,000 |
context_window,来自模型目录 |
| 可用窗口 | 258,400 | 窗口的 95%(effective_context_window_percent) |
| 自动压缩阈值 | 244,800 | 窗口的 90%,在代码中计算 |
| 允许的最大窗口 | 872,000 | 模型目录中的 max_context_window |
| API 输入上限 | 922,000 | OpenAI 模型规格(含输出共 1.05M) |
Codex 如何决定何时压缩?
它取你配置的上限与上下文窗口的 90% 中较小的那个。 在 codex-rs/protocol/src/openai_models.rs 中,auto_compact_token_limit() 计算 context_window * 9 / 10。它返回该值或你配置的上限,以较低者为准。目录没有为 GPT-6 Sol 提供上限,因此默认结果为 272,000 × 0.9 = 244,800。
所以这个设置只能让压缩提前。在默认窗口下,把 model_auto_compact_token_limit = 300000 写进 config.toml,Codex 仍会在 244,800 压缩,且不给任何警告。要让压缩延后,你还得调高 model_context_window,而这也会推高上限:在 872,000 的最大值下,默认阈值变为 784,800。
另一个设置 model_auto_compact_token_limit_scope 默认为 total,即统计整个活动上下文。替代值 body_after_prefix 只统计对话在之前带入的上下文之后新增的部分。
把 Codex 窗口提高到 272K 以上要花多少?
按轮计算,代价远超多出的那些 token。 一旦 GPT-6 Sol 请求的输入超过 272K token,整个请求都按长上下文费率计费。输入和缓存输入的费用翻倍,输出的费用变为 1.5 倍。在长时间的智能体会话中,几乎每一轮都会重新发送全部历史,因此大部分输入都是缓存前缀。
| 每轮上下文 | 缓存输入费率 | 每轮缓存上下文成本 | 每轮未缓存成本 |
|---|---|---|---|
| 240K(默认压缩点) | $0.20 / 1M | $0.048 | $0.48 |
| 270K | $0.20 / 1M | $0.054 | $0.54 |
| 300K(已调高窗口) | $0.40 / 1M | $0.12 | $1.20 |
| 400K(已调高窗口) | $0.40 / 1M | $0.16 | $1.60 |
从 270K 增至 300K,token 只多了 11%,但每轮成本变为 2.2 倍。在 ChatGPT 套餐下你看不到账单,但同样的 token 会计入你的5 小时和每周 Codex 限额,更大的窗口会更快耗尽它们。context-window-paid-twice 一文解释了为什么这种重复计费主导了长会话。
GPT-6 Sol 在接近 244K token 时仍然准确吗?
还没有人测过。 目前唯一的 GPT-6 Sol 独立长上下文成绩是 Artificial Analysis AA-LCR:84%,与 GPT-5.6 Sol 相同。该测试中的文档平均约 100K token。人们在 256K–512K 处引用的 MRCR 数字属于 GPT-5.6 Sol。我们的 GPT-6 Sol 长上下文基准汇总列出了截至 2026 年 9 月 27 日已发布与尚未发布的内容。
应该怎么设置?
对大多数团队来说,什么都不用改。默认值已经是成本安全的选择。 在 244,800 压缩,能让每个请求都保持在 272K 的价格线以下,并留出输出空间。以下三种情况才需要改动:
-
你希望更早压缩,例如因为长对话开始丢失较早的指令。把
model_auto_compact_token_limit调低,比如 200000。低于 244,800 的值确实会生效。 -
你希望把当前默认值写下来,这样目录更新就不会悄悄改变它们。设置
model_context_window = 272000,并把上限设为 244,800 或更低。 -
你在一个会话中需要超过 258K 的实时上下文。调高
model_context_window,并接受每个超过 272K 的轮次都按长上下文定价。请为此设置告警,因为 Codex 界面中没有任何东西会标示价格变化。
# ~/.codex/config.toml
model = "gpt-6-sol"
model_context_window = 272000 # pin the default window, below the 272K price line
model_auto_compact_token_limit = 240000 # anything above 244,800 is ignored at this window
来源
-
Codex 0.157.1 源码:
auto_compact_token_limit()与usable_context_window() - Codex 0.157.1 源码:应用于模型信息的配置覆盖
- Codex 0.157.1 源码:压缩范围与硬性上下文上限
- OpenAI API 定价
- Artificial Analysis:GPT-6 Sol 对比 GPT-5.6 Sol
相关文章
想将这些方法用于您的技术栈吗? 请准备好供应商账单、网关日志和主要工作流;我们会梳理成本驱动因素与节省空间。 预约免费审查 →