SuperAPI AI 工具集

dispatching-parallel-agents

智能体与模型

查看项目

更新于 10-16 09:19

技能介绍

并行分派智能体

用途

当面对 2 个以上可以独立进行、彼此之间没有共享状态或顺序依赖的任务时,可以将任务委派给具有隔离上下文的专用智能体。通过精心设计每个智能体的指令和上下文,让它们专注并成功完成任务。它们不继承主控会话的上下文或历史记录,主控需要精确构造它们所需的一切,这样也能为主控保留用于协调工作的上下文。

当遇到多个不相关的失败,例如不同的测试文件、不同的子系统、不同的 bug,逐一排查会浪费时间。每个排查都是独立的,可以并行进行。

核心原则:每个独立问题域分派一个智能体,让它们并发工作。

何时使用

适用场景包括:

3 个以上测试文件因不同根因失败。

多个子系统独立出现故障。

每个问题无需其他问题的上下文即可理解。

排查之间无共享状态。

不适用场景包括:

失败是相关的,修复一个可能修复其他问题。

需要理解完整的系统状态。

智能体之间会互相干扰。

使用前可以用判断流程辅助决策:如果存在多个失败,判断它们是否独立;若独立,再看能否并行工作;可以并行则并行分派,否则顺序执行智能体。如果失败之间有关联,则由单个智能体排查所有问题。

模式

  1. 识别独立的问题域

按故障分组,例如:

文件 A 测试:工具审批流程。

文件 B 测试:批量完成行为。

文件 C 测试:中止功能。

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

  1. 创建聚焦的智能体任务

每个智能体获得:

明确范围:一个测试文件或子系统。

清晰目标:让这些测试通过。

约束条件:不修改其他代码。

预期输出:你发现和修复内容的总结。

  1. 并行分派

在 Claude Code 或 AI 环境中,可以这样分派:

Task("修复 agent-tool-abort.test.ts 的失败") Task("修复 batch-completion-behavior.test.ts 的失败") Task("修复 tool-approval-race-conditions.test.ts 的失败") // 三个任务并发运行

  1. 审查与集成

当智能体返回时:

阅读每个总结。

验证修复之间没有冲突。

运行完整测试套件。

集成所有更改。

智能体提示词结构

好的智能体提示词应该是:

聚焦的:一个清晰的问题域。

自包含的:包含理解问题所需的所有上下文。

明确输出要求:智能体应该返回什么?

示例提示词:

修复 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”,保持聚焦的范围。

无上下文:例如说“修复竞态条件”,智能体不知道在哪里;应提供上下文,粘贴错误信息和测试名称。

无约束:智能体可能会重构所有代码;应设置约束,例如“不要修改生产代码”或“只修复测试”。

模糊的输出要求:例如说“修好它”,你不知道改了什么;应明确要求,例如“返回根因和修改内容的总结”。

不适用的场景

关联性失败:修复一个可能修复其他问题,应先一起排查。

需要完整上下文:理解问题需要看到整个系统。

探索性调试:你还不知道什么坏了。

共享状态:智能体会互相干扰,例如编辑同一文件、使用同一资源。

实际案例

场景:大规模重构后,3 个文件中出现 6 个测试失败。

失败情况:

agent-tool-abort.test.ts:3 个失败,时序问题。

batch-completion-behavior.test.ts:2 个失败,工具未执行。

tool-approval-race-conditions.test.ts:1 个失败,执行计数等于 0。

决策:独立的问题域,中止逻辑、批量完成、竞态条件各自独立。

分派:

智能体 1 → 修复 agent-tool-abort.test.ts。 智能体 2 → 修复 batch-completion-behavior.test.ts。 智能体 3 → 修复 tool-approval-race-conditions.test.ts。

结果:

智能体 1:用基于事件的等待替换了超时。

智能体 2:修复了事件结构 bug,threadId 位置不对。

智能体 3:添加了等待异步工具执行完成的逻辑。

集成:所有修复互相独立,无冲突,完整测试套件全部通过。

节省的时间:3 个问题并行解决,而不是顺序解决。

核心优势

并行化:多个排查同时进行。

聚焦:每个智能体范围窄,需要跟踪的上下文少。

独立性:智能体之间互不干扰。

速度:3 个问题在 1 个问题的时间内解决。

验证

智能体返回后:

审查每个总结,理解改了什么。

检查冲突,确认智能体是否编辑了同一段代码。

运行完整套件,验证所有修复协同工作。

抽查,智能体可能犯系统性错误。

实际效果

来自调试会话(2025-10-03):

3 个文件中 6 个失败。

并行分派 3 个智能体。

所有排查并发完成。

所有修复成功集成。

智能体之间的更改零冲突。