mcpField
V
verify

verify

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

verify について

verify は、固定した基準で複数の独立した試行を比較するエージェントスキルです。生成、実証的な確認、ペア比較による順位付け、選択、必要に応じた修正を行い、単一の判定スコアではなく観測結果を重視します。

主な機能

  1. 01独立した候補試行の生成
  2. 02タスク基準と根拠の設定
  3. 03実証結果の確認
  4. 04ペア比較による順位付け
  5. 05候補の選択または修正

活用シーン

  1. 01タスクの複数解法の比較
  2. 02ツールの観測結果に基づく試行評価
  3. 03完了に向けた進捗の追跡

インストール

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

$npx skills add https://github.com/prathamdby/skills --skill verify

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

同梱ファイルREFERENCE.md

詳細

Verify

N 個の独立した軌跡をサンプリングし、順位付けします(Kwok et al., arXiv:2607.05391)。 1 つのスコアトークンを LM ジャッジとして使う方法は、本手法ではありません。

フラグ

フラグデフォルト効果
--candidates <n>3プールサイズ N。タスクから推定しません
--evals <k>2繰り返し回数 K。奇数回ごとに A/B を入れ替えます
--pivots <k>2N>3 の場合の PPT ピボット。[1, N] に制限します
--max-rounds <n>0選択後に追加する生成または修正サイクル数
--criteria <path>auto評価基準ファイル。指定がなければ 2〜4 個をインラインで記述します
--trackoff進捗確認のみ。生成と選択をスキップします

リストが指定された場合は、--candidates より優先されます。N は予算であり、計算された件数ではありません。

1. タスクと評価基準を固定する

タスクを必須とします。独立した評価基準を 2〜4 個と、説明ではなく観測されたツール出力を信頼する正解情報のメモを記述します。REFERENCE.md のレイアウトに従ってファイルを作成します。

記録項目:task | criteria | generate | path | n/k/pivots/rounds | current | terminal。

タスクと評価基準が固定されたとき、または BLOCKED になったときに完了です。

2. 生成する

--track の場合はスキップします。ユーザーが試行を提示した場合は、変更せずに使用します。

それ以外の場合は、--candidates 件のワーカーに 1 回の並列ウェーブで割り当てます。各ブリーフには、固定したタスクと評価基準に加えて、「完全な試行を 1 件。兄弟候補なし。順位付けなし。」を含めます。 書き込み範囲は、REFERENCE.md の Isolation に従ったワークツリーまたはコピーとし、このツリー上のブランチは使用しません。同一ツリーへの並列書き込みは BLOCKED です。親は何も実装しません。起動できない場合は、N 件の試行を順番に行います(generate=serial)。

N 個のトレースが固定されたとき、または BLOCKED になったときに完了です。

3. 検証する

評価基準が実証的な場合は、候補を実行します。全件合格/全件不合格/結果が分かれる、のいずれかに分類します。スキップ分類ではスコアリングをスキップします。全件不合格の場合、この段階では勝者を決められません。--max-rounds が残っていれば 1 回分を消費してステップ 2 に戻り、それ以外は ALL_FAIL です。

結果が分かれた場合は、比較ごとに評価基準を 1 つ適用します。N≤3 の場合は、すべての有向ペアを比較します。N>3 の場合は、--pivots を [1, N] に制限してから、REFERENCE.md の PPT 手順を実行します。 C と K にわたって平均を取ります。ソフト勝率は p = 1/(1+exp(-(R_a-R_b))) です。w_i と c_i を累積します。

スコアリング方法(最初に該当したものを使用)。REFERENCE.md を参照して選択します。

  1. <score_A> / <score_B> の logprobs:A–T 上の R = E[φ(v)](論文)。
  2. logprobs がなく、ユーザーが logprob ベリファイアを指定した場合:2 段階方式(論文 B.6)。
  3. このハーネスのみ:A–T を出力し、マッピングして、K と C にわたって平均します。Eq. 3.1 ではありません。 それでもペアワイズで分解され、入れ替えを行います。決して 1〜10 のスコアにはしません。

--track の場合は、接尾辞を「すでに完了しているか?」に照らして採点します。兄弟候補はありません。

採点対象となる各候補に w_i/c_i があるとき、またはスキップ分類が適用されたときに完了です。

4. 選択する

--track または全件不合格の場合、勝者はいません。全件合格の場合は、合格者のうちインデックスが最小のものを選びます。結果が分かれた場合は、argmax w_i/c_i(同点ならインデックス順)で選びます。

その選択が記録されたときに完了です。

5. 修正するか、停止する

以下の場合は停止します:全件合格、観測されたチェックで --track のスコアが 0.8 以上、--max-rounds を使い切った(デフォルトでは修正なし)、スコアが改善しない。それ以外の場合は、結果が分かれた勝者のみを最も弱い評価基準に沿って修正し、ステップ 3 に戻ります。

停止ルールが適用されたときに完了です。

6. 報告する

criteria | generate | path | classify | ranking w_i/c_i | winner | rounds | stop | terminal。SUCCESS、ALL_PASS、ALL_FAIL、NO_IMPROVEMENT、BLOCKED。

正当化

言い訳実態
「自分でやればいい」親は候補を 1 件も実装しません。N 件に振り分けます。
「N は難易度に合わせるべき」N は --candidates です。勝手に設定してはいけません。
「1〜10 で採点する」離散ジャッジです。観測された実行結果を信頼します。

危険信号

親が候補を作成した、同一ツリーまたはブランチを使った並列ワーカー、N を推定した、1〜10 のスコアを付けた、結果が分かれた場合の w_i/c_i がない、A/B の入れ替えがない。

コメント