--- description: "Codex 自动线程管理指南:解释 thread、resume、fork、worktree、handoff 和 subagent 的层级关系,帮助你在正确的地方继续、分叉和移交任务。" --- ::: tip 最后核对 官方资料最后核对日期:2026-06-25。本文参考 [Kimi Code Agents and Sub-Agents](https://moonshotai.github.io/kimi-code/en/customization/agents)、[OpenAI Codex Subagents](https://developers.openai.com/codex/subagents)、[Codex CLI features](https://developers.openai.com/codex/cli/features) 和 [Codex App Worktrees](https://developers.openai.com/codex/app/worktrees) 整理。不同版本的 App、CLI 和移动端界面可能会变化,请以当前客户端为准。 ::: # 自动线程管理 在 Codex 里,一次对话就是一个 **thread**(会话/线程)。你平时可以手动新建、继续或归档它;在桌面端,Codex 也能通过线程管理工具,主动整理、分叉、移交或跟进多个线程。 这类能力适合处理长期任务、后台跟进和多路线探索。并且线程拥有独立的上下文。这意味着分配任务给子线程将避免受到上下文的干扰,缓解Codex总是写出100%通过的测试的问题。 ![Codex 自动线程管理工具示例](https://cdn.canghecode.com/codexguide/docs/images/codex-auto-thread-management-tools-watermarked-small.png) ## 四个概念 | 概念 | 是什么 | 典型用法 | | --- | --- | --- | | **Thread** | 线程。用户可见的会话,有独立历史记录 | 长期任务、后台运行、稍后继续 | | **Worktree** | Git 工作树,多个并行的代码检出 | 让 Codex 在后台改代码,不打扰当前工作区 | | **Handoff** | 把 thread 及其 Git 状态移到另一个位置 | 在 local、worktree 或远程 host 之间切换 | | **Subagent** | 主任务中临时派生的子代理 | 并行分析、审查、验证同一任务的不同方面 | 核心一句话:**thread 是长期任务线,worktree 是并行代码工作区,handoff 负责把任务搬到合适的位置,subagent 是单次任务里的临时协作者。** ## 线程管理工具 下面这组工具来自 Codex APP。主要用于让 Codex 在后台主动查找、继续或管理会话。**它们不是对外公开的 CLI 命令或 API,而是内置的。命名和可用性可能随客户端版本变化。** | 工具 | 用途 | | --- | --- | | `list_threads` | 列出最近线程,可按关键词查找。 | | `read_thread` | 读取某线程的最近状态、摘要和历史片段。 | | `send_message_to_thread` | 向已有线程发送后续指令,让它在后台继续。 | | `set_thread_title` | 重命名线程。 | | `set_thread_pinned` | 置顶或取消置顶线程。 | | `set_thread_archived` | 归档或取消归档线程。 | | `fork_thread` | 从当前或指定线程分叉出新线程;可在同目录,也可新建 worktree。 | | `handoff_thread` | 把线程及其 Git 状态移交到本机、远程 host 或 worktree。 | | `get_handoff_status` | 查询移交流程进度。 | | `list_projects` | 列出可用于创建后台线程的本地/远程项目。 | 你可以试着对 Codex 说:“帮我归档超过一周的线程。”它做的事情和你手动整理会话没有本质区别,只是由 Codex 根据当前目标主动判断下一步。 ## 与 Subagent 的区别 自动线程管理和 Subagent 都能让 Codex 同时处理多个任务线,但层级不同。 | 对比项 | Thread | Subagent | | --- | --- | --- | | 管理对象 | 用户可见的会话 | 当前任务里临时生成的子代理 | | 主要用途 | 查找、继续、分叉、移交会话 | 并行探索、审查、验证、拆分复杂问题 | | 生命周期 | 可长期保留,出现在历史列表里 | 通常随一次主任务创建、汇总、关闭 | | 文件与沙盒 | 可关联 worktree、branch 或 PR | 继承主任务的沙盒和审批策略 | | 上下文机制 | 独立 transcript,拥有自己的完整历史 | 接收主 Agent 传入的任务描述,中间过程不会完整混入主上下文 | 一句话:**thread 是你长期整理的任务线,subagent 是 Codex 在单次任务里临时叫来的协作者。** ## 最佳实践 通过以下步骤,配合`/goal`,可以充分发挥自动线程管理的能力: 1. **文档驱动开发。** 新建 `docs/` 文件夹存放`PRD.md`、`TRD.md`、`REQUIREMENT.md` 等项目文档,并用 `AGENTS.md` 告诉 Codex 应该先读哪些文件。 2. **规范工作行为。** 用 `GUIDE.md` 或项目规则写明工作准则,例如“应当在独立 Git 分支工作”“提交前必须跑测试”。 3. **任命主线程。** 让主线程承担调度角色:分配工作给其他线程、撰写提示词,并监控运行情况。 4. **合理设置检查频率。** 如果主线程需要查看后台进展,可以约定检查间隔,例如每 3 分钟一次。频率过高会浪费上下文和 token。 5. **记录日志。** 在提示词里要求 Codex 记录工作日志,尤其是文档之外需要它判断的关键决策。 6. **定期复盘。** 通过查看日志和实际决策,找出卡住或低效的原因,再改进文档、规则。 ## 下一步 下一步:[配置文件 config.toml](./09-config-toml.md)。