Skip to main content

Agent Benchmarks

Agent benchmark は、LLM が単に回答を生成できるかではなく、tool use、web 操作、coding、long-horizon planning、memory、環境との相互作用を通じて task を解けるかを評価します。

基本的な評価式

Task ii に対する成功 indicator を Si{0,1}S_i\in\{0,1\} とすると、成功率は次の通りです。

SuccessRate=1Ni=1NSi\mathrm{SuccessRate}=\frac{1}{N}\sum_{i=1}^{N}S_i

ただし、agent では成功率だけでは不十分です。Tool call 数、token 数、実行時間、失敗時の副作用も評価対象になります。

Score=1Ni(SiλCi)\mathrm{Score}=\frac{1}{N}\sum_i(S_i-\lambda C_i)

ここで、CiC_i は cost です。この式の気持ちは、「成功すればよいだけではなく、少ない手数で、安全に、再現性高く成功する agent を評価する」というものです。

代表的 benchmark

Benchmark主な評価対象
WebArenaWeb browsing、フォーム操作、情報探索
OSWorldGUI 操作、desktop application 操作
SWE-benchGitHub issue 修正、test 通過
GAIAtool use と multi-step reasoning
AgentBench多様な agent task
τ-benchtool-use / customer-service style task

Stochastic agent の評価

Agent は sampling、tool latency、環境状態により結果が揺れます。同じ task を KK 回実行した成功率は次のように推定できます。

p^i=1Kk=1KSi,k\hat{p}_i=\frac{1}{K}\sum_{k=1}^{K}S_{i,k}

この式の気持ちは、「一回成功したかどうかではなく、その task をどれくらい安定して解けるかを見る」というものです。

評価時の注意点

  • 外部環境が変わる benchmark では、date と環境 version を記録します。
  • Tool 権限や sandbox を固定しないと比較が不公平になります。
  • Agent が benchmark 固有の shortcut を使っていないかを確認します。
  • Human-in-the-loop がある場合、どこまでが agent の能力なのかを分離します。

関連ページ

主なソース