mcpField
H
harness-similarity

harness-similarity

github.com/ruvnetエージェントワークフロー80.0k236 回インストール今日更新
リポジトリ

harness-similarity について

harness-similarityは、数値、カテゴリ、エージェント構成のデータを使ってハーネスを比較する呼び出し可能なスキルです。テンプレートの順位付け、既存ハーネスのフォークか新規作成かの判断、重複作業の発見に使え、次元別の結果も確認できます。

主な機能

  1. 01コサイン、カテゴリ、Jaccard類似度の組み合わせ
  2. 02ファイルまたは永続化メモリレコードの比較
  3. 03次元別の内訳表示
  4. 04不正な入力でも例外を発生させない処理
  5. 05CLIコマンドとMCPツールの提供

活用シーン

  1. 01ハーネスのフォークか新規作成かの判断
  2. 02リポジトリのgenomeに基づくテンプレート順位付け
  3. 03チーム間のハーネスにおける重複作業の発見
  4. 04レコメンダー向け類似度信頼値の生成

MCP 対応

ハーネス類似度関数を呼び出すMCPツール `mcp__plugin_ruflo-core_ruflo__metaharness_similarity` を登録します。

インストール

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

$npx skills add https://github.com/ruvnet/ruflo --skill harness-similarity

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

詳細

scripts/_similarity.mjs の本番用類似度関数を、呼び出し可能なスキルとして公開します。エージェントが次のことを行う必要がある場合に使用します。

  • 既存のハーネスをフォークするか、新しいハーネスをスキャフォールドするかを判断する
  • 候補テンプレートを対象リポジトリのゲノムに照らして順位付けする
  • 異なるチームが作成した2つのハーネスを比較し、重複作業を特定する
  • ADR-151 §3.2 の Recommender がラップする信頼度の数値を生成する

アルゴリズム(ADR-152 §Decision より)

overall = 0.60·cosine + 0.25·categorical + 0.15·jaccard
  • コサイン — スコアカードとゲノムの次元を正規化した9次元数値ベクトルを対象とします
  • カテゴリ — 一致する4つの列挙フィールド(repo_type、archetype、template、recommendedMode)の割合です
  • ジャカード — agent_topology[] 配列を対象とした |A ∩ B| / |A ∪ B| です

3コンポーネントの設計は重要です。数値のコサイン類似度だけでは粗すぎます(iter-35 のスパイクでは、互いに無関係な業種である LEGAL と DEVOPS が cosine=0.97 になりました)。カテゴリとジャカードによって、合成スコアを正しい順序に導きます。

参照出力(iter-35 のスパイク用フィクスチャ)

ペア総合コサインカテゴリジャカード
LEGAL × LEGAL(自己)1.00001.00001.00001.0000
LEGAL × SUPPORT0.82960.99870.75000.2857
LEGAL × DEVOPS0.58400.97340.00000.0000

ADR-152 §「実証可能な最小のスパイク」の両方の不変条件を満たします。

  1. similarity(X, X) === 1 が正確に成り立つ
  2. similarity(LEGAL, DEVOPS) < similarity(LEGAL, SUPPORT)(業種の親和性)

アーキテクチャ上の制約の継承(ADR-150)

  • 削除可能 — 純粋なTS関数で、静的な @metaharness/* インポートはゼロです。
  • オプション — package.json に新たな依存関係は追加しません。
  • グレースフル — 不正な形式の入力には終了コード2で { degraded: true, reason } を出力し、例外はスローしません。
  • CIゲート — スモークステップ17yで契約を固定します。モジュールのエクスポート、スパイク用フィクスチャの再現、CLIディスパッチャーエントリーの登録、MCPツールの登録を確認します。

使用方法

# File inputs
npx ruflo metaharness similarity --a a.json --b b.json

# Memory inputs (records persisted by oia-audit.mjs)
npx ruflo metaharness similarity --a-key harness-X --b-key harness-Y

# Per-dimension breakdown (used by ADR-151 §3.2 Recommender)
npx ruflo metaharness similarity --a a.json --b b.json --per-dimension

# Alert when too-dissimilar (used by ADR-151 §3.3 Drift Detection)
npx ruflo metaharness similarity --a a.json --b b.json --alert-below 0.5

実装

本番モジュール:scripts/_similarity.mjs CLIスキル:scripts/similarity.mjs MCPツール:mcp__plugin_ruflo-core_ruflo__metaharness_similarity(v3/@claude-flow/cli/src/mcp-tools/metaharness-tools.ts に登録) スパイクの基準:scripts/_spike-similarity.mjs(回帰テストスイート — 不変条件をここで固定)

コメント