model-evaluation について
SageMaker のサーバーレスモデルカスタマイズに対応するベースモデルやファインチューニング済みモデルの評価コードを生成するスキルです。評価方式の選択と要件確認を段階的に行い、該当するワークフローへ引き継ぎます。
主な機能
- 01OSS モデル向け LLM-as-Judge 評価
- 02OSS と Nova に対応する Custom Scorer
- 03段階的な評価方式の選択
- 04モデル対応状況とデータセット要件の確認
活用シーン
- 01LLM によるモデル応答の採点
- 02数学、コード、独自ロジックによるモデル評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ awslabs/ agent-plugins --skill model-evaluationインストール後、Claude Code で/model-evaluationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
code_templates/custom_scorer_evaluator.pyllmaaj_evaluator.pyreferences/code_output_guide.mdcreate-reward-function.mdcustom-lambda-scorer.mdcustom-scorer-evaluation.mdevaluation-type-guide.mdllmaaj-builtin-evaluation.mdllmaaj-custom-evaluation.mdllmaaj-evaluation.mdsupported-judge-models.mdscripts/nova_reward_function_source_template.pyreward_function_source_template.pyvalidate_custom_metrics.py詳細
モデル評価
SageMaker モデルを評価するコードを生成します。
前提条件
- SDK 環境が確認済みです(SDK のバージョン、リージョン、実行ロール)。まだの場合は、最初に
sdk-getting-startedスキルを有効にしてください。
原則
- 一度に一つのことだけを扱う。 各応答で進める判断は一つだけです。1 回のターンで複数の質問をまとめてはいけません。
- 次へ進む前に確認する。 次のステップへ進む前に、ユーザーの同意を待ちます。
- 必要になるまでファイルを読まない。 必要なステップに到達したときに限り、参照ファイルを読みます。
- すでに把握していることは尋ねない。 会話履歴、workflow_state.json、plan.md、またはすでに読んだファイルに答えがある場合は、それを使います。確信がなければ確認しますが、同じことを再度尋ねてはいけません。
- 状況説明はしない。 結果を伝え、質問します。応答は簡潔にします。
- 繰り返さない。 ツールを呼び出す前に伝えたことは、呼び出し後に繰り返してはいけません。
対象範囲
このスキルは、SageMaker Serverless Model Customization の評価機能に対応しています。SageMaker Serverless Model Customization がサポートする任意のベースモデルまたはファインチューニング済みモデルを評価できます。OSS モデル(Llama、Mistral、Qwen など)と Nova モデルの両方に対応しています。
このスキルが有効になったら、ユーザーに次のように伝えます。
「SageMaker Serverless Model Customization がサポートする任意のベースモデルまたはファインチューニング済みモデルの評価をお手伝いできます。」
ユーザーが SageMaker Serverless Model Customization でサポートされていないモデルの評価を依頼した場合、このスキルでは対応できないことを説明します。
評価の種類
評価には 2 種類あります。
- LLM-as-Judge — LLM がモデルの応答を採点します。(OSS モデルのみ。Nova には対応していません。)
- Custom Scorer — Lambda 関数を使用したプログラムによる評価です(組み込みの数学・コード採点機能を含みます)。OSS モデルと Nova モデルの両方に対応しています。
ワークフロー
ステップ 1:評価の種類を決める
使用する評価の種類はすでに決まっていますか?
会話履歴、plan.md、workflow_state.json、またはすでに読んだその他の情報を確認します。
決まっている場合: ユーザーに確認します。
「[評価の種類] を実行したいということですね。そうですか?」
⏸ 確認を待ちます。確認されたら → ステップ 2 に進みます。
決まっていない場合: 質問します。
「どの種類の評価を実行しますか? 次の評価に対応しています。
- LLM-as-Judge — LLM がモデルの応答を採点します
- Custom Scorer — プログラムによる採点です(数学、コード、または独自のロジック)
どちらかを選ぶか、決めかねている場合は「選択を手伝って」と入力してください。」
⏸ ユーザーの回答を待ちます。
- いずれかを選んだ場合 → ステップ 2 に進みます。
- 「選択を手伝って」「お任せします」「決めかねています」など、迷っていることを示した場合は、
references/evaluation-type-guide.mdを読み、その指示に従います。ユーザーが選択した後、この手順に戻ります。references/evaluation-type-guide.mdを読まずに、評価の種類についてユーザーに推奨してはいけません。
ステップ 2:検証し、評価ワークフローに引き継ぐ
参照ファイルを読む前に、選択された評価の種類がユーザーの状況に適合することを確認します。会話の文脈からすでに答えがわかる場合があります。必要がなければ質問しません。
LLM-as-Judge の検証
- 評価するモデルの種類は何ですか? LLM-as-Judge は Nova モデルには対応していません。モデルの種類がまだわからない場合は、次の方法で確認します。
- トレーニングジョブ名または ARN がある場合は、AWS MCP ツールの
list-tagsをトレーニングジョブ ARN に対して使用し、sagemaker-studio:jumpstart-model-idタグを探します。「nova」が含まれている場合は Nova、それ以外は OSS です。 - Model Package ARN がある場合は、AWS MCP ツールの
describe-model-packageを使用し、モデルの説明またはソースタグを確認します。 - どちらもない場合は、ユーザーに尋ねます。
- トレーニングジョブ名または ARN がある場合は、AWS MCP ツールの
- ユーザーは評価データセットを持っていますか? LLM-as-Judge には評価データセットが必要です。
カスタムスコアラーの検証
- ユーザーは評価データセットを持っていますか? カスタムスコアラーには評価データセットが必要です。(OSSモデルとNovaモデルの両方で動作しますが、Novaではカスタムラムダのみがサポートされます。)
検証に失敗した場合は、満たしていない要件をユーザーに伝え、代替案を提示してください。
「[Evaluation type]は、[reason]のため利用できません。」
失敗の理由が評価データセットがないことの場合、できることはありません。次のようにユーザーに伝えてください。
「残念ながら、サポートされている評価タイプはすべて評価データセットが必要です。モデル評価のお手伝いはできません。」
失敗の理由がそれ以外の場合は、別の評価タイプ選びを手伝うことを提案してください。
⏸ ユーザーの返答を待ちます。
別の評価タイプ選びのサポートを希望すると言った場合は、references/evaluation-type-guide.mdを読みます。
検証に合格した場合は、該当するリファレンスファイルを読みます。
| ユーザーが選択したもの | 読み込むファイル |
|---|---|
| LLM-as-Judge | references/llmaaj-evaluation.md |
| カスタムスコアラー | references/custom-scorer-evaluation.md |
リファレンスファイルの指示に最初から従ってください。