mcpField
V
vitest-evals

vitest-evals

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

vitest-evals について

ハーネスでシステムを実行し、通常のアサーションで結果を検証する Vitest 評価スイートの作成・レビュー用スキルです。AI SDK や Pi AI との連携、ジャッジ、ツールの記録と再生、セッション履歴やスパンの検証を扱います。

主な機能

  1. 01describeEval とハーネスで評価を作成
  2. 02出力、ツール呼び出し、メッセージを検証
  3. 03スパンと失敗したスパンを確認
  4. 04ジャッジを設定し使用量を記録
  5. 05ツールの記録と再生を設定

活用シーン

  1. 01AI アプリケーションの Vitest 評価を作成
  2. 02カスタムアプリ用のハーネスを構築
  3. 03ツール呼び出しとセッション動作を評価
  4. 04トレース欠落や評価失敗を診断

インストール

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

$npx skills add https://github.com/getsentry/vitest-evals --skill vitest-evals

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

同梱ファイル

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

README.md
SOURCES.md
SPEC.md
references/
custom-harness.md
harness-ai-sdk.md
harness-pi-ai.md
judges-and-assertions.md
suite-authoring.md
tool-replay.md
troubleshooting.md
utilities.md

詳細

vitest-evals

作成モデルとして、ハーネスに基づく API のみを使用してください。

はじめに

  1. 変更するパッケージ、アプリ、または eval ファイルを読みます。
  2. 実行時の対象を特定し、必要なリファレンスのみを開きます。
  3. スイートは Vitest に近い形に保ちます。各 describeEval(...) にハーネスを 1 つ割り当て、各テスト内で明示的に run(...) を実行し、返された結果に対して通常の expect(...) アサーションを使用します。

リファレンス案内

必要な内容開くファイル
通常の eval スイートを作成またはレビューするreferences/suite-authoring.md
ファーストパーティーアダプターなしでカスタムアプリ Harness を構築するreferences/custom-harness.md
AI SDK の generateText、generateObject、ツール、または AI SDK 形式のエージェントを統合するreferences/harness-ai-sdk.md
Pi AI または Pi Mono 形式のエージェントを統合するreferences/harness-pi-ai.md
カスタムジャッジ、スイートジャッジ、組み込みジャッジ、または toSatisfyJudge(...) アサーションを追加するreferences/judges-and-assertions.md
メッセージ、ツール呼び出し、またはスパンの履歴をアサートするreferences/utilities.md
ツールの記録または再生を設定するreferences/tool-replay.md
失敗、トレースの欠落、予期しない出力を診断する、または検証コマンドを選ぶreferences/troubleshooting.md

実行時の既定値

  • vitest-evals から describeEval(...)、ジャッジ、ヘルパーをインポートします。
  • スイートにはハーネスを 1 つだけ割り当てます。
  • システムを実行するテストでは run(input) を呼び出します。
  • アプリの動作を確認するには、result.output をアサートします。
  • 正規化されたセッションのアサーションには、toolCalls(result) とメッセージヘルパーを使用します。
  • スパンのアサーションには、spans(result)、spansByKind(result, kind)、failedSpans(result) を使用します。
  • HarnessRun、NormalizedSession、使用量、アーティファクト、ツール記録は JSON 形式でシリアライズ可能な状態に保ちます。
  • 判明しているトークン数と米ドルのコストは run.usage で報告します。costUsd が不明な場合は省略し、実行が無料であると判明している場合にのみ 0 を使用します。
  • ルーブリックのテキストと解析はジャッジに含めます。プロバイダー呼び出しは judgeHarness に配置し、使用量が記録されるように ctx.runJudge(...) 経由で呼び出します。
  • シナリオ固有の基準は入力値に含めます。直接チェックする期待値は Vitest のケース行に記述します。ケースごとのジャッジ基準は明示的なマッチャーオプションで渡し、スイート全体に適用する基準はジャッジの設定で指定します。
  • カスタムジャッジには createJudge(...) を使用し、レポーターで安定したラベルを付けます。

検証

編集したファイルを網羅できる、最小限のコマンドを優先します。

タスクコマンド
ファイルのリントpnpm exec biome lint path/to/file.ts
ファイルのフォーマットpnpm exec biome format --write path/to/file.ts
ファイルのテストpnpm exec vitest run path/to/file.test.ts -c vitest.config.ts
Eval ファイルpnpm exec vitest run path/to/file.eval.ts -c vitest.config.ts --reporter=./packages/vitest-evals/src/reporter.ts
型の確認pnpm typecheck
パッケージのビルドpnpm build

コメント