{"id":"1bfef338-ea08-4eba-b441-2c98b05bf6fb","shortId":"8aDmqP","kind":"skill","title":"dispatching-parallel-agents","tagline":"当面对 2 个以上可以独立进行、无共享状态或顺序依赖的任务时使用","description":"# 并行分派智能体\n\n## 概述\n\n你将任务委派给具有隔离上下文的专用智能体。通过精心设计它们的指令和上下文，确保它们专注并成功完成任务。它们不应继承你的会话上下文或历史记录——你要精确构造它们所需的一切。这样也能为你自己保留用于协调工作的上下文。\n\n当你遇到多个不相关的失败（不同的测试文件、不同的子系统、不同的 bug），逐一排查会浪费时间。每个排查都是独立的，可以并行进行。\n\n**核心原则：** 每个独立问题域分派一个智能体，让它们并发工作。\n\n## 何时使用\n\n```dot\ndigraph when_to_use {\n    \"存在多个失败?\" [shape=diamond];\n    \"它们是否独立?\" [shape=diamond];\n    \"单个智能体排查所有问题\" [shape=box];\n    \"每个问题域一个智能体\" [shape=box];\n    \"能否并行工作?\" [shape=diamond];\n    \"顺序执行智能体\" [shape=box];\n    \"并行分派\" [shape=box];\n\n    \"存在多个失败?\" -> \"它们是否独立?\" [label=\"是\"];\n    \"它们是否独立?\" -> \"单个智能体排查所有问题\" [label=\"否 - 有关联\"];\n    \"它们是否独立?\" -> \"能否并行工作?\" [label=\"是\"];\n    \"能否并行工作?\" -> \"并行分派\" [label=\"是\"];\n    \"能否并行工作?\" -> \"顺序执行智能体\" [label=\"否 - 有共享状态\"];\n}\n```\n\n**适用场景：**\n- 3 个以上测试文件因不同根因失败\n- 多个子系统独立出现故障\n- 每个问题无需其他问题的上下文即可理解\n- 排查之间无共享状态\n\n**不适用场景：**\n- 失败是相关的（修复一个可能修复其他的）\n- 需要理解完整的系统状态\n- 智能体之间会互相干扰\n\n## 模式\n\n### 1. 识别独立的问题域\n\n按故障分组：\n- 文件 A 测试：工具审批流程\n- 文件 B 测试：批量完成行为\n- 文件 C 测试：中止功能\n\n每个问题域是独立的——修复工具审批不会影响中止测试。\n\n### 2. 创建聚焦的智能体任务\n\n每个智能体获得：\n- **明确范围：** 一个测试文件或子系统\n- **清晰目标：** 让这些测试通过\n- **约束条件：** 不修改其他代码\n- **预期输出：** 你发现和修复内容的总结\n\n### 3. 并行分派\n\n```typescript\n// 在 Claude Code / AI 环境中\nTask(\"修复 agent-tool-abort.test.ts 的失败\")\nTask(\"修复 batch-completion-behavior.test.ts 的失败\")\nTask(\"修复 tool-approval-race-conditions.test.ts 的失败\")\n// 三个任务并发运行\n```\n\n### 4. 审查与集成\n\n当智能体返回时：\n- 阅读每个总结\n- 验证修复之间没有冲突\n- 运行完整测试套件\n- 集成所有更改\n\n## 智能体提示词结构\n\n好的智能体提示词应该是：\n1. **聚焦的** - 一个清晰的问题域\n2. **自包含的** - 包含理解问题所需的所有上下文\n3. **明确输出要求** - 智能体应该返回什么？\n\n```markdown\n修复 src/agents/agent-tool-abort.test.ts 中 3 个失败的测试：\n\n1. \"should abort tool with partial output capture\" - 期望消息中包含 'interrupted at'\n2. \"should handle mixed completed and aborted tools\" - 快速工具被中止而非完成\n3. \"should properly track pendingToolCount\" - 期望 3 个结果但得到 0 个\n\n这些是时序/竞态条件问题。你的任务：\n\n1. 阅读测试文件，理解每个测试验证的内容\n2. 找到根因——是时序问题还是实际 bug？\n3. 修复方式：\n   - 用基于事件的等待替换任意超时\n   - 如果发现中止实现中的 bug 则修复\n   - 如果测试的是已变更的行为则调整测试期望\n\n不要只是增加超时时间——找到真正的问题。\n\n返回：你发现了什么以及修复了什么的总结。\n```\n\n## 常见错误\n\n**错误做法：太宽泛：** \"修复所有测试\" - 智能体会迷失方向\n**正确做法：具体明确：** \"修复 agent-tool-abort.test.ts\" - 聚焦的范围\n\n**错误做法：无上下文：** \"修复竞态条件\" - 智能体不知道在哪里\n**正确做法：提供上下文：** 粘贴错误信息和测试名称\n\n**错误做法：无约束：** 智能体可能会重构所有代码\n**正确做法：设置约束：** \"不要修改生产代码\" 或 \"只修复测试\"\n\n**错误做法：模糊的输出要求：** \"修好它\" - 你不知道改了什么\n**正确做法：明确要求：** \"返回根因和修改内容的总结\"\n\n## 不适用的场景\n\n**关联性失败：** 修复一个可能修复其他的——先一起排查\n**需要完整上下文：** 理解问题需要看到整个系统\n**探索性调试：** 你还不知道什么坏了\n**共享状态：** 智能体会互相干扰（编辑同一文件、使用同一资源）\n\n## 实际案例\n\n**场景：** 大规模重构后，3 个文件中出现 6 个测试失败\n\n**失败情况：**\n- agent-tool-abort.test.ts：3 个失败（时序问题）\n- batch-completion-behavior.test.ts：2 个失败（工具未执行）\n- tool-approval-race-conditions.test.ts：1 个失败（执行计数 = 0）\n\n**决策：** 独立的问题域——中止逻辑、批量完成、竞态条件各自独立\n\n**分派：**\n```\n智能体 1 → 修复 agent-tool-abort.test.ts\n智能体 2 → 修复 batch-completion-behavior.test.ts\n智能体 3 → 修复 tool-approval-race-conditions.test.ts\n```\n\n**结果：**\n- 智能体 1：用基于事件的等待替换了超时\n- 智能体 2：修复了事件结构 bug（threadId 位置不对）\n- 智能体 3：添加了等待异步工具执行完成的逻辑\n\n**集成：** 所有修复互相独立，无冲突，完整测试套件全部通过\n\n**节省的时间：** 3 个问题并行解决 vs 顺序解决\n\n## 核心优势\n\n1. **并行化** - 多个排查同时进行\n2. **聚焦** - 每个智能体范围窄，需要跟踪的上下文少\n3. **独立性** - 智能体之间互不干扰\n4. **速度** - 3 个问题在 1 个问题的时间内解决\n\n## 验证\n\n智能体返回后：\n1. **审查每个总结** - 理解改了什么\n2. **检查冲突** - 智能体是否编辑了同一段代码？\n3. **运行完整套件** - 验证所有修复协同工作\n4. **抽查** - 智能体可能犯系统性错误\n\n## 实际效果\n\n来自调试会话（2025-10-03）：\n- 3 个文件中 6 个失败\n- 并行分派 3 个智能体\n- 所有排查并发完成\n- 所有修复成功集成\n- 智能体之间的更改零冲突","tags":["dispatching","parallel","agents","superpowers","jnmetacode","agent-skills","agentic-coding","ai-coding","chinese","claude-code","code-review","cursor"],"capabilities":["skill","source-jnmetacode","skill-dispatching-parallel-agents","topic-agent-skills","topic-agentic-coding","topic-ai-coding","topic-chinese","topic-claude-code","topic-code-review","topic-cursor","topic-gemini-cli","topic-kiro","topic-mcp","topic-npm-package","topic-prompt-engineering"],"categories":["superpowers-zh"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/jnMetaCode/superpowers-zh/dispatching-parallel-agents","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add jnMetaCode/superpowers-zh","source_repo":"https://github.com/jnMetaCode/superpowers-zh","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 1857 github stars · SKILL.md body (3,182 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-03T00:52:45.684Z","embedding":null,"createdAt":"2026-04-18T21:55:55.089Z","updatedAt":"2026-05-03T00:52:45.684Z","lastSeenAt":"2026-05-03T00:52:45.684Z","tsv":"'-03':353 '-10':352 '0':190,277 '1':89,147,162,195,274,285,298,319,333,337 '2':6,106,150,173,198,270,289,301,322,340 '2025':351 '3':78,117,153,160,182,188,202,260,266,293,307,314,326,331,343,354,359 '4':138,329,346 '6':262,356 'abort':164,179 'agent':4 'agent-tool-abort.test.ts':127,221,265,287 'ai':123 'b':97 'batch-completion-behavior.test.ts':131,269,291 'box':42,45,51,54 'bug':21,201,206,303 'c':101 'captur':169 'claud':121 'code':122 'complet':177 'diamond':36,39,48 'digraph':30 'dispatch':2 'dispatching-parallel-ag':1 'dot':29 'handl':175 'interrupt':171 'label':57,61,66,70,74 'markdown':156 'mix':176 'output':168 'parallel':3 'partial':167 'pendingtoolcount':186 'proper':184 'shape':35,38,41,44,47,50,53 'skill' 'skill-dispatching-parallel-agents' 'source-jnmetacode' 'src/agents/agent-tool-abort.test.ts':158 'task':125,129,133 'threadid':304 'tool':165,180 'tool-approval-race-conditions.test.ts':135,273,295 'topic-agent-skills' 'topic-agentic-coding' 'topic-ai-coding' 'topic-chinese' 'topic-claude-code' 'topic-code-review' 'topic-cursor' 'topic-gemini-cli' 'topic-kiro' 'topic-mcp' 'topic-npm-package' 'topic-prompt-engineering' 'track':185 'typescript':119 'use':33 'vs':316 '一个测试文件或子系统':110 '一个清晰的问题域':149 '三个任务并发运行':137 '不修改其他代码':114 '不同的':20 '不同的子系统':19 '不同的测试文件':18 '不要修改生产代码':235 '不要只是增加超时时间':209 '不适用场景':83 '不适用的场景':245 '个':191 '个以上可以独立进行':7 '个以上测试文件因不同根因失败':79 '个失败':267,271,275,357 '个失败的测试':161 '个文件中':355 '个文件中出现':261 '个智能体':360 '个测试失败':263 '个结果但得到':189 '个问题在':332 '个问题并行解决':315 '个问题的时间内解决':334 '中':159 '中止功能':103 '中止逻辑':280 '位置不对':305 '何时使用':28 '你不知道改了什么':241 '你发现了什么以及修复了什么的总结':212 '你发现和修复内容的总结':116 '你将任务委派给具有隔离上下文的专用智能体':11 '你的任务':194 '你要精确构造它们所需的一切':15 '你还不知道什么坏了':252 '使用同一资源':256 '修复':126,130,134,157,220,286,290,294 '修复一个可能修复其他的':85,247 '修复了事件结构':302 '修复工具审批不会影响中止测试':105 '修复所有测试':216 '修复方式':203 '修复竞态条件':225 '修好它':240 '先一起排查':248 '共享状态':253 '关联性失败':246 '具体明确':219 '决策':278 '分派':283 '则修复':207 '创建聚焦的智能体任务':107 '包含理解问题所需的所有上下文':152 '单个智能体排查所有问题':40,60 '只修复测试':237 '可以并行进行':24 '否':62,75 '在':120 '场景':258 '多个子系统独立出现故障':80 '多个排查同时进行':321 '大规模重构后':259 '太宽泛':215 '失败情况':264 '失败是相关的':84 '好的智能体提示词应该是':146 '如果发现中止实现中的':205 '如果测试的是已变更的行为则调整测试期望':208 '存在多个失败':34,55 '它们不应继承你的会话上下文或历史记录':14 '它们是否独立':37,56,59,64 '完整测试套件全部通过':312 '实际效果':349 '实际案例':257 '审查与集成':139 '审查每个总结':338 '工具审批流程':95 '工具未执行':272 '常见错误':213 '并行分派':52,69,118,358 '并行分派智能体':9 '并行化':320 '当你遇到多个不相关的失败':17 '当智能体返回时':140 '当面对':5 '快速工具被中止而非完成':181 '或':236 '所有修复互相独立':310 '所有修复成功集成':362 '所有排查并发完成':361 '执行计数':276 '批量完成':281 '批量完成行为':99 '找到根因':199 '找到真正的问题':210 '抽查':347 '按故障分组':91 '排查之间无共享状态':82 '探索性调试':251 '提供上下文':228 '文件':92,96,100 '无上下文':224 '无共享状态或顺序依赖的任务时使用':8 '无冲突':311 '无约束':231 '时序问题':268 '明确范围':109 '明确要求':243 '明确输出要求':154 '是':58,67,71 '是时序问题还是实际':200 '智能体':284,288,292,297,300,306 '智能体不知道在哪里':226 '智能体之间互不干扰':328 '智能体之间会互相干扰':87 '智能体之间的更改零冲突':363 '智能体会互相干扰':254 '智能体会迷失方向':217 '智能体可能会重构所有代码':232 '智能体可能犯系统性错误':348 '智能体应该返回什么':155 '智能体提示词结构':145 '智能体是否编辑了同一段代码':342 '智能体返回后':336 '有共享状态':76 '有关联':63 '期望':187 '期望消息中包含':170 '来自调试会话':350 '核心优势':318 '核心原则':25 '检查冲突':341 '概述':10 '模式':88 '模糊的输出要求':239 '正确做法':218,227,233,242 '每个排查都是独立的':23 '每个智能体范围窄':324 '每个智能体获得':108 '每个独立问题域分派一个智能体':26 '每个问题域一个智能体':43 '每个问题域是独立的':104 '每个问题无需其他问题的上下文即可理解':81 '测试':94,98,102 '添加了等待异步工具执行完成的逻辑':308 '清晰目标':111 '独立性':327 '独立的问题域':279 '环境中':124 '理解改了什么':339 '理解每个测试验证的内容':197 '理解问题需要看到整个系统':250 '用基于事件的等待替换了超时':299 '用基于事件的等待替换任意超时':204 '的失败':128,132,136 '确保它们专注并成功完成任务':13 '竞态条件各自独立':282 '竞态条件问题':193 '粘贴错误信息和测试名称':229 '约束条件':113 '结果':296 '编辑同一文件':255 '聚焦':323 '聚焦的':148 '聚焦的范围':222 '能否并行工作':46,65,68,72 '自包含的':151 '节省的时间':313 '让它们并发工作':27 '让这些测试通过':112 '设置约束':234 '识别独立的问题域':90 '运行完整套件':344 '运行完整测试套件':143 '返回':211 '返回根因和修改内容的总结':244 '这些是时序':192 '这样也能为你自己保留用于协调工作的上下文':16 '适用场景':77 '逐一排查会浪费时间':22 '通过精心设计它们的指令和上下文':12 '速度':330 '错误做法':214,223,230,238 '阅读每个总结':141 '阅读测试文件':196 '集成':309 '集成所有更改':144 '需要完整上下文':249 '需要理解完整的系统状态':86 '需要跟踪的上下文少':325 '顺序执行智能体':49,73 '顺序解决':317 '预期输出':115 '验证':335 '验证修复之间没有冲突':142 '验证所有修复协同工作':345","prices":[{"id":"ef98d671-bb53-4c0d-b997-6d4fac76d601","listingId":"1bfef338-ea08-4eba-b441-2c98b05bf6fb","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"jnMetaCode","category":"superpowers-zh","install_from":"skills.sh"},"createdAt":"2026-04-18T21:55:55.089Z"}],"sources":[{"listingId":"1bfef338-ea08-4eba-b441-2c98b05bf6fb","source":"github","sourceId":"jnMetaCode/superpowers-zh/dispatching-parallel-agents","sourceUrl":"https://github.com/jnMetaCode/superpowers-zh/tree/main/skills/dispatching-parallel-agents","isPrimary":false,"firstSeenAt":"2026-04-18T21:55:55.089Z","lastSeenAt":"2026-05-03T00:52:45.684Z"}],"details":{"listingId":"1bfef338-ea08-4eba-b441-2c98b05bf6fb","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jnMetaCode","slug":"dispatching-parallel-agents","github":{"repo":"jnMetaCode/superpowers-zh","stars":1857,"topics":["agent-skills","agentic-coding","ai-coding","chinese","claude-code","code-review","cursor","gemini-cli","kiro","mcp","npm-package","prompt-engineering","skills","superpowers","tdd","trae"],"license":"mit","html_url":"https://github.com/jnMetaCode/superpowers-zh","pushed_at":"2026-04-28T15:32:18Z","description":"🦸 AI 编程超能力 · 中文增强版 — superpowers（116k+ ⭐）完整汉化 + 6 个中国原创 skills，让 Claude Code / Copilot CLI / Hermes Agent / Cursor / Windsurf / Kiro / Gemini CLI 等 16 款 AI 编程工具真正会干活","skill_md_sha":"20807e300d484ce12587f7c7237fa0d39ab0a0f3","skill_md_path":"skills/dispatching-parallel-agents/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jnMetaCode/superpowers-zh/tree/main/skills/dispatching-parallel-agents"},"layout":"multi","source":"github","category":"superpowers-zh","frontmatter":{"name":"dispatching-parallel-agents","description":"当面对 2 个以上可以独立进行、无共享状态或顺序依赖的任务时使用"},"skills_sh_url":"https://skills.sh/jnMetaCode/superpowers-zh/dispatching-parallel-agents"},"updatedAt":"2026-05-03T00:52:45.684Z"}}