Skip to content
Berktug Berke Ates
Berktug Berke Ates

ソフトウェアエンジニア

ブログ

AI搭載機能のテスト戦略

· 7分で読める

決定的テストはなお重要だ。確率的な部分には評価を組み合わせろ。

決定的と確率的を分ける

AI機能の多くはなお普通のソフトウェアだ:認証、入力検証、検索クエリ、レート制限、永続化、UIレンダリング。それらの層は固定フィクスチャ付きの古典的な単体・統合テストに値する。真ん中にモデルがあるから弱めるな。

生成ステップは別のアプローチが要る。自由形式回答の厳密な文字列一致はフレークなスイートを生む。モデル周りの契約をテストし、プロダクトプロパティに対してモデル出力を評価しろ。

継続的インテグレーションでは賢くスタブする

すべてのプルリクエストでライブモデルを呼ぶのは遅く、高く、非決定的だ。PRパイプラインでは録音フィクスチャや決定的スタブを使い、スケジュールで、またはプロンプト・モデル・検索ロジックが変わるときに、より広い評価スイートを走れ。

スタブするとき、現実的なレイテンシと失敗モードを保て。完璧なモデル応答だけを見るテストは、タイムアウト処理や不正出力パスを守らない。

  • レンダリング前に出力スキーマをアサートする
  • 重要なグラウンデッド回答をゴールデンファイル化する
  • 空の検索とツール失敗をシミュレートする
  • モデルの創造性ではなく契約テストでマージをゲートする

ジャーニーレベルの確信度を足す

エンドツーエンドテストは、ユーザーがAI支援ジャーニーを完了できることを検証すべきだ:要求を入れ、検証済み応答を見、拒否から復旧し、必要ならエスカレートする。これらのジャーニーは少なく安定に保て。

自動化ジャーニーを、サンプリングした本番出力の定期的な人のレビューとペアにしろ。AIの品質エンジニアリングは、ソフトウェア規律とプロダクトセンスのブレンドだ。

失敗を行動可能にする

失敗するAIテストは、スキーマが壊れたか、検索が外れたか、ポリシーが誤拒否したか、評価スコアが落ちたかを伝えるべきだ。曖昧な赤いビルドは、チームに無視する癖を付ける。

AI機能をテストする目的は、モデルが決定的だと偽ることではない。確率的コンポーネントを、運用可能・レビュー可能・安全に変更可能なシステムの中に保つことだ。


2024年4月16日、Berktug Berke Ates が公開。