LESSON 30分

ストーリー

田中VPoE
「評価指標を学んだところで、次はプロンプトの改善方法だ。プロンプトAとプロンプトB、どちらが優れているかを客観的に判断するには?」
あなた
「A/Bテストですね。Webのフロントエンドでもよく使います。」
田中VPoE
「そう。プロンプトにも同じ考え方を適用する。ただし、LLMの出力には確率的なブレがあるから、統計的有意性の考慮が特に重要だ。」
あなた
「何回くらい実行すれば信頼できる結果が得られるんですか?」
田中VPoE
「それも含めて、実験設計の方法を学んでいこう。」

プロンプトA/Bテストとは

2つのプロンプトバリアント(A/B)を同じテストケースで実行し、評価指標を比較して優れた方を選択する手法だ。

テストケース群
    ├── プロンプトA → 出力群A → 評価スコアA
    └── プロンプトB → 出力群B → 評価スコアB

比較: スコアA vs スコアB → 統計的に有意な差があるか?

実験設計の手順

Step 1: 変数の特定

独立変数(変更するもの):
- プロンプトの文面(AとBの違い)

統制変数(固定するもの):
- モデル(同じモデルを使用)
- 温度パラメータ
- max_tokens
- テストケース(同一セットを使用)

従属変数(測定するもの):
- 正確性スコア
- 一貫性スコア
- 平均応答トークン数
- コスト

Step 2: テストケースの準備

テストケースの設計基準:
- 最低30件のテストケース(統計的有意性の確保)
- 難易度を均等に分布させる
  - Easy: 10件(単純な質問)
  - Medium: 10件(複数の要素を含む質問)
  - Hard: 10件(曖昧さやエッジケースを含む質問)
- 各テストケースに正解データを付与

Step 3: 実行と測定

各プロンプトバリアントについて:
- 全テストケースを実行
- 各テストケースを3回ずつ実行(一貫性の測定)
- 評価スコアを記録

実行マトリクス:
30テストケース × 2バリアント × 3回 = 180回の実行

統計的有意性

なぜ統計的有意性が重要か

LLMの出力は確率的であるため、少数の実行で得た結果は偶然によるものかもしれない。統計的検定を行うことで、観測された差が偶然でないことを確認する。

簡易的な判定方法

プロンプトA: 正確性 82%(30件中25件正解)
プロンプトB: 正確性 90%(30件中27件正解)

差: 8ポイント

判定基準(簡易版):
- 差が5ポイント以上 かつ テストケース30件以上 → 有意な差の可能性が高い
- 差が5ポイント未満 → 追加テストが必要
- テストケース30件未満 → サンプル不足

より厳密な判定

統計的検定の手順:
1. 帰無仮説: 「プロンプトAとBの性能に差はない」
2. 対応のあるt検定またはウィルコクソンの符号順位検定を実行
3. p値 < 0.05 であれば帰無仮説を棄却
4. 効果量(Cohen's d)も計算し、実用的な差の大きさを確認

効果量の目安:
| Cohen's d | 効果の大きさ |
|-----------|------------|
| 0.2未満 | 小さい |
| 0.2-0.5 | 中程度 |
| 0.5-0.8 | 大きい |
| 0.8以上 | 非常に大きい |

改善サイクル

PDCAサイクルの適用

Plan(計画):
  - 現在のプロンプトの問題点を特定
  - 改善仮説を立てる
  - テストケースを準備

Do(実行):
  - 改善版プロンプトを作成
  - A/Bテストを実行

Check(評価):
  - 評価指標を比較
  - 統計的有意性を確認
  - 想定外の副作用がないか確認

Act(適用):
  - 優位なバリアントを採用
  - 次の改善ポイントを特定
  - サイクルを繰り返す

改善の方向性

問題改善アプローチ
正確性が低い指示の明確化、Few-shot例の追加
一貫性が低い出力形式の厳密化、温度の低下
安全性テスト不合格禁止事項の強化、ガードレール追加
コストが高いプロンプトの圧縮、不要な指示の削除
応答が冗長文字数制限の追加、簡潔さの指示

実践: NetShop社でのA/Bテスト

実験名: チャットボット応答品質の改善
対象: 商品問い合わせプロンプト

プロンプトA(現行版):
「お客様の質問に丁寧に回答してください。商品情報は参照データを使ってください。」

プロンプトB(改善版):
「お客様の質問に対し、参照データ[REF]のみに基づいて回答してください。
参照データにない情報は『確認いたします』と応答してください。
回答は3文以内、150文字以内としてください。」

テストケース: 30件
実行回数: 各3回
評価指標: 正確性、ハルシネーション率、応答文字数

結果:
| 指標 | A | B | 差 |
|------|---|---|-----|
| 正確性 | 78% | 91% | +13pt |
| ハルシネーション率 | 12% | 2% | -10pt |
| 平均文字数 | 280字 | 120字 | -160字 |

判定: プロンプトBが全指標で有意に優位 → B を採用

まとめ

項目ポイント
A/Bテスト2つのプロンプトを同条件で比較し優劣を判定
実験設計変数の特定→テストケース準備→実行→測定
統計的有意性30件以上のテストケースでp<0.05を確認
改善サイクルPDCAで継続的にプロンプトを改善

チェックリスト

  • A/Bテストの実験設計手順を理解した
  • 独立変数・統制変数・従属変数を正しく設定できる
  • 統計的有意性の簡易判定ができる
  • PDCAサイクルでプロンプト改善を回す方法を把握した

次のステップへ

次は「プロンプトバージョニング」として、プロンプトの変更管理を学ぼう。


推定読了時間: 30分