swarm について
swarm は、複数のクラウドワーカーを並行して動かすためのスキルです。タスクの分割や同一ブリーフでの競争実行を調整し、結果を一つのレポートにまとめます。
主な機能
- 01クラウドワーカーの並行調整
- 02タスク分割やブリーフ競争
- 03ワーカーモデルの選択
- 04結果の集約と不足の追跡
- 05統合レポートの作成
活用シーン
- 01大きなタスクを独立した部分に分割
- 02同一ブリーフへの複数案を比較
- 03検証結果を収集して統合
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ q-qp-p/ pstack --skill swarmインストール後、Claude Code で/swarmを入力して読み込まれたか確認します。
詳細
Swarm
N 人のクラウドワーカーに並列で作業を振り分けます。ワーカーは別々の範囲を担当したり、同じ依頼で競い合ったり、両方を組み合わせたりできます。親は完了を待ち、結果を集約して、1 つのレポートを返します。
開始
作業を開始する前に、各フェーズを 1 項目ずつ記載した todo リストを作成します。
- 枠組みを決める
- 作業を振り分ける
- 集約する
- 報告する
フェーズ A:枠組みを決める
- 完了条件と、スウォームが返す成果物またはレポートを明確にします。
- 形式を選びます。作業範囲ごとに分割する、同一の依頼で N 人のワーカーを競わせる、または両方を組み合わせます。競争形式または混合形式では、ワーカーを起動する前に
first pass、rank all、best-ofのいずれかを宣言します。 - N はユーザーの指定に従うか、形式から算出します。N はワーカーの総数であり、クラウドの同時実行数の上限ではありません。
- pstack 設定ファイル(Cursor では
~/.cursor/rules/pstack-models.mdc、その他のハーネスでは~/.agents/pstack-models.md)のswarm workersの行からワーカーモデルを選びます。ファイルまたは該当行がない場合は、grok-4.7-xhigh-fastを使用します。autoまたはinherit-parentの場合は、ワーカーが親のモデルで実行されるようにmodelを省略します。サブエージェントツールがモデルのスラッグを受け付けない場合は、デフォルトを使用し、その旨を伝えます。デフォルトも受け付けない場合は、エラーメッセージまたはハーネスのモデル一覧から、同じ系列の有効なスラッグのうち最も近いものを使用します。モデルを競わせる場合は、それぞれの陣営で使用するモデルを事前に指定します。poteto-mode スキルの Subagents セクションに従い、作業に応じた各サブエージェントの推論レベルと、fast または standard の速度を選びます。 - ワーカーが何かを書き込む場合は、それぞれに独自の書き込み可能な出力先を割り当てます。ワーカーがコミットを検証または測定する場合は、各依頼に対象となる正確な SHA を記載します。測定の依頼には、手法(サンプル数、1 サンプルの定義、順序)も記載します。ワーカーは結果にその両方を記録します。
フェーズ B:作業を振り分ける
すべての N 人のワーカーを 1 回のメッセージで起動し、subagent_type: generalPurpose、environment: "cloud"、run_in_background: true と、手順 4 で選んだモデルを指定します。ただし、auto または inherit-parent の場合はモデルを未設定のままにします。ワーカーがユーザーのコンピューター上のものにアクセスする必要がある場合に限り、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)を適用します。ワーカーの生の出力を貼り付けないでください。
簡潔な結果表、根拠を示した問題の 1 行説明、明示的な未解決項目または離脱を記載します。
フェーズ D:報告する
結果表、問題の 1 行説明、未解決項目または離脱、および競争形式を使用した場合はその選定ルールを含む、統合レポートをチャット内で 1 つ返します。