を組み込んだ機能が増えてきました。しかし指標をどう置くかは、まだ定まっていません。
出力が毎回変わり、正解が1つに決まらない。従来の指標がそのまま当てはまらない領域です。この回は、実務で使える形を整理します。
1. 「精度」だけでは足りない
最初に思いつくのは精度ですが、これだけでは運用できません。
| 問題 | 内容 |
|---|---|
| 正解が1つに決まらない | 表現が違っても正しいことがある |
| 測るのに人手が要る | 全件は確認できない |
| 用途によって水準が違う | 80%で十分な用途と、99%必要な用途がある |
| 精度が高くても使われない | 遅い、使いにくい、信用されない |
4行目が実務で最も効きます。出力が正確でも、利用者が使わなければ意味がありません。「精度は出ているのに定着しない」という状況は、指標が精度だけだと原因が見えません。そして精度は測るのに手間がかかるため、頻繁には測れない。結果として、測りにくい指標だけを持ち、実態が見えないという状態になりがちです。
2. 行動から測る
最も実務的なのは、利用者の行動から品質を推し量ることです。品質を直接測るのではなく、結果として何が起きたかを見ます。
| 行動 | 何を示すか | 測りやすさ |
|---|---|---|
| そのまま使った | 十分な品質だった | 測りやすい |
| 少し手を入れた | 惜しい。方向は合っていた | 測りやすい |
| 大きく書き直した | 役に立たなかった | 測りやすい |
| やり直しを指示した | 1回目が駄目だった | 測りやすい |
| そもそも使わなくなった | 最も重い問題 | 測りやすい |
「人が手を入れた割合」が、この領域で最も使える指標だと考えています。理由は3つあります。
- 1自動で測れる — 出力と最終的な内容を比べればよい
- 2用途を問わず使える — 文章でも分類でも同じ考え方
- 3改善が数字に出る — 良くなれば手を入れる量が減る
import difflib
def edit_ratio(generated: str, final: str) -> float: """生成された内容が、どれだけ書き換えられたかを 0〜1 で返す。
0 に近い = そのまま使われた 1 に近い = 全部書き直された """ if not generated and not final: return 0.0 matcher = difflib.SequenceMatcher(None, generated, final) return 1.0 - matcher.ratio()
def classify(ratio: float) -> str: if ratio < 0.05: return "ほぼそのまま" if ratio < 0.3: return "軽微な修正" if ratio < 0.7: return "大幅な修正" return "実質的に書き直し"
cases = [ ("来月の売上見込みは前月比で微増の見通しです。", "来月の売上見込みは前月比で微増の見通しです。"), ("来月の売上見込みは前月比で微増の見通しです。", "来月の売上見込みは前月比で微増の見込みです。"), ("来月の売上見込みは前月比で微増の見通しです。", "来月は季節要因により、前月比で5%程度の増加を見込んでいます。"),]
for gen, final in cases: r = edit_ratio(gen, final) print(f" 修正率 {r:5.1%} {classify(r)}")そのまま使われた割合を追えば、改善が数字に出ます。プロンプトを変えた、モデルを変えた ── その効果が、利用者の手間の減少として現れます。
1点だけ注意が必要です。確認せずにそのまま使っている可能性があります。修正率が極端に低い場合、品質が高いのか、確認されていないのかを区別してください。重要な用途では、これは危険信号です。
3. 4つの軸で見る
1つの指標では足りません。品質・利用・費用・安全の4軸で見るのが実務的です。
| 軸 | 代表的な指標 | 何が分かるか |
|---|---|---|
| 品質 | そのまま使われた割合 | 役に立っているか |
| 利用 | 使用回数、継続して使う人の割合 | 定着しているか |
| 費用 | 処理1件あたりの費用 | 採算に合うか |
| 安全 | 検証を通らなかった割合、報告件数 | 問題が起きていないか |
3行目は総額ではなく1件あたりで見てください。総額だけを見ていると、利用が増えて費用が増えたのか、1件あたりが悪化したのかが区別できません。前者は good news です。
4行目は にあたります。目標にはしないが、悪化したら止める。品質や利用を追う過程で、ここが悪化していないかを見張ります。
4. 安全側の指標
4行目を具体化します。何を見張るかは、用途によって変わります。
- 形式の検証を通らなかった割合 — テスト戦略 EP.07 の形式検証
- 制約に違反した割合 — 禁止表現、存在しない出典
- 利用者からの問題報告 — 件数と内容
- 人の確認に回った割合 — 自動で処理できなかった量
- 同じ入力での結果のばらつき — 安定しているか
1番目と2番目は自動で測れます。決定的に判定できる領域なので、継続的な監視に向きます。急に増えたら、モデルか入力の傾向が変わっています。
3番目は件数が少なくても軽視しないでください。報告する人はごく一部です。1件の報告の背後に、報告しなかった何十件かがあると考えるべきです。これは 統計入門 EP.07 で扱った と同じで、報告してくれる人には偏りがあります。件数の少なさを「問題が少ない」と読まないでください。
5. 目標値をどう置くか
目標値を置くのが難しい領域です。「そのまま使われる割合を80%に」と決めても、その水準が妥当かの根拠がありません。
| 置き方 | 現実性 | 備考 |
|---|---|---|
| 絶対的な目標値 | 低い | 妥当な水準が分からない |
| 前月比での改善 | 高い | 基準が自分の過去 |
| 代替手段との比較 | 高い | 人がやる場合と比べる |
| 用途ごとの下限 | 中 | これを下回ったら使わない、という線 |
2行目が最も実務的です。GEO/LLMO EP.11 でも同じことを書きましたが、絶対的な水準が分からない領域では、変化の方向で判断するのが現実的です。
3行目も有効です。人がやった場合と比べて、速いか・安いか・品質が近いか。この比較なら判断できます。「人より劣るが、10分の1の時間で済む」なら、用途によっては十分です。
6. 指標が行動を歪めないように
最後に注意点です。 ── 指標が目標になった瞬間、良い指標ではなくなる ── は、この領域でも起きます。
| 目標にすると | 起きうること |
|---|---|
| 修正率を下げる | 確認せずにそのまま使うようになる |
| 利用回数を増やす | 不要な場面でも使わせる |
| 費用を下げる | 品質の低い設定に倒す |
| エラー率を下げる | 難しい入力を対象外にする |
1行目が最も危険です。修正率を目標にすると、確認する手間を省くほうが数字が良くなります。これは品質の向上ではなく、確認の省略です。
対処は、単独の指標を目標にしないことです。修正率と安全側の指標を併せて見る。片方だけが良くなっているなら、歪みが起きている可能性があります。この構造は EP.24 でまとめて扱いますが、LLM を使う機能に限った話ではありません。
精度だけでは運用できない(正確でも使われないことがある)。実務で最も使えるのはそのまま使われた割合で、自動で測れて改善が数字に出る。ただし確認されていないだけの可能性に注意。品質・利用・費用・安全の4軸で見て、費用は1件あたり。目標値は前月比か、人がやる場合との比較で置く。そして単独の指標を目標にしないでください。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。