如何在 Codex 中为 GPT-5.6 Sol 启用 100 万上下文窗口
简介
当您通过 ChatGPT 账户进行身份验证后,GPT-5.6 Sol 现在可以在 Codex 中使用 100 万 token 的上下文预算。
配置只需三行:
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000
将这些设置添加到 Codex 的 config.toml 顶层,重启客户端,然后开启新会话。
关键点不仅仅是更大的数字。第三个设置留出了大约 10 万 token 的余量,并告诉 Codex 在约 90 万 token 时开始压缩较旧的历史记录,而不是等到上下文完全占满。
OpenAI 也非常明确地说明了权衡取舍:Codex 的默认上下文限制是经过精心调校的,以兼顾性能和成本。100 万的窗口为您提供了更多空间来容纳代码、工具输出和对话历史,但也会消耗更多用量,并且不保证在窗口远端具有同样强的检索能力。

启用 GPT-5.6 Sol 100 万上下文的三行配置
OpenAI 发布的 Codex 配置恰好使用了以下三个顶层设置:
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000
每一行都有其特定的作用。
1. 选择 GPT-5.6 Sol
model = "gpt-5.6-sol"
这告诉 Codex 在会话中使用哪个模型。
GPT-5.6 Sol 是 GPT-5.6 系列中的旗舰模型,支持的上下文窗口足以满足 100 万配置的需求。
2. 将工作上下文预算设置为 100 万 token
model_context_window = 1000000
OpenAI 的 Codex 配置参考将 model_context_window 定义为活动模型可用的上下文窗口 token 数量。
该覆盖设置告诉 Codex 分配 100 万 token 的预算,而不是使用较小的产品默认值。
更大的预算可以在压缩之前将以下更多内容保留在活动上下文中:
- 源代码。
- 仓库文件。
- 工具输出。
- 终端日志。
- 较早的对话轮次。
- 规划笔记。
- 代理历史记录。
这对于长期运行的仓库工作非常有用,因为代理需要反复获取早期阶段的详细信息。
3. 在约 90 万 token 时开始自动压缩
model_auto_compact_token_limit = 900000
OpenAI 将此设置定义为触发自动历史压缩的 token 阈值。
在大约 90 万 token 时,Codex 开始压缩较早的材料,而不是继续扩充活动历史,直到耗尽完整的上下文限制。
大致行为如下:
0 → 90 万 token
持续扩充活动历史
约 90 万 token
开始自动压缩
最高 100 万预算
保留余量用于持续推理和工具使用
额外的空间很重要,因为模型仍然需要空间来容纳新消息、工具结果、推理和生成的输出。
将设置放在任何 [section] 标题之前
这三个设置必须位于顶层
TOML 键。
OpenAI 的说明要求将它们放在 config.toml 中任何节标题之前。
一个有效的布局如下所示:
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000
[features]
不要不小心将它们嵌套到其他节下面:
[features]
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000
那会改变它们的 TOML 作用域,并且不是文档记录的配置方式。
Codex 存储 config.toml 的位置
OpenAI 记录了用户级配置文件的位置:
~/.codex/config.toml
你也可以使用项目级文件:
.codex/config.toml
放在仓库或子目录中,当你希望设置仅适用于该特定项目时使用。
编辑配置之后:
- 保存
config.toml。 - 重启 Codex 客户端。
- 开启一个新会话。
新的上下文设置随后应适用于该会话。
仅对单个 CLI 会话使用 1M 上下文
你不必永久更改默认设置。
OpenAI 还记录了一种每会话 CLI 形式:
codex -m gpt-5.6-sol \
-c model_context_window=1000000 \
-c model_auto_compact_token_limit=900000
当你通常偏好 Codex 的默认上下文行为,但偶尔需要更多空间来处理特别大的仓库或长时间运行的任务时,这非常有用。
一旦该 CLI 会话结束,你的正常配置保持不变。
一个实用的工作流程是:
正常任务
→ 使用 Codex 默认值
异常大的任务
→ 启动一个 1M 上下文 CLI 会话
这通常比让每个 Codex 任务都使用最大窗口更容易管理。
为什么 1M 上下文不是默认值?
GPT-5.6 Sol 已经支持非常大的上下文窗口。
限制并不仅仅是因为模型能力缺失。
Codex 使用较小的默认值,因为产品是在以下因素之间的平衡中调优的:
- 性能。
- 延迟。
- 用量。
- 长会话可靠性。
- 压缩行为。
OpenAI 的官方社区帖子表示,默认上下文限制已经针对性能和成本进行了精心调优。
更大的窗口让 Codex 可以保留更多原始材料,但每一段额外历史都会增加系统在后续轮次中需要管理的上下文量。
对于一个运行数小时的代理来说,“永远逐字保留一切”并不自动是最佳策略。
自动压缩是默认设计的一部分
随着会话增长,Codex 可以总结较旧的历史记录。
这使得长时间运行的代理更接近于:
最近的细节
+
压缩后的历史记录
+
重要的持久状态
而不是:
整个会话中的每一个 token
永远重新发送
OpenAI 研究员 Noam Brown 公开强调了这种方法,指出公司大力投资使自动压缩尽可能接近无缝体验,同时仍然为真正需要的用户保留 1M 选项。

压缩在以下情况下尤其有用:当
旧工具痕迹中包含大量不再需要逐字保留的信息。
例如:
- 旧的测试日志。
- 构建输出。
- 早期搜索结果。
- 已被取代的实施计划。
- 重复的终端输出。
一份好的摘要可以在不迫使模型反复处理每个旧令牌的情况下保留重要状态。
谨慎使用 1M 窗口
源文章的第二大节本质上是一个警告:仅仅因为 Codex 可以使用 1M 上下文,并不意味着每个会话都应该使用。
一篇社区帖子强烈建议用户不要默认启用覆盖设置,认为 Codex 在调整后的默认设置下表现最佳,而超长上下文的使用会更快消耗账户额度。
确切的用量倍数可能取决于当前的产品策略和套餐行为,因此请查阅 OpenAI 最新的 Codex 定价和速率限制文档,而不是假设一个固定数字。
更广泛的警告是合理的:
更多的活动上下文通常意味着更多令牌必须在后续轮次中被携带。
对于长期运行的编码代理来说,这可能会迅速变得昂贵。
1M 窗口并不意味着 1M 令牌具有同等的可用性
模型在技术上可以接受长提示,但在检索深藏其中的信息时准确性可能会下降。
OpenAI 自家的 GPT-5.6 长上下文结果说明了这一点。
| 评估 | GPT-5.6 Sol |
|---|---|
| OpenAI MRCR v2 8 针,256K–512K | 91.5% |
| OpenAI MRCR v2 8 针,512K–1M | 73.8% |
| GraphWalks BFS,256K F1 | 90.7% |
| GraphWalks BFS,1M F1 | 77.1% |
该模型在超长上下文下仍然具备能力,但性能在整个范围内并非平稳一致。
这就是为什么“更大的上下文窗口”和“更好的上下文利用”应被视为两个独立的概念。
1M 窗口回答的是:
系统能容纳多少内容?
它并不自动回答:
模型能否可靠地使用每个位置的每个细节?
何时 1M 上下文有意义
当你确实有理由保持异常大量的原始信息处于活动状态时,覆盖设置最为有用。
例如:
幾分鐘搭建展示站並增長獲客
輸入一句想法,We0 AI 即可生成展示站、頁面與 CMS。發佈上線後並幫你獲取客戶和流量。
用戶註冊贈送一次完整項目生成
適合先體驗一次完整生成流程,快速看到專案初稿。
大型代码库重构
一项任务可能同时涉及许多包、接口、测试和配置文件。
在上下文中保留更多代码可以减少重复的重新发现。
漫长的调试会话
一个棘手的生产问题可能涉及:
- 历史日志。
- 多个失败假设。
- 若干代码更改。
- 测试结果。
- 环境细节。
更大的窗口可以在压缩之前保留更多这些证据。
大型迁移
框架或 API 迁移通常要求代理跟踪多个文件中的更改并记住早期决策。
多阶段研究与实施
某些任务涉及:
研究
→ 架构方案
→ 实施
→ 测试
→ 审查
→ 修订
更大的上下文预算可以降低早期源材料在后期阶段之前被过度摘要的概率。
包含大量工具输出的任务
如果代理必须检查
大型生成的报告、依赖关系图或结构化工具输出,额外的空间可能会很有用。
当默认设置更优时
对于大多数日常编码任务,默认设置可能是更好的选择。
示例包括:
- 修复一个漏洞。
- 编辑少量文件。
- 添加一个小功能。
- 编写测试。
- 审查拉取请求。
- 更新文档。
- 执行简短的研究任务。
在这些情况下,1M 上下文窗口可能会增加额外用量,却没有带来足够实际效益来证明其合理性。
OpenAI 的建议并非“永远不要用 1M”。
更接近的说法是:
除非任务确实需要更多原始上下文,
否则使用经过调优的默认设置。
一个实用的决策规则
在启用 1M 上下文之前,先问自己:
Codex 是否会因为压缩发生得太早而丢失信息?
如果答案是否定的,保持默认设置不变。
如果答案是肯定的,再问第二个问题:
保留更多原始历史记录是否会实质性改善此任务?
只有这时,1M 覆盖设置才值得尝试。
这有助于区分真正的上下文问题与单纯想要最大化每个设置的一般性愿望。
关注你的会话,而不是等待 900K
900K 自动压缩阈值是一个安全余量,不是你需要达到的目标。
一个健康的工作流程仍然可以将极长的任务拆分为逻辑清晰的会话。
例如:
会话 1
研究与架构
会话 2
实现
会话 3
测试与清理
在每个阶段结束时,将持久化的项目状态保存在:
- 仓库文件。
- 问题备注。
- 计划。
- 测试。
- 文档。
- 版本控制。
这样下一个会话就不需要完全依赖聊天历史。
这也使工作对人类来说更具可复现性。
不要把上下文窗口当作存储
上下文是临时工作记忆。
它不能替代:
- Git。
- 文档。
- 问题跟踪器。
- 测试套件。
- 项目计划。
- 持久记忆。
- 结构化数据。
如果某个重要决定明天仍然关键,请将其保存在持久化的地方。
最佳的长期智能体工作流将强大的上下文窗口与持久化项目产物相结合,而不是依赖一个巨大的完整记录。
源文章中关于“两倍速”的警告
源文章强调了一个社区警告:一旦会话超出默认上下文预算,Codex 的使用额度消耗速度可能会大约翻倍。
该警告在社区讨论中被公开放大。
然而,产品使用规则可能发生变化,OpenAI 当前的 GPT-5.6 1M 配置发布在三行设置说明中并没有定义一个通用的 2× 规则。
因此,最安全的指导是:
- 预计大型上下文会话会消耗更多用量。
- 在你的套餐中监控 Codex 用量指示器。
- 查看 OpenAI 当前的定价/速率限制文档。
- 不要假设该倍率在不同模型、套餐或未来版本中保持不变。
重要的操作事实是成本曲线的方向,而不是某个永久的倍率。
1M 设置现已通过 ChatGPT 账户可用
触发源文章的变化是
不是大型GPT-5.6 Sol上下文窗口的存在。
它是通过使用ChatGPT账户验证的Codex会话访问的。
Tibo Sottiaux的公告称,该配置此前仅适用于API密钥使用,OpenAI现已将其也启用给ChatGPT账户使用。
这使得该功能可供更广泛的Codex用户群使用,无需单独走API密钥流程。
你的实际访问权限仍取决于Codex模型可用性以及你当前ChatGPT套餐的相关限制。
还有一件事:Astra预计将出现在Codex中
源文章末尾附有Tibo Sottiaux的一则简短更新。
在描述Codex的公开帖子中,他附注说明Codex**“将拥有Astra”**。
OpenAI已另行确认Astra是即将推出的模型,并将其内部版本称为其下一代主要模型。
这足以支持以下表述:
Astra是OpenAI即将推出的模型,
Codex负责人表示Codex将获得该模型。
但不足以将其作为事实陈述:
Astra = GPT-6
OpenAI尚未正式公布该产品名称。
同样,在本文核实的来源中,没有关于Astra在Codex中的公开发布日期。
有用的要点仅仅是:OpenAI意图让Codex继续作为其下一代前沿模型的部署界面。
快速设置清单
- 确保你的Codex版本是最新的。
- 确认你的账户上可以使用GPT-5.6 Sol。
- 打开
~/.codex/config.toml。 - 在任何
[section]标题之前添加这三个设置。 - 保存文件。
- 重启Codex。
- 开始一个新会话。
- 仅将更大的窗口用于真正受益于它的任务。
- 在超长会话期间监控使用情况和上下文质量。
- 如果额外的上下文没有改善你的工作流程,请移除该覆盖设置。
配置如下:
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000
仅用于单个CLI会话:
codex -m gpt-5.6-sol \
-c model_context_window=1000000 \
-c model_auto_compact_token_limit=900000
常见问题
GPT-5.6 Sol真的支持100万token的上下文窗口吗?
是的。OpenAI官方Codex社区文档说明GPT-5.6 Sol的上下文窗口为1,050,000个token。此处展示的Codex覆盖设置将工作预算设为1,000,000个token。
这三个Codex设置应该放在哪里?
将它们放在~/.codex/config.toml的顶层,在任何[section]标题之前。当你希望设置仅适用于某个仓库内部时,也可以使用项目作用域的.codex/config.toml。
为什么model_auto_compact_token_limit设置为900000?
它指示Codex在约90万token时开始自动历史压缩。这会在配置的100万预算内留出大约10万token的空间,用于继续使用工具、对话、推理和输出。
我必须永久启用100万上下文吗?
不必。你可以通过-c标志在单个CLI会话中传递相同的设置。当只有少数异常大的任务需要扩展上下文时,这很有用。
100万上下文会让GPT-5.6 Sol更准确吗?
不会自动如此。OpenAI
在 MRCR v2 上,256K–512K 上下文时报告准确率为 91.5%,512K–1M 时为 73.8%,这表明即使模型能够接受该上下文,检索质量在最长范围内仍会下降。
启用 1M 上下文会消耗更多 Codex 配额吗?
可能会。OpenAI 表示默认设置是针对性能和成本进行调优的,来源文章强调了社区报告称,非常长的会话可能更快消耗限额。请查看当前的 Codex 用量和速率限制文档,因为具体的计费方式可能会变化。
自动压缩是否比保留完整历史记录更好?
通常是的。压缩可以在不重复携带每条原始日志和工具结果的情况下,保留较早轮次的重要状态。对于确实需要精确旧细节的任务,1M 覆盖选项让您可以延迟这种压缩。
Astra 是否正式命名为 GPT-6?
不是。OpenAI 公开将 Astra 描述为一款即将推出的模型及其下一代主要模型,而 Tibo Sottiaux 表示 Codex 将配备 Astra。OpenAI 尚未正式宣布 Astra 的产品名称是 GPT-6。
相关工具
- Codex:OpenAI 的智能体编码环境,适用于终端、IDE、桌面和云端工作流。
- GPT-5.6 Sol:OpenAI 的旗舰 GPT-5.6 模型,也是本次 1M 上下文配置所使用的模型。
- Codex CLI:用于每次会话覆盖的命令行 Codex 界面。
- Git:版本控制有助于存储持久化的项目状态,而不是完全依赖过大的聊天历史记录。
- TOML:Codex 的
config.toml所使用的配置文件格式。
相关链接
- OpenAI:Codex 中的 1M 上下文:OpenAI 关于确切的 GPT-5.6 Sol 配置和单会话 CLI 覆盖的社区文档。
- Codex 配置参考:
model、model_context_window和model_auto_compact_token_limit的官方定义。 - Codex 配置基础:关于用户级和项目级
config.toml文件的官方指南。 - GPT-5.6 官方公告:模型可用性、基准测试、长上下文评估结果以及当前 GPT-5.6 的定位。
- Codex 定价与套餐:当前的 Codex 套餐和用量信息。
- Codex 费率表:关于 Codex 积分消耗和受支持模型的当前指南。
- OpenAI 关于 Astra 网络能力的说明:官方确认 Astra 是一款即将推出的模型。
- Tibo Sottiaux 关于 Codex 中 Astra 的发言:公开帖子,称 Codex 将配备 Astra。
总结
现在可以在 Codex 中通过 ChatGPT 账户用量启用 GPT-5.6 Sol 的大上下文窗口,只需在 config.toml 中添加三个顶层设置:
选择模型,设定1,000,000 token的预算,并在达到900,000 token时触发自动压缩。同样的配置也可以应用于单个CLI会话,而无需更改默认设置。
该功能对于异常庞大的代码库和长时间运行的工作流非常有用,但不应将其视为免费升级。OpenAI刻意调整了Codex的默认上下文,以兼顾性能和成本,其自身评估显示,在512K–1M区间内,长上下文检索性能有所下降。
最安全的工作流是:常规任务使用默认设置,仅当早期压缩确实导致信息丢失时,才启用1M。
三行覆盖配置让你掌控上下文预算;但它并不能消除在携带百万级token时所伴随的性能、使用量和检索方面的权衡取舍。



