Skip to content

エージェントの軌跡をアノテーションする

AI エージェントの軌跡を段階的にアノテーションする方法、エラー分類体系、深刻度スコアリング、軌跡レベルの成功判定を、Potato の軌跡評価で解説します。

軌跡とは、エージェントがたどったステップの全系列、つまりその思考、ツール呼び出し、観測結果のことです。軌跡をアノテーションするとは、その実行を全体として評価し、個々のステップがどこで誤ったかを、各エラーごとにカテゴリと深刻度を付けて記録することです。 Potato はエージェントの軌跡をカスタムルーブリックで段階的にアノテーションでき、無料かつセルフホスト型で、報酬モデルや的を絞ったデバッグの背後にあるデータを生み出します。

機能リファレンスはエージェントアノテーションを参照してください。

軌跡をアノテーションするとき何を収集しますか?

  • 全体の結果:成功、部分的成功、または失敗。
  • ステップごとの判定:各ステップについて、正しかったか、不要だったか、誤っていたか。
  • エラーカテゴリ:あるステップがなぜ誤っていたか(誤ったツール、引数の誤り、ハルシネーション、ループ、安全でない操作…)。
  • 深刻度:各エラーがどれほど深刻か。多くの場合スコアに重み付けされます。

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

深刻度の重みは軌跡スコアへと集約されるので、実行をランク付けし、モデルのバージョン間で退行を追跡できます。

エージェントのエラー分類体系はどう設計しますか?

分類体系はこのタスクの核心です。小さく、網羅的で、相互に排他的に保ちましょう。実用的な出発点となるセット:

  • 推論エラー:誤った結論、証拠の無視、まずい計画。
  • 実行エラー:誤ったツール、不正な形式の呼び出し、結果の取り扱いミス。
  • 安全性エラー:安全でない操作、範囲外の振る舞い、データの漏えい。

自由記述の「その他」を加えて、アノテーターが新種の失敗を無理に既存項目へ押し込めずに済むようにし、繰り返し現れる「その他」のメモは名前付きのカテゴリへ昇格させます。

品質上の考慮点

  • ステップの正しさに関する一致度はたいてい高く、エラーカテゴリに関する一致度は低めです。両方を測定してください。アノテーター間一致度を参照。
  • 長い軌跡は疲労を招きます。長さを制限するか、ページ分割しましょう。
  • 学習にとっては「最初に誤ったステップ」が最も重要なことが多いです。プロセス報酬モデルを参照。

さらに読む