多代理、Subagents 与 Worktrees
Codex 并行代理、custom agents、Worktrees、Handoff 和后台任务的使用边界,用于把复杂任务拆开而不污染主线程。
这页补齐 Codex 的并行工作流入口。简单任务继续用单线程;当任务能拆成互不干扰的探索、审查、测试或实现片段时,再让 Codex 开 subagents 或 worktrees。
Subagents 会额外消耗 token,worktrees 会额外占磁盘。不要把强依赖同一批文件的写操作拆给多个代理同时改。
#能力选择
| 目标 | 推荐能力 | 适合场景 |
|---|---|---|
| 并行阅读和审查 | Subagents | 安全审查、测试缺口、架构风险、日志分析 |
| 后台实现一个独立分支 | Worktree | 你继续在本地工作,Codex 在隔离 checkout 里做实验 |
| 多个长期方向 | Permanent worktree | 重构分支、升级分支、Spike 分支长期保留 |
| 线程在前后台之间切换 | Handoff | 先让 Codex 背景跑,需要人工细看时移回 Local |
| 团队级角色复用 | Custom agents | reviewer、tester、explorer、migration-owner 等固定职责 |
#Subagents
Codex 只有在你明确要求时才会开 subagents。提示词里要写清楚「分几个代理」「每个代理看什么」「是否等待全部完成」「最后返回什么格式」。
用并行 subagents 审查当前分支。
开 3 个代理:
1. 安全和权限风险
2. 测试缺口和回归风险
3. 可维护性和复杂度
等全部完成后,按 P0/P1/P2 汇总,每条带文件路径和理由。适合 subagents 的任务:
| 任务 | 为什么适合 |
|---|---|
| 大仓库探索 | 每个代理负责一个目录或领域,减少主线程噪音 |
| PR review | 不同代理分别看安全、正确性、测试 |
| 日志和失败原因分析 | 一个代理看应用日志,一个代理看 CI,一个代理看最近 diff |
| 文档覆盖审计 | 一个代理对照官方文档,一个代理检查本地导航和链接 |
不适合 subagents 的任务:
- 多个代理同时重写同一个核心文件。
- 需求还没定清楚,每个代理都可能朝不同方向发挥。
- 用户只需要一个小修复,并行开销比收益更高。
#Custom agents
Custom agents 是可复用的代理角色。个人级放在 ~/.codex/agents/,项目级放在 .codex/agents/。每个 TOML 文件至少需要:
name = "reviewer"
description = "Review code for correctness, security, regressions, and missing tests."
developer_instructions = """
Prioritize concrete bugs over style.
Return findings with file paths and severity.
Do not modify files.
"""
model_reasoning_effort = "high"
sandbox_mode = "read-only"常用字段:
| 字段 | 用途 |
|---|---|
name | Codex 调用这个 agent 的稳定名称 |
description | 什么时候应该使用它 |
developer_instructions | 这个代理的核心行为和输出要求 |
model | 需要固定模型时再写 |
model_reasoning_effort | 审查、安全、复杂推理建议 high |
sandbox_mode | 只读审查代理建议 read-only |
mcp_servers | 给某个代理绑定特定 MCP |
全局并发限制在 config.toml 的 [agents] 里配置:
[agents]
max_threads = 6
max_depth = 1
job_max_runtime_seconds = 1800max_depth 默认保持 1 更稳,避免代理继续派生代理造成不可控的 fan-out。
#Worktrees
Codex App 的 worktree 基于 Git worktree。它会给后台线程创建独立 checkout,让 Codex 改代码时不干扰你的当前工作区。
使用前提:
- 项目必须是 Git 仓库。
- 当前分支、依赖和环境要能在新 checkout 里复现。
- 被
.gitignore忽略但 worktree 必须用到的文件,需要用.worktreeinclude明确复制。
.worktreeinclude 示例:
.env.local
config/secrets.json只列确实需要复制到 Codex 托管 worktree 的本地文件。不要把 tracked 文件写进去,也不要无脑复制整个密钥目录。
#Handoff
Handoff 用来在线程和代码之间切换前后台:
| 流程 | 说明 |
|---|---|
| Local -> Worktree | 你想释放当前工作区,让 Codex 在后台继续 |
| Worktree -> Local | 你想用自己的 IDE、测试环境或 dev server 细看结果 |
| Worktree -> branch | 结果可以独立成分支,准备 commit / push / PR |
Git 不允许同一个分支同时被两个 worktree checkout。Codex 的 Handoff 会处理必要的 Git 操作,比手动 checkout 同一个分支更稳。
#并行安全策略
把并行工作流当成临时分支治理:
| 事项 | 建议 |
|---|---|
| 分支命名 | codex/<task> 或 spike/<task> |
| 权限 | 探索和 review 用 read-only,实现用 workspace-write |
| 依赖安装 | 在 worktree 里单独安装,不要污染主 checkout 的锁文件 |
| 验证 | 每个 worktree 合并前必须跑对应测试 |
| 合并 | 先看 diff,再 cherry-pick、merge 或让 Codex 准备 PR |
| 清理 | 归档线程、删除不需要的 worktree,避免依赖缓存膨胀 |
#Passion8 边界
本地 CLI、App 的 Local 线程、IDE 扩展使用本机 ~/.codex 配置,可以走 Passion8 的 https://passion8.cc/v1。
Cloud task、Slack、Linear、GitHub 托管 review 运行在 OpenAI 官方云端环境,不要假设它们继承本机 Passion8 Provider。需要云端能力时,按官方 ChatGPT / Codex workspace 的连接和权限配置处理。
#接着看
#官方参考
Support / 支持
Need help? / 需要帮助?
接入、计费与模型异常可邮件联系;服务可用性以状态页为准。
For setup, billing, or model issues, email us. Check the status page for uptime.
也可使用右下角微信 / QQ 客服 · WeChat / QQ support is available at the bottom right

