0Pricing
AI Agents · レッスン

Golden Test Setの構築

実際の利用における長い裾野までカバーする、高品質な入力と期待出力のペアを50~200件選定します。

「Golden Test Setの構築」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

ゴールドセットとは

「golden test set」(または「gold set」)とは、良い動作とは何かを定義する、入力と期待される出力のペアを厳選したコレクションです。

すべての変更をこのセットに対して評価します。

優れたゴールドセットの特性

  • 多様である — 一般的なケースとエッジケースの両方をカバーする
  • 人間が厳選している — 自動生成ではない
  • バージョン管理されている — リポジトリ内で固定されている
  • 文書化されている — 各ケースに選定理由がある

ケースはいくつ必要か

目安は次のとおりです。

  • 50ケース — 実用可能な最小限
  • 200ケース — 十分なカバレッジ
  • 1000ケース以上 — 成熟した製品

量より品質が重要です。適切に選んだ50ケースは、無作為な500ケースを上回ります。

ケースの収集元

  1. ユーザーインタビュー — 実際のユーザーが尋ねること
  2. 本番ログ — 実際に寄せられた質問
  3. バグレポート — すべてのバグをevalにする
  4. 敵対的生成 — LLMにエージェントを破綻させるよう依頼する

Mining Bad Production Traces

for trace in last_week_traces():
    if trace.has_thumbs_down or trace.had_error:
        case = {
            'input': trace.input,
            'why_bad': trace.feedback_comment,
            'expected': None   # to be filled by human reviewer
        }
        save_to_review_queue(case)

期待される出力:完全一致とヒューリスティック

期待される出力には、2つの方式があります。

  • 完全一致 — 抽出、分類、計算に使用する
  • ヒューリスティック — 自由回答のQ&Aに使用し、重要な事実が含まれているかを評価する

Heuristic Scoring

def score_answer(actual, expected_facts):
    return sum(1 for f in expected_facts if f.lower() in actual.lower()) / len(expected_facts)

case = {
    'input': 'What is our refund policy?',
    'expected_facts': ['30 days', 'unopened', 'receipt required'],
    'min_score': 0.66   # at least 2 of 3 facts mentioned
}

actual_answer = "You can return items within 30 days if they are unopened."
score = score_answer(actual_answer, case['expected_facts'])
print(f"Score: {score:.2f} (min required: {case['min_score']})")

敵対的なケース

難しいケースを含めてください。

  • 対象範囲外の質問(「火星の天気はどうですか?」)
  • 曖昧なクエリ
  • プロンプトインジェクションの試み
  • 外国語の入力
  • 非常に長い入力

ゴールドセットのバージョン管理

リポジトリ内にJSONとして保存します。セットを更新するすべてのPRで、更新理由を説明してください。

// gold-set.json
[
  {
    "id": "refund-policy-001",
    "input": "What is your refund policy?",
    "expected_facts": ["30 days", "unopened", "receipt required"],
    "added_by": "alice@",
    "added_at": "2025-08-12",
    "reason": "Top customer support question"
  }
]

テストとホールドアウトの分割

過学習を検出するには、次のように分割します。

  • Devセット — 反復改善に使う(内容を確認できる)
  • Testセット — 測定に使う(このセットに合わせた調整は行わない)
  • Holdout — メジャーリリース前だけに使う

パレートタグ付け

どこで退行が起きたか確認できるよう、ケースをカテゴリ別にタグ付けします。

tag1 = {'tags': ['policy', 'common-question']}
tag2 = {'tags': ['math', 'edge-case']}
print(tag1)
print(tag2)

# Run eval and report:
print("Category 'policy': 0.92")
print("Category 'math': 0.68   <- regression here")

Evalの評価基準

複雑な出力には評価基準を書きます。何が含まれていなければならないか、何が含まれていてはいけないか、何が望ましいかを定義します。

rubric = {
    'must_include': ['30 days'],
    'must_not_include': ['no refunds'],
    'preferably_includes': ['receipt']
}
for k, v in rubric.items():
    print(f"{k}: {v}")

ケースの情報源

評価ケースの情報源として、最もシグナルの強いものは何でしょうか。

まとめ

実際のユーザーと本番環境での失敗から、50件以上のケースを厳選します。バージョン管理し、タグを付け、dev/test/holdoutに分割してください。バグが発生するたびに拡張します。

よくある質問

「Golden Test Setの構築」レッスンは無料ですか?

はい。「Golden Test Setの構築」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。

「Golden Test Setの構築」で何を学びますか?

実際の利用における長い裾野までカバーする、高品質な入力と期待出力のペアを50~200件選定します。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AI Agentsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「Golden Test Setの構築」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAI Agentsレッスンでコードを書いて実行できますか?

はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. エージェントのEval-Driven Development
  2. Golden Test Setの構築
  3. LLM-as-a-Judgeの落とし穴
  4. ベンチマークスイート:SWE-Bench、GAIA、ToolBench
← AI Agentsに戻る