with one click
dispatching-parallel-agents
当面对 2 个以上可在无共享状态或顺序依赖下处理的独立任务时使用
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
当面对 2 个以上可在无共享状态或顺序依赖下处理的独立任务时使用
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
在进行任何创造性工作之前,你必须使用此 skill - 创建功能、构建组件、添加功能或修改行为。在实现之前探索用户意图、需求和设计。
当你有一个书面实现计划,需要在带有 review 检查点的独立会话中执行时使用
当实现完成、所有测试通过、且你需要决定如何集成工作时使用 - 通过为合并、PR 或清理呈现结构化选项来指导开发工作的完成
当收到代码审查反馈时使用,在实现建议之前,尤其是当反馈看似不清或在技术上存疑时 - 需要技术严谨性和验证,而非表演性附和或盲目实现
当完成任务、实现主要功能或合并之前使用,以验证工作满足需求
当在当前会话中执行具有独立任务的实现计划时使用
| name | dispatching-parallel-agents |
| description | 当面对 2 个以上可在无共享状态或顺序依赖下处理的独立任务时使用 |
你把任务委托给拥有隔离上下文的专门 agent。通过精确构建它们的指令和上下文,你确保它们保持专注并成功完成各自的任务。它们绝不应该继承你会话的上下文或历史——你精确构造它们所需的内容。这也为你自己的协调工作保留了上下文。
当你有多个不相关的失败(不同的测试文件、不同的子系统、不同的 bug),按顺序调查它们是在浪费时间。每个调查都是独立的,可以并行进行。
核心原则: 每个独立的问题域派发一个 agent。让它们并发工作。
digraph when_to_use {
"多个失败?" [shape=diamond];
"它们独立吗?" [shape=diamond];
"单个 agent 调查全部" [shape=box];
"每个问题域一个 agent" [shape=box];
"它们能并行工作吗?" [shape=diamond];
"顺序 agent" [shape=box];
"并行派发" [shape=box];
"多个失败?" -> "它们独立吗?" [label="是"];
"它们独立吗?" -> "单个 agent 调查全部" [label="否 - 相关"];
"它们独立吗?" -> "它们能并行工作吗?" [label="是"];
"它们能并行工作吗?" -> "并行派发" [label="是"];
"它们能并行工作吗?" -> "顺序 agent" [label="否 - 共享状态"];
}
使用场景:
不要使用,当:
按"什么坏了"对失败分组:
每个域独立——修复工具审批不影响中止测试。
每个 agent 获得:
在同一条响应中发出全部三个 subagent 派发——它们并行运行:
Subagent (general-purpose): "修复 agent-tool-abort.test.ts 的失败"
Subagent (general-purpose): "修复 batch-completion-behavior.test.ts 的失败"
Subagent (general-purpose): "修复 tool-approval-race-conditions.test.ts 的失败"
# 三个并发运行。
一条响应中多个派发调用 = 并行执行。每条响应一个 = 顺序。
当 agent 返回时:
好的 agent prompt:
修复 src/agents/agent-tool-abort.test.ts 中的 3 个失败测试:
1. "should abort tool with partial output capture" - 期望 message 中有 'interrupted at'
2. "should handle mixed completed and aborted tools" - 快速工具被中止而非完成
3. "should properly track pendingToolCount" - 期望 3 个结果但得到 0
这些是时序/竞态条件问题。你的任务:
1. 阅读测试文件,理解每个测试验证什么
2. 识别根因——是时序问题还是真正的 bug?
3. 通过以下方式修复:
- 用基于事件的等待替换任意超时
- 如发现则修复中止实现中的 bug
- 若测试的是已改变的行为,则调整测试期望
不要只是增加超时——找到真正的问题。
返回:你发现了什么、修复了什么的摘要。
❌ 太宽泛: "修复所有测试" —— agent 会迷失 ✅ 具体明确: "修复 agent-tool-abort.test.ts" —— 范围聚焦
❌ 无上下文: "修复竞态条件" —— agent 不知道在哪 ✅ 有上下文: 粘贴错误消息和测试名
❌ 无约束: agent 可能重构一切 ✅ 有约束: "绝不改动生产代码" 或 "只修测试"
❌ 输出模糊: "修好它" —— 你不知道改了什么 ✅ 具体: "返回根因和改动的摘要"
相关失败: 修一个可能修复其他 —— 先一起调查 需要完整上下文: 理解需要看到整个系统 探索性调试: 你还不知道什么坏了 共享状态: agent 会互相干扰(编辑相同文件、使用相同资源)
场景: 一次大重构后,跨 3 个文件的 6 个测试失败
失败:
决策: 独立域 —— 中止逻辑、批处理完成、竞态条件各自独立
派发:
Agent 1 → 修复 agent-tool-abort.test.ts
Agent 2 → 修复 batch-completion-behavior.test.ts
Agent 3 → 修复 tool-approval-race-conditions.test.ts
结果:
集成: 所有修复独立,无冲突,全套件通过
节省时间: 3 个问题并行解决 vs 顺序解决
agent 返回后:
来自调试会话(2025-10-03):