关于 parallel-execution
parallel-execution 是用于将彼此独立的问题分配给多个 Agent 并行处理的开发技能,面向可分离的故障或测试失败。它强调先确认任务隔离、明确范围与交付内容,并在汇总后检查冲突和运行完整测试套件。
主要功能
- 01确认问题域彼此独立
- 02为 Agent 设定范围、边界与交付物
- 03并行处理独立任务
- 04检查结果重叠并整合
- 05整合后运行完整测试套件
适用场景
- 01并行调查不同子系统的故障
- 02同时处理原因各异的测试失败
- 03将独立开发任务分派给多个 Agent
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ noobygains/ godmode --skill parallel-execution安装后在 Claude Code 中输入/parallel-execution确认已加载。
详细介绍
并行执行
概述
当多个独立子系统中同时出现不同故障时,逐一处理会浪费时间。每项调查都是独立的,可以同时进行。
核心原则: 每个隔离的问题领域分配一个 Agent。让他们并行开展工作。
首要指令
未确认问题彼此隔离,不得并行分派
没有例外。没有变通方法。没有捷径。
适用场景
digraph dispatch_decision {
"Multiple problems?" [shape=diamond];
"Are they isolated?" [shape=diamond];
"Single agent handles all" [shape=box];
"One agent per domain" [shape=box];
"Can they run concurrently?" [shape=diamond];
"Sequential agents" [shape=box];
"Parallel dispatch" [shape=box];
"Multiple problems?" -> "Are they isolated?" [label="yes"];
"Are they isolated?" -> "Single agent handles all" [label="no - coupled"];
"Are they isolated?" -> "Can they run concurrently?" [label="yes"];
"Can they run concurrently?" -> "Parallel dispatch" [label="yes"];
"Can they run concurrently?" -> "Sequential agents" [label="no - shared state"];
}
适用情况:
- 三个或更多测试文件因不同原因失败
- 多个子系统各自独立发生故障
- 无需了解其他问题即可理解每个问题
- 各工作项之间没有共享的可变状态
不适用情况:
- 故障彼此相关(解决一个问题可能会解决其他问题)
- 需要从整体上理解系统
- Agent 之间会相互干扰
方法
1. 划分独立领域
按根本原因对故障进行分类:
- 模块 X 测试:权限验证流程
- 模块 Y 测试:队列排空行为
- 模块 Z 测试:取消处理
每个领域都是独立的——修复权限问题不会影响取消测试。
2. 撰写重点明确的 Agent 任务说明
每个 Agent 都会收到:
- 明确范围: 一个测试文件或子系统
- 具体目标: 让这些测试通过
- 边界: 不要修改范围之外的代码
- 交付内容: 根本原因及所做更改的摘要
3. 并行启动
// Dispatch parallel agents using the Agent tool in Claude Code
Agent("Fix permission-validation.test.ts failures")
Agent("Fix queue-drain-behavior.test.ts failures")
Agent("Fix cancellation-handling.test.ts failures")
// All three execute at the same time
4. 协调并验证
Agent 完成后:
- 查看每份摘要
- 确认更改没有重叠
- 执行完整测试套件
- 整合所有结果
Agent 任务说明结构
有效的 Agent 任务说明具有以下特点:
- 范围窄: 聚焦一个明确的问题领域
- 信息完整: 包含理解问题所需的所有内容
- 明确输出: Agent 清楚需要报告什么
Resolve the 3 failing tests in src/workers/queue-drain.test.ts:
1. "should drain remaining items on shutdown" - expects empty queue, finds 2 items
2. "should handle mixed priorities during drain" - high-priority item processed last
3. "should report drain metrics accurately" - expects 3 metrics but receives 0
These stem from async drain ordering. Your assignment:
1. Read the test file and understand the intended behavior
2. Determine root cause - ordering bug or stale test assumptions?
3. Fix by:
- Implementing deterministic drain ordering
- Correcting production bugs if found
- Updating test expectations if behavior legitimately changed
Do NOT just add delays or increase timeouts - identify the underlying issue.
Return: Root cause analysis and description of changes made.
常见陷阱
范围太广:“修复所有测试”——Agent 会失去重点
聚焦明确:“修复 queue-drain.test.ts”——范围清晰
缺少上下文:“修复排序错误”——Agent 无从着手
提供上下文: 粘贴错误消息和失败的测试名称
没有边界: Agent 可能会重构无关代码
划定边界:“不要修改 src/workers/ 之外的生产代码”
输出要求含糊:“修复它”——你不知道具体改了什么
输出要求具体:“返回根本原因摘要和修改过的文件列表”
认知陷阱
| 自我安慰 | 事实 |
|---|---|
| “它们大概是相互独立的” | 要明确确认隔离状态,否则 Agent 会互相冲突。 |
| “之后再解决冲突” | 并行 Agent 产生的合并冲突比顺序工作更难处理。 |
| “Agent 越多,交付越快” | Agent 编辑共享文件会造成工作浪费和合并失败。 |
| “范围不言自明” | 含糊的任务说明只会带来含糊的结果。请明确说明范围、边界和输出。 |
| “一个 Agent 就能处理所有事情” | 范围过广会让 Agent 迷失方向。请按领域划分。 |
不适用场景
相互关联的故障: 解决一个问题可能连带修复其他问题——应先整体调查
需要整体理解: 必须观察整个系统才能理解
探索性调试: 问题空间尚不明确
共享资源: Agent 会发生冲突(相同文件、数据库或服务)
示例
情况: 大型重构后,3 个文件中有 8 个测试失败
失败项:
- permission-validation.test.ts:3 个失败(身份验证令牌问题)
- queue-drain-behavior.test.ts:3 个失败(排序错误)
- cancellation-handling.test.ts:2 个失败(清理不完整)
判断: 属于彼此独立的领域——身份验证、队列排空和取消逻辑互不相关
调度:
Agent 1 -> Fix permission-validation.test.ts
Agent 2 -> Fix queue-drain-behavior.test.ts
Agent 3 -> Fix cancellation-handling.test.ts
结果:
- Agent 1:将硬编码令牌替换为动态测试夹具
- Agent 2:修复排空顺序,使其遵循 priority 字段
- Agent 3:为部分取消状态添加清理钩子
协调: 所有修复都修改了不同的文件,零冲突,完整测试套件全部通过
价值: 并发解决了 3 个问题,而不是依次解决
优势
- 并发性 — 多项调查同时进行
- 专注度 — 每个 Agent 都只处理较小的上下文
- 互不干扰 — Agent 之间互不影响
- 吞吐量 — 用解决 1 个问题的时间解决 N 个问题
调度后检查
Agent 返回后:
- 研读每份摘要 — 了解更改内容及原因
- 检测重叠 — 是否有 Agent 修改了相同代码?
- 运行完整测试套件 — 确认所有修复能够共存
- 抽查 — Agent 可能引入系统性错误
- 完成 — 必须使用
godmode:merge-protocol子技能来合并工作
防护措施
禁止:
- 未确认任务相互独立就调度并发 Agent
- 允许 Agent 同时修改相同文件
- 未审核 Agent 摘要就进行整合
- 使用并行调度进行探索性诊断
- 未定义范围、边界和交付物就进行调度
必须:
- 调度前确认任务相互独立
- 为每个 Agent 指定明确且范围有限的任务
- 在 Agent 任务说明中包含错误消息和测试名称
- 整合前审核所有 Agent 摘要
- 整合所有更改后执行完整测试套件
- 检查 Agent 输出之间是否存在冲突
集成
godmode:team-orchestration:
- 并行执行是团队协作的基础模式
- Agent 之间存在部分依赖时,使用团队编排
godmode:delegated-execution:
- 在开发计划中,为独立任务启动并行 Agent
- 每个 Agent 负责计划中的一项任务
godmode:agent-messaging:
- 并行调度的 Agent 不应需要彼此沟通
- 如果它们需要沟通,说明任务尚未充分隔离,不适合并行调度