Agentic OS 技術スタックを下から読む 第29回:判定を別のモデルに任せる ―― だが、その判定者をどう信じるか
前回は、検証のいちばん下の土台を見ました。失敗の記録を一件ずつ人が読みます。どこで壊れたかを手で印付けします。似た失敗を下から型にまとめます。さらに頻度を数えます。そして、いちばん…
Agentic OS 技術スタックを下から読む 第29回:判定を別のモデルに任せる ―― だが、その判定者をどう信じるか
人が読む検証には上限があります
前回は、検証のいちばん下の土台を見ました。失敗の記録を一件ずつ人が読みます。どこで壊れたかを手で印付けします。似た失敗を下から型にまとめます。さらに頻度を数えます。そして、いちばん効く一点に絞って直します。
この流れは強いです。なぜなら、最初に人が実物を読むからです。失敗を表の数字だけで見ません。入力の言い方、途中の判断、最後の出力のずれを、ひと続きのものとして見ます。そこから、仕様の穴や道具の呼び方の癖を見つけます。
ただし、このやり方にははっきりした上限があります。本番では、一日に数千件の記録が出ます。仮に一件を読むのに二分かかるとします。三千件なら六千分です。百時間です。一人では一日どころか、一週間でも追いつきません。十人で読んでも、同じ濃さでは読めません。読む人ごとの基準も少しずつずれます。
そこで、読む仕事の一部を別の判定に任せたくなります。ある記録を見て、合格か不合格かを付ける。あるいは、失敗の型を付ける。この印付けを、人の手ではなく、別のモデルに肩代わりさせるわけです。この判定する側のモデルを、ここでは判定者と呼びます。
判定者は、検証を速くします。人が一件ずつ読んでいた作業を、機械の速さで回します。しかし、ここで話は終わりません。判定者もまたモデルです。つまり、判定者も間違えます。だから、判定者を使う前に、判定者そのものを検証しなければなりません。
判定者とは何をするものか
判定者の仕事は、記録に印を付けることです。記録には、少なくとも入力と出力があります。入力は、利用者が頼んだことです。出力は、エージェントが返した答えです。場合によっては、途中で読んだ資料、呼び出した道具、失敗した操作も入ります。
判定者は、それらを読んで判断します。この出力は質問に答えているか。この出力は条件を満たしているか。この出力は事実に反していないか。この出力は禁止された言い方をしていないか。こうした問いに答えます。
大事なのは、判定者は賢い読者ではなく、印付けの部品として扱うことです。人間の読み手なら、多少あいまいな基準でも文脈で補えます。しかし、判定者にそれを期待しすぎると、結果がぶれます。判定者には、何を見て、どこで合格とし、どこで不合格とするかを、できるだけ狭く渡す必要があります。
たとえば「良い答えか」と聞くのは広すぎます。良いという言葉には、正しい、短い、丁寧、役に立つ、読みやすい、危なくない、などが混ざります。判定者は、そのうちどれを重く見るかを毎回少し変えます。人が同じ質問を受けても迷うので、モデルも迷います。
一方で、「依頼された三つの項目をすべて含んでいるか」と聞けば、見る場所が絞られます。一つ目の項目があるか。二つ目があるか。三つ目があるか。三つそろえば合格です。一つでも欠ければ不合格です。判定者に任せるとは、こういう狭い判断を大量に回すことです。
まず二択に落とします
判定を作るとき、人はつい細かい点数を付けたくなります。五段階で良さを測る。十点満点で答えを評価する。そうすれば、細かな違いまで見えるように感じます。
けれども、刻みは揺れます。三なのか四なのかは、人でもその日の気分で変わります。前に読んだ記録がひどければ、次の記録は甘く見えます。逆に、前に読んだ記録がよくできていれば、同じ出来でも低く見えます。判定者も同じです。同じ記録を二度渡しても、一度目は三、二度目は四と返すことがあります。
だから、最初の判定は二択に落とします。合格か不合格か。条件を満たすか満たさないか。二択は再現しやすいです。境目が一つしかないからです。五段階なら境目が四つあります。一と二、二と三、三と四、四と五のどこでも迷います。二択なら、迷う場所は合格線の一か所です。
複雑なことを見たい場合も、一つの総合点にしません。二択をいくつも並べます。「質問に答えているか」を一つの二択にします。「事実に反していないか」を別の二択にします。「指定の形式を守っているか」をさらに別の二択にします。「禁止された言い方をしていないか」も別に見ます。
こうすると、後で直す場所が見えます。総合点が三点だと言われても、何を直せばよいか分かりません。質問に答えていないのか。形式を破っているのか。余計な断言をしているのか。そこが見えません。二択を分けておけば、失敗の型がそのまま修正の入り口になります。
判定者を使う前に判定者を測ります
ここがいちばん大事です。判定者を信じる前に、判定者そのものを測ります。順番を間違えてはいけません。
まず、人が一群の記録に手で合否を付けます。たとえば百件を選びます。易しい記録だけではなく、迷う記録も入れます。明らかに合格のもの、明らかに不合格のもの、境目に近いものを混ぜます。人は一件ずつ読み、決めた基準に沿って合格か不合格かを付けます。
次に、同じ百件を判定者に渡します。判定者にも同じ基準を渡します。そして、判定者が付けた合否と、人が付けた合否を比べます。百件のうち、人と判定者が同じ答えを出したものが何件あるかを数えます。八十五件なら八割五分です。七十六件なら七割六分です。
もし一致が八割を切るなら、その判定者はまだ本番には使えません。八割を切るということは、五件に一件以上で人と違う判断をしているということです。一日に三千件を判定すれば、六百件以上で人の基準から外れる計算になります。これでは、検証の数字を信じられません。
このとき、すぐに判定者を責めるべきではありません。まず、どこで食い違ったかを読みます。人は不合格にしたのに、判定者は合格にした記録を見ます。逆も見ます。そこで、人が暗黙に使っていた基準を言葉にします。「項目名が似ていても、指定された項目そのものがなければ不合格」といった形で足します。
そして、もう一度、同じ群で測ります。必要なら別の百件でも測ります。一致が十分に上がるまで、基準を書き直します。判定者は、未知の記録を大量に見る前に、まず人の判定につなぎ留めます。これをせずに走らせると、速いだけの検証になります。
物差しが曖昧だと判定も曖昧になります
判定者には物差しが要ります。物差しとは、何をもって合格とするかを決めた文です。これは、出力を作るための仕様と同じ性質を持ちます。判定のための小さな仕様です。
「役に立つ答えなら合格」と書くと、判定は揺れます。役に立つとは何かが書かれていないからです。短いことなのか、根拠があることなのか、手順があることなのか、危ない断定を避けることなのかが分かりません。
「依頼された作業手順を、開始条件、操作、確認方法の三つに分けて説明していれば合格」と書けば、判定者は見やすくなります。開始条件があるか。操作があるか。確認方法があるか。この三つを順に見ればよいからです。
「事実に反していないか」も、そのままでは広すぎます。判定者が確認できる材料を記録の中に持たせる必要があります。入力に含まれる条件と矛盾していないか。与えられた資料にない数字を作っていないか。日付や数量を勝手に変えていないか。こうして、見比べる対象をはっきりさせます。
基準が具体的になるほど、人と判定者の一致は上がります。理由は単純です。見る場所が同じになるからです。逆に、基準が曖昧だと、人も判定者も別々の場所を見ます。ある人は形式を重く見ます。別の人は内容を重く見ます。判定者も同じように揺れます。一致率が低いときは、まず基準の書き方を疑うべきです。
通過率が高すぎるときほど疑います
判定者を回し始めると、通過率が出ます。百件のうち八十件が合格なら、通過率は八割です。三千件のうち二千百件が合格なら、七割です。この数字は見やすいです。日ごとの変化も追いやすいです。
ただし、通過率は高ければよいわけではありません。ここは直感と少しずれます。十割通過していると、うまくいっているように見えます。しかし、検証としては赤信号です。
十割通過には、主に二つの原因があります。一つは、入力が易しすぎることです。すでに得意な形の依頼だけを入れていれば、失敗は出ません。もう一つは、判定者が甘すぎることです。形式が少し合っているだけで通している。重要な抜けや矛盾を見落としている。この場合、通過率は安心ではなく、見逃しの表れです。
本当に弱点を見つけにいく検証では、通過率はもっと下がります。七割くらいの通過のほうが、難所を突けていることがあります。三割が落ちるなら、その三割を読めます。どの型で落ちたかを数えられます。修正の優先順位も付けられます。
もちろん、七割なら必ずよいという意味ではありません。大事なのは、通過率を単独で喜ばないことです。十割なら、まず難しい入力が入っているかを疑います。次に、判定者が形だけを見ていないかを疑います。高すぎる通過率は、成功の証拠ではありません。点検を始める合図です。
判定はいずれずれていきます
一度そろえた判定者も、放っておくとずれます。これは避けられません。理由は二つあります。
一つ目は、判定者の土台になるモデルが変わることです。新しいものに差し替えると、同じ基準を渡しても判断の癖が変わります。前は慎重に不合格にしていた記録を、今度は合格にするかもしれません。逆に、前は許していた表現を、今度は厳しく落とすかもしれません。表面上は同じ判定者でも、中身の反応は同じとは限りません。
二つ目は、入ってくる記録の中身が変わることです。利用者の頼み方が変わります。扱う資料も変わります。前にはなかった種類の入力が増えます。昔の基準は、昔の記録に合わせて作られています。新しい記録にそのまま当てると、境目が合わなくなることがあります。
だから、判定者には版を持たせます。どの基準で判定したか。どの土台のモデルで判定したか。いつ校正したか。これを残します。後で数字を見たときに、同じ物差しで測った数字なのか、それとも途中で物差しが変わった数字なのかを分けるためです。
また、定期的に人手の判定と突き合わせます。たとえば、毎週新しい百件を人が読みます。同じ百件を判定者にも読ませます。一致率が八割五分から七割八分に落ちたなら、何かがずれています。入ってくる記録が変わったのか。基準が古くなったのか。判定者の癖が変わったのか。そこを見ます。そして、基準を直して合わせ直します。
判定者を作る仕事は、一回の設定ではありません。繰り返しの校正です。測り、食い違いを読み、基準を書き直し、また測ります。この往復をやめると、判定者は少しずつ人の基準から離れます。
判定者は人の検証を増幅します
判定者の意味は、検証を規模に乗せることです。一日に数千件の記録があっても、合否や失敗の型を付け続けられます。人が全部を読む必要はなくなります。人は、落ちた記録、迷った記録、通過率が急に変わった記録に集中できます。
しかし、判定者は増幅器です。増幅器は、もとの信号を大きくします。もとの信号が正しければ、正しい判断を広く回せます。もとの信号がずれていれば、ずれも広く回ります。判定者が人の基準とずれているなら、そのずれがそのまま品質の数字になります。数字はきれいに出ます。表も作れます。日ごとの変化も見えます。それでも、現実とはずれた虚構になります。
だから、順番が大事です。まず人が読みます。失敗を見ます。型を作ります。基準を言葉にします。次に、判定者にその基準を渡します。そして、人の判定と一致するかを測ります。一致しなければ、基準を直します。そろってから、大量の未知の記録に使います。使い始めた後も、定期的に人の判定へ戻します。
これで、評価の層はひとまず見渡せました。失敗を読みます。型にまとめます。頻度で絞ります。判定者で規模に乗せます。そして、その判定者を人手の判定につなぎ留めます。人から判定者へ。判定者から人へ。この往復があって、検証は速さと正しさを同時に持てます。
次回からは、この評価の層を出ます。実際にエージェントを、間違いの許されない現場へ置く話に進みます。検証室の中ではなく、外の世界で動かすと、何が変わるのか。縦に深い現場で、どこまで任せ、どこで止め、どの失敗を許さないのか。その話に入ります。
← 一覧へ