harness-learn について
harness-learnは、スコア付きタスクコーパスを使ってハーネスのポリシーを進化させるmetaharness GEPA学習を扱います。測定に基づいてプロンプトを改善したい開発者向けで、モデルを呼び出さない費用確認ができ、ローカルのmetaharnessチェックアウトが必要です。
主な機能
- 01スコア付きタスクでポリシーを進化
- 02ホールドアウト評価で候補を選別
- 03モデル呼び出しなしでスライスと費用を確認
- 04構造化レポートまたは生テキストを解析
- 05ローカルのmetaharnessチェックアウトが必要
活用シーン
- 01成績の低いタスク群のポリシープロンプトを改善
- 02学習実行前に費用を見積もる
- 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 のフォローアップであり、まだ利用できません。
アルゴリズム
- 指定されている場合は
--repoが存在することを検証し、$METAHARNESS_REPOとしてエクスポートします。 - ピン留めされた
metaharnessバイナリ(metaharness@~0.4.1、ローカルインストールまたは一度だけ作成されるバージョン指定キャッシュ。@latestは使用しません)を_harness.mjs経由で呼び出します(グレースフルデグラデーション、ハードタイムアウト):metaharness learn --host <h> --model <m> --slice <s> [--run] - デフォルトのタイムアウト:ドライランは 120 秒、
--runを指定した場合は 600 秒です。大きなスライスでの実行には、スライスのサイズとモデルの費用に応じた--timeout-msの明示的な指定が必要です。 - チェックアウトが必要というメッセージを検出すると、構造化ペイロードを返して 0 で終了します。
- アップストリームが末尾に JSON レポートを出力した場合は解析し、それ以外の場合は生のレポートテキストを
rawReportに格納して返します。
費用に関する注意
費用が発生するのは --run のみです。それ以外のすべて(ドライラン、チェックアウト確認、デグレード時の経路)は $0 です。MCP ツール(metaharness_learn)のサブプロセス実行時間の上限は 120 秒です。実際の学習サイクルは、ターミナルから ruflo metaharness learn ... --run --timeout-ms <big> を使って実行してください。
終了コード
0— レポートを生成(またはドライラン、チェックアウトが必要、デグレード時)1—--alert-on-failが指定され、学習実行が失敗を報告2— 設定エラー(--repoのパスが不正)