AIエージェント活用実践編評価指標と失敗分析

Golden Set の作り方

無料公開レッスン / 読了目安 7


レッスン: Golden Set の作り方

学習のねらい

LLMエージェントの性能を客観的に評価し、改善を繰り返すには信頼できるテストデータが必要です。その中でも特に重要なのが Golden Set (ゴールデンセット) です。 Golden Set は、エージェントの性能を測るための「模範的な質問と回答のペア」の集まりで、品質保証やレグレッションテストに不可欠です。 本レッスンでは、Golden Set の作り方、代表的な質問の選び方、正解データのフォーマット、そして差分検知によるレグレッション防止について学びます。

Golden Set とは

Golden Set は、エージェントが「正しく」応答すべき一連の質問と、それに対する「期待される模範解答」を組み合わせたデータセットです。これは、エージェントのバージョンアップやプロンプト変更の際に、性能が劣化していないか (レグレッションが発生していないか) を自動的にチェックするために使用されます。

なぜ Golden Set が重要か

  • 客観的な評価: 人間の主観に頼らず、一貫した基準でエージェントの性能を評価できます。
  • レグレッション防止: 新しい機能追加やプロンプト改善の際に、以前正しく動作していた部分が壊れていないかを迅速に検知できます。
  • 改善の方向性: 失敗したテストケースを分析することで、エージェントの弱点や改善点を具体的に特定できます。

代表的な5-20問の選び方

Golden Set は、数が多ければ良いというものではありません。エージェントの主要な機能や、想定される多様なユースケースをカバーする、代表的かつ網羅性の高い質問 を選ぶことが重要です。一般的には、5〜20問程度の厳選された質問から始めるのが良いとされています。

質問選定のポイント

  1. コア機能の網羅: エージェントが最も頻繁に利用されるであろう中心的な機能をカバーする質問。
  2. 多様なユースケース:
    • Happy Path: エージェントがスムーズに回答できる典型的な質問。
    • Edge Case: 曖昧な質問、例外的な質問、複数の解釈が可能な質問など、エージェントが困りやすい境界条件の質問。
    • Failure Case: 過去にエージェントが間違えた質問や、特に改善したい領域の質問。
  3. 重要な情報: 誤るとユーザーに大きな影響を与える可能性のある、特に重要な情報に関する質問。
  4. プロンプトインジェクション耐性: 意図的にエージェントを誤動作させようとする悪意のあるプロンプトに対する耐性を測る質問。

これらの質問は、実際のユーザーからの問い合わせログや、過去の失敗事例から抽出すると良いでしょう。

正解データのフォーマット

期待される模範解答 (Golden Answer) は、エージェントの出力を評価しやすいように、明確で一貫したフォーマットで作成することが重要です。一般的には、YAML や JSON 形式で質問と回答のペアを管理します。

フォーマット例 (YAML)

- id: "q001"
  question: "日本の首都はどこですか?"
  expected_answer: "東京都"
  tags: ["基本情報", "地理"]

- id: "q002"
  question: "2023年のサッカーワールドカップで優勝したのはどの国ですか?"
  expected_answer: "2023年にサッカーワールドカップは開催されていません。直近の開催は2022年で、優勝国はアルゼンチンです。"
  tags: ["時事", "スポーツ", "例外"]

- id: "q003"
  question: "「ありがとう」を英語で何と言いますか?"
  expected_answer: "Thank you."
  tags: ["言語", "翻訳"]
  • id: 各テストケースを一意に識別するためのID。
  • question: ユーザーがエージェントに投げかける質問。
  • expected_answer: その質問に対する、人間が期待する模範的な回答。具体的に、エージェントがどのような情報を、どのような形式で出力すべきかを記述します。
  • tags: 質問の種類や難易度、関連カテゴリを示すタグ。分析時に役立ちます。

模範解答は、単純なキーワードマッチだけでなく、内容の正確性、網羅性、論理の一貫性、表現の自然さなど、LLM-as-Judge で評価する際に必要な情報を含めるように工夫しましょう。

差分検知でレグレッション防止

Golden Set を使った評価は、エージェントのコードやプロンプトに変更を加えるたびに行うことで、差分検知 (Difference Detection) が可能になります。

  1. 現状の評価: 変更を加える前に、現在のエージェントの性能を Golden Set で評価し、各テストケースの採点結果を記録します。
  2. 変更の適用: エージェントのコードやプロンプトを変更します。
  3. 再評価: 変更後のエージェントを同じ Golden Set で再評価します。
  4. 結果の比較: 変更前と変更後の評価結果を比較し、性能が低下したテストケース (レグレッション) がないかを確認します。

このプロセスを CI/CD (継続的インテグレーション/継続的デリバリー) パイプラインに組み込むことで、自動的にレグレッションを検知し、品質の低下を防ぐことができます。もしレグレッションが検知された場合、その変更をロールバックしたり、問題の原因を特定して修正したりする判断材料となります。

まとめ

Golden Set は、LLM エージェントの継続的な品質保証と改善に不可欠なものです。エージェントの主要な機能を網羅し、多様なユースケースをカバーする代表的な質問を選定し、明確なフォーマットで模範解答を作成しましょう。そして、変更のたびに Golden Set で評価を行い、差分検知を通じてレグレッションを防止する仕組みを構築することが、信頼性の高いエージェント開発への鍵となります。

参考リンク


Golden Set の作り方 | AIエージェント活用実践編 第1章 - AI研修