关于 swarm
swarm 是一种将任务分发给 N 个并行工作者、汇总结果并输出单份报告的 Agent 工作流技能。它规定任务拆分、工作者角色、验证证据和结果汇总方式。
主要功能
- 01并行分发给多个工作者
- 02支持分片、竞速或混合任务
- 03按工作内容选择工作者角色
- 04要求报告附带验证证据
- 05汇总结果并记录缺口
适用场景
- 01并行检查不同代码或功能切片
- 02让多个模型针对同一任务竞速
- 03组织测试、审查或性能测量
- 04汇总多名工作者的验证结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mdsmithaustin/ pstack --skill swarm安装后在 Claude Code 中输入/swarm确认已加载。
附带文件agents/openai.yaml
详细介绍
Swarm
分派 N 个并行工作者。它们可以分别负责不同部分、针对同一任务说明展开竞赛,或兼顾两者。父级等待、汇总,并返回一份报告。
开始
启动前,先创建一份工作清单,每个阶段对应一项。
- 界定
- 分派
- 汇总
- 报告
阶段 A:界定
- 说明完成条件,以及 Swarm 必须返回的产物或报告。
- 选择形式。可以划分为不同部分、让 N 个工作者按相同任务说明竞赛,或兼顾两者。对于竞赛或混合形式,请在启动前声明采用
first pass、rank all还是best-of。 - 根据用户要求确定 N,或按所选形式推算。N 指工作者总数,不是同时运行的数量。
- 根据工作者的职责选择角色。使用 pstack-harness 技能来启动。其 Spawn a role 部分会解析角色并生成此 CLI 的启动调用。
- 负责运行任务并报告观察结果的工作者使用
swarm workers角色,默认模型为sonnet。其PASS或ISSUES应来自命令输出或观察到的结果。Gate、live、regression 和 perf 通道、覆盖率切片及探索分区都属于此类。 - 负责阅读代码、diff 或其他产物并作出判断的工作者使用
trail reviewer角色,默认模型为opus。审计和评审通道属于此类,同时负责运行任务并评判工作的工作者也属于此类。启动前,请先找出编写该工作的模型,因为 Spawn a role 会将其作为--work-model传入;在配置允许且trail reviewer step不为off时,解析器会为此角色选择同一模型系列中的另一款模型。如果模型未知,请按解析出的角色启动,并在报告中说明。 - 对于模型竞赛,请预先指定每个竞赛方使用的模型。指定的模型会覆盖两种角色。
- 负责运行任务并报告观察结果的工作者使用
- 如果工作者要写入内容,请为每个工作者指定各自可写的输出位置。工作者验证或测量提交时,每份任务说明都必须指定确切的 SHA。测量任务说明还必须指定方法(样本数、单个样本的定义及顺序)。工作者须在结果中记录这两项。
阶段 B:分派
在一条消息中启动全部 N 个工作者,不指定 persona,设置 run_in_background: true,并使用 Spawn a role 根据每个工作者在第 4 步中的角色生成启动调用。
必须从另一个已推送分支开始工作的工作者,应在该分支的 SHA 上创建 worktree,并在任务说明中注明。
每份任务说明都必须完整独立,包含目标、范围、确切的工作切片或竞赛方、验证方法及报告要求。报告须以 PASS、ISSUES 或 BLOCKED 开头,并附证据。能够证实缺陷的工作者须报告 ISSUES,并列出所有能够证实的问题,而不只是第一个。
竞赛须遵循 arena 技能中的必需竞赛方规则。对于覆盖率任务,缺少必需切片会导致报告不完整。保留有用结果并记录缺口。可选工作者可以退出,但须记录限制。
阶段 C:汇总
读取最终结果。若结果未记录任务说明中指定的 SHA 和方法,则舍弃该结果,并重新启动该工作者一次。第二次仍不合格时,记录为缺口。缺口不算通过。对于覆盖率任务,每个必需切片都必须有结果。对于竞赛,按预先声明的规则进行选择:使用 first pass、rank all 或 best-of。不要粘贴工作者原始输出。
保留一份简洁的结果表、一行一个且有证据支撑的问题,以及明确的缺口或退出情况。
阶段 D:报告
在聊天中返回一份汇总报告,包含结果表、每个问题的一行摘要、缺口或退出情况,以及采用竞赛时使用的规则。