mcpField
H
harness-learn

harness-learn

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

harness-learn について

harness-learnは、スコア付きタスクコーパスを使ってハーネスのポリシーを進化させるmetaharness GEPA学習を扱います。測定に基づいてプロンプトを改善したい開発者向けで、モデルを呼び出さない費用確認ができ、ローカルのmetaharnessチェックアウトが必要です。

主な機能

  1. 01スコア付きタスクでポリシーを進化
  2. 02ホールドアウト評価で候補を選別
  3. 03モデル呼び出しなしでスライスと費用を確認
  4. 04構造化レポートまたは生テキストを解析
  5. 05ローカルのmetaharnessチェックアウトが必要

活用シーン

  1. 01成績の低いタスク群のポリシープロンプトを改善
  2. 02学習実行前に費用を見積もる
  3. 03学習後に昇格したポリシーを確認

MCP 対応

MCPツールmetaharness_learnは、120秒のサブプロセス予算で学習フローを呼び出します。実際の学習実行はターミナルから行います。

インストール

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

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

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

詳細

metaharness learn を提供します。これは、プロンプトを手作業で編集する代わりに、スコア付きタスクコーパスを使ってハーネスポリシーのゲノムを進化させる、アップストリームの GEPA 学習ハーネスです。候補はホールドアウトされたスライスで採点され、実測で勝った候補のみが昇格します(同梱の cand-6 ゲノムは、初の昇格例です。ホールドアウトのゴールドスコアが 2/12 から 3/12 に向上し、回帰はありません)。

使用するタイミング

  • ハーネスのタスクファミリー向けポリシープロンプトの性能が低く、手動でプロンプトを反復するのではなく、改善を実測するループを構築したい場合。
  • 学習実行の費用をかける前に見積もる場合 — デフォルトのドライランではスライスマニフェストを解決し、モデルを呼び出さずに費用を報告します。
  • 学習実行でゲノムが昇格した後、harness-gepa --op render と組み合わせて、昇格したポリシーの実際の内容を確認する場合。

前提条件(アップストリーム設計)

学習ハーネス(GEPA + SWE-bench + Docker)は npm パッケージには重すぎるため、learn を使うにはローカルのクローンが必要です。

git clone https://github.com/ruvnet/metaharness.git
node scripts/learn.mjs --repo ./metaharness --host claude-code --model haiku --slice slices/lite.json

チェックアウトがない場合、スクリプトは {status: "checkout-required"} を出力して 0 で終了します。これはエラーではなく前提条件のレポートです(npm パッケージ自体が存在しないことを意味する degraded: true とは異なります)。マネージドサービスの経路(ゲートウェイ側の学習ジョブ、チェックアウト不要)は、アップストリームの ADR-235 のフォローアップであり、まだ利用できません。

アルゴリズム

実装:scripts/learn.mjs。

  1. 指定されている場合は --repo が存在することを検証し、$METAHARNESS_REPO としてエクスポートします。
  2. ピン留めされた metaharness バイナリ(metaharness@~0.4.1、ローカルインストールまたは一度だけ作成されるバージョン指定キャッシュ。@latest は使用しません)を _harness.mjs 経由で呼び出します(グレースフルデグラデーション、ハードタイムアウト):metaharness learn --host <h> --model <m> --slice <s> [--run]
  3. デフォルトのタイムアウト:ドライランは 120 秒、--run を指定した場合は 600 秒です。大きなスライスでの実行には、スライスのサイズとモデルの費用に応じた --timeout-ms の明示的な指定が必要です。
  4. チェックアウトが必要というメッセージを検出すると、構造化ペイロードを返して 0 で終了します。
  5. アップストリームが末尾に JSON レポートを出力した場合は解析し、それ以外の場合は生のレポートテキストを rawReport に格納して返します。

費用に関する注意

費用が発生するのは --run のみです。それ以外のすべて(ドライラン、チェックアウト確認、デグレード時の経路)は $0 です。MCP ツール(metaharness_learn)のサブプロセス実行時間の上限は 120 秒です。実際の学習サイクルは、ターミナルから ruflo metaharness learn ... --run --timeout-ms <big> を使って実行してください。

終了コード

  • 0 — レポートを生成(またはドライラン、チェックアウトが必要、デグレード時)
  • 1 — --alert-on-fail が指定され、学習実行が失敗を報告
  • 2 — 設定エラー(--repo のパスが不正)

コメント