所属教程:OpenAI Codex CLI 从入门到大师级完整教程 预计阅读:24 分钟
面对一批任务时,关键不是"让代理一口气做完",而是合理切分、彼此隔离、结果结构化、人工统一收口。除了在 Shell 中用 codex exec 逐个处理,官方还提供了云端任务与 TypeScript SDK(如 @openai/codex-sdk 的线程运行与恢复能力)作为程序化组织载体。本节讲清三种组织方式、任务切分与隔离原则、结果汇总方法;SDK 与 CLI 是不同集成层,具体 API 以官方 SDK 文档为准。
| 载体 | 特点 | 适合任务 |
|---|---|---|
| 交互会话串行处理 | 人在场逐批确认、随时纠偏,吞吐低但可控 | 数量少、判断重、需求仍在变化的任务 |
codex exec 脚本批处理 | 在 Shell 中按清单逐项运行、产出落盘,配合受控环境 | 规则明确、可重复、可验证的本地/流水线任务 |
| 云端任务 / SDK 线程 | 以程序方式发起任务、线程可继续运行与恢复,便于接入自有工作流 | 需要编排、持久上下文与后台执行的集成场景 |
官方 SDK 的典型用法是新建代理、启动线程、在线程上运行任务,并在后续继续同一线程以保持上下文;它面向开发者集成,不等同于终端里的 codex exec 命令。概念形态如下(仅示意,以官方 SDK 文档为准):
import { Codex } from "@openai/codex-sdk";
const agent = new Codex({});
const thread = await agent.startThread();
const result = await thread.run("Explore this repo");
const followUp = await thread.run("Propose changes");
| 维度 | 做法 |
|---|---|
| 工作区隔离 | 不同任务使用独立目录、检出副本或工作分支,失败不污染基线 |
| 上下文隔离 | 任务间不把上一个任务的结论当作既定事实带入;需要继承的结论显式作为输入提供 |
| 依赖一致 | 固定运行环境与依赖版本,避免同批任务因环境差异得到矛盾结果 |
| 资源与并发 | 按机器与配额设定并发上限,避免同时大量任务争抢资源或超额度 |
| 失败边界 | 单个任务失败不拖垮整批;记录失败原因,保留可重跑的任务描述 |
| 问题 | 处理建议 |
|---|---|
| 任务越多越好吗 | 不是。批量任务价值取决于可验证性与风险;模糊、主观、不可逆的任务应保持人工主导,不强行批处理。 |
| 多个任务结果相互冲突怎么办 | 停止自动合并,按结构化清单列出冲突点与依据,由人工裁决后拆分重跑冲突项。 |
| CLI exec 批处理与 SDK 如何选择 | 简单 Shell 自动化用 codex exec;需要在应用内编排、线程上下文复用与后台调度时再评估 SDK。 |
| 如何判断批量结果质量 | 抽样复核采纳率与误报率,对照测试结果与人工评审意见持续收窄任务定义。 |
第 10 章覆盖自动化进阶:codex exec 的非交互定位与安全前置、CI 流水线中的受限协作与门禁兜底、批量任务的切分隔离与结构化汇总,共同原则是"自动化提效、边界前置、人工收口"。第 11 章转向会话与资源管理:如何恢复与延续会话、在长任务中管理上下文长度与质量,以及查看和控制用量与额度;会话恢复与用量查看的具体命令以当前版本官方文档与 codex --help 为准。
← 上一节:接入 CI 与自动化检查流水线 下一节:会话保存、延续与切换 →