Agent Evaluation
Agent Evaluation は、LLM 単体評価と違い、環境との相互作用、tool use、長期 task、副作用 を扱う必要があります。Benchmark 設計と metric は急速に進化している領域です。
何を測るか
| 軸 | 例 |
|---|---|
| Task success | 最終目標達成率 |
| Efficiency | Step 数、tool 呼び出し回数 |
| Cost | Token、API call、$ コスト |
| Latency | 完了までの時間 |
| Robustness | Distractor、noisy env への耐性 |
| Safety | 不可逆操作、injection 耐性 |
代表的 benchmark
| Benchmark | 領域 |
|---|---|
| SWE-Bench (Verified, Lite, Multimodal) | 実 GitHub issue 解決 |
| GAIA | 一般 assistant task |
| AgentBench | 多領域 agent 統合 |
| WebArena | 自律 web operation |
| VisualWebArena | 視覚 web agent |
| Mind2Web | 多サイト web automation |
| OSWorld | OS 操作 |
| tau-bench | Tool use + dialogue |
| ToolBench | API 呼び出し |
| ALFWorld / SciWorld | Text-based simulated env |
評価が難しい理由
- 環境が動的: 同じ task でも実行ごとに異なる結果
- 複数の解法: 「正しい」解が一意でない
- 副作用: 環境を壊すと再現困難
- コスト: agent run が高価
- Noise: API / web site / model 出力の確率性
- Contamination: training data に benchmark が混入
Evaluation harness
Production agent では、独自 evaluation harness を持つことが多いです。
特に regression detection (新 model で既存 task が壊れていないか) が重要です。
LLM-as-a-Judge for agents
Agent の trace 全体を LLM が判定する形式が広く使われます。
- Step-level: 各 action が妥当か
- Final answer correctness
- Efficiency (step 数、unnecessary tool 呼び出し)
- Safety (危険な action がなかったか)
Self-preference bias や verbosity bias に注意が必要です。
数式で見る agent evaluation
Agent evaluation では、task に対する success indicator を集計することが多いです。
ただし、agent task では成功率だけでは不十分です。Tool call cost、時間、失敗時の副作用も重要です。Cost-aware score は概念的に次のように書けます。
ここで、 は token 数、tool call 数、実行時間、API cost などをまとめた cost です。この式の気持ちは、「成功すればよいだけではなく、少ない手数で安全に成功する agent を評価したい」というものです。
また、stochastic な agent では同じ task を複数 seed で実行し、分散も見る必要があります。
は task に対する成功確率の推定値です。一回だけの成功・失敗では、agent の安定性を見誤ることがあります。
関連ページ
主なソース
- SWE-Bench: https://arxiv.org/abs/2310.06770
- GAIA: https://arxiv.org/abs/2311.12983
- AgentBench: https://arxiv.org/abs/2308.03688
- WebArena: https://arxiv.org/abs/2307.13854
- OSWorld: https://arxiv.org/abs/2404.07972
- tau-bench: https://arxiv.org/abs/2406.12045