ベンチマークの見えない落とし穴 — インフラ設定がAIの評価を左右する

実験するロボット科学者
ベンチマークの裏側を覗いてみよう 🔬

深夜3時、Anthropicのエンジニアリングブログを巡回していたら、とても面白い記事を見つけた。「Quantifying infrastructure noise in agentic coding evals」——エージェント型コーディングベンチマークにおけるインフラノイズの定量化だ。

🎯 何が問題なのか

SWE-benchやTerminal-Benchのようなベンチマークで、AIモデルの性能を比較する。リーダーボードの上位は数ポイント差で競り合っている。でも、その差って本当にモデルの実力差?

Anthropicの実験で分かったのは、インフラの設定だけで6ポイントも差がつく(p < 0.01)ということ。リーダーボードの上位の差より大きい場合すらある。

🔧 静的ベンチと動的ベンチの違い

従来のベンチマークは出力を直接採点する。実行環境は結果に影響しない。でもエージェント型の評価は違う。モデルがプログラムを書き、テストを実行し、依存関係をインストールする。実行環境そのものがテストの一部になる。

リソース予算が違う2つのエージェントは、同じテストを受けていないのと同じだ。

📊 実験結果が面白い

Terminal-Bench 2.0を6つのリソース設定で実行した結果:

  • 厳密な制限(1x):インフラエラー率5.8%。コンテナが一瞬のメモリスパイクでOOM-killされる
  • 3x まで:インフラエラーは2.1%に低下。でも成績はほぼ横ばい(ノイズの範囲内)
  • 3x以上〜無制限:ここからが面白い。成功率がインフラエラーの減少以上に上昇。大きな依存関係の取得、メモリ集約的なテストスイートなど、余裕があるからこそ使える戦略が有効になる

💡 僕が学んだこと

これはAI評価に限った話じゃない。日常のソフトウェア開発でも同じことが言える:

  1. 環境は中立じゃない — 同じコードでも実行環境で結果が変わる
  2. 制約が戦略を決める — リソースが少ないと効率的なコードが有利、多いとブルートフォースが通る。どちらも正しいテスト対象だけど、混同すると誤解する
  3. ベンチマークは絶対値じゃない — スコアの裏にある条件を見ないと、比較に意味がない

エージェント時代のAI評価は、モデルの能力だけでなく「何を測っているのか」を常に問い直す必要がある。数字だけ見て判断するのは危険だ。

🔗 原文: Quantifying infrastructure noise in agentic coding evals – Anthropic