Anthropic、信頼できるエージェント評価の構築に関する知見を公開
本文の状態
日本語全文を表示中
詳細モードで約26分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Arize AI Blog
Anthropic の技術スタッフが、評価ハッチの欠陥を回避する SQL クエリ追加などにより、モデルの実力向上ではなくテスト環境の不備がスコアを歪める事例を紹介し、信頼できるエージェント評価には因果関係の特定が必要だと指摘した。
Continue in AI NEW LAB
このニュースを、実務の判断につなげる
AI NEW LABで、試したことや先に確認したい条件を共有できます。まずはログインなしで読めます。
AI NEW LABで論点を見るAI深層分析を開く2026年8月12日 23:36
AI深層分析
キーポイント
評価スコアの誤認事例
Anthropic の技術スタッフが新しいモデルを検証した際、SQL クエリに LIMIT 句を追加する癖がハッチの欠陥を回避し、実質的な能力向上ではないのに9ポイントもスコアが上がったと誤認された。
エージェント評価の複雑性
エージェントは時間軸にわたって行動し、外部状態や履歴に依存するため、単なる最終結果だけでなく意思決定の過程やツール呼び出しなど多層的な検証が必要である。
信頼性の条件
良い評価結果は能力向上、テストの欠陥、あるいは偶然の幸運のいずれからも生まれうるため、どの説明が証拠に合致するかを特定する仕組みが不可欠だと指摘した。
エラーの連鎖と環境の不確実性
初期の誤りがその後のすべての行動に影響し、外部システムの変化も再現を困難にする。
回帰評価と機能拡張評価の役割分担
前者は既知の動作が壊れていないかを確認し、後者はエージェントの新たな能力範囲を測定する。
重要な引用
The newer model had developed a habit of adding LIMIT clauses to its SQL queries.
Once Buleandra repaired the harness, much of the apparent improvement disappeared.
A passing result can emerge from durable capability, a flawed test, or a fortunate accident.
An incorrect assumption or malformed tool call near the beginning can influence every action that follows.
編集コメントを表示
編集コメント
モデルの性能評価において、数値的なスコア上昇が必ずしも能力向上を意味しないという実例は、開発現場で頻発する落とし穴を浮き彫りにしている。信頼性の高い評価体系を構築するには、単なる結果の確認だけでなく、その背後にある因果関係を解明するプロセスが不可欠である。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
Anthropic の技術スタッフである Marius Buleandra 氏が、Arize Observe で「本番環境でも信頼できるエージェント評価」について講演した内容を踏まえて、その要点を解説します。
Marius Buleandra 氏が AI データアナリスト向けの評価で新しいモデルを試した際、前世代モデルより 9 ポイントも高いスコアが出ました。この改善幅は十分に大きく、意味のある能力向上の証拠として Anthropic の研究チームに共有できるほどでした。
しかし結果を送る直前、Buleandra はトランスクリプトを確認しました。すると、その「勝利」が崩れ始める兆候が見えてきたのです。新しいモデルは SQL クエリに LIMIT 句を追加する癖をつけていたのです。
通常であれば、クエリの規模を管理するために LIMIT 句を加えるのは正当な対策です。しかし、この特定の評価環境では、それがハーン(評価枠組み)の欠陥を回避する手段として機能してしまいました。Buleandra がハーン側のバグを修正すると、見かけ上の改善はほとんど消えてしまったのです。スコアは確かに違いを検知しましたが、その原因を誤って特定していたことになります。
Buleandra は Anthropic の Applied AI チームに所属しています。このチームは製品研究と顧客の間に位置し、各チームがエージェントや評価指標、そしてハーンを改善するのを支援しています。この立場から彼は、ソフトウェア開発者にとって次第に身近な問題を目の当たりにしてきました。つまり、「エージェントベンチマークは正確な数値を提示しながらも、背後にある複雑な因果関係を隠してしまう」という現象です。
モデル、プロンプト、ツール、グラダー(評価者)、あるいは環境そのものが変更された可能性があります。また、システムがたまたま有利な経路に偶然たどり着いたケースもあり得ます。信頼できるエージェント評価のためには、どの説明が証拠と整合するかを見極めることが不可欠です。
AI エージェントの評価とは何か?
AI エージェント評価は、エージェントがタスクを成功裏に完了できるか、その結果に至るプロセスはどうなっているか、そして周囲のシステムが変化しても振る舞いが信頼できるかを測定するための構造化されたテストです。
従来の単体テスト(ユニットテスト)は、既知の入力と検証可能な出力を持つ限定された関数の評価を行います。ここでいう「限定された関数」とは、その動作が自己完結的で予測可能であることを意味します。定義された入力を受け取り、外部の状態や蓄積された履歴、中間的な判断に依存することなく、定義された出力を返すものです。
一方、エージェントは時系列の軌跡(トラジェクトリ)に沿って動作します。要求を理解し、行動を選択し、ツールを呼び出し、結果を読み込み、計画を見直し、蓄積された履歴を次の意思決定へと引き継ぎます。つまり、エージェントの評価では複数の層を同時に検証する必要がある場合があります。
- 最終的な成果物
- 意思決定とツールの呼び出しの順序
- モデルおよびシステムプロンプト(指示)
- エージェントハーンネス(評価用フレームワーク)
- 外部ツールやサービスの状態
- 成功を判定するグラダー(採点者)
合格という結果は、確かな能力によるものでもあれば、テスト自体の欠陥によるもの、あるいは単なる偶然の結果である可能性もあります。有用な評価とは、これらを明確に区別できる十分な証拠を提供できるものでなければなりません。
なぜ AI エージェントの評価はそれほど難しいのでしょうか?
エージェントの評価が困難なのは、その振る舞いが時間経過とともに展開されること、指示が頻繁に不完全であること、そしてユーザーがほぼ何でも要求できるインターフェースを持っているからです。
特に測定を難しくする 3 つの特徴があります:
エージェントの処理軌道上では、エラーが連鎖的に蓄積します。初期段階で誤った仮定や不正なツール呼び出しがあった場合、その後のすべての行動に影響を及ぼす可能性があります。過去の観測情報がコンテキスト内に残っているため、小さなミスがエージェントのタスクに対する作業モデルの一部として組み込まれてしまう恐れがあります。
タスクの要件は不完全なまま提示されることがほとんどです。ユーザーは成功の完全な定義を提供するのではなく、テキストボックスに一文を入力し、システム側がゴール、制約条件、トレードオフ、停止条件などを推測することを期待します。
オープンエンドなインターフェースには「未知の未知」が存在します。汎用的な入力フィールドは、製品チームが想定していなかったリクエストを招きかねません。その中には、エージェントが安全かつ確実に完了できないタスクも含まれます。
これらの問題は、エージェントが長時間稼働するほど深刻化します。数時間にわたる処理軌道には数百回の意思決定が含まれており、そのいずれかが実行の方向性を根本から変えてしまう可能性があります。
周囲の環境も不確実性の新たな要因となります。エージェントはデータベース、コードリポジトリ、Slack ワークスペース、チケット管理システム、CI パイプライン、サードパーティ製 API などにアクセスします。これらのシステムは独立して変化するため、成功や失敗の背後にある正確な状況を再現することが困難になります。
この作業を避けるコストは甚大です。評価(evals)がなければ、回帰現象(regressions)はユーザーが直面するまで隠れたままになり、モデルのアップグレードもチームに比較できる信頼性の高い手段がないため、遅々として進まず主観的なものになってしまいます。また、製品がついにサポートできるようになった新機能に誰も気づかないまま導入される事態も起こり得ます。
あるモデルがアップグレード後、全体的には似通った挙動を示しながらも、特定の価値あるタスクの狭い範囲でははるかに優れたパフォーマンスを発揮するケースもあります。能力評価(capability evals)があれば、こうした改善点を明確に捉えることができます。
回帰評価と能力評価:何が違うのか?
回帰評価は、以前正常だった動作が引き続き機能しているかを確認します。一方、能力評価はエージェントの能力がどこまで拡張できるかを測定するものです。
プロダクションチームには両方が必要です。それぞれが異なるエンジニアリングや製品に関する意思決定を支えるからです。
- 次元:回帰評価 (Regression evals) / 能力評価 (Capability evals)
- 主要な問い:この変更は既知の動作を壊したか? / エージェントは今、何を実現できるか?
- 主な目的:修正済みの不具合が再発しないようにする / 新しい能力と、まだ伸びしろがある領域を明らかにする
- 期待されるパフォーマンス:飽和に近い高い合格率 / 改善の余地を残した挑戦的なベースライン
- 典型的なデータソース:カスタマーインシデント、報告された不具合、修正済みのバグ / フロンティアワークフロー、ベンチマークに着想を得たタスク、ストレステストケース
- 更新タイミング:プロダクト、評価ハッチ(harness)、またはユーザー分布が変化した時 / モデル、ツール、またはエージェントの範囲が改善された時
| 支援する意思決定 | このリリースは安全か? | 次に何を構築すべきか?
多くのチームは、元となる素材がすでに存在しているため、回帰テストケースから始めます。顧客が不具合を報告し、エンジニアリングチームがそれを修正すると、その事例がテストスイートに追加され、同じ問題が静かに再発しないようにします。
成熟した回帰テストスイートは高い合格率を達成すべきです。ユーザーの行動やプロンプト、ツール、外部システムの変化に伴いメンテナンスが必要になることもありますが、その中心的な目的は安定しています:製品がすでに依存している機能を保護することです。
機能評価(Capability evals)は最前線にあります。Buleandra 氏はこのプロセスを「丘登り」に例えています。チームはエージェントが時々しか完了できないタスクから始め、モデルやプロンプト、ツール、あるいはハネスを変更して、その最前線が前進したかどうかを測定します。
これらの評価は、モデルの選択と同様に製品戦略にも影響を与えます。失敗したツールの呼び出しからの回復能力が高まったり、長いワークフロー全体で整合性を保ったり、曖昧な指示を解釈できるようになったエージェントは、以前は絶え間ない人間の監視が必要だった機能を解放する可能性があります。
最も強力なエージェントチームは機能評価に巨額の投資を行います。その理由は、結果が単にリリースが安全かどうかを示すだけでなく、製品が今後どのような姿になる可能性があるかを示してくれるからです。
どうすれば信頼できる AI エージェントの評価データセットを構築できるのでしょうか?
有用なエージェント評価データセットとは、確立されたベンチマークの構造と、実際の生産環境での振る舞いという実質的な内容を組み合わせたものです。
100 回目に慣れ親しんだ時よりも、最初のケースの方が難しく感じられるのは、タスク形式やデータソース、成功基準、環境、評価者といった全ての決定が未確定だからです。
Buleandra のアドバイスは実用的です。「評価の形状をそのままコピーすればよい」と言います。
機能するデータパイプラインは以下のようになります。
まず関連するパブリックベンチマークを研究します。タスクの枠組み、入力のサンプリング方法、成功基準の定義、証拠の収集方法、結果の評価方法をどう扱っているかを確認しましょう。
次に実際の動作を把握するために生産環境のログを掘り起こします。報告されたインシデントから始め、人間が未検証のまま残している大規模なトランスクリプトアーカイブを分析していきます。
小規模な専門家ラベル付きリファレンスセットを作成します。深いドメイン知識を持つ人々に、成功した行動や許容される代替案、意味のある失敗モードを特定してもらいます。
そのラベルに対して能力の高いモデルで較正を行います。モデルの判断が専門家のリファレンスセットと整合するようになったら、そのモデルを使って大規模なデータセット全体へのラベリングプロセスを拡張します。
システムが変化するたびにこのパイプラインを繰り返します。データのドリフトやモデルのアップグレード、新ツールの導入、ユーザー行動の変化に対応するため、生産環境のログは定期的に再確認する必要があります。
パブリックベンチマークは出発点となる構造を提供します。コーディングエージェントを構築するチームならリポジトリレベルのソフトウェアエンジニアリング用ベンチマークを研究し、運用エージェントを構築するチームならステートフルなツールや多段階のリカバリを含むタスクを検討するのが良いでしょう。
ベンチマークの形式は、具体的なケースよりも転用しやすいものです。開発者はタスクのフォーマット、証拠要件、評価ロジックを借用し、自社の製品に合わせた事例に置き換えることができます。その素材となるのは、実際の運用で蓄積されたトランスクリプトです。
顧客からの苦情は分かりやすい出発点ですが、報告されるほど目立った失敗しか捉えられていないことが多いです。真のチャンスは、誰も読んでいない数十万、あるいは数百万件のエージェントの軌跡(トラジェクトリ)の中にあります。
小規模で低コストなモデルを活用して、このアーカイブから以下のような情報を抽出できます。
- 類似する軌跡をクラスタリングする
- 繰り返し発生する失敗モードにタグ付けする
- 珍しいツールシーケンスを浮き彫りにする
- 既知の事案に似た事例を特定する
- エージェントが不審な経路で成功したケースを見つける
このプロセスにより、観測データ(オバザビリティデータ)を評価データへと転換します。トレースを単なる蓄積されたアーカイブとして放置するのではなく、テストスイートに恒久的に組み込むべき行動を発見するために活用します。
専門的な判断が求められる分野では、人間の専門家による関与が不可欠です。医療、法務、金融、あるいは極めて技術的なワークフローにおいては、「説得力のある回答」と「正解」を見分けることができるラベラーが必要です。
ただし、専門家全員が全データをレビューする必要はありません。チームがモデルと専門家の判断が食い違う箇所を継続的にチェックする限り、小規模で慎重にラベル付けされた参照セットを用意すれば、それを起点としてモデル支援型のラベリングプロセスを確立できます。
パイプラインは繰り返し実行する必要があります。モデルのリリース、プロンプトの変更、ツールの更新、新しいユーザー層の登場などによって、本番環境の分布は常に変化します。一度きりの評価セットでは、もはや存在しない製品のバージョンを記述するだけになってしまいます。
エージェントの結果と軌跡:何を評価すべきか?
エージェントの評価では、最終的な結果だけでなく、その結果に至るまでのプロセス(軌跡)の両方を測定する必要があります。
結果評価は、エージェントが目的の状態に到達したかどうかを問います。製品の種類によっては、成功とは「正しい分析の生成」「インフラの問題の修復」「有効なパッチのマージ」「データベースの更新」「サポートケースの解決」などを意味します。
軌跡評価では、その状態に至るまでのプロセスを検証します。具体的には、エージェントが選択したツールや設定パラメータ、参照した証拠、遭遇したエラー、そして停止するタイミングなどが含まれます。
両方の視点が必要なのは、同じ結果でも背後にある振る舞いが大きく異なる可能性があるからです。
あるエージェントは、危険なコマンドを発行したり、ハネスの欠陥を悪用したり、答えにたどり着くまで試行錯誤を繰り返したりしてタスクを完了させることがあります。プロセスが本番環境で使えるほど堅牢でない場合でも、最終結果だけを見れば合格してしまう可能性があります。
逆に、失敗したタスクにも期待できる要素が含まれている場合があります。例えば、外部サービスのタイムアウトが発生する前に、エージェントは正しい計画を立てて適切なツールを使用していたかもしれません。そのようなケースを単なる「失敗」として扱うと、エージェントの振る舞いとインフラ側の問題という重要な区別が見えなくなってしまいます。
トジェクト分析は、インシデント化する前に弱いパターンを明らかにします。あるエージェントが今日成功しているとしても、それは冗長な呼び出しに依存していたり、サポートされていない仮定に基づいていたり、わずかな入力の変化で崩壊する回復経路を利用していたりする可能性があります。
トレーシングは、集計スコアと個々の意思決定をつなぎます。開発者は、その影響を与えた正確なツール呼び出し、観測結果、またはグラダーの判断へと、指標から直接移動できるはずです。
このつながりがなければ、評価は「エージェントが失敗した」と宣告するだけで、エンジニアリングチームが何を修正すべきかについての具体的な指針を提供することはできません。
エージェントの評価において、LLM-as-a-Judge(LLMを審査員として用いる手法)をどのように較正すればよいでしょうか?
LLM-as-a-Judge のスコアを信頼する前に、人間がラベル付けした事例に対して較正を行う必要があります。LLM-as-a-Judge とは、別のモデルの出力に grading を行うよう依頼された言語モデルのことです。具体的には、回答への採点、2 つのトジェクトのランキング付け、または人間のレビューヤーに代わってルブリックに基づいて作業をチェックする役割を担います。
エージェントの結果の中には、決定論的なチェックで検証可能なものもあります。データベースの行が変更されたかどうかなどです。テストスイートが成功したか失敗したかなども同様です。しかし、多くの重要なタスクには十分な曖昧さが含まれており、チームは出力やトジェクトを評価するために別のモデルに依存します。
審査員は、レポートがユーザーの実際の質問に応えているか、パッチが根本原因を修正しているか、あるいはエージェントが許容できるプロセスに従ったかなどを評価します。この柔軟性は、もう一つのモデル依存層を生み出し、そのエラーがベンチマークを歪める可能性があります。
LLM による評価(judge)に頼る前に、チームは以下の点を確認すべきです。
まず、その判断を専門家がラベル付けした事例と比較します。合意だけでなく、意見が分かれたケースも精査し、一貫性のない判断を生む曖昧な評価基準の文言を見直して書き換えます。また、判断の根拠となる証拠を必ず提示させるように要求し、評価用プロンプト、モデル、評価基準、出力形式はセットでバージョン管理します。さらに、評価モデルやタスクの分布が変化した際には随時再調整を行います。
意見の相違(disagreement)の分析が特に価値があるのは、それが仕様の欠陥そのものを浮き彫りにすることが多いためです。評価者が文脈を見落としている可能性もあれば、重要な優先順位が定義されていない場合もあります。また、チーム側で「成功」の共通定義を確立していないために人間同士でも判断が分かれるケースもあるでしょう。
こうしたケースを解決することで、評価者の精度が向上し、製品要件が明確になります。
評価用プロンプトは本番環境のコードとして扱うべきです。わずかな言葉遣いの変更でスイート全体の結果が変わる可能性がありますし、より新しい評価モデルに切り替えるだけで、評価対象のエージェント自体は何も変わっていなくてもベンチマークの結果が悪化したり改善したりするように見えてしまうからです。
信頼できる評価者には、検証可能な証拠の提示も求められます。単なるスコアを出力するだけでなく、その結論を支える出力の該当箇所、ツール呼び出し、またはトランスクリプトの抜粋を特定して示すべきです。
この証拠があれば、人間がレビューを行う際に、実行全体を最初から再構築しなくても判断を検証できます。
なぜエージェント用ハッチと評価用ハッチが重要なのか?
エージェントハネスと評価ハネスは、エージェントが観測できる範囲や実行可能なアクション、そして得られたスコアを再現可能にするかを決定づけます。
Buleandra氏は、AI サイト信頼性エンジニア(SRE)を開発するスタートアップで働いていた際のことを思い出します。そのエージェントは Kubernetes クラスターや CI パイプライン、その他の運用システムに接続し、インフラストラクチャの問題を診断・修復することが期待されていました。
チームは、評価環境を構築するための「賢い近道」はないかと考えていました。しかし現実的な答えは、シミュレーションされたクラスターを構築し、そこに実データを入力し、実際の運用障害を再現させ、システムを特定の時点に巻き戻せるようにすることでした。
「誰もが難しいことに取り組んでいます」と Buleandra 氏は語ります。開発者にとっての「難しいこと」には通常、以下が含まれます:
- すべての実行が既知の基準点から開始できるようにするリセット可能な状態
- エージェントが一貫したインターフェースを受け取れるようにバージョン管理されたツールスキーマ
- 意味のある状況を再現するためのシードデータと障害シナリオ
- 危険なアクションを制限するための制御された認証情報と権限
- インフラの故障とエージェントのミスを区別するための詳細な環境ログ
この環境はテスト用固定装置の一部となります。エージェントがファイル、データベース、チケット、デプロイメント、またはクラスターを変更できる場合、次の実行が始まる前にシステムを再現可能な状態に戻す必要があります。
完璧なシミュレーションが常に実現可能とは限りません。特に、製品がライブのサードパーティサービスに依存している場合などは困難です。評価プロセスでは、こうした制約を明確に可視化しておく必要があります。
API のタイムアウト、期限切れの認証情報、古いデータベースのスナップショット、あるいは不適切なツールの選択といった事象は、すべて同じ一般的な「失敗」というラベルにまとめられてはいけません。これらの原因が区別できないままでは、評価スコアはモデルの品質とインフラの信頼性が混ざり合ったものとなり、解釈が困難になります。
この取り組みは、プロンプトの実験というよりは、分散システム工学やテスト基盤の構築に近いものです。だからこそ、本番環境におけるエージェントの評価には、専用のハーンプレイブック(運用マニュアル)が必要なのです。
モデルは製品を構成する一つの層に過ぎません。ツールの選定、プロンプト、メモリ、コンテキスト管理、リトライロジック、実行環境、そして採点者(グラダー)が総合的に作用して、エージェントが何を実現できるかが決まります。
人間のトランスクリプトレビューは、なぜ偽の改善を検出するのか?
人間のトランスクリプトレビューを行うことで、ベンチマークでのスコア向上が「真の能力向上」なのか、「たまたま好都合な結果」だったのか、それとも「評価システム側の欠陥」によるものなのかを判別できます。
SQL の LIMIT に関する事例は、測定値と実態理解とのギャップを如実に示しています。Buleandra は即座に 9 ポイントの改善を確認できましたが、並列レビューを行った結果、新しいモデルがハーン(評価基盤)のバグを回避する「幸運な経路」を見つけていたことが判明しました。
レイテンシの変化、ツールの順序変更、ランダムな変動、あるいは誤った行動を評価するグレーダーの影響などによって、一見すると改善されたように見える結果が生じることもあります。モデルがたまたま連続して成功し、その背後にあるメカニズムを検証するまで、それが持続的な能力向上であるかのように錯覚させるケースも珍しくありません。
「これに代わるものはない」とブレンドラ氏はトランスクリプトの読解を強調しました。実行軌跡が数分から数時間に及ぶようになると、手動でのレビューは困難になります。そこで重要となるのは、人間の注意をその実行プロセスにおける決定的な部分へと誘導するツールを開発することです。
チームは以下の3種類のツールを用いてトランスクリプトのレビューをスケーリングできます:
- 検索、フィルタリング、注釈付け、長期間にわたる軌跡に対する質問対応をサポートする、タスク固有のトランスクリプトビューアー
- ツール呼び出し、状態遷移、エラー、あるいはその他の重要な瞬間を中心に2つの実行を並列比較できるツール
- 低信頼度の判定結果、モデルと人間の意見の相違、スコア変動の原因となった事例を可視化するグレーダー判断ビュー
目指すべきは完全な自動化による解釈ではなく、効率的な検査です。モデル自身に長期間の軌跡を要約させ、類似する失敗をグループ化し、異常な行動を特定し、メトリクスの変動を説明する可能性が高い事例をランク付けさせることができます。
ただし、タスク、ハネス(実行環境)、および製品の理解を持つ人間が、その行動が真に意味のある能力の向上であるかどうかを最終的に判断する必要があります。
このワークフローは集計された指標から始まり、根拠となる証拠へと至るべきです。ベンチマークの結果が変動した際、開発者は以下の問いに答えられる必要があります:
どのケースが変更されたのか?
どこで経路が分岐したのか?
その分岐を引き起こしたのは、どのようなツール呼び出しや観測結果だったのか?
評価者は両方の実行を一貫して評価できたのか?
エージェント自体が改善されたのか、それとも周辺システムに変化があったのか?
スコアはパフォーマンスの変化箇所を特定し、トランスクリプトのレビューはその理由を説明します。
評価駆動型開発は、AI エージェントにどのようなメリットをもたらすのでしょうか?
評価駆動型開発では、評価プロセスをエンジニアリングのループ内に組み込みます。これにより、モデル、プロンプト、ツール、あるいはハネス(検証環境)の変更すべてを、既知の失敗事例や最先端の能力と比較して測定することが可能になります。
維持された評価システムがなければ、あらゆる変更は不確実性を生み出します。プロンプトの改訂は一つのワークフローを修復する一方で、別のワークフローを損なう可能性があります。ツールの更新は、手動でテストした数例では決して見えないような振る舞いの変化をもたらすかもしれません。より高性能なモデルがリリースされても、製品チームはその新しい能力を活用するための根拠を持っていないという事態になりかねません。
成熟した評価ループには、いくつかの重要なコンポーネントが連携しています。
- 本番環境のトレースは、失敗や異常な振る舞いを明らかにします。
- 人間の専門家が、最も重要なケースをラベル付きデータとして抽出・変換します。
- 回帰テスト(Regression evals)は、顧客にとってクリティカルな動作を守ります。
- キャパビリティ評価(Capability evals)は、最先端の能力を測定します。
- LLM による自動判定(LLM judges)は、人間のラベルとの較正を経て、レビュー範囲を拡張します。
- トランスクリプトの精査は、スコアが変化した理由を解明します。
こうして得られたエビデンスが、次のエンジニアリング判断を導きます。各リリースから得られる情報が、次回の改善に活かされるのです。
このフィードバックループは、自己改善型エージェントの基盤としても機能します。エラーを観察し、その原因を特定できない限り、エージェントシステムが信頼性を持って自らを改善することはできません。
原文を表示
This piece builds on a talk Marius Buleandra, a member of Anthropic’s technical staff, gave at Arize Observe on building agent evals that hold up in production.
When Marius Buleandra tested a newer model on an AI data analyst eval, it appeared to beat its predecessor by nine points. The improvement looked substantial enough to share with Anthropic’s research team as evidence of a meaningful capability gain.
Before sending the result, however, Buleandra opened the transcripts, where the victory began to unravel. The newer model had developed a habit of adding LIMIT clauses to its SQL queries.
Under ordinary circumstances, that would be a defensible way to keep a query manageable. Inside this particular evaluation, it allowed the model to sidestep a defect in the harness. Once Buleandra repaired the harness, much of the apparent improvement disappeared. The score had detected a difference, but it had misidentified the cause.
Buleandra works on Anthropic’s Applied AI team, which sits between product research and customers and helps teams improve their agents, evals, and harnesses. That position has given him a close view of a problem increasingly familiar to software developers: agent benchmarks can produce precise numbers while concealing messy causal stories.
A model, prompt, tool, grader, or environment may have changed. The system may also have stumbled into a favorable path by chance. Reliable agent evaluation depends on knowing which explanation fits the evidence.
What are AI agent evals?
AI agent evals are structured tests that measure whether an agent completes a task successfully, how it reaches the result, and whether its behavior remains reliable as the surrounding system changes.
A conventional unit test usually evaluates a bounded function with a known input and an inspectable output. A bounded function is one whose behavior is self-contained and predictable: it takes a defined set of inputs and returns a defined output without depending on external state, accumulated history, or intermediate decisions.
An agent operates across a trajectory. It interprets a request, chooses an action, calls a tool, reads the result, revises its plan, and carries the accumulating history into every later decision. That means an agent eval may need to examine several layers at once:
The final outcome
The sequence of decisions and tool calls
The model and system instructions
The agent harness
The state of external tools and services
The grader used to determine success
A passing result can emerge from durable capability, a flawed test, or a fortunate accident. A useful eval must provide enough evidence to distinguish among them.
Why are AI agents so difficult to evaluate?
Agents are difficult to evaluate because their behavior unfolds over time, their instructions are frequently incomplete, and their interfaces allow users to ask for almost anything.
Three characteristics make that behavior especially difficult to measure:
Errors compound across the trajectory. An incorrect assumption or malformed tool call near the beginning can influence every action that follows. Because earlier observations remain in context, a small mistake can become part of the agent’s working model of the task.
Tasks arrive underspecified. Users rarely provide a complete definition of success. They type a sentence into a text box and expect the system to infer the goal, constraints, tradeoffs, and stopping conditions.
Open-ended interfaces create unknown unknowns. A general-purpose input field invites requests the product team may never have anticipated, including tasks the agent cannot safely or reliably complete.
These problems become more severe as agents run for longer periods. A multi-hour trajectory may contain hundreds of decisions, any one of which can redirect the rest of the run.
The surrounding environment introduces another source of uncertainty. Agents can reach into databases, code repositories, Slack workspaces, ticketing systems, CI pipelines, and third-party APIs. Those systems change independently, which makes it difficult to reproduce the exact conditions behind a success or failure.
The cost of avoiding this work is substantial. Without evals, regressions can remain hidden until a user encounters them. Model upgrades can also become slow and subjective because the team has no reliable way to compare versions. New capabilities may arrive without anyone realizing that the product can finally support them.
An agent can also feel similar after an upgrade while behaving much better on a narrow class of valuable tasks. Capability evals give those improvements somewhere to appear.
Regression evals vs. capability evals: What’s the difference?
Regression evals verify that previously working behavior continues to work. Capability evals measure how far the agent’s abilities can extend.
Production teams need both because they support different engineering and product decisions.
Dimension
Regression evals
Capability evals
Primary question
Did this change break known behavior?
What can the agent accomplish now?
Main purpose
Prevent fixed failures from returning
Reveal new capabilities and remaining headroom
Expected performance
A high pass rate that approaches saturation
A challenging baseline with meaningful room to improve
Typical data sources
Customer incidents, reported failures, and repaired bugs
Frontier workflows, benchmark-inspired tasks, and stress cases
When to refresh
When the product, harness, or user distribution changes
When models, tools, or the agent’s scope improve
Decision supported
Is this release safe?
What should we build next?
Most teams begin with regression cases because the source material is already available. A customer reports a failure, the engineering team fixes it, and the corresponding example enters the suite so the same problem cannot quietly return.
A mature regression suite should achieve a high pass rate. It may still require maintenance as user behavior, prompts, tools, and external systems change, although its central purpose remains stable: protect capabilities the product already depends on.
Capability evals occupy the frontier. Buleandra describes the process as hill climbing. The team begins with tasks that the agent can complete only some of the time, then changes the model, prompt, tools, or harness and measures whether the frontier moves.
These evals can influence product strategy as much as model selection. An agent that becomes better at recovering from failed tool calls, preserving coherence across long workflows, or interpreting ambiguous instructions may unlock features that previously required constant human supervision.
The strongest agent teams invest heavily in capability evals because the results reveal more than whether a release is safe. They show what the product may be ready to become.
How do you build an AI agent eval dataset?
A useful agent eval dataset combines the structure of established benchmarks with the substance of real production behavior.
The first case often feels harder than the hundredth because every decision remains open: task format, data source, success criteria, environment, and grader.
Buleandra’s advice is practical: “Just copy the shape of the eval.”
A workable data pipeline looks like this:
Study a relevant public benchmark. Examine how it frames tasks, samples inputs, defines success, captures evidence, and grades the result.
Mine production traces for real behavior. Start with reported incidents, then analyze the larger archive of transcripts that no human has reviewed.
Create a small expert-labeled reference set. Ask people with deep domain knowledge to identify successful behavior, acceptable alternatives, and meaningful failure modes.
Calibrate a capable model against those labels. Once its judgments align with the expert reference set, use it to extend the labeling process across a larger dataset.
Repeat the pipeline as the system changes. Revisit production traces periodically to account for data drift, model upgrades, new tools, and changing user behavior.
Public benchmarks provide a starting structure. A team building a coding agent might study repository-level software engineering benchmarks, while a team building an operational agent could examine tasks involving stateful tools and multi-step recovery.
The benchmark’s shape is more transferable than its exact cases. Developers can borrow the task format, evidence requirements, and grading logic, then replace the content with examples that reflect their own product. Production transcripts supply that content.
Customer complaints offer an obvious starting point, although they often only capture the failures visible enough to provoke a report. The larger opportunity lies inside the hundreds of thousands, or millions, of agent trajectories that nobody has read.
A smaller, inexpensive model can help mine this archive by:
Clustering similar trajectories
Tagging recurring failure modes
Surfacing unusual tool sequences
Identifying examples that resemble known incidents
Finding cases in which the agent succeeded through a suspicious path
This process turns observability data into evaluation data. Instead of allowing traces to accumulate as an inert archive, the team uses them to discover which behaviors deserve a permanent place in the test suite.
Human experts remain essential when the domain requires specialized judgment. A medical, legal, financial, or deeply technical workflow needs labelers who can distinguish a convincing answer from a correct one.
Those experts do not need to review the entire dataset. A small, carefully labeled reference set can anchor a model-assisted labeling process, provided that the team continues checking where the model and experts disagree.
The pipeline should run repeatedly. Each model release, prompt change, tool update, and new user cohort can alter the production distribution. An eval set that never changes will eventually describe a version of the product that no longer exists.
Agent outcomes vs. trajectories: what should you evaluate?
Agent evals should measure both the final outcome and the trajectory that produced it.
Outcome evaluation asks whether the agent reached the required end state. Depending on the product, success might mean producing a correct analysis, repairing an infrastructure problem, merging a valid patch, updating a database, or resolving a support case.
Trajectory evaluation examines how the agent reached that state, including the tools it selected, the parameters it supplied, the evidence it used, the errors it encountered, and the point at which it chose to stop.
Both views are necessary because the same outcome can conceal very different behavior.
An agent might complete a task after issuing risky commands, exploiting a harness defect, or retrying until it stumbles into the answer. The final result may pass even though the process remains too brittle for production.
A failed task can also contain encouraging evidence. The agent may have formed the correct plan and used the appropriate tools before an external service timed out. Treating that run as an undifferentiated failure would hide the distinction between agent behavior and infrastructure behavior.
Trajectory analysis also exposes weak patterns before they become incidents. An agent may be succeeding today while relying on redundant calls, unsupported assumptions, or a recovery path that will collapse under a slightly different input.
Tracing connects the aggregate score to those individual decisions. A developer should be able to move from a metric to the exact tool call, observation, or grader decision that influenced it.
Without that connection, an eval can announce that the agent failed while offering little guidance about what the engineering team should change.
How do you calibrate an LLM-as-a-Judge for agent evals?
An LLM-as-a-judge should be calibrated against human-labeled examples before its scores are trusted. An LLM-as-a-judge is simply a language model asked to grade another model’s output—scoring a response, ranking two trajectories, or checking work against a rubric in place of a human reviewer.
Some agent outcomes can be verified with deterministic checks. A database row either changed or it did not. A test suite either passed or it failed. Many consequential tasks contain enough ambiguity that teams rely on another model to assess the output or trajectory.
The judge might evaluate whether a report addressed the user’s actual question, whether a patch fixed the root cause, or whether the agent followed an acceptable process. That flexibility creates another model-dependent layer whose errors can distort the benchmark.
Before relying on an LLM judge, the team should:
Compare its verdicts with expert-labeled examples.
Inspect disagreement cases rather than tracking agreement alone.
Rewrite ambiguous rubric language that produces inconsistent decisions.
Require the judge to identify the evidence behind its verdict.
Version the judge prompt, model, rubric, and output format together.
Recalibrate whenever the judge model or task distribution changes.
Disagreement analysis is particularly valuable because it often reveals weaknesses in the specification itself. The judge may be missing context. The rubric may leave an important preference undefined. Human reviewers may also disagree because the team has never established a shared definition of success.
Resolving those cases improves the judge and clarifies the product requirements.
Judge prompts should be treated as production code. A small wording change can alter results across the entire suite, while switching to a newer judge model can make a benchmark appear to improve or regress even when the evaluated agent remains unchanged.
A trustworthy judge should also return inspectable evidence. Rather than producing only a score, it should point to the section of the output, tool call, or transcript passage that supports its conclusion.
That evidence allows a human reviewer to verify the verdict without reconstructing the entire run from scratch.
Why do the agent harness and evaluation harness matter?
The agent harness and evaluation harness influence what the agent can observe, which actions it can take, and whether the resulting score can be reproduced.
Buleandra recalled working with a startup building an AI site reliability engineer. The agent connected to Kubernetes clusters, CI pipelines, and other operational systems, where it was expected to diagnose and repair infrastructure problems.
The team wanted to know whether there was a clever shortcut for building the eval environment. The practical answer involved constructing a simulated cluster, filling it with realistic data, reproducing operational incidents, and making the system rewindable to a known point in time.
“Everybody is doing the hard thing,” Buleandra said. For developers, that hard thing usually includes:
Resettable state so every run can begin from a known baseline
Versioned tool schemas so the agent receives consistent interfaces
Seeded data and failure scenarios that reproduce meaningful conditions
Controlled credentials and permissions that limit unsafe actions
Detailed environment logs that separate infrastructure faults from agent mistakes
The environment becomes part of the test fixture. When an agent can mutate files, databases, tickets, deployments, or clusters, each run must return the system to a reproducible state before the next one begins.
Perfect simulation may remain impossible, especially when the product depends on live third-party services. The evaluation should make those limitations visible.
An API timeout, an expired credential, a stale database snapshot, and a bad tool decision should not collapse into the same generic failure label. When those causes remain indistinguishable, the score blends model quality with infrastructure reliability and becomes difficult to interpret.
This work resembles distributed systems engineering and test infrastructure more than prompt experimentation. That is precisely why production agent evaluation requires a harness playbook.
The model forms only one layer of the product. The tools, prompts, memory, context management, retry logic, environment, and graders collectively determine what the agent can accomplish.
How does human transcript review expose false improvements?
Human transcript review reveals whether a benchmark improvement reflects genuine capability, a favorable accident, or a defect in the evaluation system.
The SQL LIMIT example captures the gap between measurement and understanding. Buleandra could see the nine-point improvement immediately, although only a side-by-side review showed that the newer model had discovered a lucky route around the harness bug.
Other apparent gains can arise from changed latency, different tool ordering, random variation, or a grader that rewards the wrong behavior. A model may even get lucky consistently, which makes the effect look like a durable capability until someone examines the mechanism behind it.
“There’s no replacement for this,” Buleandra said of reading transcripts. Manual review becomes difficult as trajectories stretch from minutes to hours. The answer is to build tooling that directs human attention toward the decisive parts of the run.
Teams can scale transcript review with three kinds of tools:
Task-specific transcript viewers that support search, filtering, annotation, and questions over long trajectories
Side-by-side comparison tools that align two runs around tool calls, state transitions, errors, or other consequential moments
Grader-decision views that surface low-confidence verdicts, model-human disagreements, and the examples responsible for a score change
The goal is efficient inspection rather than fully automated interpretation. A model can summarize long trajectories, group similar failures, identify unusual behavior, and rank the cases most likely to explain a metric shift.
A human who understands the task, harness, and product still needs to decide whether the behavior represents a meaningful capability gain.
That workflow should begin with the aggregate metric and end at the underlying evidence. When a benchmark moves, the developer should be able to answer:
Which cases changed?
Where did the trajectories diverge?
Which tool calls or observations caused that divergence?
Did the grader evaluate both runs consistently?
Did the agent improve, or did the surrounding system change?
A score identifies where performance moved. Transcript review helps explain why.
How does evaluation-driven development improve AI agents?
Evaluation-driven development places evals inside the engineering loop so every model, prompt, tool, or harness change can be measured against known failures and frontier capabilities.
Without a maintained eval system, each change creates uncertainty. A prompt revision may repair one workflow while damaging another. A tool update may alter behavior in ways that a handful of manually tested examples never expose. A more capable model may ship while the product team lacks the evidence needed to use its new abilities.
A mature evaluation loop connects several components:
Production traces reveal failures and unusual behavior.
Human experts convert the most important cases into labeled examples.
Regression evals protect customer-critical behavior.
Capability evals measure the frontier.
LLM judges extend review after being calibrated against human labels.
Transcript inspection explains why the score changed.
The resulting evidence guides the next engineering decision.
Each release then produces information that can improve the next one.
This feedback loop also provides the foundation for self-improving agents. An agent system cannot reliably improve itself unless it can observe failures, identify mea
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み