所属教程:OpenAI Codex CLI 从入门到大师级完整教程 预计阅读:28 分钟
交互会话里的 codex 适合"人在回路"、边聊边改;codex exec 则面向 Shell 与脚本中的非交互自动化执行:一次性接收明确任务、按受控环境运行、把结果交给流水线或脚本处理。官方在全面开放公告中明确:需要在 Shell 环境工作流中直接使用 Codex 智能体时,可安装后通过 codex exec 运行 CLI。本节讲清它与交互模式的区别、适用边界、安全前置与落地流程;具体参数与选项以当前版本 codex --help 与官方文档为准。
| 维度 | 交互 codex 会话 | 非交互 codex exec |
|---|---|---|
| 运行形态 | 启动终端界面,多轮对话、随时追问与确认 | 在 Shell/脚本中按给定任务一次运行,不进入持续对话界面 |
| 人工参与 | 人可在关键节点确认、纠偏、补充上下文 | 运行前把要求写清楚,运行过程中通常不逐条交互 |
| 适用场景 | 探索式开发、需求不清、需要反复澄清的任务 | 明确、可重复、可验证的任务,如检查、分析、固定改造、流水线步骤 |
| 审批与人确认 | 可按审批策略逐条确认敏感动作 | 无人值守,必须在运行前用受控沙箱、最小权限与规则把边界定好 |
| 结果形态 | 界面内逐步呈现,人工边看边决定是否采纳 | 产出改动、报告或退出状态,由脚本/流水线收集后交人工复核 |
| 典型位置 | 开发者本地终端 | 本地脚本、构建脚本、CI 步骤、定时任务 |
| 适合(明确、可重复、可验证) | 不适合(应回到交互会话) |
|---|---|
| 对固定规则做一致性检查、代码风格与类型问题扫描建议 | 需求模糊、需要多轮澄清才知道做什么 |
| 按既定模板生成结构化产出(说明、摘要、检查清单) | 高风险、强主观判断且需要人实时把关的决策 |
| 隔离环境中的重复改造、迁移样板、批量文档整理 | 对主分支直接写入、对外发布或凭据变更等不可逆动作 |
| 流水线中的只读分析与建议生成,供人工采纳 | 需要根据中间结果反复调整方向的探索任务 |
非交互运行缺少人在现场逐条确认,因此把安全边界前移到运行之前。结合官方安全部署原则,应在启动前满足以下条件:
codex exec 任务,收集输出、改动文件清单与退出状态。git diff 审阅改动、运行项目既有检查;确认无误后再由人工 git add、git commit,避免自动提交直接进主干。| 问题 | 处理建议 |
|---|---|
codex exec 有哪些命令行参数 | 不凭记忆照抄参数;以本机 codex --help、codex exec --help 与当前官方文档为准,不同版本选项可能调整。 |
| exec 是否等于"全自动放心跑" | 不是。它只是去掉了逐条对话交互,权限与审批边界仍需在运行前设定;高风险动作仍应人工把关。 |
| 脚本里如何保证失败可发现 | 让脚本检查退出状态与产出是否存在;失败时保留日志与改动快照,不静默吞错。 |
| 适合先从哪类 exec 任务起步 | 从只读分析、报告生成、建议产出开始,积累信任后再做受限写操作,不第一步就开放自动修改与提交。 |
git diff,对比人工采纳过程与交互会话的差异。本节掌握了 codex exec 的非交互定位、适用边界与安全前置流程。下一节把它放进 CI/CD 自动化流水线:如何在隔离检查中让代理产出评审建议与受限改动,并用既有测试、评审门禁兜底,而不是让它直接改写主干。
← 上一节:高级参数、工具与环境配置 下一节:接入 CI 与自动化检查流水线 →