mcpField
P
prompt-testing

prompt-testing

github.com/fusengineテスト・品質3453 回インストール2 週間前に更新
リポジトリ

prompt-testing について

prompt-testingは、データセットを使ったA/Bテストでプロンプトのバリアントを比較するスキルです。品質、効率、堅牢性、UXを測定し、基準に沿って採用可否を判断できます。

主な機能

  1. 015段階のプロンプトテスト手順
  2. 02品質・効率・堅牢性・UXの指標
  3. 03データセットを使ったA/B比較
  4. 04ルールに基づく採用判断
  5. 05テスト件数とエッジケースの指針

活用シーン

  1. 01公開前に2つのプロンプトを比較
  2. 02正確性、トークン数、遅延、コストを測定
  3. 03エッジケースやジェイルブレイクへの対応を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fusengine/agents --skill prompt-testing

インストール後、Claude Code で/prompt-testingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
methodology.md
metrics.md
templates.md

詳細

プロンプトテストでは、5段階のワークフローを通じてプロンプトのバリエーションを A/B 比較します。目的と指標を定義し、バリエーション A/B とテストデータセットを準備し、データセットで実行し、結果を分析・比較してから、判断します。指標は、品質(正確性、コンプライアンス、一貫性、関連性)、効率性(入力/出力トークン、レイテンシー、コスト)、堅牢性(エッジケースへの対応、ジェイルブレイク耐性、エラーからの回復)の3つのカテゴリに加え、`metrics.md`で詳しく説明する UX カテゴリにまたがります。

採用の判断はルールに基づきます。許容可能なトークンコストで正確性が同等以上なら B を採用し、トークンの悪化が20%未満で正確性が10%を超えて向上するなら、トレードオフとして B を検討します。それ以外の場合は A を維持するか、反復して改善します。統計的有意性を得るには、エッジケースを15~20%含む、最低20件のテストケースが必要です。

プロンプトテスト

プロンプトのパフォーマンスをテスト、比較、測定するためのスキルです。

リファレンス

  • metrics.md - しきい値や計算式を用いて、品質/効率性/堅牢性/UX の指標を定義または評価する場合に読み込みます
  • methodology.md - A/B テスト全体(仮説、データセットのサイズ、統計的有意性、よくある落とし穴)を実施する場合に読み込みます
  • templates.md - テストデータセットの JSON または A/B テストレポートを作成する場合に読み込みます

テストワークフロー

1. DEFINE
   └── Test objective
   └── Metrics to measure
   └── Success criteria

2. PREPARE
   └── Variants A and B
   └── Test dataset
   └── Baseline (if existing)

3. EXECUTE
   └── Run on dataset
   └── Collect results
   └── Document observations

4. ANALYZE
   └── Calculate metrics
   └── Compare variants
   └── Identify patterns

5. DECIDE
   └── Recommendation
   └── Statistical confidence
   └── Next iterations

パフォーマンス指標

品質
指標説明計算方法
正確性正しい応答正解数 / 合計数
コンプライアンス形式への準拠準拠数 / 合計数
一貫性応答の安定性1 - 分散
関連性ニーズへの適合度平均スコア(1~5)
効率性
指標説明計算方法
入力トークン数プロンプトのサイズトークン数
出力トークン数応答のサイズトークン数
レイテンシー応答時間ms
コスト1リクエストあたりの料金トークン数 × 価格
堅牢性
指標説明計算方法
エッジケースエッジケースへの対応合格数 / 合計数
ジェイルブレイク耐性回避への耐性ブロック数 / 試行数
エラーからの回復エラーからの回復回復数 / エラー数

定義、しきい値、UX 指標カテゴリの詳細については、metrics.mdを参照してください。テストデータセットとレポートの形式については、templates.mdを参照してください。

コマンド

# Create a test
/prompt test create --name "Test v1" --dataset tests.json

# Run an A/B test
/prompt test run --a prompt_a.md --b prompt_b.md --dataset tests.json

# View results
/prompt test results --id test_001

# Compare two tests
/prompt test compare --tests test_001,test_002

判断基準

バリエーション B を採用する条件
IF:
  - Accuracy B >= Accuracy A
  AND (Tokens B <= Tokens A * 1.1 OR accuracy improvement > 5%)
  AND no regression on edge cases
THEN:
  → Adopt B

ELSE IF:
  - Accuracy improvement > 10%
  AND token regression < 20%
THEN:
  → Consider B (acceptable trade-off)

ELSE:
  → Keep A or iterate

ベストプラクティス

  1. 有意性を得るため、最低20件のテストケースを用意します
  2. データセットの15~20%をエッジケースにします
  3. 一貫性を確認するため、複数回テストします
  4. テスト前に仮説を記録します
  5. テストするプロンプトにバージョンを付与します

コメント