Codex CLI 可以在 config.toml 中设置 model_reasoning_effort。用户级默认配置写在 ~/.codex/config.toml,项目级配置写在仓库的 .codex/config.toml;一次性运行则可用 -c 或 --config 覆盖。常见值为 minimal、low、medium、high 和 xhigh,其中 xhigh 是否可用取决于模型。
打开用户目录中的 Codex 配置文件:
~/.codex/config.toml
加入模型和推理强度:
model = "当前使用的模型"
model_reasoning_effort = "medium"
这会成为当前用户启动 Codex CLI 时的默认值。模型名称应填写实际可用的模型标识,不要把示例占位文本直接保存。
如果某个仓库需要不同配置,可以在项目中创建:
.codex/config.toml
例如,高风险代码库希望默认使用更充分的推理:
model_reasoning_effort = "high"
项目配置只会在 Codex 信任该项目时加载。未信任项目会跳过项目范围的 .codex 配置层,这是安全设计的一部分。
用户级配置适合个人通用习惯,项目级配置适合仓库特有需求。
| 位置 | 作用范围 | 适合用途 |
|---|---|---|
~/.codex/config.toml | 当前用户 | 设置日常默认模型和推理强度 |
.codex/config.toml | 当前项目或子目录 | 为特定代码库覆盖默认值 |
| profile 配置 | 选定工作流 | 区分快速处理与深度审查 |
-c / --config | 当前一次运行 | 临时试验,不修改文件 |
不想修改配置文件时,可以在启动命令中传入配置覆盖:
codex -c 'model_reasoning_effort="high"'
也可以使用长参数:
codex --config 'model_reasoning_effort="low"'
外层单引号由 shell 处理,内层双引号让值按 TOML 字符串解析。不同 shell 的引用规则可能不同,遇到解析错误时应先检查实际传给 Codex 的参数。
model_reasoning_effort 的值是字符串。以下写法明确可靠:
model_reasoning_effort = "high"
命令行覆盖同样需要让值被解析为字符串。若写成未加引号的裸值,解析器可能把它视为无效 TOML。
Codex 会合并多个来源,官方配置顺序从高到低包括:
--config 覆盖。.codex/config.toml,离当前目录最近的层级优先。--profile 选择的 profile 文件。~/.codex/config.toml。因此,用户文件中写了 medium,但命令行显式传入 high 时,本次运行会使用命令行值。
Codex 可以从项目根目录到当前工作目录逐层读取项目配置,越接近当前目录的配置优先级越高。
这种方式适合单体仓库。例如,普通应用目录使用 medium,而安全组件子目录使用 high。不过配置层级过多会增加排错难度,应在仓库文档中说明覆盖关系。
model_reasoning_effort = "low"
low 适合边界清楚、结果容易验证的任务,例如结构化提取、固定格式修改和局部代码调整。它偏向更低延迟和较少推理用量。
model_reasoning_effort = "medium"
medium 适合大多数交互式开发工作,可作为评测基线。它不是所有模型永久不变的默认值,因此需要可重复行为时应显式设置。
model_reasoning_effort = "high"
high 适合跨模块调试、架构权衡、数据库一致性和安全审查。更高推理投入可能增加等待时间和用量,只有评测证明质量提升时才值得长期启用。
model_reasoning_effort = "xhigh"
xhigh 是模型相关档位。它适合最困难的异步 Agent 任务或能力上限评测,不适合作为所有会话的通用默认。
如果当前模型不支持,客户端或服务端可能拒绝请求。遇到问题时先切回 high,再检查模型文档。
model_reasoning_effort = "minimal"
官方 Codex 配置参考将 minimal 列为候选值之一。它适合极其明确的机械任务,但具体模型仍需支持该档位。
Responses API 使用 reasoning.effort,Codex CLI 配置使用 model_reasoning_effort。两者表达相近概念,但字段路径和支持值不应混用。
API 文档可能针对某些模型列出 none 或 max,而当前 Codex 配置参考列出的值集合可能不同。配置 CLI 时应以 Codex 配置参考为准。
推理强度离不开具体模型。推荐在配置或测试记录中同时保存:
model = "团队批准的模型标识"
model_reasoning_effort = "medium"
切换模型后应重新确认支持值和默认行为。旧配置在新模型上可能失效,或得到不同的延迟与质量表现。
当同一开发者经常切换工作类型时,可以用 profile 隔离配置。profile 的具体文件名和选择方式应以当前版本文档为准,典型启动形式是:
codex --profile profile-name
可以为快速分诊设置 low,为日常开发设置 medium,为审计设置 high。这样比频繁修改用户配置更容易复现。
-c、--config 或 --profile。不要只根据回答长度判断是否生效。推理强度和输出长度是不同控制维度。
按以下顺序排查:
model_reasoning_effort。如果先声明了一个 TOML 表格,后续键会属于该表格,直到出现新的表格声明。下面的写法可能让推理设置落入错误位置:
[features]
some_feature = true
model_reasoning_effort = "high"
推理强度应作为顶层配置。最稳妥的方式是把它放在文件顶部、任何表格声明之前。
很多“配置不生效”并非解析失败,而是有更高优先级的值。例如项目文件覆盖了用户文件,或启动脚本始终传入 --config。
排查时应列出所有配置层,而不是只反复编辑一个文件。
配置参考给出 Codex 接受的候选值,但最终还要由所选模型支持。尤其是 xhigh,官方明确标注为模型相关。
如果请求报无效参数,应先查模型能力,而不是把问题归因于网络或账号。
早期 GitHub Issue 可以说明用户曾经需要某项能力,但不能证明当前版本的配置方法。Issue 可能在功能实现前创建,也可能因后续变更而过时。
实际配置时应优先查看当前官方配置参考和客户端版本。
项目级配置会影响使用该仓库的成员,应做到:
成员仍可通过更高优先级的 CLI 覆盖进行一次性试验。
日常交互开发:
model = "实际模型标识"
model_reasoning_effort = "medium"
低延迟、可自动验证的任务:
model = "实际模型标识"
model_reasoning_effort = "low"
复杂审查任务:
model = "确认支持的模型标识"
model_reasoning_effort = "high"
准备一组固定任务,分别测试不同档位,记录首次通过率、测试结果、总完成时间、Token 用量和人工纠正次数。只有档位变化产生稳定差异时,才把结果固化为默认值。
模型升级后需要重新测试,因为支持能力和默认行为可能变化。
可以使用当前模型,但为了复现实验,最好同时记录模型标识。
先检查项目是否受信任,再检查文件路径、当前工作目录和更高优先级覆盖。
不会。-c 或 --config 只针对当前运行,长期默认应写入相应配置文件。
当前模型可能不支持。切换到 high 并查阅该模型的最新说明。
Codex CLI 的推理强度通过顶层键 model_reasoning_effort 设置。个人默认写入 ~/.codex/config.toml,项目覆盖写入受信任仓库的 .codex/config.toml,临时试验使用 -c 或 --config。排错时重点检查 TOML 字符串、配置层优先级、项目信任状态和模型支持范围;不要用历史 Issue 或 API 的字段定义替代当前 Codex 配置参考。
Codex 的 reasoning.effort 如何权衡推理质量、Token 成本与响应延迟?
Codex 的 Reasoning Effort 应如何在 low、medium、high 与 xhigh 之间选择?
Pi Agent 能否替代 Codex CLI 作为 Codex 的 Agent Harness?
Claude Agent 的使用方式需要遵守哪些账号政策?
让 Agent 记住上下文:用 token 预算、轮次裁剪和滚动摘要管理多轮历史
Linux入门学习之通过vmware虚拟机安装ubuntu系统的方法