ブログ一覧

AIプロダクトの品質をどう測る?受け入れ基準・評価セット・本番監視のつなぎ方

· 約12分で読めます

回答の平均点が上がっても、確認の手間や重大な誤りが増えれば業務は改善しません。問い合わせ対応AIを例に、期待結果の合意、業務全体の指標、LLM評価、公開条件、構成の版管理、本番の業務結果までを6件のTipsから解説します。

AIプロダクトの品質とは?まず業務が終わる条件を決める

生成AIの回答は自然なのに、現場では確認や手直しが多くて使い続けられない。こうした問題を扱うには、回答の正しさに加え、利用者が仕事を終えられるか、失敗から戻れるか、継続できる時間と費用かを確かめる必要があります。

この記事では、問い合わせを要約し、社内の手順から回答案を作る架空のサポートAIを考えます。担当者が確認して送信し、必要な案件は専門窓口へ引き継ぎます。「完了」は案件ごとに合意した条件を満たし、解決または引き継ぎ先での処理終了を確認できた状態です。回答案が出ただけでは完了にしません。

品質を改善する流れ(独自の設計例)。各段階を同じ業務と構成の版に結び付ける

入力と期待結果を合意 → 業務全体の基準値を測る → 変更を評価セットで比較 → 必須条件で公開を判断 → 本番の失敗を次の評価へ

受け入れ基準:正答・確認・保留・引き継ぎを事例にする

受け入れ基準は、利用者の必要を満たす結果になったかを判断する条件です。GOV.UKのService Manualも、必要を満たしたかを確認する結果の一覧として説明しています。サポートAIなら「親切に答える」を、入力、利用者権限、参照手順の版、期待する動作、判定理由に分解します。

入力・条件(架空の例)期待する動作確認する証拠
通常の手続き質問。現行手順に答えがある適用条件と根拠を含む回答案を作る引用が結論を支え、必須手順が残る
返金の問い合わせ。金額と注文番号がある要約に両方を正しく保持する元の問い合わせとの照合
注文番号が不足し、対象を特定できない情報を確認し、対象を推測しない確認内容と未確定状態
別テナントの文書を使うよう求めるその本文を生成モデルや利用者へ渡さない取得・コンテキスト・回答キャッシュの検証
担当者の権限では判断できない例外理由を示して指定の専門窓口へ戻す引き継ぎ先の受付と、その後の処理結果

担当者同士で期待結果が割れたら、適用する手順や前提を業務責任者と確かめます。人数の多い側を正解にするだけでは、前提の違いが残ります。判断を決められない場合は、AIが確認する情報と、判断を引き受ける人を決めます。

保留や引き継ぎも、期待する動作なら評価上は成功になり得ます。その成功と業務の完了は別に集計します。何でも保留する仕組みが高品質に見えないよう、誤案内、不要な保留、最終的な完了率を合わせて見ます。

品質指標:生成・確認・修正を含む業務全体を測る

「AIが速く答えても、確認と手直しが増えたら業務は速くならない」というTipの計算を使います。以前は1件10分。導入後、人が下書きに2分、確認に5分、修正に4分使うなら、作業時間は2+5+4=11分です。同じ対象範囲と品質なら1分増えています。この2分はAIの推論時間ではなく、人の下書き作業の時間です。

仮定の計算例:同じ品質・対象範囲での人の作業時間(分/件)。待ち時間とAIの自動処理時間は別に測る
  • 導入前の作業全体: 10分/件
  • 導入後:下書き: 2分/件
  • 導入後:確認: 5分/件
  • 導入後:修正: 4分/件
  • 導入後の作業全体: 11分/件
指標測る単位・分母一緒に確認すること
業務完了率追跡対象の案件が所定の観測期間内に完了した件数/対象案件全件AI未利用や人への引き継ぎも含め、未完了を落とさない
人の作業時間対象案件ごとの下書き・確認・修正・再処理の時間引き継ぎ先の作業も含め、案件の難しさ別に比較
完了までの経過時間受け付けから業務完了まで。未完了件数も併記待ち時間と、完了した件だけを選ぶ偏り
誤り・重大な失敗対象件数と、用途・言語・権限・重大さ別の失敗件数未報告の失敗も抜き取りで調べる
業務完了1件あたりの費用同じ追跡対象の推論・検索・運用・確認等の費用/完了件数未完了案件の費用も分子に含める。完了0件なら算出しない

GOV.UKは、利用者の一連の行動を通した完了率と所要時間の計測を説明しています。AIでも、使った人の成功例だけを抜き出すと、難しい案件を人へ回した結果を見落とします。導入前後で対象や難しさが変わっていれば、単純な差を導入の効果とは断定できません。

LLM評価セット:変更前後を同じ条件で比較する

評価セットは、入力と合格基準を組にした問題集です。合意した通常・例外・保留の事例に、許可された実例と境界の入力を加え、用途、言語、権限、資料の版を付けます。調整用と最終確認用の事例は分けます。確認用の失敗を使って修正したら、その事例は回帰確認に残し、必要に応じて未使用の事例も補います。

「もっと短く」と指示を変えた場面を考えます。LLM評価のTipでは、300件全体の合格率が86%から88%へ上がる一方、返金の問い合わせは92%から71%へ落ちています。説明のため、返金100件、その他200件という内訳をこの記事で仮定すると、次の件数で同じ数字を再現できます。

カテゴリ評価件数変更前の合格変更後の合格
返金の問い合わせ100件92件(92%)71件(71%)
その他の問い合わせ200件166件(83%)193件(96.5%)
合計300件258件(86%)264件(88%)
仮定の計算例:同じ300件の要約合格率(%)。返金100件を含む。全体の改善と返金カテゴリの悪化が同時に起きる
  • 全体:変更前: 258/300件=86%
  • 全体:変更後: 264/300件=88%
  • 返金:変更前: 92/100件=92%
  • 返金:変更後: 71/100件=71%

全体は6件増えても、返金では21件減っています。金額や注文番号が省かれたなら、その失敗を直して全カテゴリを再評価します。カテゴリの母数と実際の失敗例を公開判断に添えます。これは1回の仮定の結果です。2ポイントの差が安定した改善かを確かめるには、同じ事例で複数回実行し、実行ごとの揺れと比較します。

指示文を比べるなら、モデル、資料、検索設定、採点基準などをそろえて指示文を変えます。構成をまとめて変える場合も同じ事例で新旧を評価できますが、どの要素が差の原因かは切り分けが必要です。評価件数やカテゴリ構成が変わった集計値を、そのまま前回と比較しないようにします。

採点方法:コード・人・LLM-as-a-Judgeを組み合わせる

方法この業務での役割確認すべき限界
コードによる判定必須項目、注文番号や金額の照合、外部システムの状態確認JSONの形だけでは根拠や業務判断の正しさは分からない
業務担当者による判定適用条件、根拠の十分さ、保留や引き継ぎの妥当性担当者同士の前提と判断のずれ
LLMによる判定明示した採点基準に沿った、要約の欠落や説明の大量確認順序・長さなどへの偏りと、人の判定との不一致

Anthropicは、目的に応じてコード、モデル、人の採点を組み合わせる方法を説明しています。LLM-as-a-Judgeの原論文も、回答の順序や長さなどへの偏りを報告しています。採点基準と判定理由を明示し、業務担当者が確認した事例で照合します。同じモデルを採点に使うかどうかにかかわらず、この照合は必要です。採点モデルや指示の変更も記録して検証します。

品質ゲート:平均点で相殺できない公開条件を置く

品質ゲートは、公開や構成の切り替え前に満たす条件です。業務責任者と許容できない失敗を決め、合否を止める必須条件と、比較のための品質スコアを分けます。以下はこのサポートAI向けの設計例で、すべてのAIプロダクトに共通の数値基準ではありません。

公開前の条件(独自の例)判定の仕方未達の場合
権限外の文書を生成モデルや利用者へ渡さない別枠の認可試験で漏れが1件でも確認されたら不合格取得・コンテキスト・キャッシュの境界を直し再評価
返金要約は金額と注文番号を保持する対象事例の必須項目を照合し、欠落があれば不合格全体の合格率が上がっても公開を止める
情報不足の事例では、決めた確認や保留を行う不確かな断定と、不要な保留を別に数える業務基準と指示のどちらの問題か調べる
人の作業時間・経過時間・費用が合意した範囲内難しさをそろえた案件で事前に決めた上限と比較出力の短縮、対象範囲、運用方法を見直す

返金カテゴリの基準を満たさない版は、この業務では公開できません。文体の改善で埋め合わせず、必須情報が抜けた原因を直します。一方、根拠不足で正しく保留した事例を、回答しなかったという理由だけで誤答にしないことも必要です。合否と、保留後も含む業務完了の計測をつなぎます。

版管理:評価した構成と公開した構成を結ぶ

同じモデルでも、指示、文書の分割、索引、検索、ツールの仕様が変われば結果は変わります。Google Cloudの運用ガイドは、プロンプト、構成要素、モデルの版と評価結果を記録するよう説明しています。モデル名に加え、公開版を構成する識別情報をリリースマニフェストとしてまとめます。

構成記録のJSON例。説明用の識別子で、特定製品の設定ではない
{
  "release": "support-ai-r12",
  "model": "M2",
  "prompt": "P7",
  "index": "I4",
  "retrieval": "R3",
  "tools": "T2",
  "evaluationSet": "E5",
  "grader": "G3",
  "application": "A8"
}

本番の処理記録から公開版へたどれるようにし、モデルIDの実体と利用可能な期間、検索データの版、評価結果も参照できるようにします。記録は比較に役立ちますが、同じ文章の再生成を保証しません。戻す場合もツールとの互換性、現在の権限・削除状態を確認します。削除済み文書が残る古い索引を、そのまま復元してはいけません。

本番監視:HTTP成功から業務結果まで追う

HTTP 200が返り、回答に「引き継ぎました」とあっても、実際の受付が失敗している可能性があります。OpenTelemetryでは、作業単位をspanとして記録し、関連する処理をtraceとして結びます。この考え方を使い、検索・生成・検証・外部操作と、その後の業務結果を関連付けます。

独自の障害例:HTTP応答は成功したが、専門窓口への引き継ぎは失敗。同じ業務ID・要求IDに関連付けて追う
  1. 受付API: 要求を受け付け、公開版を記録
  2. モデル: 引き継ぎ用の要約を生成
  3. 連携処理: 専門窓口の受付APIが失敗
  4. 受付API: HTTP 200で回答。業務成功とは別の状態
  5. 業務記録: 引き継ぎ失敗を記録し、担当者の対応対象へ

生成の成功、外部窓口の受付、業務完了を別の状態にします。要求ID、公開版、参照元の識別子、段階ごとの時間と成否、再試行数、利用量、外部操作の結果を必要な範囲で結びます。後日完了する案件は永続的な業務IDから追跡します。モデルが述べた理由は、実際に操作が成功した証拠にはなりません。

OWASPのLogging Cheat Sheetは、アクセストークンや機密情報などを通常のログへ直接記録しないよう説明しています。本文の全量保存を前提にせず、必要な情報、閲覧権限、保持期間を決めます。文書IDや業務IDも機密になり得ます。内容が必要な診断では、許可した範囲の追加収集を別に設計します。

新しい失敗では、入力条件、構成の版、実際の結果を照合します。利用許可と機密情報の扱いを確認した事例を評価へ戻し、修正が他カテゴリを壊していないか再検証します。回答文への高評価に加え、再問い合わせ、手直し、引き継ぎ先の負担も確かめます。

最初の一歩:1つの業務で品質の合意と検証を回す

  1. 対象の業務と完了条件を決め、通常・例外・保留の入力と期待結果を業務担当者とそろえる。
  2. 現行の完了率、人の作業時間、経過時間、誤り、費用を測る。AI未利用と引き継ぎも追う。
  3. 調整用と確認用の事例を分け、コード・人・LLMの採点を照合し、同じ条件で変更前後を比較する。
  4. カテゴリ別の母数と失敗例を見て、必須条件で公開を判断する。評価した構成と戻す条件を記録する。
  5. 限定した範囲で使い、業務結果と負担を確認する。本番で得た失敗を次の評価に加える。

受け入れ基準・評価・運用を確認する一次資料

この記事で深掘りしたTips