跳转到内容

调度并行代理 (dispatching-parallel-agents)

调度并行代理(dispatching-parallel-agents)

Section titled “调度并行代理(dispatching-parallel-agents)”

dispatching-parallel-agents 是将独立问题委托给并行工作的专用代理的 Skill。

当你有多个不相关的失败时(不同的测试文件、不同的子系统、不同的 Bug),顺序调查它们会浪费时间。每个调查是独立的,可以并行发生。

核心原则:

每个独立问题域调度一个代理。让它们同时工作。

  • 3+ 个测试文件因不同根本原因失败
  • 多个子系统独立损坏
  • 每个问题可以在不需要其他上下文的情况下理解
  • 调查之间没有共享状态
  • 失败是相关的(修复一个可能修复其他)
  • 需要理解完整系统状态
  • 代理会相互干扰

按损坏的东西分组:

  • 测试文件 A:工具审批流程
  • 测试文件 B:批处理完成行为
  • 测试文件 C:中止功能

每个域是独立的 —— 修复工具审批不影响中止测试。

每个代理获得:

  • 特定范围: 一个测试文件或子系统
  • 清晰目标: 让这些测试通过
  • 约束: 不要改其他代码
  • 预期输出: 你发现和修复什么的总结

在 Claude Code / AI 环境中:

Task("修复 agent-tool-abort.test.ts 失败")
Task("修复 batch-completion-behavior.test.ts 失败")
Task("修复 tool-approval-race-conditions.test.ts 失败")
// 三个同时运行

当代理返回时:

  • 阅读每个总结
  • 验证修复不冲突
  • 运行完整测试套件
  • 集成所有更改

好的代理提示:

  1. 专注 - 一个清晰的问题域
  2. 自包含 - 理解问题所需的所有上下文
  3. 输出具体 - 代理应该返回什么?
修复 src/agents/agent-tool-abort.test.ts 中 3 个失败的测试:
1. "should abort tool with partial output capture" - 期望消息中有 'interrupted at'
2. "should handle mixed completed and aborted tools" - 快速工具被中止而不是完成
3. "should properly track pendingToolCount" - 期望 3 个结果但得到 0
这些是时序/竞态条件问题。你的任务:
1. 阅读测试文件并理解每个测试验证什么
2. 找出根本原因 - 时序问题还是实际 bug?
3. 修复:
- 用事件等待替换任意超时
- 如发现 bug 则修复中止实现
- 如测试改变了行为则调整期望
不要只是增加超时 - 找真正的问题。
返回:你发现什么和修复什么的总结。
错误正确
太宽泛:“修复所有测试”专注:“修复 agent-tool-abort.test.ts”
无上下文:“修复竞态条件”上下文:粘贴错误信息和测试名
无约束:代理可能重构一切约束:“不要改生产代码” 或 “只修复测试”
模糊输出:“修好它”具体:“返回根本原因和更改的总结”

相关失败: 修复一个可能修复其他 —— 先一起调查 需要完整上下文: 理解需要看到整个系统 探索性调试: 还不清楚什么坏了 共享状态: 代理会相互干扰(编辑相同文件、使用相同资源)

何时使用

  • 多个不相关的失败
  • 独立问题域
  • 可以并行工作

关键要点

  • 每个问题域一个代理
  • 提供专注范围和清晰目标
  • 设置约束防止改无关代码
  • 审查并集成所有更改

不使用当

  • 失败相关
  • 需要完整上下文
  • 探索性调试
  • 互补subagent-driven-development(顺序调度子代理)、systematic-debugging(调查单个问题)。

查看源文件: GitHub原始文件