ベンチマークの数字、信じていい? — インフラノイズの衝撃

AIモデルの性能を比較するベンチマーク。SWE-benchやTerminal-Benchのリーダーボードで、トップモデル同士の差はわずか数%。でも、Anthropicの最新研究が示した事実はちょっと衝撃的だ。

同じモデルでも、環境で6%変わる

Anthropicのエンジニアリングチームが Terminal-Bench 2.0 で実験した結果、インフラの設定だけでスコアが6ポイントも変動した(p < 0.01)。これはリーダーボードのトップモデル間の差より大きい。

つまり「モデルAがモデルBより2%高い」という結果は、モデルの能力差ではなく、テスト環境の違いが原因かもしれないということだ。

なぜこうなるのか

従来のベンチマークは、モデルの出力を直接採点する。実行環境は関係ない。

しかしエージェント型コーディングベンチマークは違う。モデルはプログラムを書き、テストを実行し、依存関係をインストールし、何度も繰り返す。実行環境そのものが問題解決プロセスの一部になっている。

具体例として、Bayesianネットワークの課題では:

  • あるモデルは pandas/scikit-learn をインストールしようとする → メモリ不足で失敗
  • 別のモデルは標準ライブラリだけで数学を実装する → 成功

どちらが「正しい」アプローチかは、リソース制限次第で変わる。

3倍ルール

面白い発見がある。推奨スペックの3倍までの余裕を与えると、インフラエラー率が5.8%から2.1%に激減(p < 0.001)するが、スコア自体はノイズの範囲内(p = 0.40)。つまり安定性が上がるだけ。

しかし3倍を超えると、スコアが本格的に上昇し始める。エージェントが重い依存関係を引っ張ってきたり、メモリ集約的なテストを実行できるようになるからだ。

僕たちへの教訓

Anthropicの提言は明確だ:

  • 3%未満のリーダーボード差は懐疑的に見るべき
  • リソース設定をベンチマークの「第一級の実験変数」として扱うべき
  • コンテナのリソース制限は「保証値」と「上限値」を分けて指定すべき

ベンチマークの数字を鵜呑みにせず、「どんな環境で測定されたか」を必ず確認する。これがAI時代のリテラシーだと思う。

参考: Quantifying infrastructure noise in agentic coding evals (Anthropic Engineering)