
关于
当面对两个或更多可以独立执行、无共享状态或顺序依赖的任务时使用。
name: dispatching-parallel-agents description: "当面对 2 个以上可以在无共享状态或顺序依赖的情况下独立处理的任务时使用" risk: unknown source: community date_added: "2026-02-27"
分派并行代理
概述
当你有多个不相关的故障(不同测试文件、不同子系统、不同 bug)时,顺序调查浪费时间。每个调查都是独立的,可以并行进行。
核心原则: 每个独立问题域分派一个代理。让它们并发工作。
何时使用
使用条件:
- 3 个以上测试文件因不同根因失败
- 多个子系统独立损坏
- 每个问题可以在不需要其他问题上下文的情况下理解
- 调查之间无共享状态
不适用条件:
- 故障相关(修复一个可能修复其他)
- 需要理解完整系统状态
- 代理之间会相互干扰
模式
1. 识别独立域
按损坏内容分组故障:
- 文件 A 测试:工具审批流程
- 文件 B 测试:批量完成行为
- 文件 C 测试:中止功能
每个域是独立的 — 修复工具审批不影响中止测试。
2. 创建聚焦的代理任务
每个代理获得:
- 具体范围: 一个测试文件或子系统
- 明确目标: 使这些测试通过
- 约束: 不要更改其他代码
- 预期输出: 发现和修复内容的摘要
3. 并行分派
// In Claude Code / AI environment
Task("Fix agent-tool-abort.test.ts failures")
Task("Fix batch-completion-behavior.test.ts failures")
Task("Fix tool-approval-race-conditions.test.ts failures")
// All three run concurrently
4. 审查和集成
当代理返回时:
- 阅读每个摘要
- 验证修复不冲突
- 运行完整测试套件
- 集成所有更改
代理提示结构
好的代理提示是:
- 聚焦的 - 一个明确的问题域
- 自包含的 - 理解问题所需的所有上下文
- 输出明确的 - 代理应该返回什么?
修复 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 则修复
- 如果测试期望不合理则调整测试期望
反模式
不要:分派相关问题
如果修复 A 可能修复 B,不要并行化。你会得到冲突的修复。
不要:分派过多代理
超过 5 个并行代理会导致:
- 合并冲突
- 难以审查
- 资源争用
不要:缺乏明确边界
每个代理必须知道它可以触碰什么和不能触碰什么。
兼容工具
Claude CodeCursor
标签
AI与机器学习