mcpField
S
swarm

swarm

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

swarm について

swarm は、複数のエージェントでタスクを進めるためのスキルです。タスクの分割、作業の委任、結果の集約、報告の手順と、結果や不足への対処を定めています。

主な機能

  1. 014段階のタスク手順
  2. 02タスクの定義と分割
  3. 03ワーカーのモデル選択
  4. 04並列委任のガイド
  5. 05結果の集約と不足の追跡

活用シーン

  1. 01複数のエージェントへのタスク分割
  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 セクションにある既定値が適用されます。

開始

作業を開始する前に、各フェーズにつき1項目を含むタスクリストを作成します(ハーネスのタスクツールを使うか、まだない場合は ~/.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>"}} になります。努力量オプション ID は、そのモデルについて orchestrator_capabilities が一覧表示するものです。auto または inherit-parent の場合、あるいはファイルまたはその行が存在しない場合は、target を省略して親モデルでワーカーを実行します。ファイルがない場合は、その旨を伝え、/setup-pstack を提案します。delegate_task がエントリを受け付けない場合は、orchestrator_capabilities が一覧表示する同じプロバイダーの最も近いモデルを使い、その旨を伝えます。モデル競争では、起動前に各陣営のモデルを明示します。Subagents セクションにある poteto-mode スキルに従い、作業に応じて各サブエージェントの推論レベルと高速または標準の実行速度を選びます。
  4. 書き込みを行う場合は、各ワーカーにそれぞれ書き込み可能な出力先を割り当てます。ワーカーがコミットを検証または測定する場合は、各ブリーフに正確な SHA を記載します。測定ブリーフには、測定方法(サンプル数、1サンプルの定義、順序)も記載します。ワーカーは結果に SHA と測定方法の両方を記録します。

フェーズ B:作業を分担する

すべての N 人のワーカーを1ターン内に delegate_task の子として起動し、mode: "async"、スライスまたは競争の陣営名を含む title、およびステップ4の target を指定します。auto または inherit-parent の場合、target は未設定のままにします。子エージェントは同じチェックアウトを共有するため、並列で書き込む場合は互いに異なるファイルを担当し、git コマンドは実行しません。独自のツリーまたはブランチが必要なワーカーは、t3_thread_launch スレッドとして起動し、workspaceStrategy: {"type":"worktree","baseRef":"<commit or branch>","branch":"<new branch>","startFromOrigin":false}、ステップ4の modelSelection: {"instanceId": ..., "model": ..., "options": ...}、およびブリーフを message に指定します。未コミットの編集内容は新しい worktree に引き継がれないため、先にコミットしてください。各 worktree またはブランチの書き込み担当者は1人にします。

ワーカーがデフォルト以外のブランチから開始する必要がある場合は、そのブランチを baseRef に指定して t3_thread_launch スレッドとして起動します。

各ブリーフは、それ単独で理解できる内容にします。目標、範囲、具体的なスライスまたは競争の陣営、検証方法、報告事項を含めます。報告には証拠を添えて PASS、ISSUES、または BLOCKED を使います。欠陥を証明できるワーカーは ISSUES として報告し、最初の問題だけでなく、証明できるすべての問題を列挙します。

起動したら、そのターンを終了します。子エージェントの完了通知を受けると、あなたが再び起動されます。ターンの途中で結果が必要な場合に限り task_status を使い、起動したスレッドには t3_thread_wait を使います。ワーカーが離脱した場合は N-1 人で続行し、その旨を記録します。

フェーズ C:集約する

最終結果を読みます。ブリーフで指定された SHA と測定方法を記録していない結果は破棄し、そのワーカーを1回だけ再起動します。2回目も記録がない場合は、ギャップとして記録します。ギャップは合格として数えません。カバレッジを満たすには、必須スライスすべてに結果が必要です。競争形式の場合は、事前に宣言した選択ルールを適用します。first pass、rank all、best-of のいずれかを使います。ワーカーの生の出力を貼り付けないでください。

フェーズ D:報告する

表、問題点を簡潔にまとめた一覧、ギャップまたは離脱の記録、および競争形式を使った場合はその選択ルールを含む、集約したレポートをチャット内で1つ返します。

コメント