快来查查,你 Codex 里的 GPT-5.6 有没有缩水
奇怪的是,我选的模型明明是 GPT-5.6-Sol。OpenAI 官网写得很清楚:它有 1,050,000 tokens 的 context window。105 万都能装满,我这次任务到底塞了多少东西?
这两天我在 Codex 里跑一个长任务,聊着聊着,屏幕上突然跳出一句:
Codex ran out of room in the model's context window.
Start a new thread or clear earlier history before retrying.
上下文装满了。
奇怪的是,我选的模型明明是 GPT-5.6-Sol。OpenAI 官网写得很清楚:它有 1,050,000 tokens 的 context window。
105 万都能装满,我这次任务到底塞了多少东西?
我打开了 Codex 本机的模型缓存。今天拉到的 GPT-5.6-Sol 配置是:
{
"context_window": 272000,
"max_context_window": 272000,
"effective_context_window_percent": 95
}
算下来,这次运行采用的有效上下文是:
272000 × 95% = 258400
官网写 105 万,我这台机器上的 Codex 实际按 25.84 万计算。大约只有四分之一。
你可以先查自己的
Codex 会把当前模型目录缓存到:
~/.codex/models_cache.json
电脑里装了 jq 的话,先让当前 Codex CLI 输出它拿到的模型目录:
codex debug models \
| jq '.models[]
| select(.slug == "gpt-5.6-sol")
| {
slug,
context_window,
max_context_window,
effective_context_window_percent
}'
我用 Codex CLI 0.144.3 和 Codex Desktop 内置的 0.144.2 分别执行,拿到的都是 272000 / 272000 / 95。
如果你的版本还没有 codex debug models,再直接读取缓存:
jq '.models[]
| select(.slug == "gpt-5.6-sol")
| {
slug,
context_window,
max_context_window,
effective_context_window_percent
}' ~/.codex/models_cache.json
重点看三个字段:
context_window:Codex 当前拿到的原始窗口max_context_window:这份配置允许的上限effective_context_window_percent:实际可用比例
如果你的结果也是 272000 和 95,有效上下文就是 258400。
不要直接修改这个 JSON。它是 Codex 拉下来的模型目录缓存,后续还会被刷新;改本地数字也不会凭空多出可用上下文。电脑里同时装了多个 Codex 客户端时,缓存还可能被不同版本先后覆盖,优先看 codex debug models 的即时输出。

GPT-5.6 官网规格、本地 Codex 配置和有效上下文对比
105 万和 25万,为什么能同时出现
OpenAI 官网展示的是 GPT-5.6-Sol 的 API 模型规格。Codex Desktop、Codex CLI 运行时还会拿到一份产品侧的模型配置。
我这台机器今天拿到的配置,把 GPT-5.6-Sol 限在了 27.2 万;再留出 5% 空间后,任务看到的有效值是 25.84 万。
这块空间也不只装你发出去的文字。下面这些都会占位置:
- Codex 自己的系统指令
AGENTS.md、Skills 和项目规则- 之前的聊天记录
- 读取过的代码、日志和文档
- 工具调用及其返回结果
- 给模型输出预留的空间
一个大型仓库任务里,Codex 连续读几十个文件、跑几轮测试、接收大段日志,窗口会比肉眼看到的对话消耗得快。
所以,“我才聊了几十轮”没什么参考价值。真正装进去的,还有你看不到的运行指令和工具结果。
已经有人发现数值变了
7 月 13 日,OpenAI Codex 官方仓库出现了一个相关 Issue:
GPT-5.6 Sol context cut 353K → 258K despite advertised 1.05M
提交者记录到,Codex 模型目录里的原始窗口从 372000 变成 272000,按 95% 计算后,有效上下文从 353400 降到 258400。
少了 95,000 tokens,降幅约 26.9%。
截至我写稿时,这个 Issue 有 22 条评论和 23 个 reaction,当天以 completed 状态关闭。评论里有人讨论推理优化、显存和性能配置,但没有看到维护者给出明确的变更原因。
因此,目前能确认的只有两件事:
- 有用户在 Codex 模型目录里记录到了
353400 → 258400的变化 - 我今天本机的 GPT-5.6-Sol 配置,确实也是
258400
至于所有账号是否统一、是否属于灰度策略、以后会不会再调,现有信息还下不了结论。你自己的缓存结果更有参考价值。
25 万够不够用
普通问答和小功能开发,25.84 万依然很大。
麻烦集中在长时间、重工具、跨模块的工程任务:
- 一条任务里持续分析整个仓库
- 反复读取大文件和长日志
- 多轮修改、测试、回滚再修改
- 同时加载大量项目协议和 Skills
- 把需求讨论、架构决策、实现过程全塞在同一个任务里
窗口接近上限后,Codex 会压缩前面的上下文。压缩能让任务继续,但早期细节可能只留下摘要。你会开始看到它重新读文件、忘记某个边界条件,或者需要你再次解释已经确认过的决定。
这才是“缩水”对日常使用最直接的影响:一个原本还能继续跑的长任务,会更早进入压缩、拆分和重新对齐。

Codex 上下文由系统指令、项目文件、工具结果、聊天历史和输出预留共同占用
别把整个项目押在一条对话里
本地配置改不了产品给出的窗口,但任务组织方式可以改。
我现在会把长任务拆成几个可以交接的阶段:
- 调研完成后,把结论和证据写进项目文档
- 方案确认后,记录决策、边界和未解决问题
- 每完成一批修改,就留下测试结果和下一步
- 新任务直接读取这些文件,避免重新讲完整背景
长期有效的规则放进 AGENTS.md 或 CLAUDE.md,当前项目状态放进单独的跟踪文档,代码变化交给 Git 记录。
这样即使任务被压缩、窗口耗尽或者必须新开对话,项目状态也不会跟着消失。
先看数字,再决定怎么用
我今天查到的结果很明确:
GPT-5.6-Sol 官网模型规格:1,050,000
Codex 本地原始窗口: 272,000
Codex 本地有效窗口: 258,400
放在一起看,Codex 里能用到的有效上下文约为官网模型规格的四分之一。
同一个 GPT-5.6-Sol 名字,不代表每个产品、账号和运行环境都会交付同样大的窗口。
先跑一遍上面的命令,看看你 Codex 里的 GPT-5.6 到底有多大。
参考资料
- OpenAI GPT-5.6-Sol 模型文档
https://developers.openai.com/api/docs/models/gpt-5.6-sol
- OpenAI Codex Issue #32806
更多推荐


所有评论(0)