https://blog.mocobeta.dev/posts/feed.xml

AgentKit Evalsで使えるテキスト比較Grader - String Check GraderとText Similarity Grader

2025-12-21

Hello Evals! - AgentKitでシステムプロンプトを評価するで触れたように,Evalsには,人手によるアノテーションの他,Graderという自動評価の仕組みがあります。

組み込みGrader一覧はこちら: Add graders

今回は,テキスト比較に使えるString Check GraderとText Similarity Graderを動かしてみたメモです。

String Check Grader

リファレンス: String Check Grader

シンプルな文字列マッチを行うGraderです。比較演算子はeq, ne, like, ilikeをサポート。

たとえば,input.reference(答え。入力で与える)とsample.output_text(LLMの出力テキスト)が完全一致するかを評価するGraderを定義して動かすと,以下のようになります。お題は動物当てクイズです。

String Check Grader

完全一致なので,もちろん漢字・ひらがな・カタカナ表記の違いも区別されます。カテゴリカルなタスク設定に向いてそう。

Text Similarity Grader

リファレンス: Text Similarity Grader

テキストの類似度で評価を行うGraderです。メトリクスとしてcosine, fuzzy_match, bleu, gleu, meteor, rouge_1, rouge_2, rouge_3, rouge_4, rouge_5, rouge_lをサポート。翻訳や要約といった生成タスクで使われる指標がひととおりサポートされています。

たとえば,input.reference(答え。入力で与える)とsample.output_text(LLMの出力テキスト)のBLEUスコアとROUGE-Lスコアを計算するGraderを定義して動かすと,以下のようになります。お題は日本語から任意言語への翻訳です。

Text Similarity Grader


これは Agents SDK+αのTipsを一人で書いていくアドカレ Advent Calendar 2025の21日目の記事です。