AIニュース最前線
最新ニュースAI日報Hacker日報週報動画AIツールトレンド企業

AIニュース最前線

世界中のAI最新情報を日本語で毎時更新

最新ニュース日報トレンド企業このサイトについてRSS
© 2026 ainew.jp
お問い合わせ特定商取引法に基づく表記
ニュース一覧元記事を開く
Hamel Husain·2024年10月29日 16:00·約24分で読める

LLM-as-a-Judgeを用いた評価:完全ガイド

#LLM-as-a-Judge#Evaluation Frameworks#AI Product Management#Prompt Engineering
TL;DR

Hamel Husain は、LLM-as-a-Judge の導入において頻繁に見られる評価指標の過多や主観的な採点の問題を指摘し、ドメイン専門家を活用した「Critique Shadowing」という実践的なフレームワークを提案している。

AI深層分析2026年5月3日 04:15
4
重要/ 5段階
深度40%
5
関連度30%
5
実用性20%
5
革新性10%
3

キーポイント

1

LLM-as-a-Judge の一般的な失敗パターン

多くのチームが管理不能なほどの多数の指標や、主観的で不確かな数値スケール(1-5 点など)に依存し、ドメイン専門家の意見を無視することで評価プロセスが破綻している。

2

Critique Shadowing の導入

記事は「Critique Shadowing」という手法を提案し、まず組織内で最も重要な判断基準を持つ「主要ドメイン専門家」を特定して早期に巻き込むことを推奨している。

3

専門家の役割と重要性

ドメイン専門家は技術的な許容基準の定義だけでなく、ユーザーが暗黙的に持つ期待を言語化し、評価の一貫性を保ち、開発へのオーナーシップを生む鍵となる。

4

信頼できる評価指標の構築

単なるスコアの羅列ではなく、ビジネスやユーザーにとって真に重要な価値を反映する検証済みの指標を用いることで、データ過多による停滞を防ぐ。

5

ドメイン専門家の選定と責任

企業の規模や立場に関わらず、AI の成功には特定のドメイン専門家(CEO、独立開発者自身など)の関与が不可欠であり、全員を満足させることは不可能だが、その主要な専門家の承認が最重要である。

6

多様性のある評価用データセットの構築

AI が本番環境で直面する問題を網羅的に捉えるため、機能(Features)、シナリオ(Scenarios)、ペルソナ(Personas)などの次元を定義した多様なデータセットを作成することが必要である。

7

評価の現実性と弱点特定

多様で現実的な相互作用を反映させたデータセットは、AI の広範な状況下でのテストを可能にし、実際のユーザー行動に基づいて潜在的な弱点やエラーを早期に発見する。

影響分析・編集コメントを表示

影響分析

この記事は、AI プロダクト開発現場で広く見られる「評価指標の肥大化」という本質的な課題を鋭く指摘し、単なる技術ツールの導入ではなく、人的要素(ドメイン専門家)をどう組み込むかという組織論的アプローチを提供している。LLM-as-a-Judge の普及が進む中で、その実効性を担保するための具体的なフレームワークを示すことで、開発チームの意思決定プロセスと評価の質を向上させる重要な指針となる。

編集コメント

評価指標の設計において、数値的なスコアリングよりも「誰が判断基準を定義するか」という人的要素の重要性を説く視点は非常に貴重です。実務家にとって即座に適用可能なフレームワークと言えます。

今年初め、私は「あなたの AI プロダクトには評価システムが必要だ」という記事を書きました。多くの方から、「LLM-as-a-judge(LLM を審査員として用いる手法)の始め方は?」とご質問をいただきました。本ガイドでは、30 社以上の企業の評価システムの構築を支援した経験から得た知見を共有します。

問題:AI チームはデータに溺れている

数週間かけて AI システムを構築したにもかかわらず、それが実際に機能しているのか全くわからないという経験はありませんか?あなただけではありません。LLM を用いて AI の出力を評価する際、チームが同じ過ちを繰り返すのを私はよく目にします:

指標が多すぎる:管理不能になるほど多くの測定項目を作成してしまう。

恣意的な採点システム:複数の次元にわたって較正されていないスケール(1〜5 段階など)を使用しており、スコア間の差が不明確で主観的である。何が 3 で何が 4 なのか?誰もわからず、異なる評価者間でこれらの尺度の解釈が大きく異なってしまう。

ドメインエキスパートを無視する:その分野に深い理解を持つ人々を関与させない。

検証されていない指標:ユーザーやビジネスにとって本当に重要なことを反映していない測定値を使用してしまう。

その結果?チームは、信頼できず活用できない膨大な量の指標やデータに埋もれてしまいます。進歩が完全に停止し、誰もがイライラしてしまいます。

例えば、以下のようなダッシュボードを目にするのは珍しくありません:

image
image

悪い評価用ダッシュボードの例示

1 から 5 のスケールで多数のスコアを追跡することは、往々にして評価プロセスが不適切であることの兆候です(その理由については後ほど説明します)。本稿では、これらの落とし穴を避ける方法を紹介します。その解決策として私が提唱する「クリティック・シャドーイング」という手法を使用することです。以下に、その手順を段階的に解説します。

ステップ 1: 主要なドメイン専門家を見つける

ほとんどの組織には、AI プロダクトの成功にとって不可欠な判断を下すキーパーソンが通常一人(あるいは二人)存在します。これらは、深いドメイン専門知識を持つ人々、またはターゲットユーザーを代表する人々です。この主要なドメイン専門家をプロセスの初期段階で特定し、関与させることは極めて重要です。

なぜ適切なドメイン専門家を見つけることがそれほど重要なのでしょうか?

基準を設定する: この人物は、技術的に何が許容されるかを定義するだけでなく、ユーザーが実際に求めているものを構築しているかどうかを理解する手助けもしてくれます。

言葉にされない期待を捉える: 彼らを関与させることで、事前に完全に言語化できないかもしれない彼らの好みや期待を発見できます。評価プロセスを通じて、私たちは「合格」とみなせる AI の対話とはどのようなものかを明確にするのを支援します。

判断の一貫性: 組織内の人々は、AI のパフォーマンスについて異なる意見を持つ可能性があります。主要な専門家に焦点を当てることで、評価が一貫し、最も重要な基準と整合性が保たれます。

所有権の感覚:専門家を関与させることで、彼らは AI の開発に当事者意識を持ちます。自分たちが形作りに関わったと感じるため、投資されているという感覚を抱きます。その結果、AI に対してより承認する可能性が高まります。

主要なドメイン専門家の例:

メンタルヘルス AI アシスタントのための心理学者。

法的文書を分析する AI 用の弁護士。

サポートチャットボットの顧客サービスディレクター。

教育用 AI ツールの主任教員またはカリキュラム開発者。

例外

小規模な企業では、これが CEO または創業者になる可能性があります。あなたが独立した開発者である場合、あなた自身がドメイン専門家でなければなりませんが(自分の専門性については正直に自問してください)。

どうしてもリーダーシップに頼らなければならない場合は、彼らの仮定を定期的に対象ユーザーからのフィードバックと照合して検証する必要があります。

多くの開発者が自分自身でドメイン専門家として振る舞おうとするか、都合の良い代理(例:上司)を見つけようとします。これは破滅への道です。何が許容されるかについては人によって意見が異なり、全員を満足させることはできません。重要なのは、主要なドメイン専門家が満足することです。

覚えておいてください:これには必ずしもドメイン専門家の多くの時間を要する必要はありません。この投稿の後半で、プロセスを効率的にする方法を説明します。彼らの関与は AI の成功にとって絶対に不可欠です。

次のステップ

専門家を見つけたら、レビューするための適切なデータを提供する必要があります。次にその方法について話し合いましょう。

ステップ 2:データのセットを作成する

主要なドメインの専門家をチームに加えた上で、次は AI が遭遇する可能性のある課題を捉えたデータセットを構築することが次のステップとなります。このデータセットが多様性に富み、本番環境で AI が行うであろう各種のインタラクションを代表していることが重要です。

なぜ多様なデータセットが重要なのか

包括的なテスト:AI を幅広い状況下で評価できるようにします。

現実的なインタラクション:より関連性の高い評価を行うために、実際のユーザー行動を反映させます。

弱点の特定:AI が苦労する可能性のある領域やエラーが発生しやすい箇所を発見するのに役立ちます。

データセット構築のための次元(ドメイン)

ユースケースに合致した次元を定義する必要があります。例えば、B2C アプリケーションでは以下のようなものをよく使用します:

機能(Features):AI 製品固有の機能。

シナリオ(Scenarios):AI が遭遇し、対応する必要がある状況や課題。

ペルソナ(Personas):明確な特徴とニーズを持つ代表的なユーザープロファイル。

機能、シナリオ、およびペルソナの具体例

機能

機能

説明

メール要約(Email Summarization)

長文のメールを主要ポイントに要約する。

会議スケジューラー(Meeting Scheduler)

タイムゾーンを超えた会議のスケジュールを自動化する。

注文追跡(Order Tracking)

出荷状況と配送更新情報を提供する。

連絡先検索(Contact Search)

データベースから連絡先情報を見つけ、取得する。

言語翻訳(Language Translation)

テキストを異なる言語間で翻訳する。

コンテンツ推薦(Content Recommendation)

ユーザーの興味に基づいて記事や製品を提案する。

シナリオ

シナリオとは、AI が対処すべき状況のことであり(AI の回答の結果に基づくものではありません)。

シナリオ

説明

複数の一致が見つかった

ユーザーのリクエストにより複数の結果が得られ、絞り込みが必要となる場合。例:ユーザーが「注文はどこですか?」と尋ねるが、アクティブな注文が 3 つある(#123, #124, #125)。AI は、どの特定の注文について質問されているのかを特定するよう支援する必要があります。

一致が見つからない

ユーザーのリクエストにより結果が得られず、代替案や修正が必要となる場合。例:存在しない注文番号 #ABC-123 を検索した場合。AI は有効な注文形式を説明し、確認メールを確認することを提案すべきです。

曖昧なリクエスト

ユーザーの入力に必要な具体性が欠けている場合。例:ユーザーが「配送を変更したい」と言うが、どの注文か、あるいは配送のどの側面(日付、住所など)を変更したいのかを指定していない。

無効なデータが提供された

ユーザーが誤ったデータ型または形式を提供した場合。例:ユーザーが通常の商品番号ではなく、返品承認番号(RMA 番号)を使用して返品を追跡しようとする。

システムエラー

技術的な問題により通常の動作ができない場合。例:注文を検索している最中に在庫データベースが一時的に利用できない状態になった場合。AI は状況を説明し、代替案を提供する必要があります。

情報が不完全

ユーザーが必要な詳細を省略した場合。例:ユーザーが返品を開始したいが、注文番号や理由を提供していない。AI はこの情報を段階的に収集する必要があります。

サポートされていない機能

ユーザーは存在しない機能を要求します。例えば、注文が配送された後に支払い方法の変更を AI に求める場合があります。AI はなぜそれが不可能なのかを説明し、代替案を提案する必要があります。

ペルソナ

ペルソナ

説明

新規ユーザー

システムに不慣れで、ガイダンスが必要です。

エキスパートユーザー

経験豊富で、効率性と高度な機能を期待します。

非ネイティブスピーカー

言語の壁がある可能性があり、標準的でない表現を使用します。

多忙な専門家

迅速で簡潔な回答を重視し、マルチタスクを行うことが多いです。

テクノフォビア(技術恐怖症)

技術に不慣れで、簡単な指示が必要です。

高齢ユーザー

技術に詳しくない可能性があり、忍耐と明確なガイダンスが必要です。

この分類体系は普遍的ではない

この分類体系(機能、シナリオ、ペルソナ)は普遍的なものではありません。例えば、ユーザーが AI と直接対話しない場合、ペルソナを設定すること自体が無意味になる可能性があります。重要なのは、使用ケースに合致する次元を明確にし、それらを網羅するデータを生成することです。おそらく最初の評価ラウンド後にこれらの要素を洗練させることになるでしょう。

データの生成

データセットを構築するには、以下の方法があります:

既存のデータを使用する:AI システムからの実際のユーザーインタラクションや行動をサンプリングします。

合成データを生成する:LLM(大規模言語モデル)を使用して、様々な機能、シナリオ、ペルソナを網羅した現実的なユーザー入力を作成します。

多くの場合、包括的なカバレッジを確保するために両方を組み合わせて行います。合成データは実データほど完璧ではありませんが、良い出発点となります。また、ここでは LLM を使用してユーザー入力を生成するだけであり、LLM の応答や内部システム動作の生成には使用しません。

既存データを使用するか合成データを使用するかにかかわらず、定義した次元全体にわたって十分なカバレッジを得ることが重要です。

システム情報の取り込み

テストデータを作成する際は、適切な場合に API やデータベースを活用してください。これにより現実的なデータが作成され、適切なシナリオがトリガーされます。場合によっては、この情報を取得するために簡単なプログラムを書く必要があることもあります。これは以下の例における「前提条件」列で言及されている内容です。

ユーザー入力を生成するための LLM プロンプムの例

以下は、機能、シナリオ、ペルソナの異なる組み合わせに対して、LLM を使用して合成されたユーザー入力を生成する方法を示すいくつかの例プロンプムです:

ID

機能

シナリオ

ペルソナ

ユーザー入力を生成するための LLM プロンプム

前提条件(プロンプムに直接含まれていない)

1

注文追跡

無効なデータが提供された

苛立った顧客

「明らかにいら立ちと焦りを感じている人物からのユーザー入力を生成してください。短く簡潔な言葉で、注文番号 #1234567890 のステータスに関する情報を要求する内容とし、過去のネガティブな経験の兆候を含めてください。」

注文番号 #1234567890 はシステムに存在しません。

2

Contact Search

Multiple Matches Found

New User

「システムに不慣れそうな人物のユーザー入力を作成してください。ためらいのある口調で、'Alex'という名前の人の連絡先情報を見つけるための支援を求めてください。ユーザーは必要な情報が何かについて確信がないように見えるべきです。」

システム内には複数の'Alex'という名の連絡先が存在します。

3

Meeting Scheduler

Ambiguous Request

Busy Professional

「明らかに急いでいる人物のユーザー入力をシミュレーションしてください。略語を用い、詳細を最小限に抑えて会議のスケジューリングを依頼するメッセージを作成してください。そのメッセージは慌ただしく感じられ、具体的な情報が欠如しているべきです。」

N/A

4

Content Recommendation

No Matches Found

Expert User

「業界に関する深い知識を示す人物のユーザー入力を生成してください。持続可能なサプライチェーン管理に関する記事のリクエストに際しては専門用語を使用してください。本記事に含まれる持続可能なサプライチェーン管理に関する情報を基に、妥当なクエリを立案してください:{{article}}」

システム内には'持続可能なサプライチェーン管理における新興動向'に関する記事は存在しません。

Synthetic Data の生成

合成データ(synthetic data)を生成する際、作成するのはユーザー入力のみです。その後、これらの入力を AI システムに供給して AI の応答を生成します。AI を評価できるように、すべてのプロセスをログ記録することが重要です。要約すると、以下の手順となります。

ユーザー入力の生成:LLM(大規模言語モデル)のプロンプトを使用して、現実的なユーザー入力を作成する。

AI システムにフィード入力を行う:現在の AI システムに対して、ユーザーのインタラクションを入力します。

AI の応答を記録する:AI の応答を記録し、完全なインタラクションを形成します。

インタラクションを整理する:ユーザー入力、AI の応答、および関連メタデータを格納するためのテーブルを作成します。

どの程度のデータを生成すべきか?

これに対する正解はありません。少なくとも、各次元(この玩具の例では機能、シナリオ、ペルソナ)の組み合わせに対応する例が得られるだけのデータは生成する必要があります。しかし同時に、新しい失敗モードが見えなくなるまで、より多くのデータを生成し続けることも重要です。私が生成するデータの量は、ユースケースによって大きく異なります。

合成データは実際に機能するのか?

合成データの使用に懐疑的かもしれません。確かに、それは実際のデータではないので、どのようにして良い代理となるのでしょうか?私の経験では、驚くほどよく機能します。私が最も好きな AI プロダクトの一つである Hex は、評価(evals)を駆動するために合成データを使用しています:

「LLM は、非常に優れた - そして多様な - ユーザープロンプトの例を生成するのが驚くほど上手です。これはアプリケーション機能を駆動する際に有用であり、ひそかに評価(Evals)を構築するためにも役立ちます。これが少し『巨大言語蛇が自分の尻尾を食べる』ような話に聞こえるなら、私もあなたと同じくらい驚きました!私が言えるのはただ一つ:機能します、実装しましょう」と、Hex の AI エンジニアリング責任者である Bryan Bischof 氏。

次のステップ

データセットの準備ができたら、次が最も重要な部分です。主要なドメインの専門家にインタラクションの評価を行ってもらうことです。

ステップ3:ドメイン専門家に批判的評価を伴う合格/不合格の判断を行わせる

ドメイン専門家の役割は、一つのことに集中することです。「AI は望ましい成果を達成したか?」複雑な採点スケールや複数の指標はありません。明確な合格または不合格の判断だけです。合格/不合格の判断に加えて、ドメイン専門家は自身の推論を説明する批判的評価(クリティクス)を記述する必要があります。

なぜ単純な合格/不合格の指標が重要なのか?

明確性と焦点:二値の判断は、誰もが本当に重要なことを考慮することを強要します。評価を単一の重要な問いに簡素化します。

実行可能な洞察:合格/不合格の判断は解釈しやすく、行動に移しやすいものです。AI がユーザーのニーズを満たしているかどうかを迅速に特定するのに役立ちます。

期待の明確化を促す:ドメイン専門家が相互作用が合格するか不合格かを決定しなければならないとき、彼らは自らの期待を明確に言語化するよう強制されます。このプロセスは、AI がどのように振る舞うべきかについての微妙なニュアンスや暗黙の前提を明らかにします。

リソースの効率的活用:評価プロセスを管理可能な状態に保ちます、特に初期段階では。まだ意味をなさない可能性のある詳細な指標に足を取られるのを防ぎます。

批判的評価(クリティクス)の役割

二値の合格/不合格判断と並行して、LLM 生成出力の詳細な批判的評価(クリティクス)を記述することが重要です。これらの批判的評価は:

微妙なニュアンスを捉える:批判的評価により、何がほぼ正しかったか、しかし改善が必要な領域があったかを記録できます。

ガイドの改善:詳細なフィードバックは、AI をどのように強化できるかという具体的な洞察を提供します。

シンプルさと深さのバランス:合格/不合格の判定は明確な結論を示しますが、批評にはその判断の背後にある理由を理解するために必要な深さが含まれています。

なぜ批評を書くのか?

実際には、ドメインの専門家がすべての評価基準を完全に内面化しているとは限りません。彼らに合格/不合格の決定を下させ、その理由を説明させることで、期待される基準が明確になり、AI を洗練させるための貴重な指針が得られます。

「でも私の問題は複雑だ!」信じてください—シンプルに始めることは、本当に重要なことに集中することを強いることになります。必要であれば、後からより複雑な要素を追加することも可能です。

良い批評の例

単純な合格/不合格の判定と詳細な批評が実際にどのように機能するかを説明するために、AI アシスタントとのユーザーインタラクションの例を示す表を以下に示します。この表には、合格と不合格の両方のケースが含まれており、それぞれに対して AI がその評価を受けた理由を解説する批評が付いています。AI に重大な問題がありながらも合格となったケースでは、批評はその点を指摘しつつも、全体としてなぜ合格と判断されたのかを正当化しています。一方、失敗したインタラクションについては、批評がなぜ失敗に至ったかの重要な要素を説明します。

ユーザーと AI のインタラクション

評価

批評

ユーザー:「来週のフライト予約をキャンセルしたいのですが。」

AI:「来週のフライト予約はキャンセルされました。確認メールをお送りしました。」

合格

AI はフライトのキャンセルと確認メールの送信によってユーザーのリクエストを正常に実行し、主要な目標を達成しました。ただし、誤ってキャンセルされるのを防ぐために、処理前に確認を求めるべきでした。この重要な見落としにもかかわらず、AI はユーザーのリクエストを満たしたため合格ですが、確認ステップを追加することでユーザーの安全性を向上させることができます。

ユーザー:「フランスの首都はどこですか?」

AI:「フランスの首都はパリです。」

合格

AI はユーザーの質問に正しく答え、正確な情報を迅速に提供しました。回答は十分ですが、AI は追加で興味深い事実を提供したり、さらに質問があるか尋ねたりすることで、対話をより充実させることができました。このエンゲージメント向上の機会にもかかわらず、AI はユーザーの主要なニーズを満たしたため合格です。

ユーザー:「アカウントにログインできません。パスワードが間違っていると表示されます。」

AI:「『パスワードをお忘れですか?』をクリックしてパスワードをリセットしてください。」

不合格

AI は一般的な解決策を提供しましたが、ユーザーのフラストレーションに共感を示すことも、アカウントロックアウトなどの他の問題を確認することもありませんでした。共感的なサポートや追加の支援を提供しませんでした。パーソナライズされた支援の欠如とユーザー体験の悪さにより、不合格となります。

ユーザー:「今夜7時にイタリア料理店で2名分のテーブルを予約してください。」

AI:「ルイージのイタリアレストランで、今夜7時に2名分のテーブルを予約しました。確認番号は12345です。」

合格

AI は要求通りに効率的に予約を完了し、必要な詳細と確認番号を提供しました。ただし、座席の希望や食事制限の有無についてユーザーに尋ねる余地がありました。AI は主要なタスクを成功裡に達成したため、サービス向上のためのわずかな機会はあるものの、合格となります。

ユーザー:「請求書に関するサポートが必要です。」

AI:「アカウント番号と氏名をご提供ください。」

不合格

AI は、ユーザーの身元を安全な手段で確認することなく機密情報を要求し、セキュリティが損なわれる可能性があります。まず、安全な認証プロセスを通じてユーザーを案内すべきでした。ユーザーデータ保護におけるこの致命的な見落としにより、不合格となります。

これらの例は、AI が「合格」と「不合格」の両方の判断を受けうる様子を示しています。批判において:

合格の場合、AI が主要なニーズに応えることに成功した理由を説明します。改善が可能な重要な側面があったとしてもです。これらの改善点を強調しつつ、全体の合格判定を正当化します。

不合格の場合、失敗に至った重要な要素を特定し、なぜ AI がユーザーの主要目標を満たせなかったのか、あるいはユーザー体験やセキュリティといった重要な要素を損なうことになったのかを説明します。

最も重要なのは、批判が詳細であり、LLM ジャッジ用の few-shot プロンプトで使用できる程度であることです。つまり、新しい従業員でも理解できるほど詳細でなければなりません。簡潔すぎることはよくある間違いです。

例の AI とのユーザーインタラクションは簡略化されていますが、判断を下すためにはドメイン専門家により多くの文脈を提供する必要があるかもしれません。これについては後述します。

注記

この時点では、AI が失敗した技術的な理由に対する根本原因分析を行う必要はありません。多くの場合、細部に踏み込む前に全体的な振る舞いの感覚をつかむことが有用です。

初期段階では二値の合格/不合格の評価から逸脱しないこと

よくある間違いは、二値の合格/不合格の評価から逸脱することです。先ほどのダッシュボードを再確認しましょう:

image
image

評価が LLM によって 1-5 スケール(または他の任意のスケール)で採点される一連の指標から成り立っている場合、それは誤ったアプローチです。なぜそうなのかを解説します。

アクション可能ではありません:人々は 3 や 4 という数値に対して何をすべきか分かりません。この数値が 2 よりも優れていることが直ちに明白ではありません。「このインタラクションは〜だから合格した」「このインタラクションは〜だから不合格だった」と言える必要があります。

多くの場合、これらの指標は重要ではありません。ドメイン専門家の判断に関するデータを分析した際、それらはこうした種類の指標と相関しない傾向があります。ドメイン専門家に二値の判断を行わせることで、何が本当に重要なのかを特定できます。

これが、多くの評価フレームワークに付属する市販の指標を私が嫌う理由です。これらは往々にして人々を誤った方向へ導いてしまいます。

合格・不合格の評価に対する一般的な異議:

「ビジネス側は、この 8 つの次元が重要だと述べているので、すべてを評価する必要があります。」

「なぜ相互作用が合格または不合格となったのかを説明できる必要があります。」

1 から 5 のスケールで 8 つのことを測定する必要があると言う人がいたら、私はその人が何を求めているか分かっていないと確信できます。彼らは単に推測しているだけです。ドメインの専門家が主導権を握るべきです。

原文を表示

Earlier this year, I wrote Your AI product needs evals. Many of you asked, “How do I get started with LLM-as-a-judge?” This guide shares what I’ve learned after helping over 30 companies set up their evaluation systems.

The Problem: AI Teams Are Drowning in Data

Ever spend weeks building an AI system, only to realize you have no idea if it’s actually working? You’re not alone. I’ve noticed teams repeat the same mistakes when using LLMs to evaluate AI outputs:

Too Many Metrics: Creating numerous measurements that become unmanageable.

Arbitrary Scoring Systems: Using uncalibrated scales (like 1-5) across multiple dimensions, where the difference between scores is unclear and subjective. What makes something a 3 versus a 4? Nobody knows, and different evaluators often interpret these scales differently.

Ignoring Domain Experts: Not involving the people who understand the subject matter deeply.

Unvalidated Metrics: Using measurements that don’t truly reflect what matters to the users or the business.

The result? Teams end up buried under mountains of metrics or data they don’t trust and can’t use. Progress grinds to a halt. Everyone gets frustrated.

For example, it’s not uncommon for me to see dashboards that look like this:

image
image

An illustrative example of a bad eval dashboard

Tracking a bunch of scores on a 1-5 scale is often a sign of a bad eval process (I’ll discuss why later). In this post, I’ll show you how to avoid these pitfalls. The solution is to use a technique that I call “Critique Shadowing”. Here’s how to do it, step by step.

Step 1: Find The Principal Domain Expert

In most organizations there is usually one (maybe two) key individuals whose judgment is crucial for the success of your AI product. These are the people with deep domain expertise or represent your target users. Identifying and involving this Principal Domain Expert early in the process is critical.

Why is finding the right domain expert so important?

They Set the Standard: This person not only defines what is acceptable technically, but also helps you understand if you’re building something users actually want.

Capture Unspoken Expectations: By involving them, you uncover their preferences and expectations, which they might not be able to fully articulate upfront. Through the evaluation process, you help them clarify what a “passable” AI interaction looks like.

Consistency in Judgment: People in your organization may have different opinions about the AI’s performance. Focusing on the principal expert ensures that evaluations are consistent and aligned with the most critical standards.

Sense of Ownership: Involving the expert gives them a stake in the AI’s development. They feel invested because they’ve had a hand in shaping it. In the end, they are more likely to approve of the AI.

Examples of Principal Domain Experts:

A psychologist for a mental health AI assistant.

A lawyer for an AI that analyzes legal documents.

A customer service director for a support chatbot.

A lead teacher or curriculum developer for an educational AI tool.

Exceptions

In a smaller company, this might be the CEO or founder. If you are an independent developer, you should be the domain expert (but be honest with yourself about your expertise).

If you must rely on leadership, you should regularly validate their assumptions against real user feedback.

Many developers attempt to act as the domain expert themselves, or find a convenient proxy (ex: their superior). This is a recipe for disaster. People will have varying opinions about what is acceptable, and you can’t make everyone happy. What’s important is that your principal domain expert is satisfied.

Remember: This doesn’t have to take a lot of the domain expert’s time. Later in this post, I’ll discuss how you can make the process efficient. Their involvement is absolutely critical to the AI’s success.

Next Steps

Once you’ve found your expert, we need to give them the right data to review. Let’s talk about how to do that next.

Step 2: Create a Dataset

With your principal domain expert on board, the next step is to build a dataset that captures problems that your AI will encounter. It’s important that the dataset is diverse and represents the types of interactions that your AI will have in production.

Why a Diverse Dataset Matters

Comprehensive Testing: Ensures your AI is evaluated across a wide range of situations.

Realistic Interactions: Reflects actual user behavior for more relevant evaluations.

Identifies Weaknesses: Helps uncover areas where the AI may struggle or produce errors.

Dimensions for Structuring Your Dataset

You want to define dimensions that make sense for your use case. For example, here are ones that I often use for B2C applications:

Features: Specific functionalities of your AI product.

Scenarios: Situations or problems the AI may encounter and needs to handle.

Personas: Representative user profiles with distinct characteristics and needs.

Examples of Features, Scenarios, and Personas

Features

Feature

Description

Email Summarization

Condensing lengthy emails into key points.

Meeting Scheduler

Automating the scheduling of meetings across time zones.

Order Tracking

Providing shipment status and delivery updates.

Contact Search

Finding and retrieving contact information from a database.

Language Translation

Translating text between languages.

Content Recommendation

Suggesting articles or products based on user interests.

Scenarios

Scenarios are situations the AI needs to handle, (not based on the outcome of the AI’s response).

Scenario

Description

Multiple Matches Found

User’s request yields multiple results that need narrowing down. For example: User asks “Where’s my order?” but has three active orders (#123, #124, #125). AI must help identify which specific order they’re asking about.

No Matches Found

User’s request yields no results, requiring alternatives or corrections. For example: User searches for order #ABC-123 which doesn’t exist. AI should explain valid order formats and suggest checking their confirmation email.

Ambiguous Request

User input lacks necessary specificity. For example: User says “I need to change my delivery” without specifying which order or what aspect of delivery (date, address, etc.) they want to change.

Invalid Data Provided

User provides incorrect data type or format. For example: User tries to track a return using a regular order number instead of a return authorization (RMA) number.

System Errors

Technical issues prevent normal operation. For example: While looking up an order, the inventory database is temporarily unavailable. AI needs to explain the situation and provide alternatives.

Incomplete Information

User omits required details. For example: User wants to initiate a return but hasn’t provided the order number or reason. AI needs to collect this information step by step.

Unsupported Feature

User requests functionality that doesn’t exist. For example: User asks to change payment method after order has shipped. AI must explain why this isn’t possible and suggest alternatives.

Personas

Persona

Description

New User

Unfamiliar with the system; requires guidance.

Expert User

Experienced; expects efficiency and advanced features.

Non-Native Speaker

May have language barriers; uses non-standard expressions.

Busy Professional

Values quick, concise responses; often multitasking.

Technophobe

Uncomfortable with technology; needs simple instructions.

Elderly User

May not be tech-savvy; requires patience and clear guidance.

This taxonomy is not universal

This taxonomy (features, scenarios, personas) is not universal. For example, it may not make sense to even have personas if users aren’t directly engaging with your AI. The idea is you should outline dimensions that make sense for your use case and generate data that covers them. You’ll likely refine these after the first round of evaluations.

Generating Data

To build your dataset, you can:

Use Existing Data: Sample real user interactions or behaviors from your AI system.

Generate Synthetic Data: Use LLMs to create realistic user inputs covering various features, scenarios, and personas.

Often, you’ll do a combination of both to ensure comprehensive coverage. Synthetic data is not as good as real data, but it’s a good starting point. Also, we are only using LLMs to generate the user inputs, not the LLM responses or internal system behavior.

Regardless of whether you use existing data or synthetic data, you want good coverage across the dimensions you’ve defined.

Incorporating System Information

When making test data, use your APIs and databases where appropriate. This will create realistic data and trigger the right scenarios. Sometimes you’ll need to write simple programs to get this information. That’s what the “Assumptions” column is referring to in the examples below.

Example LLM Prompts for Generating User Inputs

Here are some example prompts that illustrate how to use an LLM to generate synthetic user inputs for different combinations of features, scenarios, and personas:

ID

Feature

Scenario

Persona

LLM Prompt to Generate User Input

Assumptions (not directly in the prompt)

1

Order Tracking

Invalid Data Provided

Frustrated Customer

“Generate a user input from someone who is clearly irritated and impatient, using short, terse language to demand information about their order status for order number #1234567890. Include hints of previous negative experiences.”

Order number #1234567890 does not exist in the system.

2

Contact Search

Multiple Matches Found

New User

“Create a user input from someone who seems unfamiliar with the system, using hesitant language and asking for help to find contact information for a person named ‘Alex’. The user should appear unsure about what information is needed.”

Multiple contacts named ‘Alex’ exist in the system.

3

Meeting Scheduler

Ambiguous Request

Busy Professional

“Simulate a user input from someone who is clearly in a hurry, using abbreviated language and minimal details to request scheduling a meeting. The message should feel rushed and lack specific information.”

N/A

4

Content Recommendation

No Matches Found

Expert User

“Produce a user input from someone who demonstrates in-depth knowledge of their industry, using specific terminology to request articles on sustainable supply chain management. Use the information in this article involving sustainable supply chain management to formulate a plausible query: {{article}}”

No articles on ‘Emerging trends in sustainable supply chain management’ exist in the system.

Generating Synthetic Data

When generating synthetic data, you only need to create the user inputs. You then feed these inputs into your AI system to generate the AI’s responses. It’s important that you log everything so you can evaluate your AI. To recap, here’s the process:

Generate User Inputs: Use the LLM prompts to create realistic user inputs.

Feed Inputs into Your AI System: Input the user interactions into your AI as it currently exists.

Capture AI Responses: Record the AI’s responses to form complete interactions.

Organize the Interactions: Create a table to store the user inputs, AI responses, and relevant metadata.

How much data should you generate?

There is no right answer here. At a minimum, you want to generate enough data so that you have examples for each combination of dimensions (in this toy example: features, scenarios, and personas). However, you also want to keep generating more data until you feel like you have stopped seeing new failure modes. The amount of data I generate varies significantly depending on the use case.

Does synthetic data actually work?

You might be skeptical of using synthetic data. After all, it’s not real data, so how can it be a good proxy? In my experience, it works surprisingly well. Some of my favorite AI products, like Hex use synthetic data to power their evals:

“LLMs are surprisingly good at generating excellent - and diverse - examples of user prompts. This can be relevant for powering application features, and sneakily, for building Evals. If this sounds a bit like the Large Language Snake is eating its tail, I was just as surprised as you! All I can say is: it works, ship it.” Bryan Bischof, Head of AI Engineering at Hex

Next Steps

With your dataset ready, now comes the most important part: getting your principal domain expert to evaluate the interactions.

Step 3: Direct The Domain Expert to Make Pass/Fail Judgments with Critiques

The domain expert’s job is to focus on one thing: “Did the AI achieve the desired outcome?” No complex scoring scales or multiple metrics. Just a clear pass or fail decision. In addition to the pass/fail decision, the domain expert should write a critique that explains their reasoning.

Why are simple pass/fail metrics important?

Clarity and Focus: A binary decision forces everyone to consider what truly matters. It simplifies the evaluation to a single, crucial question.

Actionable Insights: Pass/fail judgments are easy to interpret and act upon. They help you quickly identify whether the AI meets the user’s needs.

Forces Articulation of Expectations: When domain experts must decide if an interaction passes or fails, they are compelled to articulate their expectations clearly. This process uncovers nuances and unspoken assumptions about how the AI should behave.

Efficient Use of Resources: Keeps the evaluation process manageable, especially when starting out. You avoid getting bogged down in detailed metrics that might not be meaningful yet.

The Role of Critiques

Alongside a binary pass/fail judgment, it’s important to write a detailed critique of the LLM-generated output. These critiques:

Captures Nuances: The critique allows you to note if something was mostly correct but had areas for improvement.

Guide Improvement: Detailed feedback provides specific insights into how the AI can be enhanced.

Balance Simplicity with Depth: While the pass/fail offers a clear verdict, the critique offers the depth needed to understand the reasoning behind the judgment.

Why Write Critiques?:

In practice, domain experts may not have fully internalized all the judgment criteria. By forcing them to make a pass/fail decision and explain their reasoning, they clarify their expectations and provide valuable guidance for refining the AI.

“But my problem is complex!” Trust me—starting simple forces you to focus on what truly matters. You can introduce more complexity later if needed.

Examples of Good Critiques

To illustrate how simple pass/fail judgments combined with detailed critiques work in practice, here’s a table showcasing examples of user interactions with an AI assistant. The table includes both passes and fails, with critiques explaining why the AI received that judgment. In cases where the AI passed despite critical issues, the critique highlights these aspects and justifies why it still passed overall. For failed interactions, the critique explains the critical elements that led to the failure.

User Interaction with AI

Judgment

Critique

User: “I need to cancel my flight booking for next week.”

AI: “Your flight booking for next week has been canceled. A confirmation email has been sent to you.”

Pass

The AI successfully executed the user’s request by canceling the flight and sending a confirmation, achieving the primary goal. However, it should have asked for confirmation before proceeding to prevent accidental cancellations. Despite this critical oversight, the AI fulfilled the user’s request, so it passes, but adding a confirmation step would improve user safety.

User: “What’s the capital of France?”

AI: “The capital of France is Paris.”

Pass

The AI correctly answered the user’s question, providing accurate information promptly. Although the response is sufficient, the AI could enhance the interaction by offering additional interesting facts or asking if the user has more questions. Despite this opportunity for added engagement, the AI met the user’s primary need, so it passes.

User: “I can’t log into my account; it says my password is incorrect.”

AI: “Please reset your password by clicking ‘Forgot Password’.”

Fail

The AI provided a generic solution without acknowledging the user’s frustration or checking for other issues like account lockout. It failed to offer empathetic support or additional assistance. Due to the lack of personalized help and poor user experience, it fails.

User: “Book a table for two at an Italian restaurant tonight at 7 PM.”

AI: “Table for two at Luigi’s Italian Restaurant booked for tonight at 7 PM. Confirmation number is 12345.”

Pass

The AI efficiently completed the booking as requested, providing all necessary details and a confirmation number. However, it could have asked if the user had seating preferences or dietary restrictions. The AI accomplished the primary task successfully, so it passes, with minor opportunities for enhanced service.

User: “I need help with my billing statement.”

AI: “Please provide your account number and full name.”

Fail

The AI requested sensitive information without verifying the user’s identity through secure means, potentially compromising security. It should guide the user through a secure authentication process first. Due to this critical oversight in user data protection, it fails.

These examples demonstrate how the AI can receive both “Pass” and “Fail” judgments. In the critiques:

For passes, we explain why the AI succeeded in meeting the user’s primary need, even if there were critical aspects that could be improved. We highlight these areas for enhancement while justifying the overall passing judgment.

For fails, we identify the critical elements that led to the failure, explaining why the AI did not meet the user’s main objective or compromised important factors like user experience or security.

Most importantly, the critique should be detailed enough so that you can use it in a few-shot prompt for a LLM judge. In other words, it should be detailed enough that a new employee could understand it. Being too terse is a common mistake.

Note that the example user interactions with the AI are simplified for brevity - but you might need to give the domain expert more context to make a judgement. More on that later.

Note

At this point, you don’t need to perform a root cause analysis into the technical reasons behind why the AI failed. Many times, it’s useful to get a sense of overall behavior before diving into the weeds.

Don’t stray from binary pass/fail judgments when starting out

A common mistake is straying from binary pass/fail judgments. Let’s revisit the dashboard from earlier:

image
image

If your evaluations consist of a bunch of metrics that LLMs score on a 1-5 scale (or any other scale), you’re doing it wrong. Let’s unpack why.

It’s not actionable: People don’t know what to do with a 3 or 4. It’s not immediately obvious how this number is better than a 2. You need to be able to say “this interaction passed because…” and “this interaction failed because…”.

More often than not, these metrics do not matter. Every time I’ve analyzed data on domain expert judgments, they tend not to correlate with these kind of metrics. By having a domain expert make a binary judgment, you can figure out what truly matters.

This is why I hate off the shelf metrics that come with many evaluation frameworks. They tend to lead people astray.

Common Objections to Pass/Fail Judgments:

“The business said that these 8 dimensions are important, so we need to evaluate all of them.”

“We need to be able to say why an interaction passed or failed.”

I can guarantee you that if someone says you need to measure 8 things on a 1-5 scale, they don’t know what they are looking for. They are just guessing. You have to let the domain expert drive

この記事をシェア

関連記事

LangChain Blog★42026年5月28日 00:28

LangGraph と LangSmith を活用した Lyft のセルフサービス AI エージェントプラットフォーム構築事例

ライドシェア企業の Lyft が、LangChain の LangGraph と LangSmith を利用し、開発者が独自に AI エージェントを構築・管理できるセルフサービスプラットフォームを構築した手法について紹介している。

Hamel Husain★42026年1月15日 17:00

LLM評価:知っておくべき全知識

Shreya氏と筆者は、700人以上のエンジニアやPMにAI評価を指導する中で得た質問を整理した。これは多くのケースで有効な鋭い意見であり、普遍的真理ではない。読者は自身の判断で活用すべきである。

Algomatic Tech Blog★42025年12月27日 12:18

自然言語だけでワークフローが完成する時代:ワークフローDevOpsへの変革

Difyやn8nなどのノーコードツールは非エンジニアでも利用可能だが、実務ではGUI操作の習得や手動テスト、エラー特定に課題がある。AIアプリケーションのワークフロー自動生成により、これらの課題解決を目指す取り組みを紹介。

今日のまとめ

AI日報で今日の重要ニュースをまとめ読み

ニュース一覧に戻る元記事を読む