Skip to content
Guides1 min read

エージェントの軌跡に信頼できるラベルを付ける方法

エージェントの多段階トレースへのアノテーションは、ツイートのラベル付けより難しい仕事です。分類体系の設計、ステップ単位の一致度の測定、不一致の裁定を、Potato の設定例とともに解説します。

Potato Team

ツイートのラベル付けは一つの判断です。エージェントの軌跡のラベル付けは数十の判断であり、実行中の各ステップが小さな判定で、しかもそれらの判定は互いに依存しています。丁寧な二人はたいてい、その実行が成功したかどうかでは一致し、そのうえで十二あるステップのどれが問題だったのかで食い違います。この隔たりを見込んで設計しなければ、「ラベル付き」の軌跡データは信頼できないものになり、その上に構築する報酬モデルやデバッグ分析はそのノイズを受け継ぎます。

軌跡とは、エージェントの実行の完全なトレースです。目標があり、続いて各ステップの推論、ツール呼び出し、観測が並びます。これにアノテーションを付けるとは、実行全体を判定し、個々のステップのどこが間違っていたかを記すことです。実行全体のラベルは一致させやすく、ステップ単位のラベルはそうではありません。そして報酬モデルやデバッグ分析が必要とするのは後者です。信頼できる軌跡データは、絞り込んだ誤り分類体系、意図して測ったステップ単位の一致度、そして不一致を解消する手段から生まれます。

軌跡へのアノテーションが難しい理由

ステップは互いに独立ではなく、その事実は数の多さより効いてきます。

  • 誤りの帰属。 実行が失敗したとき、目に見える失敗は本当の誤りより何ステップも下流にあることがよくあります。エージェントはステップ 3 でまずい計画を立て、それがステップ 11 で誤答として表面化します。同じ実行を見た二人のアノテーターが、どちらも「このステップは間違っている」という点では正しく、どのステップの責任にするかで食い違うことがあります。
  • 波及効果。 あるステップが狂うと、それ以降はすべて汚染されます。後のステップはそれ自体として「間違っている」のか、それとも不良な状態を引き継いだから間違っているだけなのか。アノテーターにはこれに対する規則が要り、なければ判断が割れます。
  • 見えない状態。 エージェントの推論が常にトレースに含まれるとは限らず、そのツールには目に見えない副作用があります。τ-bench(Yao ら、2024)はこれに対して、実行終了時のデータベース状態をアノテーション済みの目標状態と照合するという方法をとっています。書き起こしだけでは正しさを判定できないことが多いからです。
  • 主観的な「必要性」。 あるステップが間違っているのではなく不要だったかどうかは判断の問題であり、実務ではもっとも信頼性の低いラベルの一つです。重複した検索は誤りではありませんが、きれいでもありません。

ラベルを付ける前に分類体系を設計する

分類体系がデータ品質を決めており、うまくいったエージェント失敗データセットはいずれも分類体系を先に作っています。MAST、すなわちマルチエージェントシステム失敗分類体系(Cemri ら、2025)は、熟練アノテーターが 150 件のトレースを検討し、Cohen's κ が 0.88 に達するまでカテゴリを反復して初めて、14 の失敗モードで 1600 件超のトレースへ拡大しました。信頼性は分類体系の作業から生まれたのであって、アノテーターを増やしたからではありません。

エージェント軌跡の解剖図。目標があり、思考・ツール呼び出し・観測を持つステップの列が続き、結果で終わる。その上にステップごとの判定、誤りカテゴリ、深刻度が重ねられている。軌跡とは目標、思考・行動・観測の連鎖、そして結果であり、各ステップが自身のラベルを持つ

使える分類体系は、小さく、ほぼ網羅的で、相互に排他的です。三つの最上位カテゴリでエージェントの失敗の大半を覆えます。

  • 推論の誤り: 誤った結論、無視された証拠、まずい計画。
  • 実行の誤り: 誤ったツール、不正な呼び出し、扱いを誤った結果。
  • 安全性の誤り: 危険な行動、想定外の振る舞い、データの露出。

アノテーターには自由記述の「その他」を用意し、新種の失敗が近いカテゴリに押し込まれずに済む場所を作ってください。そのうえで「その他」の記述を観察し、繰り返し現れるものを名前付きカテゴリに昇格させます。AgentRewardBench(Lù ら、2025)は、実行レベルで何を取るべきかの参考になります。専門の評価者が 1302 件の軌跡それぞれを成功、副作用、反復性の三軸で判定しており、単一の成功フラグならこの三つが潰れていたはずです。

エージェントの誤り分類体系の樹形図。推論、実行、安全性のカテゴリがそれぞれ名前付きのサブタイプに分かれ、開かれた「その他」の枝を持つ。新種の失敗のための逃がし口を備えた、小さく相互に排他的な分類体系

多段階ラベルの一致度を測る

全体の成否は簡単なラベルです。二人が実行を見れば、うまくいったかどうかではおおむね一致します。報告する数値がそれだけなら、あなたのデータは実際より信頼できるように見えます。

本当に難しいところで一致度を測ってください。アノテーター間一致度は、ステップの正しさと誤りカテゴリで別々に計算します。両者は振る舞いが違うからです。人はステップが間違っているかどうかでは、なぜ間違っているかよりはるかによく一致します。最初に誤ったステップの判定をアノテーター間で突き合わせてください。プロセス報酬モデルの学習にとっては、PRM800K / "Let's Verify Step by Step"(Lightman ら、2023)の意味で、その一ステップがもっとも重要だからです。そして自動評価は疑ってかかってください。AgentRewardBench は、一般的なベンチマークが依拠する規則ベースの検査がエージェントの成功を過少に報告しがちだと報告しています。安価な自動ラベルは人間のラベルの代替ではなく、一次通過に過ぎません。

不一致の裁定とアノテーターの導入

軌跡における不一致は、アノテーターがうっかりしたというより、分類体系のどこかが詰め切れていないことを意味するのが普通です。二人のアノテーターがどのステップの責任にするかで割れたなら、その一組のラベルは波及規則が詰め切れていないと教えてくれており、修正はガイドラインへ戻ります。

重さの大半を担う実践が二つあります。第一に、不一致は多数決ではなく裁定してください。軌跡では「なぜそのステップを選んだのか」という会話こそが本当の規則が書かれる場だからです。裁定と不一致の解消を参照してください。第二に、長いトレースではアノテーターの導入をゆっくり進めてください。軌跡は疲れる作業で、ステップ 40 の疲れたアノテーターは、ステップ 2 の元気なアノテーターと同じ計器ではありません。長い実行は上限を設けるかページ分割し、独立して作業を始める前に共通のトレース集合で全員を較正してください。

Potato でのやり方

Potato の trajectory_eval 型は各ステップをカードとして描画し、深刻度の重み付きでステップごとの誤り分類体系を割り当てます。上に述べたラベルが設定の中に収まるということです。

yaml
annotation_schemes:
  - annotation_type: trajectory_eval
    name: step_evaluation
    description: "Evaluate each step for correctness and mark any errors."
    steps_key: steps
    error_types:
      - {name: reasoning,  subtypes: [logical_error, factual_error, planning_error]}
      - {name: execution,  subtypes: [wrong_tool, wrong_args, api_error]}
      - {name: safety,     subtypes: [harmful_action, data_leak, scope_violation]}
    severities:
      - {name: minor,    weight: -1}
      - {name: major,    weight: -5}
      - {name: critical, weight: -10}
    show_score: true

深刻度の重みは軌跡スコアへ集約されるので、実行を順位づけたり、モデルのバージョン間で退行を追跡したりできます。報酬モデルの学習のために最初の誤りステップだけが目的なら、process_reward 型にそのための first-error モードが備わっています。Potato は 15 の形式からトレースを取り込んで共通のステップビューに変換するので、どのフレームワークで生成された実行でもアノテーションできます。エージェントのアノテーションを参照してください。

参考文献

実際のエージェントベンチマークから作られたショーケースのページでは、スキームを文脈の中で見られます。WebArenaτ-benchAgentRewardBench