swarm について
Swarm は、計画、並列実行、集約、報告を通じて複数のワーカーによる作業を調整するエージェントスキルです。ワーカーの選定、指示の要件、結果の検証、未対応部分の扱いを定めています。
主な機能
- 01群体タスクの4段階を定義
- 02設定に基づいてワーカーモデルを選択
- 03ワーカーを並列で起動
- 04結果を検証し未対応部分を報告
活用シーン
- 01作業を独立した単位に分割
- 02同じ指示で複数ワーカーを競わせる
- 03ワーカーの結果を集約して検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ backnotprop/ pstack --skill swarmインストール後、Claude Code で/swarmを入力して読み込まれたか確認します。
詳細
Swarm
開始
何かを開始する前に、各フェーズにつき1項目のTODOリストを作成します。
- 枠組みを決める
- 作業を分担する
- 集約する
- 報告する
フェーズ A:枠組みを決める
- 完了条件と、Swarm が返す成果物またはレポートを明示します。
- 形を選びます。作業を分割する、同じ依頼内容で N 人のワーカーを競わせる、またはその両方を組み合わせます。競争形式または混合形式の場合は、ワーカーを起動する前に
first pass、rank all、best-ofのいずれかを宣言します。 - pstack 設定ファイル(Cursor では
~/.cursor/rules/pstack-models.mdc、Claude Code では~/.claude/rules/pstack-models.md、その他のハーネスでは~/.agents/pstack-models.md)のswarm workers行にあるモデルを選びます。ファイルまたはその行がない場合は、grok-4.7-xhigh-fastを使用します。autoまたはinherit-parentの場合は、modelを省略して、ワーカーが親のモデルで実行されるようにします。サブエージェントツールがモデルのスラッグを受け付けない場合は、デフォルトを使用し、その旨を伝えます。デフォルトも受け付けない場合は、エラーメッセージまたはハーネスのモデルリストにある、同じファミリーの有効なスラッグのうち最も近いものを使用します。モデル競争の場合は、各アームのモデルを事前に指定します。各サブエージェントの推論レベルと速度(高速または標準)は、poteto-mode スキルの Subagents セクションに従い、作業内容に合わせて選びます。 - ワーカーが書き込みを行う場合は、各ワーカーにそれぞれ書き込み可能な出力先を割り当てます。ワーカーがコミットを検証または測定する場合は、各依頼内容に正確な SHA を記載します。測定依頼には、測定方法(サンプル数、1つのサンプルの定義、順序)も記載します。ワーカーはその両方を結果に記録します。
フェーズ B:作業を分担する
ステップ 3 のモデルを指定し、auto または inherit-parent の場合は未設定のまま、subagent_type: generalPurpose、environment: "cloud"、run_in_background: true を指定して、1つのメッセージですべての N 人のワーカーを起動します。ワーカーがユーザーのコンピューター上のものにアクセスする必要がある場合に限り、environment: "local" を使用します。
ワーカーがデフォルト以外のプッシュ済みブランチから開始する必要がある場合は、cloud_base_branch を渡します。
その他のハーネス。 これらのパラメーターは Cursor の Task ツールに属し、environment: "cloud" は Cursor のクラウドエージェントを実行します。別のハーネスでは、そのサブエージェントツールを使用します。Claude Code では Agent(subagent_type: general-purpose)、OpenCode では task(subagent_type: general)、Codex では spawn_agent を使用します。これらの環境ではワーカーはローカルで実行されるため、それぞれに独自のワークツリーまたは出力パスを割り当てます。依頼内容とモデルはそのままにします。使用するツールにないパラメーターは削除します。Pi の拡張機能なしの場合のように、ハーネスにサブエージェントツールがない場合は、ワーカーを1人ずつ順番に実行します。
依頼内容は、それぞれ単独で完結するようにします。目標、範囲、正確な分割範囲または競争アーム、検証方法、報告内容を含めます。報告では、証拠とともに PASS、ISSUES、BLOCKED のいずれかを使用します。不具合を証明できるワーカーは ISSUES を報告し、最初の問題だけでなく、証明できる問題をすべて列挙します。
ワーカーが離脱した場合は、N-1 人で続行し、その旨を記録します。
フェーズ C:集約する
最終結果を読みます。依頼内容で指定された SHA と測定方法が記録されていない結果は除外し、そのワーカーを1回再起動します。2回目も失敗した場合は、未解決事項として記録します。未解決事項は合格として数えません。網羅性を確保するには、必須の各分割範囲について結果が必要です。競争形式の場合は、事前に宣言した選定ルールを適用します。first pass、rank all、best-of のいずれかを使用します。ワーカーの生の出力を貼り付けないでください。
フェーズ D:報告する
結果の表、問題の概要、未解決事項または離脱、競争形式を使用した場合はその選定ルールを含む、統合したチャット内レポートを1つ返します。