mcpField
P
parallel-execution

parallel-execution

github.com/noobygainsAgent 工作流11562 次安装5 天前更新
代码仓库

关于 parallel-execution

parallel-execution 是用于将彼此独立的问题分配给多个 Agent 并行处理的开发技能,面向可分离的故障或测试失败。它强调先确认任务隔离、明确范围与交付内容,并在汇总后检查冲突和运行完整测试套件。

主要功能

  1. 01确认问题域彼此独立
  2. 02为 Agent 设定范围、边界与交付物
  3. 03并行处理独立任务
  4. 04检查结果重叠并整合
  5. 05整合后运行完整测试套件

适用场景

  1. 01并行调查不同子系统的故障
  2. 02同时处理原因各异的测试失败
  3. 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 任务说明具有以下特点:

  1. 范围窄: 聚焦一个明确的问题领域
  2. 信息完整: 包含理解问题所需的所有内容
  3. 明确输出: 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 个问题,而不是依次解决

优势

  1. 并发性 — 多项调查同时进行
  2. 专注度 — 每个 Agent 都只处理较小的上下文
  3. 互不干扰 — Agent 之间互不影响
  4. 吞吐量 — 用解决 1 个问题的时间解决 N 个问题

调度后检查

Agent 返回后:

  1. 研读每份摘要 — 了解更改内容及原因
  2. 检测重叠 — 是否有 Agent 修改了相同代码?
  3. 运行完整测试套件 — 确认所有修复能够共存
  4. 抽查 — Agent 可能引入系统性错误
  5. 完成 — 必须使用 godmode:merge-protocol 子技能来合并工作

防护措施

禁止:

  • 未确认任务相互独立就调度并发 Agent
  • 允许 Agent 同时修改相同文件
  • 未审核 Agent 摘要就进行整合
  • 使用并行调度进行探索性诊断
  • 未定义范围、边界和交付物就进行调度

必须:

  • 调度前确认任务相互独立
  • 为每个 Agent 指定明确且范围有限的任务
  • 在 Agent 任务说明中包含错误消息和测试名称
  • 整合前审核所有 Agent 摘要
  • 整合所有更改后执行完整测试套件
  • 检查 Agent 输出之间是否存在冲突

集成

godmode:team-orchestration:

  • 并行执行是团队协作的基础模式
  • Agent 之间存在部分依赖时,使用团队编排

godmode:delegated-execution:

  • 在开发计划中,为独立任务启动并行 Agent
  • 每个 Agent 负责计划中的一项任务

godmode:agent-messaging:

  • 并行调度的 Agent 不应需要彼此沟通
  • 如果它们需要沟通,说明任务尚未充分隔离,不适合并行调度

评论

支持 Markdown