初めに
AIエージェントを試して、5回目でようやく成功した。
デモなら「できました」と言えるかもしれません。
ただ、毎日の業務を任せるなら、話は変わります。
実務の業務自動化で重要なのは、安定性を見る Pass^k です。
ユーザーは「5回に1回しか動かない機能」を「動いた」とは認めてくれません。
1. まず、「成功」を判定する採点器を作る
grader は、AIの処理結果を採点する仕組みです。
たとえば、請求書を読み取って業務システムに登録する場合。AIが「登録しました」と回答しただけでは、成功とは判断できません。
確認したいのは、次のような状態です。
- 金額と取引先が正しい
- 登録先のデータが実際に更新されている
- 同じ請求書が二重登録されていない
数値や登録状態はコードで検証し、説明の分かりやすさはLLMや人が評価する。判定する対象に合わせて採点器を選びます。
2. Pass@k と Pass^k は、見ているものが違う
同じタスクを、同じ初期条件から k 回試します。
| 指標 | 成功とする条件 | 分かること |
|---|---|---|
| Pass@k | k 回のうち、1回以上成功 | 試行の中で成功に届くか |
| Pass^k | k 回すべて成功 | 繰り返しても安定して成功するか |
たとえば、5回の結果が次の場合です。
| 1回目 | 2回目 | 3回目 | 4回目 | 5回目 |
|---|---|---|---|---|
| 失敗 | 失敗 | 成功 | 失敗 | 失敗 |
この組は Pass@5 の条件を満たします。
一方、Pass^5 の条件は満たしません。
1回成功したことと、繰り返し任せられることは別です。 この違いを捉えるのが、2つの指標です。
3. 1回の成功率が80%でも、5回すべて成功する確率は?
各試行が独立で、成功確率が一定の p だと仮定すると、次のように計算できます。
- Pass@k:
1 - (1 - p)^k - Pass^k:
p^k
成功率80%、5回試行なら、
| 指標 | 計算結果 |
|---|---|
| Pass@5 | 99.968% |
| Pass^5 | 32.768% |
「5回まで試せば、ほぼ成功する」。
でも、「5回とも成功する確率」は約33%です。
この差は、日々の運用では無視できません。
※これは仮定に基づく計算例です。実際の評価では、複数のタスクを繰り返し実行して集計します。
4. 業務自動化では、失敗した回も見る
候補を何度も生成し、人が正解を選べる用途なら、Pass@k は役立ちます。
一方、請求書登録や顧客情報更新では、失敗するたびに確認や修正が必要になります。
そこで、次の順番で評価すると実務につなげやすくなります。
- 正常終了とする条件を grader に書く
- 各試行の前に、データや環境を同じ初期状態へ戻す
- 同じタスクを繰り返し、Pass^k と失敗原因を確認する
リトライを製品の機能に含めるなら、リトライ込みの処理全体を「1回」と定義します。そのうえで、所要時間や二重登録も採点対象にします。
一度の成功を確認したら、次は何度任せても、期待した結果になるかを測る。
そこまで確認して、業務を任せる判断につなげたいところです。