mcpField
S
swarm

swarm

github.com/mariusflorescuAgent 工作流1288 次安装4 天前更新
代码仓库

关于 swarm

swarm 是用于编排多 Agent 任务的技能,涵盖任务拆解、委派工作、汇总结果和报告。它规定了执行阶段、工作者简报要求,以及处理结果与缺口的规则。

主要功能

  1. 01四阶段任务流程
  2. 02任务界定与拆分
  3. 03工作者模型选择
  4. 04并行委派指导
  5. 05结果汇总与缺口跟踪

适用场景

  1. 01将任务拆分给多个 Agent
  2. 02按预设规则开展工作者竞赛
  3. 03检查工作者结果是否覆盖需求
  4. 04工作者退出后报告缺口

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mariusflorescu/pstack-t3 --skill swarm

安装后在 Claude Code 中输入/swarm确认已加载。

附带文件agents/openai.yaml

详细介绍

Swarm

以粗体或反引号标出的技能名称,或以 /<name> 运行的技能,是此技能目录旁的 ../<name>/SKILL.md 文件;不带前缀的原则名称对应 ../principle-<name>/SKILL.md。读取该文件并遵循其中的要求。大多数 pstack 技能仅供用户使用,因此你的技能工具无法加载它们。每次 delegate_task 调用都遵循 ../poteto-mode/SKILL.md 的 Subagents 部分中的默认设置。

开始

在启动任何工作之前,创建一个任务列表(使用你所用框架的任务工具;如果没有此工具,则在 ~/.local/state/pstack/checklists/<repo>-<branch>.md 创建清单文件),每个阶段列一项。

  1. 规划
  2. 分派
  3. 汇总
  4. 报告

阶段 A:规划

  1. 明确完成条件,以及 swarm 必须返回的产物或报告。
  2. 选择组织方式:拆分为多个切片、让 N 个工作者根据相同简报竞速,或两者结合。若采用竞速或混合方式,请在启动前声明 first pass、rank all 或 best-of。
  3. 从 ~/.config/pstack/pstack-models.md 中的 swarm workers 行选择工作者模型。条目 <providerInstanceId>/<model> (<effort>) 对应 target: {"providerInstanceId": ..., "model": ..., "options": {"<effort option id>": "<effort>"}},其中 effort 选项 ID 由该模型的 orchestrator_capabilities 列出。若为 auto 或 inherit-parent,或文件或该行不存在,则省略 target,让工作者使用父模型。若文件不存在,请说明这一点并建议使用 /setup-pstack。如果 delegate_task 不接受某个条目,请改用 orchestrator_capabilities 列出的同一提供商最接近的模型,并说明这一点。对于模型竞速,请预先列出每个赛道所用的模型。根据 poteto-mode 技能的 Subagents 部分,为工作安排选择每个子 Agent 的推理级别和快速或标准速度。
  4. 工作者需要写入内容时,为每个工作者指定各自可写的输出位置。工作者验证或测量提交时,每份简报都必须注明准确的 SHA。测量简报还必须注明方法(样本数量、单个样本的定义、顺序)。工作者需在结果中记录两者。

阶段 B:分派

在同一轮中将全部 N 个工作者作为 delegate_task 子任务启动,设置 mode: "async",并让 title 标明切片或竞速赛道;使用第 4 步中的 target,若为 auto 或 inherit-parent 则不设置。子任务共享你的检出目录,因此并行写入者只能操作彼此不重叠的文件,也不得运行 git 命令。需要独立工作树或分支的工作者应作为 t3_thread_launch 线程启动,并设置 workspaceStrategy: {"type":"worktree","baseRef":"<commit or branch>","branch":"<new branch>","startFromOrigin":false},modelSelection: {"instanceId": ..., "model": ..., "options": ...} 使用第 4 步的设置,并将简报放入 message。先提交,因为未提交的编辑不会进入新的工作树。每个工作树或分支仅安排一名写入者。

如果工作者必须从非默认分支开始,则使用该分支作为 baseRef,通过 t3_thread_launch 启动线程。

每份简报都必须独立完整。包括目标、范围、准确的切片或竞速赛道、验证方式以及需报告的内容。报告使用 PASS、ISSUES 或 BLOCKED,并附上证据。能够证明存在缺陷的工作者应报告 ISSUES,并列出所有已证实的问题,而非仅列出第一个问题。

启动工作者后即结束此轮。每个子任务完成时都会通知你。仅在需要于本轮中途获取结果时使用 task_status;已启动线程则使用 t3_thread_wait。如果某个工作者退出,继续处理剩余的 N-1 个工作者并注明这一情况。

阶段 C:汇总

读取最终结果。若某份结果未记录其简报中指定的 SHA 和方法,则舍弃该结果并重新启动该工作者一次。第二次仍不符合要求时,记录为缺口。缺口不算通过。就覆盖范围而言,每个必需切片都必须有结果。竞速则按照预先声明的规则进行选择。使用 first pass、rank all 或 best-of。不要粘贴工作者的原始输出。

阶段 D:报告

在聊天中返回一份整合报告,包含表格、问题简述、缺口或退出情况,以及采用竞速时所用的规则。

评论

支持 Markdown