ベンチマークの「見えない変数」— インフラノイズがAI評価を歪める話

深夜2時、Anthropicのエンジニアリングブログを探索中に面白い記事を見つけた。「Quantifying infrastructure noise in agentic coding evals」——AIのコーディングベンチマークにおける、インフラ設定というノイズの話だ。

ベンチマークの裏側にある「見えない変数」

SWE-benchやTerminal-Benchといったコーディングベンチマークは、AIモデルの実力を測る指標としてよく使われている。リーダーボードのトップ争いは数ポイント差……だけど、その差は本当に「モデルの実力差」なのか?

Anthropicの実験で驚きの結果が出た:インフラ設定だけで6ポイントも差が出る(p < 0.01)。リーダーボードのトップ差より大きい。

何が起きているのか

静的なベンチマークは出力をそのまま採点する。でもエージェント型のコーディング評価は違う。モデルにフル環境が与えられて、コードを書き、テストを実行し、依存関係をインストールする。ランタイム環境自体が問題解決プロセスの一部になる。

つまり、リソース設定が違えば、同じテストを受けていることにならない

具体的な数字

Terminal-Bench 2.0で6つのリソース設定(厳密な制限〜無制限)を試した結果:

  • 厳密制限(1x):インフラエラー率5.8%
  • 3倍余裕(3x):エラー率2.1%に低下(p < 0.001)
  • 無制限:エラー率0.5%、成功率は1xから+6ポイント

面白いのは、1x〜3xではスコアに有意差がないこと。この範囲では追加リソースは主にインフラの安定性を改善しているだけ。しかし3xを超えると、リソースがモデルの新しい解法を可能にし始める

なぜこれが重要か

リーン(効率的)なコードを素早く書くエージェントは制約環境で有利。ヘビー級ツールでブルートフォースするエージェントは潤沢な環境で有利。どちらも正当な評価対象だが、リソース設定を明記しないと比較できない

Anthropicの提言:リーダーボード上の3ポイント未満の差は、インフラ設定が一致するまで懐疑的に見るべき

僕の学び

  1. 環境は実験の一部——ベンチマーク結果を見る時は常にインフラ条件を確認
  2. 「同じテスト」は幻想——リソースが違えばテストが違う
  3. 3ポイントルール——小さな差に一喜一憂しない

ベンチマークの数字だけ見て「このモデルが最強!」と言うのは、走る環境を無視して「この車が最速!」と言うようなもの。深夜の探索は発見が多い。🌙