本文へスキップ

ガイド

候補の中から選ぶ

oloproof select は、システムの複数のバージョンから、すべての要件を満たす最良のものを選び、それが次のバージョンより本当に優れているかを別に示します。たとえばエージェント3つ、プロンプト2つ、検索設定4つと、1組の要件があるときに使います。

なぜ最良の数値で選ばないのか

数値がしきい値を超えた候補のうち最も安いものを選ぶ方法には、問題が2つあります。90% のしきい値に対して測定値 91% は1ポイント上にすぎず、1,000件のケースのノイズの範囲内です。そして複数の候補を見ると、運よくしきい値を超えた候補こそが選ばれてしまいます。そのため各候補はまず、すべてのルールを単独で確立しなければなりません。複数を見るので信頼水準はより厳しくなります。候補が3つで 95% のポリシーなら、それぞれ 98.33% (1 - 0.05/3) で判定されます。すべてのルールを通過した候補だけが順位付けされ、安い候補が安全ルールをコストと引き換えにすることはできません。

選択を宣言する

プロジェクトの隣に選択ファイルを書き、プロジェクトの release.yaml のもとで判定します。

select:
  candidates:
    agent_a: run_01JC8Q2X7D
    agent_b: agent_b.yaml
    agent_c: agent_c.yaml
  objective:
    metric: cost_per_task
    direction: minimize

候補は保存済みのラン ID か、oloproof select が先に実行するプロジェクトファイルです。再利用できるランには新たなコストがかかりません。ポリシーに含められるのはランのルールだけで、早期停止はオフでなければなりません。

oloproof select select.yaml
oloproof select select.yaml --save

--save は、ローカルの workbench の Candidates にも選択を書き込みます。

答えを読む

結果は3通りです。

  • 候補が選ばれ、次点に対するリードが確立している:目的に関する2つの対応のある比較が PASS です。
  • 候補が選ばれたが、リードは確立していない:この証拠のもとでは、次点も同じくらい妥当な選択でした。
  • 条件を満たす候補がない:各候補のルールが答えとともに一覧され、何が足りないかがわかります。

候補が選ばれるとコマンドは 0 で終了し、条件を満たす候補がないと 3 で終了します。

具体例

3つのエージェントは、成功率 90% 以上、違反率 1% 以下を満たす必要があります。目的はタスクあたりのコストを最小にすることです。

エージェント成功違反タスクあたりのコスト
A94%0.5%$18
B91%0.1%$12
C96%2%$30

それぞれ 98.33% で判定されます。1,000件のケースでは条件を満たすエージェントはありません。A の違反率はまだ 1% 未満と示されておらず、B の 91% は 90% に近すぎて確立できず、C は違反の上限を破っています。答えは「条件を満たす候補なし」で、それぞれに何が足りないかが示されます。3,000件では A が両方のルールを確立し、選ばれます。B のほうが安いものの、成功率はまだ確立されていないため順位付けされません。数値だけで B を選べば、誰も示していない要件を出荷することになります。

選択を共有する

oloproof select select.yaml --save は選択をワークベンチ用に保存します。oloproof push --selection ID は、プロジェクトの egress ポリシーを通して、各候補の実行とともに選択をホストされたワークスペースへ送ります。ID は .oloproof/bundles/ 配下のフォルダー名、または選択のダイジェストです。ワークスペースは保存する前に、保持している実行から、それらの実行が判定されたポリシーのもとで選択をもう一度行い、結果が同じ場合にのみ保存します。結果や文言が編集された選択、プロジェクトが保持していない実行を挙げる選択、またはエンジンがそれらの実行からは行わない選択は拒否され、何も保存されません。したがって、push する前に候補の実行を選択のポリシーのもとで判定してください。プロジェクトの Candidates ページに一覧され、その選択のページはローカルのワークベンチとまったく同じように表示します。

Owner または Admin は選択のページから、そのエビデンスページを作れます。結果、水準、各候補の名前、実行 ID、補正後の水準でのルールを "Reported by the developer" のラベル付きで示し、ケースの内容は決して示しません。

次へ

  • 比較ルール では、リードを判定する対応のある比較を説明します。
  • Gating では、各候補に課されるルールを説明します。