組み込み Scorer
Mastra は、AI の出力を評価するための組み込み Scorer を一通り提供しています。一般的な評価シナリオに最適化されており、Agent や Workflow ですぐに利用できます。
独自の Scorer を作成する方法については、カスタム Scorer ガイドを参照してください。
利用可能な Scorer利用可能な Scorerへの直接リンク
正確性と信頼性正確性と信頼性への直接リンク
以下の Scorer は、Agent の回答がどの程度正確で、事実に忠実かつ完全であるかを評価します。
answer-relevancy: 応答が入力クエリにどの程度適切に答えているかを評価します(0-1、高いほど良い)answer-similarity: セマンティック分析を使用して Agent の出力を正解と比較し、CI/CD テストに利用します(0-1、高いほど良い)faithfulness: 応答が与えられたコンテキストをどの程度正確に反映しているかを測定します(0-1、高いほど良い)hallucination: 事実との矛盾や裏付けのない主張を検出します(0-1、低いほど良い)completeness: 応答に必要な情報がすべて含まれているかを確認します(0-1、高いほど良い)content-similarity: 文字単位のマッチングを使用してテキストの類似度を測定します(0-1、高いほど良い)textual-difference: 文字列間のテキスト差分を測定します(0-1、高いほど類似)tool-call-accuracy: LLM が利用可能な選択肢から正しい Tool を選択したかを評価します(0-1、高いほど良い)trajectory-accuracy: すべての Span タイプについて、期待されるアクションの順序を評価します。対象には Tool と Model のアクティビティ、および Workflow のステップが含まれます(0-1、高いほど良い)prompt-alignment: Agent の応答が、ユーザープロンプトの意図、要件、完全性、形式にどの程度沿っているかを測定します(0-1、高いほど良い)
コンテキストの品質コンテキストの品質への直接リンク
以下の Scorer は、応答の生成に使用されたコンテキストの品質と関連性を評価します。
context-precision: Mean Average Precision を使用してコンテキストの順位を評価します。関連するコンテキストが上位にあるほど高いスコアになります(0-1、高いほど良い)context-relevance: 関連性レベルと使用状況の追跡を通じて、コンテキストの有用性を測定します。不足しているコンテキストも検出します(0-1、高いほど良い)
コンテキスト Scorer の選び方
- コンテキストの順序が重要で、標準的な情報検索指標が必要な場合は Context Precision を使用します(RAG のランキング評価に最適です)
- 関連性を詳細に評価し、コンテキストの使用状況を追跡して不足を特定したい場合は Context Relevance を使用します
どちらのコンテキスト Scorer も以下をサポートします。
- 静的コンテキスト: 事前定義されたコンテキスト配列
- 動的なコンテキスト抽出: カスタム関数を使用して実行結果からコンテキストを抽出(RAG システムやベクトルデータベースなどに最適です)
出力品質出力品質への直接リンク
以下の Scorer は、形式、スタイル、安全性の要件に準拠しているかを評価します。
tone-consistency: 文体のフォーマルさ、複雑さ、スタイルの一貫性を測定します(0-1、高いほど良い)toxicity: 有害または不適切なコンテンツを検出します(0-1、低いほど良い)bias: 出力に含まれる潜在的なバイアスを検出します(0-1、低いほど良い)keyword-coverage: 技術用語の使用状況を評価します(0-1、高いほど良い)
Quick ChecksQuick Checksへの直接リンク
高速で決定論的なアサーションに使用できる、LLM を使わない小規模な Scorer です。使用方法の詳細については、Quick Checks ガイドを参照してください。
checks.includes: 出力に部分文字列が含まれている場合は 1(0または1)checks.excludes: 出力に部分文字列が含まれていない場合は 1(0または1)checks.equals: 出力が文字列と完全に一致する場合は 1(0または1)checks.matches: 出力が正規表現に一致する場合は 1(0または1)checks.similarity: Dice 係数による文字列類似度(0-1、しきい値を指定した場合は二値)checks.calledTool: Tool が N 回以上呼び出された場合は 1(0または1)checks.didNotCall: Tool が呼び出されなかった場合は 1(0または1)checks.toolOrder: Tool が指定された順序で呼び出された場合は 1(0または1)checks.maxToolCalls: Tool の呼び出し回数が上限以内の場合は 1(0または1)checks.usedNoTools: Tool が一度も呼び出されなかった場合は 1(0または1)checks.noToolErrors: Tool 呼び出しでエラーが発生しなかった場合は 1(0または1)