0.164 改了什么
OpenAI 在 10 月 23 日放出 Codex CLI 0.164.0 稳定版。这次更新不涉及模型能力,全是工作流层面的改进,核心有三条:
- 新增
/presets命令:把提示词和斜杠命令存进 10 个编号槽位; - 支持内联命令临时切换模型、推理强度(reasoning effort)和权限模式;
- 修复了 compaction 失败后历史丢失的问题,并在恢复会话时正确还原已保存的设置。
第三条是"隐形修复",但价值最大——之前上下文压缩一失败,整个会话的上下文就废了,长任务被迫重来。
/presets 怎么用:三步上手
第一步:存一个 preset
在会话里输入 /presets 会看到 10 个空槽位。存的时候给它一个编号和内容,内容可以是一条完整 prompt,也可以是一串斜杠命令的组合。
/presets set 1 "读一遍 src 目录,画出模块依赖关系,输出 Mermaid 图,不要改任何代码"
/presets set 2 "/model gpt-5.6-sol /effort high 重构当前文件的错误处理,保持接口不变"
/presets set 3 "为本仓库补单元测试,覆盖率目标 80%,只新增文件不改现有测试"
第二步:调用
之后在任何会话里 /presets 1 就能直接执行。省掉的是每次重新敲一遍长 prompt 的时间——如果你每天要重复五六个固定任务,这个改动一周能省出一两个小时。
第三步:整理逻辑
10 个槽位不多,建议按任务阶段分组而不是按项目分组:
- 槽 1-2:理解类(读代码、画架构、解释报错)
- 槽 3-5:执行类(重构、补测试、迁移)
- 槽 6-7:检查类(review diff、安全扫描、性能分析)
- 槽 8-10:收尾类(写 commit message、生成 PR 描述、更新文档)
按阶段分的好处是,换项目时不用重配,那套工作流是通用的。
内联命令:这次最容易被忽略的改进
以前改模型或推理强度要退出会话重开,现在可以在 prompt 里内联指定。典型用法:
- 简单改错别字用低推理强度模型 → 快且省;
- 架构级重构临时切到高强度 →
/effort high; - 需要写文件时显式提权,读完立刻降回只读。
权限内联切换是安全收益。默认给读写权限的 agent 是风险源,现在你可以养成"读代码时只给读权限,真要改再提权"的习惯。
五个我实际在用的 preset 模板
模板 A|架构理解:先读目录结构和入口文件,再输出调用链,最后列出三个最可能出问题的地方。关键是"不要改代码"这句必须写明,否则 agent 会手痒。
模板 B|最小修复:只修这一个报错,改动不超过 20 行,不允许引入新依赖,不允许改公共接口。限定改动规模是控制 agent 跑偏最有效的手段。
模板 C|补测试:先列出所有分支,再逐个补 case,最后说明哪些分支无法测试及原因。第三条能逼模型暴露它不确定的地方。
模板 D|代码审查:只看 diff,按严重程度排序,每条给出文件行号和具体改法,不要泛泛而谈"建议优化"。加"不要建议"这类词能显著减少废话。
模板 E|提交信息:按 Conventional Commits 格式,一行标题不超过 72 字符,正文说明"为什么"而不是"改了什么"。
和 Cursor、Claude Code 的差别在哪
同期 Cursor 的 agent 拿到了桌面控制能力,可以操作 iOS 模拟器这类原生应用做端到端验证;Claude Code 走的是深度 IDE 集成路线。
三条路线的定位差异:
- Codex CLI:终端优先,可脚本化、可进 CI,适合把 agent 编进自动化流程;
- Cursor:编辑器内体验最顺,适合人在环里的日常开发;
- Claude Code:上下文管理最强,适合大仓库长期任务。
我的实际做法是混用:日常改动用 Cursor,批量重构和 CI 里的自动化用 Codex CLI。两者的 prompt 思路可以互相迁移。想了解 Claude Code 那条线,可以看站内 Claude Code 工具页。
几个坑
- preset 不会跨机器同步,换设备要重新配。建议把槽位内容存一份到 dotfiles 仓库;
- preset 里带斜杠命令时注意顺序,模型切换要放在任务指令之前,否则会用旧模型解析;
- 会话恢复修复了,但 compaction 失败仍会发生。长任务建议在关键节点主动让它总结一次,别等自动压缩;
- 推理强度拉高会显著增加 token 消耗,日常任务不要默认 high。
适合谁升级
所有在用 Codex CLI 的人都该升,主要为了 compaction 的修复。如果你每天有超过三个重复的固定任务,/presets 的收益会非常明显。如果只是偶尔用一次,升级但不用急着配槽位。
总结
0.164 没有智能提升,但它把 agent 从"每次都要重新解释一遍"推进到"工作流可复用"。工具成熟的标志从来不是能力变强,而是重复劳动被消除。