Codex Best-of-N云端执行:多次尝试容错技巧指南
先说几个核心判断:Codex 的 Best-of-N 机制,本质上是让它在云端把同一个任务跑多遍,然后自动筛选出最靠谱的那个结果——你完全不用再人工反复重试、肉眼比对。这种方式能帮你彻底避开单次生成时的随机偏差,特别适合那些容错率极低的场景,比如关键代码生成、API契约定义、以及安全敏感的逻辑推导。
准备云端执行环境
你需要先登录 Codex 的 Web 版或桌面客户端,别忘了确保 Computer Use 插件已经打开,并且授予了它屏幕读取和应用控制的权限。这个插件没开的话,后面所有操作都只能在本地模拟,根本执行不了。
开一个新对话线程,在第一条消息里输入 @Computer,然后等着右下角出现绿色“Ready”状态灯亮起来。这一步绝对不能跳——【在没看到 Ready 前发出任何指令,Codex 都只是做个样子,完全不调用云端执行引擎】。
构造带 Best-of-N 语义的提示词
官方推荐使用四要素框架,在里面嵌套 N 次采样的指令。举个例子:
Goal:为用户注册流程生成符合 OAuth 2.1 规范的 token 刷新逻辑;Context:参考 @src/auth/tokens.ts 和 @docs/oauth21-rfc;Constraints:必须用 refresh_token+client_id 双因子校验,禁止硬编码密钥;Done when:输出包含完整 TypeScript 类型定义、覆盖所有错误分支、并且能通过 jest --testPathPattern=auth.test.ts 验证;请执行 Best-of-3 采样,每次独立生成完整实现,最后只返回得分最高的那一版。
要注意,N 值建议设为 3 或 5。如果设到 10 以上,响应会明显变慢,而且边际收益越来越小;设成 1 的话,就退化成普通的单次生成了,完全没有容错意义。
触发云端多路并发执行
第一步:点击发送后,Codex 会自动把这个任务拆解成 N 个并行子任务,在云端沙箱里各自跑;
第二步:每个子任务都会独立调用模型→加载上下文→生成代码→运行静态检查→执行单元测试→输出评分;
第三步:系统内置的评分器会按照类型安全度、测试覆盖率和 RFC 合规性这三项进行加权打分,然后自动选出得分最高的那一个;
第四步:最终输出只包含最优版本的代码块和一段简要的得分说明(比如“得分 92/100:类型完整 ✓,测试覆盖 87% ✓,RFC 第 4.1 节合规 ✓”),其他候选结果全部丢弃,也不会占用对话历史。
验证与接管输出结果
你可以直接把生成的代码复制到本地 IDE,运行 pnpm test --filter auth 来验证;
或者在 Codex 对话框里追加一条指令:“@Computer 在 VS Code 中打开 src/auth/tokens.ts,将上述结果替换第 142–189 行”,Codex 就会直接接管编辑器完成精准替换;
如果测试失败了,千万别手动去改——立即发起新一轮 Best-of-5,并在新提示词最后加上:“上次 Best-of-3 中失败项是类型推导错误,请强制启用 strictNullChecks 模式重试”。【人工修补会污染后续采样的基线,必须让系统自己重跑全链路】。
