在 Codex 自定义 Plan Mode 里,快乐地做选择题。
通过修改 Codex 的配置文件,把 clarifier 里的决策点变成选择题。
上一篇文章介绍了我用 clarifier 和 todos 两个 Skill,搭建一套类似官方 Plan Mode、但更符合自己工作方式的需求澄清和任务管理流程。详见《我做了一个自己的 Plan Mode:把模糊需求变成可执行任务》。
这套流程解决了“先查清事实,再写计划”和“把计划留在项目里”两个问题。不过实际用下来,还有一个很影响体验的小问题:
在收集上下文、确认细节和多轮澄清时,Codex 总是会输出一大堆文字,阅读都要花上大段时间,效率很低,每次重新组织一次回复都花很长时间。
不过,通过修改 Codex 的配置文件可以解决这个问题。
Part 1|先在普通模式中开启交互式提问
在 Codex App 中进入 Settings → Configuration,将左侧下拉菜单切换到 User config,再点击右上角的 Open config.toml,就能打开用户配置文件。配置文件通常位于 ~/.codex/config.toml。
在已有的 [features] 下添加下面这一行:
default_mode_request_user_input = true保存后,新开一个任务;如果没有生效,重启 Codex App 再试。
这个开关的作用很直接:原本主要在官方 Plan Mode 中可用的 request_user_input,现在在普通模式也能使用。这样我就不必为了获得交互式提问而放弃普通模式下读取文件、运行命令和检查环境的能力了。
Part 2|把明确的决策点做成选择题
配置只是让工具变得可用。具体怎么问,仍然要靠 clarifier 这个 Skill 里的约定。
我给 clarifier 约定了几条跨 Agent 都能使用的规则。在 Codex 中,符合条件的问题会通过 request_user_input 呈现为选择题:
- 每轮澄清前,先识别 1 至 3 个清晰、需要用户决定且彼此独立的决策点。
- 每个决策点能用 2 至 3 个互斥、可执行的选项表达时,优先用结构化方式向用户提问;否则正常对话。
- 每轮最多询问三个决策点;每个决策点的推荐选项放在第一项,并说明各选项对方案的影响。
- 用户可以选择已有选项、提出疑问,或给出不同方案;不理解时先解释,不强迫其选择。
- 用户仍在描述复杂背景、问题尚未收敛,或选项本身不合理时,不急着给出选项,而是先通过自然语言继续追问和讨论。于是,原本需要从长回复里找重点的对话,会变成下面这种节奏:每轮处理至多三个已经收敛、彼此独立的问题,选择之后再进入下一步。
这类问题的共同点是:Agent 已经完成了前面的信息收集,剩下的是一个边界清楚、会影响方案走向的选择。我不用先理解全部推理过程,也不用把答案组织成一段完整提示词,只需要判断哪条路径更符合当前目标。
在 Codex 里,整个过程可以概括成:
收集上下文
↓
识别当前真正需要用户决定的问题
↓
使用 request_user_input 提问
↓
根据用户的选择或疑问继续澄清
↓
形成清晰的澄清结论Part 3|但,不是所有问题都该做成选择题
clarifier skill 没有把所有对话都做成选择题按钮。
如果现在正在描述复杂背景,或者问题本身还没有收敛,Agent 还不知道有哪些合理选项,就不急着把问题变成选择题,而是先用自然语言继续追问和讨论。
过早给出几个看似完整的选项,反而会限制思维。
只有当 Agent 已经识别出一个清晰、互斥且可执行的决策点时,结构化提问才有意义。此时,选择题这种轻量的交互才是最有效率的时候。
对我来说,这个配置并没有改变自定义 Plan Mode 的核心逻辑:仍然是先查事实、再澄清、再做选择。它只是把其中最频繁的“请你决定一下”变得更直接。
附录|公开仓库
本文使用的 clarifier 与后续更新统一维护在公开仓库 easy-simple-skills,可以在线查看完整 Skill 内容并跟踪更新。
GitHub:easy-simple-skills
参考资料:
原文发表于微信公众号。