GPT-5.6 Sol的原生上下文窗口是105万token,这是OpenAI官方文档白纸黑字写明的参数——但Codex产品侧一直默认将其限制在272K以内。2026年8月17日,OpenAI Codex工程师Tibo(Thibault Duponchelle)在X平台发布了一组三行配置,允许ChatGPT账号和Codex账号手动解锁这一完整窗口,作为实验性功能开放。配置方法极其简单,但随即引发了一轮开发者社区的激烈讨论:1M上下文确实是刚需,但超出默认范围后token消耗约翻倍,模型的长上下文利用能力也在基准测试中出现明显下滑。这篇文章拆解配置方法、解释限制背后的原因,并给出什么场景真正值得开启的判断框架。


GPT-5.6 Sol的1M上下文,为什么一直被限制

GPT-5.6 Sol官方模型页面标注的参数是:输入上下文1,050,000 token,最大输入922,000 token,最大输出128,000 token(数据来源:OpenAI官方文档,2026年)。这不是"规划中的功能",而是已经存在的模型能力。

Codex限制它的原因,Tibo自己说得很直接:

我们注意到,将Codex里GPT-5.6 Sol的上下文限制从272K提高到372K后,导致实际使用量超出预期。

事件时间线:

  • GPT-5.5时代,Codex默认上下文272K

  • GPT-5.6 Sol上线后,Codex产品侧将限制提升至372K

  • 2026年7月13日:Codex静默将限制回滚至272K——用户和社区论坛随后发现,跑了相关报告确认这次缩减

  • 2026年8月17日:Tibo公布3行配置,将实验性1M上下文开放给所有ChatGPT/Codex账号

更底层的逻辑是成本与质量的双重考量:更长的上下文意味着更大的推理开销,而OpenAI的产品定价依赖用量预测。Codex的订阅制(Codex Pro每月固定费用)在超长上下文下会严重压缩利润空间,这是产品侧限制的根本动因——与模型能力无关。

三行配置怎么写,放在哪里

操作本身确实是三行。关键在于位置:必须放到 ~/.codex/config.toml 文件的开头,在所有 [section] 标题之前。

model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000

三行的含义:

  1. model = "gpt-5.6-sol" — 指定使用GPT-5.6 Sol(如已默认使用此模型可跳过,但建议显式写明)

  2. model_context_window = 1000000 — 告知Codex使用100万token上下文预算

  3. model_auto_compact_token_limit = 900000 — 在约90万token时启动自动历史压缩,为后续轮次留出安全余量

配置生效方式:保存文件后重启Codex客户端,开启新会话(对已进行的会话不生效)。

如果不想修改配置文件,也可以对单个CLI会话临时启用:

codex -m gpt-5.6-sol \
  -c model_context_window=1000000 \
  -c model_auto_compact_token_limit=900000

一个容易踩的坑:如果 model 这一行写在某个 [section] 之后,它会被当作该 section 的局部配置,无法全局生效。三行必须都在所有 [section] 标签之前,否则重启后不会看到变化。

开了之后,token消耗会发生什么

这是评论区争议最激烈的部分,Tibo自己给一条警告留了点赞:

一旦超出默认上下文窗口,Codex里模型消耗token的速度,会直接翻倍。

为什么会翻倍?这与Codex的计费机制有关。Codex对每次推理按token计费,包含输入(上下文历史 + 当前指令)和输出(代码生成 + 工具调用)两部分。当上下文窗口从272K扩展到1M后:

  • 每轮推理的输入token数量显著增加(历史记录被保留更长)

  • Agent每执行一个子步骤,都会把更长的上下文带进下一次推理

  • 多轮Agent跑复杂任务时,token消耗呈近线性增长

OpenAI研究员Noam Brown在讨论中再次强调了自动压缩的价值:Codex的自动历史压缩功能经过专项研究优化,能把旧信息浓缩后继续传递语义,使Agent长期运行时不会因上下文膨胀导致成本失控。他的言下之意是:自动压缩 + 合理的窗口大小,往往比暴力铺开1M上下文更经济。

1M上下文下,GPT-5.6 Sol的实际性能

开了1M上下文,不代表模型在全程100万token里都能保持同等能力。OpenAI公布的MRCR v2(Multi-Range Context Recall,长上下文检索评测)数据如实说明了这一点:

上下文区间

GPT-5.6 Sol MRCR v2得分

256K – 512K

91.5%

512K – 1M

73.8%

MRCR v2测试模型在超长文本中准确检索和引用特定信息的能力。从91.5%跌至73.8%,意味着在512K到1M这个区间,模型大约每7次长上下文检索就有接近2次出现遗漏或错误。

这不是GPT-5.6 Sol的缺陷,而是当前长上下文AI的普遍现象——远端信息的注意力衰减,在所有大型语言模型中均有体现,区别只在程度。

对开发者的实际含义:在代码库规模超大、单个Agent任务跨越数百个文件的场景下,1M上下文的"后半段"(约512K之后)信息召回率存在可观的不确定性,应通过检索辅助(RAG、显式文件索引)而非单纯依赖上下文长度来保障质量。

什么场景真正值得开1M上下文

根据上述约束,可以整理出一个简单的决策框架:

适合的场景(1M上下文收益 > 成本):

  • 超大型单仓库代码审查:需要同时加载数百个文件的依赖关系,且前272K已无法容纳全部上下文

  • 长文档理解 + 代码生成并行:需要在完整的技术规范(PDF、Markdown文档)基础上生成多个模块

  • 调试多轮错误追溯:需要保留完整的错误堆栈、工具调用历史和修复记录,不接受历史信息被压缩

不适合的场景(默认窗口 + 自动压缩更优):

  • 常规功能开发:大多数新功能只需要当前模块及相邻依赖,272K通常已经足够

  • 频繁迭代的短任务:每次任务结束即清空上下文,更长的窗口只增加成本,不带来收益

  • 对成本敏感的团队环境:1M上下文下Agent长跑的token消耗难以预测,Codex Pro固定额度容易被一个复杂任务耗尽

Tibo的原话值得收藏:

Codex默认的上下文长度能使其在性能和成本方面达到最佳状态。默认设置是我们精心调过的。

自动压缩 vs 1M上下文:两种策略的本质差异

这是此次讨论中最有价值的思考角度。OpenAI在Codex里对两种策略的定位是互补,而非替代:

自动压缩策略(默认):

  • 在达到自动压缩阈值(默认约272K × 80%)时,将旧轮次历史浓缩为摘要,继续传递语义

  • Agent可以无限期运行,成本可控,适合大多数代码生成场景

  • 代价:被压缩的历史信息变为摘要,细节可能丢失;不适合"需要逐字引用早期输出"的场景

1M上下文策略(手动解锁):

  • 原样保留所有历史,不压缩,不截断

  • 适合"历史信息精度要求极高"的场景,如安全审计、合同代码审查

  • 代价:token消耗翻倍,推理延迟上升,远端信息召回率下降

两种策略可以混合使用:在 model_auto_compact_token_limit = 900000 的设置下,自动压缩仍然在约90万token时触发——这不是"关闭自动压缩",而是把触发阈值从~22万token(272K×80%)推迟到90万token,相当于前90万token原样保留,之后再压缩继续运行。

FAQ

这个1M上下文配置是免费的吗,还是需要额外付费?

目前作为实验性功能开放,ChatGPT账号和Codex账号均可使用,无需额外升级套餐。但token消耗约翻倍意味着你的Codex额度会消耗更快——对于Codex Pro固定套餐用户,等同于变相缩短了可用时长。API计费用户则直接按实际token量收费,1M上下文的成本冲击更显著。

config.toml文件在哪里,我没有这个文件怎么办?

默认路径是 ~/.codex/config.toml(macOS/Linux)。如果文件不存在,可以直接创建:mkdir -p ~/.codex && touch ~/.codex/config.toml,然后在文件最顶部写入三行配置即可。Windows用户路径为 %USERPROFILE%\.codex\config.toml

开了1M上下文后,现有的AGENTS.md或系统提示词需要改吗?

不需要强制修改,但建议检查AGENTS.md里有无context_window相关的覆盖配置——如果AGENTS.md里有局部设置,可能与config.toml的全局配置产生冲突,局部配置通常优先级更高。

MRCR v2得分73.8%意味着什么,会不会漏掉我代码里的关键信息?

73.8%是在特定检索任务下的统计准确率,不代表会在3/4的情况下工作良好、1/4完全失效。实际影响取决于任务类型:如果你的任务需要精确引用100万token里某个具体函数的实现,风险较高;如果主要靠近端上下文(最近的工具输出和代码),远端衰减影响较小。建议对关键文件做显式引用(@file命令),而非完全依赖模型自动召回。


总结

GPT-5.6 Sol支持原生105万token上下文,这是已存在的能力;Codex将其限制在272K,是OpenAI基于成本预测和用量控制的产品决策,并非技术限制。Tibo公开的三行配置让开发者可以手动解锁,但随之而来的是约翻倍的token消耗和512K之后73.8%的召回率(OpenAI MRCR v2,2026年)。最合理的使用姿态是:把1M上下文保留给真正需要"原样保留超大规模历史"的场景,绝大多数日常开发任务用Codex默认设置 + 自动压缩,既省钱又稳定。如Noam Brown所说,OpenAI在自动压缩功能上投入了大量研究精力,使体验"near seamless"——这才是多数场景下的最优路径。

本文数据来源:OpenAI官方模型文档(GPT-5.6 Sol规格,2026年)、Codex changelog(developers.openai.com/codex/changelog)、Tibo X平台推文(2026年8月17日)、OpenAI MRCR v2长上下文评测数据(2026年)。


延伸阅读