swarm について
swarm は、タスクを N 人の並列ワーカーに割り当て、結果を集約した単一レポートを返すエージェント向けワークフロースキルです。タスクの設計、役割の選択、証拠の提示、結果の集約方法を定めています。
主な機能
- 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 人のワーカーに作業を並列に振り分けます。ワーカーは別々の範囲を担当することも、同じ依頼を競うことも、両方を組み合わせることもできます。親は完了を待ち、結果を集約して、1 つのレポートを返します。
開始
何かを開始する前に、フェーズごとに 1 項目を記載した作業リストを作成します。
- 枠組みを決める
- 振り分ける
- 集約する
- 報告する
フェーズ A:枠組みを決める
- 完了条件と、Swarm が返す成果物またはレポートを定義します。
- 形を選びます。範囲を分割する、同じ依頼で N 人のワーカーを競わせる、または両方を組み合わせます。競争形式または混合形式の場合は、起動前に
first pass、rank all、またはbest-ofを宣言します。 - N はユーザーの指定に従うか、選んだ形式に基づいて決めます。N はワーカーの総数であり、同時に実行する数ではありません。
- 各ワーカーの役割は、その作業内容に応じて選びます。起動には pstack-harness スキルを使用します。その Spawn a role セクションが役割を解決し、この CLI の起動呼び出しを組み立てます。
- 何かを実行して結果を報告するワーカーには、デフォルトが
sonnetのswarm workers役割を使用します。そのPASSまたはISSUESは、コマンドの出力または観察した結果に基づきます。ゲート、ライブ、リグレッション、パフォーマンスのレーン、カバレッジの範囲、探索の分割はこの種類です。 - コード、差分、または別の成果物を読み、評価するワーカーには、デフォルトが
opusのtrail reviewer役割を使用します。監査とレビューのレーン、および何かを実行してその作業を評価するワーカーもこの種類です。起動前に作業を行ったモデルを特定してください。Spawn a role はそのモデルを--work-modelとして渡し、設定が許せば、かつtrail reviewer stepがoffでなければ、リゾルバーはこの役割に対して、作業モデルと同じファミリーの別のモデルを選びます。モデルが不明な場合は、解決された役割のまま実行し、その旨をレポートに記載します。 - モデル競争の場合は、各枠で使用するモデルをあらかじめ指定します。指定した枠は、両方の役割に優先します。
- 何かを実行して結果を報告するワーカーには、デフォルトが
- 書き込みを行う場合は、各ワーカーにそれぞれ書き込み可能な出力先を割り当てます。ワーカーがコミットを検証または計測する場合は、各依頼に正確な SHA を記載します。計測の依頼には、方法(サンプル数、1 サンプルの内容、順序)も記載します。ワーカーはその両方を結果に記録します。
フェーズ B:振り分ける
すべての N 人のワーカーを、ペルソナなしで、run_in_background: true を指定し、各ワーカーのステップ 4 の役割から Spawn a role が組み立てる起動呼び出しを使って、1 回のメッセージで起動します。
別のプッシュ済みブランチから開始する必要があるワーカーには、依頼に記載されたそのブランチの SHA を基点とするワークツリーを用意します。
各依頼は単独で内容が完結するようにします。目標、範囲、正確な担当範囲または競争枠、検証方法、報告内容を含めます。報告は根拠を添えて PASS、ISSUES、または BLOCKED を使います。不具合を立証できるワーカーは ISSUES を報告し、最初のものだけでなく、立証できるすべての問題を列挙します。
競争形式では、arena スキルの必須枠ルールに従います。カバレッジでは、必須範囲が欠けると報告は不完全です。有用な結果は保持し、欠落を記録します。任意のワーカーは、制約を記録したうえで途中で離脱できます。
フェーズ C:集約する
最終結果を読みます。依頼で指定した SHA と方法が記録されていない結果は除外し、そのワーカーを 1 回だけ再起動します。2 回目も不足があれば、欠落として記録します。欠落は合格として数えません。カバレッジでは、必須範囲すべてに結果が必要です。競争形式では、事前に宣言した選定ルールを適用します。first pass、rank all、または best-of を使用します。ワーカーの出力をそのまま貼り付けないでください。
簡潔な結果テーブル、根拠を添えた問題の一行説明、明示的な欠落または離脱をまとめます。
フェーズ D:報告する
結果テーブル、問題の一行説明、欠落または離脱、および競争形式を使用した場合はそのルールを含む、統合されたレポートをチャットで 1 つ返します。