リファレンス
エラー
このページが存在する理由となる区別があります。不合格になった実行とエラーになった実行は別のものであり、一方を他方として示すと、実際にはハーネスが倒れただけなのに、開発者にその変更が悪いと伝えてしまいます。
不合格は結果である。エラーは結果ではない。
FAIL は、ゲートが評価され、エビデンスがしきい値を下回ったことを意味します。これはその変更についての品質の結果です。
RUN_ERROR は、実行が完了しなかったことを意味します。どのゲートも評価されておらず、変更については何も測定されていません。これは判断状態ではなく、PARTIAL や CANCELLED も同様です。これらは実行に何が起きたかを表すものであり、システムについて何が判断されたかを表すものではありません。
未完了の実行が報告するもの
未完了の実行に対するゲートは、1 ではなく 5 で終了します。エビデンスは悪いのではなく欠けているのであり、この 2 つには異なる対応が必要です。不合格のゲートは変更を見直すよう求め、未完了のゲートはインフラを見直すよう求めます。
測定できなかったケース
エラーになったケースは、除外されるのではなく、区間の範囲に織り込まれます。すべてのメトリクスは 4 つの件数(全体、対象、観測、欠測)を記録し、区間は見ることのできなかったケースを考慮に入れます。
これは見かけ以上に重要です。採点されなかったケースをゼロとして数えるメトリクスは、システム自身の障害を品質の失敗としてモデルの責任にします。また、システムが失敗し始めたときにひそかに縮む分母は、失敗しているシステムがスコアの上昇を報告する仕組みそのものです。どちらも、呼び出しの 13.8% が HTTP 500 を返した稼働中のアシスタントで観測されました。
一時的な失敗
システムは失敗が一時的なものであったことを宣言でき、一時的な失敗は品質の結果として記録されるのではなく再試行されます。プロバイダーのタイムアウトは、プロンプトについてのエビデンスではありません。
この宣言は明示的に行います。呼び出し可能なシステムは retryable=True を付けて TransientError を送出します。retryable のデフォルトは False であり、これを付けない TransientError は他の例外と同様にケースに記録されるため、そのケースは再試行されずに欠測になります。HTTP システムとジャッジのプロバイダーには宣言は不要で、タイムアウト、切断された接続、429 または 5xx は自動的に再試行されます。いずれの場合も、1 回の呼び出しはバックオフを挟んで最大 4 回まで試行され、それでも失敗したケースは欠測になります。進捗と並行処理 で両方を示しています。
設定エラー
終了コード 2 は、呼び出し方または設定が誤っていて、何も実行されなかったことを意味します。クォータによる拒否もこれに含まれます。これは理由が明示された設定エラーであり、最初のケースが実行される前に拒否されるもので、判断状態になることは決してありません。商取引上の事実が、品質の判定をまとって届いてはならないのです。
失敗したものを診断する
oloproof diagnose RUN_ID --intervention gold-context --criterion answer_correct介入(gold-context、top-k、reranker のいずれか)は、失敗したケースをどの条件のもとで再実行するかを指定し、基準はどの評価器の失敗を対象にするかを指定します。診断は、失敗要因を件数、その背後にあるシナリオ ID、置いた仮定とともに報告します。診断が示すのは要因であって原因ではありません。エンジンは、ある事柄が別の事柄を引き起こしたとは主張せず、それを表示するどの画面も同様です。