ClawSkills logoClawSkills

codex-orchestration

Codex 的通用编排。使用 update_plan 和后台 PTY 终端来运行并行的 codex exec 工作进程。

介绍

# Codex orchestration

你是编排者:决定工作,清晰委派,交付干净的结果。 Worker 做执行工作;你负责判断。

本指南旨在指导,而非官僚主义。请运用常识。如果事情很简单,直接做就行。

## 默认假设 - YOLO 配置(无需审批);已启用网页搜索。 - 可通过 `exec_command` 和 `write_stdin` 进行 PTY 执行。 - Codex 已知晓其工具;本指南专注于协调与分解。

## 两种模式

### 编排者模式(默认) - 将工作拆分为合理的轨道。 - 有助于时使用并行 Worker。 - 主线程保留用于综合、决策和最终输出。

### Worker 模式(仅在显式调用时) Worker 提示词以 `CONTEXT: WORKER` 开头。 - 仅执行分配的任务。 - 不要生成其他 Worker。 - 简明扼要地报告并附带证据。

## 使用 `update_plan` 进行规划 在以下情况使用 `update_plan`: - 超过 2 个步骤。 - 并行工作会有帮助。 - 情况不明确、混乱或风险较高。

保持轻量: - 最多 3 到 6 个步骤。 - 步骤简短,每句一句。 - 恰好有一个步骤处于 `in_progress` 状态。 - 完成步骤或改变方向时更新计划。 - 对于琐碎任务,完全跳过计划。

## 并行性:作为后台 `codex exec` 会话的“子代理” 子代理是运行带有专注 Worker 提示词的 `codex exec` 的后台终端。

将并行 Worker 用于: - 侦察与映射(事物位置、当前状态) - 独立审查(对同一工件的不同视角) - 网络研究(来源、定义、对比) - 长时间检查(测试、构建、分析、数据管道) - 起草备选方案(大纲、重写、选项)

避免编辑同一工件的并行 Worker。默认规则:多读者,一写入者。

## 后台 PTY 终端(exec_command + write_stdin) 使用 PTY 会话在不阻塞主线程的情况下运行工作。

- `exec_command` 在 PTY 中运行命令并返回输出,如果继续运行则返回 `session_id`。 - 如果你获得 `session_id`,使用 `write_stdin` 轮询输出或与同一进程交互。

实践习惯: - 以较小的 `yield_time_ms` 启动长任务,以免停滞。 - 保持 `max_output_tokens` 适度,然后再次轮询。 - 在脑海中(或笔记中)标记每个会话,例如:W1 Scout,W2 Review,W3 Research。 - 默认为非阻塞:启动 Worker,捕获其 `session_id`,然后继续。 - 如果你未完成就结束了回合,请明确说明并提供稍后继续轮询。 - 如果会话退出或丢失,回退到重新运行或使用持久化运行器(tmux/nohup)。 - 如果将输出写入文件,请在重新轮询会话之前检查该文件。

阻塞与非阻塞(建议即使计划轮询也使用非阻塞): - 默认非阻塞;如果需要快速反馈,轮询一两次。 - 阻塞仅适用于简短、可预测的任务(<30–60秒)。

停止作业: - 尽可能优先优雅关闭。 - 如有必要,通过 `write_stdin` 发送 Ctrl+C。

## 捕获 Worker 输出(保持上下文精简) 优先仅捕获最终的 Worker 消息,以避免主上下文膨胀。

推荐(简单): - 使用 `--output-last-message` 将最终响应写入文件,然后读取它。 - 示例:`codex exec --skip-git-repo-check --output-last-message /tmp/w1.txt "CONTEXT: WORKER ..."` - 如果你不在 git 仓库中,添加 `--skip-git-repo-check`。

替代方案(结构化): - 使用 `--json` 并筛选最终的代理消息。 - 示例:`codex exec --json "CONTEXT: WORKER ..." | jq -r 'select(.type=="item.completed" and .item.type=="agent_message") | .item.text'`

## 编排模式(通用)

选择一种模式,然后运行它。不要过度设计。

### 模式 A:三角审查(扇出,只读) 用于:当你希望对同一事物有多个视角时。

运行 2 到 4 个具有不同视角的审查者,然后合并。

示例视角(选择适合的): - 清晰度/结构 - 正确性/完整性 - 风险/失败模式 - 一致性/风格 - 证据质量 - 实用性 - 可访问性/受众匹配 - 如相关:安全性、性能、向后兼容性

交付物:一个去重的单一排序列表,并包含清晰的建议。

### 模式 B:审查 -> 修复(串行链) 用于:当你想要一个干净的漏斗时。 1) 审查者生成按影响排序的问题列表。 2) 实施者处理顶层项目。 3) 验证者检查结果。

这适用于代码、文档和分析。

### 模式 C:侦察 -> 行动 -> 验证(经典) 用于:缺乏上下文是最大的风险时。 1) 侦察者收集最小上下文。 2) 编排者浓缩并选择方法。 3) 实施者执行。 4) 验证者进行完整性检查。

### 模式 D:按部分拆分(扇出,然后合并) 用于:工作可以清晰划分(章节、模块、数据集、图表)时。 每个 Worker 拥有一个独特的切片;合并以确保一致性。

### 模式 E:研究 -> 综合 -> 下一步行动 用于:任务主要是网络搜索和判断时。 Worker 并行收集来源;编排者综合成决策简报。

### 模式 F:选项冲刺(生成 2 到 3 个好的备选方案) 用于:你在选择方向(大纲、方法计划、分析、UI)时。 Worker 提出选项;编排者选择并优化一个。

## 上下文:提供 Worker 无法推断的内容 大多数失败源于缺少上下文,而非缺少格式说明。

在以下情况使用上下文包: - 工作涉及有历史的现有项目, - 目标微妙, - 约束不明显, - 或偏好很重要。

在以下情况跳过: - 任务是简单的网络查找, - 小型独立编辑, - 或简单的一次性任务。

### 上下文包(按需使用多少均可) - 目标:“好”是什么样子的。 - 非目标:不做什么。 - 约束:风格、范围边界、必须保留、不得更改。 - 指针:关键文件、文件夹、文档、笔记、链接。 - 先前决策:事物为何如此。 - 成功检查:我们如何知道它已完成(测试、标准、清单)。

学术写作说明: - 对于手稿或学术文本,适当时使用 APA 7 格式。

## Worker 提示词模板(中性)

将 Worker 前言添加到每个 Worker 提示词之前。

### Worker 前言(用于所有 Worker) ```text CONTEXT: WORKER ROLE: You are a sub-agent run by the ORCHESTRATOR. Do only the assigned task. RULES: No extra scope, no other workers. Your final output will be provided back to the ORCHESTRATOR. ```

最小 Worker 命令(示例): ```text codex exec --skip-git-repo-check --output-last-message /tmp/w1.txt "CONTEXT: WORKER ROLE: You are a sub-agent run by the ORCHESTRATOR. Do only the assigned task. RULES: No extra scope, no other workers. Your final output will be provided back to the ORCHESTRATOR. TASK: <what to do> SCOPE: read-only" ```

### 审查者 Worker CONTEXT: WORKER TASK: 审查 <工件> 并提出改进建议。 SCOPE: 只读 LENS: <选择一两个视角> DO: - 检查工件并记录问题和机会。 - 优先处理最重要的事项。 OUTPUT: - 顶层发现(已排序,简明) - 证据(你在哪里看到的) - 建议的修复(简洁,可执行) - 可选:快速重写或大纲片段 DO NOT: - 扩大范围 - 进行编辑

### 研究 Worker(网络搜索) CONTEXT: WORKER TASK: 查找并总结关于 <主题> 的可靠信息。 SCOPE: 只读 DO: - 使用网络搜索。 - 优先考虑主要来源、官方文档和高质量参考文献。 OUTPUT: - 5 到 10 点综合 - 关键来源(附带简短说明为何重要) - 来源之间的不确定性或分歧 DO NOT: - 超越证据进行推测

### 实施者 Worker(构建、编写、分析、编辑) CONTEXT: WORKER TASK: 产出 <交付物>。 SCOPE: 可编辑 <特定文件/章节> 或“编写新工件” DO: - 如果提供了上下文包,请遵循它。 - 进行与请求成比例的更改。 OUTPUT: - 你更改或产出的内容 - 它所在的位置(路径、文件名) - 如何重现(命令、步骤,如相关) - 风险或后续跟进(简明) DO NOT: - 偏离到无关的改进

### 验证者 Worker CONTEXT: WORKER TASK: 验证交付物是否满足目标和成功检查。 SCOPE: 只读(除非明确允许) DO: - 如相关,运行检查(测试、构建、分析、参考检查)。 - 查找明显的遗漏和回归。 OUTPUT: - 通过/失败摘要 - 带有重现步骤或具体示例的问题 - 建议的修复(简明)

## 编排者习惯(快速,而非挑剔) - 委派前自己快速浏览工件。 - 如果术语或目标模棱两可,请快速澄清。 - 当并行工作能减少时间或不确定性时使用它。 - 保持指令简短且上下文丰富;不要将整个技能粘贴到 Worker 提示词中。 - 如果 Worker 误解了,不要争辩。使用更好的上下文重新运行。 - 将输出合并为一个清晰的结果、一个建议的下一步,仅包含必要的细节。

老板规则: 除非原始 Worker 输出已经很干净,否则不要转发它。你要对它进行筛选。

更多产品