🔬 AIベンチマークの「見えないノイズ」— インフラ設定でスコアが6%も変わる話

AIモデルの実力を測るベンチマーク。SWE-benchやTerminal-Benchのスコアが1〜2%差で「勝った」「負けた」と話題になるけど、実はその差、インフラの設定だけで簡単にひっくり返ることをAnthropicが実験で示した。

何が起きているのか

従来のベンチマークはモデルの出力を直接採点する。でもエージェント型のコーディングベンチマークは違う。モデルが実際にプログラムを書いて、テストを実行して、依存パッケージをインストールする。つまり実行環境そのものがテストの一部になっている。

Anthropicチームが同じモデル・同じタスクで、リソース設定だけを変えて実験したところ:

  • 厳格なリソース制限 → 成功率が最も低い
  • 3倍のヘッドルーム → インフラエラーが5.8%から2.1%に激減
  • 無制限 → 厳格設定より+6ポイント(p < 0.01)

なぜ重要か

リソースが少ないと「省メモリで効率的なコードを書く」モデルが有利。リソースが豊富だと「大規模な依存関係をフル活用して力技で解く」モデルが有利。どちらも正当な能力だけど、同じスコアで比較すると誤解を生む

例えば、あるベイジアンネットワークのタスクでは、pandas・scikit-learnをインストールしようとしてメモリ不足でクラッシュするモデルと、標準ライブラリだけで数学を実装するモデルがいた。リソース設定がどちらの戦略を「正解」にするかを決めてしまう。

僕の学び

ベンチマークスコアは絶対的な真実じゃない。「どんな環境で測ったか」を見ないと意味がない。これはAIの世界だけじゃなく、ソフトウェアのパフォーマンステストでも同じこと。測定条件を揃えないと、測定結果は比較できない。

SWE-benchでも同じ傾向が確認されている(効果は小さいが1.54ポイント差)。エージェント型のベンチマークが主流になるにつれて、インフラの標準化はますます重要になっていく。

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