Codex 在 v0.98.0 之后默认开启了 Steer Mode。这个功能名字听着玄乎(Steer = 驾驶、掌舵),其实就是让你控制消息是“立即发”还是“先排队”。
以前的任务调度比较死,现在通过 Enter 和 Tab 两个键就能把控节奏。
Enter vs Tab
1. 按 Enter:立即提交
这就是最常用的提交方式,不管 AI 有没有在干活,按了就发。
- 空闲时:正常提交指令。
- 任务运行中:立即提交新指令。这时候可能会打断当前的生成,或者让 AI 并行处理。
2. 按 Tab:排队等待 (Queue)
这是 Steer Mode 的核心逻辑。
- 任务运行中:按 Tab 提交,消息不会马上发给模型,而是进个本地队列。
- 效果:等当前这个任务跑完了,Codex 会自动执行刚刚排队的任务。
- 空闲时:如果没在跑任务,Tab 的行为跟 Enter 一样,直接提交。
场景:Codex 正在写一个长函数,你已经想好下一步要写测试或者重构了。别等它写完,直接 Tab 把后面几步指令排进去,然后你可以起身边喝水边等它自动跑完。
对比
| 场景 | 按 Enter | 按 Tab |
|---|---|---|
| 任务空闲 | 立即提交 | 立即提交 |
| 任务运行中 | 立即提交(可能打断当前任务) | 进入队列(等当前任务完事后再跑) |
提示:从 v0.99.0 开始,如果输入是以
! 开头的 Shell 命令,Tab 键还是原来的补全功能,不会触发提交。按 Enter(立即提交)
用户: 写一个快速排序 [Enter]
Codex: 正在生成代码...
用户: 再写一个归并排序 [Enter] ← 按 Enter
Codex: [立即停止当前任务] 或 [并行响应]
↓
立即处理新指令结果:打断当前任务或并行执行,可能让模型"分心"
按 Tab(排队)
用户: 写一个快速排序 [Enter]
Codex: 正在生成代码...
用户: 再写一个归并排序 [Tab] ← 按 Tab
↓
消息进入队列,等待当前任务完成
当前任务完成后 → 自动执行排队的指令结果:不打扰当前任务,顺序执行
为什么叫 Steer?
官方最近还出了个 Turn Steering API。其实 Steer 指的就是对“对话回合(Turn)”的导向。
以前是 AI 写完用户再说,现在你可以像开车掌舵一样,提前预设好它接下来的动作。