mcpField
D
dynamic-harness

dynamic-harness

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

dynamic-harness について

Dynamic Harness は、独立した作業者によって速度や根拠の質を高められる場合に、委任作業を調整するスキルです。委任パターン、作業範囲の管理、検証、長期タスクの記録方法を提供します。

主な機能

  1. 01委任と結果統合のパターン
  2. 02範囲と成功条件を定めるブリーフ
  3. 03作業者の予算と停止条件
  4. 04根拠に基づく結果検証
  5. 05作業再開に使える永続台帳

活用シーン

  1. 01独立したファイルや仮説の調査
  2. 02影響の大きい結果の独立検証
  3. 03再起動や複数バッチにまたがる作業の調整

インストール

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

$npx skills add https://github.com/robsonrung/rar-skills --skill dynamic-harness

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

同梱ファイルagents/openai.yamlscripts/start_mission.py

詳細

動的ハーネス

モデルを選択する前に、ブランチを選択します。現在のコーディネーターで作業を計画し、分類します。選択したワーカーをディスパッチする前に、shared/references/model-preview.md を使って承認済みルートのスナップショットを固定します。

モデル ID、対応する推論量、タスクのデフォルト値は、 shared/model-routing.json からのみ取得します。ディスパッチ、 再試行、再開の間は、承認済みスナップショットを維持してください。

明示的な委任が有効な作業には、このスキルを使用します。通常のタスクでのデフォルトではありません。最小限の一貫した構成は、ローカルワーカー 1 つ、または範囲を限定したチェック 1 つです。独立した作業によって時間を短縮できる、または根拠を強化できる場合にのみ、エージェントを追加します。

成果

担当者、根拠、停止条件が明確な、検証済みの結果を提供します。コンテキストウィンドウをまたぐ作業、再起動を伴う作業、または複数のバッチにまたがる作業では、永続的な台帳を保持します。

パターンを選択する

ニーズパターン
適切なルートまたは専門担当者を選ぶ分類して実行
独立したファイル、主張、仮説を調査する複数に展開して統合
影響の大きい結果に異議を唱える敵対的検証
選択肢を生成してから順位付けする生成して絞り込む、またはトーナメント
量が不明な作業を検索する完了するまでループ

依存関係によって 2 つ必要になる場合を除き、パターンは 1 つにします。独立したワーカーの実行中も、メインエージェントはクリティカルパス上に置きます。

ブリーフを準備する

委任する前に、目的、成功基準、選択したパターン、ワーカーの担当範囲、検証方法、停止条件、上限、出力先を含む簡潔なブリーフを作成します。各ワーカーには、次の内容を渡します。

Role:
Scope:
Goal:
Allowed actions:
Write scope:
Evidence required:
Done condition:

ワーカーには、必要なコンテキストのみを渡します。コード変更の書き込み範囲は、互いに重複しないよう割り当てます。並行編集や実験が競合する可能性がある場合は、ワークツリーを使用します。信頼できないコンテンツを、特権を伴う操作から隔離します。

作業を実行する

  1. スナップショットのルートに shared/references/task-shaped-model-routing.md とネイティブな委任を組み合わせて使用し、shared/references/host-model-execution.md を参照します。対応するホストモデルにはネイティブツールを優先し、それ以外の選択済みルートには外部ランナーを使用します。厳密なモデル割り当てを満たせるルートがない場合は、影響を受けるルートを報告します。直列のローカル作業で、別の承認済みモデルを代用することはできません。
  2. 独立したワーカーのみを開始します。影響の大きい成果物には検証担当者を割り当て、ワーカーの結論ではなく、根拠と評価基準を渡します。
  3. 統合前に、すべてのワーカーの結果と変更されたパスを確認します。重要な主張にはそれぞれ、verified、refuted、unresolved のいずれかを付けます。
  4. 外部への副作用を伴う操作や破壊的な操作は、ユーザーが許可していない限り、メインの作業ストリームで実行します。
  5. 根拠を統合し、重要な異論を残します。コード変更後は、最も適切で安全な検証コマンドを実行します。

ループと予算

バッチを繰り返す前に、3 つの終了条件を定めます。成功のシグナル、エスカレーション条件、バッチ数とワーカー数の厳格な上限です。各ディスパッチの前に、予定するワーカー数、呼び出し回数、残りの承認済み予算を記録します。再試行の判断をモデルに委ねてはいけません。

通常の規模は、簡易チェックならワーカー 1~3 人とし、拡大する前に代表的な範囲を実施します。依頼された作業によって有料サービス、本番環境へのアクセス、または大規模なフリートが相当量消費される可能性がある場合にのみ、予算を確認します。

マネージャーモード

マネージャーモードは、複数の作業ストリームがある、または再開が必要になりそうな長期ミッションでのみ使用します。マネージャーは、作業の割り当て、統合、最終報告を担当します。ワーカーは、調査と範囲を限定した実装を担当します。

最初のワーカーを作成する前に、ミッションディレクトリを作成します。同じシェル呼び出しで、SKILL_DIR にこのファイルが含まれる絶対パスを設定します。

SKILL_DIR="<absolute path of this dynamic-harness directory>"; python3 "$SKILL_DIR/scripts/start_mission.py" --title "short task title"

ブリーフ、ワーカーレポート、run-state.json は、そのミッションディレクトリ内に保存します。進捗を記録するのはトランスクリプトではなく台帳です。再開時は、実行状態を読み込み、完了したステップと副作用について、すでに決定された内容を維持します。保留中の呼び出しを照合し、同じロールの続きのターンでは記録されたコンテキストを再利用します。この実行で所有する未使用のワーカーのうち、使用されていないことが確認できたもののみ終了します。残りの作業だけを割り当てます。

ホストでスレッドを別途作成できない場合は、引き継ぎファイルとそのシードプロンプトを作成します。スレッドが存在すると主張してはいけません。ペイロードではなく、パスを引き継ぎます。

レポート

選択したパターン、ワーカーの数と担当範囲、検証済みの結果、根拠、未解決のリスク、台帳または引き継ぎ先のパスを報告します。ミッションのレポートには、識別子と残りのワーカーの状態も記載します。

コメント