mcpField
S
swarm

swarm

github.com/mdsmithaustinエージェントワークフロー8168 回インストール1 日前に更新
リポジトリ

swarm について

swarm は、タスクを N 人の並列ワーカーに割り当て、結果を集約した単一レポートを返すエージェント向けワークフロースキルです。タスクの設計、役割の選択、証拠の提示、結果の集約方法を定めています。

主な機能

  1. 01複数ワーカーへの並列割り当て
  2. 02分割・競争・混合形式に対応
  3. 03作業内容に応じた役割選択
  4. 04証拠を含む報告の要求
  5. 05結果の集約と不足の記録

活用シーン

  1. 01コードや機能の別範囲を並行確認
  2. 02同じタスクで複数モデルを競争
  3. 03テスト、レビュー、性能測定の編成
  4. 04複数ワーカーの検証結果を集約

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/swarmを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yaml

詳細

Swarm

N 人のワーカーに作業を並列に振り分けます。ワーカーは別々の範囲を担当することも、同じ依頼を競うことも、両方を組み合わせることもできます。親は完了を待ち、結果を集約して、1 つのレポートを返します。

開始

何かを開始する前に、フェーズごとに 1 項目を記載した作業リストを作成します。

  1. 枠組みを決める
  2. 振り分ける
  3. 集約する
  4. 報告する

フェーズ A:枠組みを決める

  1. 完了条件と、Swarm が返す成果物またはレポートを定義します。
  2. 形を選びます。範囲を分割する、同じ依頼で N 人のワーカーを競わせる、または両方を組み合わせます。競争形式または混合形式の場合は、起動前に first pass、rank all、または best-of を宣言します。
  3. N はユーザーの指定に従うか、選んだ形式に基づいて決めます。N はワーカーの総数であり、同時に実行する数ではありません。
  4. 各ワーカーの役割は、その作業内容に応じて選びます。起動には pstack-harness スキルを使用します。その Spawn a role セクションが役割を解決し、この CLI の起動呼び出しを組み立てます。
    • 何かを実行して結果を報告するワーカーには、デフォルトが sonnet の swarm workers 役割を使用します。その PASS または ISSUES は、コマンドの出力または観察した結果に基づきます。ゲート、ライブ、リグレッション、パフォーマンスのレーン、カバレッジの範囲、探索の分割はこの種類です。
    • コード、差分、または別の成果物を読み、評価するワーカーには、デフォルトが opus の trail reviewer 役割を使用します。監査とレビューのレーン、および何かを実行してその作業を評価するワーカーもこの種類です。起動前に作業を行ったモデルを特定してください。Spawn a role はそのモデルを --work-model として渡し、設定が許せば、かつ trail reviewer step が off でなければ、リゾルバーはこの役割に対して、作業モデルと同じファミリーの別のモデルを選びます。モデルが不明な場合は、解決された役割のまま実行し、その旨をレポートに記載します。
    • モデル競争の場合は、各枠で使用するモデルをあらかじめ指定します。指定した枠は、両方の役割に優先します。
  5. 書き込みを行う場合は、各ワーカーにそれぞれ書き込み可能な出力先を割り当てます。ワーカーがコミットを検証または計測する場合は、各依頼に正確な 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 つ返します。

コメント