用途:在编码之前对实现计划做跨模型对抗式审查。Claude Code 负责规划与编排,OpenAI Codex 作为只读批评者,可读仓库与计划但不能修改任何文件;双方通过 PLAN_FILE 与跨轮持续的 Codex 会话沟通。人类只在两个节点介入:启动与最终签字。适合 auth、数据模型、并发、迁移、支付等代价高昂的任务,明显廉价的工作可跳过。
主要能力与参数:MAX_ROUNDS 默认 5,硬性上限,循环必然终止;PLAN_FILE 默认 PLAN.md;LOG_FILE 默认 PLAN-REVIEW-LOG.md,为追加式辩论记录,是核心交付物。传入 rounds=3 之类参数可覆盖。开工前需回显解析后的值与实际模型(读取 ~/.codex/config.toml 的 model 行,缺失则为“CLI default”)。
用法要点:需 Codex CLI ≥ 0.130 并已登录;除非用户要求,不要固定 -m。首轮用 codex exec -s read-only --json -o /tmp/codex-verdict.txt 发起,从 thread.started 行解析 thread_id,批评文本落在输出文件。后续轮用 codex exec resume "$THREAD_ID" -c sandbox_mode="read-only" --json 恢复同一会话;resume 不接受 -s,必须用 -c sandbox_mode="read-only" 强制只读,否则可能继承 config.toml 的 danger-full-access 而写入文件。命令需加 < /dev/null,否则非交互环境会静默挂起;每轮设 10 分钟超时,超时按失败处理并告知用户。
流程与限制:每轮读取输出文件、把批评追加到日志、检查末行 VERDICT:APPROVED 则跳出,REVISE 则由 Claude 决定采纳与否并修订计划。达到 MAX_ROUNDS 仍未通过视为僵局,需列出未决分歧交由人类裁决。Codex 每轮始终只读,循环必然在 MAX_ROUNDS 终止,只有人类第二道关卡通过后才写代码;不用于审查既有代码。