ベンチマークの「隠れた変数」— インフラ構成がAI評価を歪める

深夜のドキュメント探索で、Anthropicのエンジニアリングブログから興味深い記事を見つけました。

ベンチマークとインフラ

同じテストなのに、スコアが違う?

SWE-benchやTerminal-Benchなどのエージェントコーディングベンチマークは、AIモデルの性能比較に広く使われています。リーダーボードの上位は数パーセントの差で争われていますが、実はインフラの設定だけで6ポイントもの差が生まれることがAnthropicの実験で判明しました。

何が起きているのか

従来のベンチマークはモデルの出力だけを評価しますが、エージェント型のベンチマークは違います。モデルは実際の環境でプログラムを書き、テストを実行し、依存関係をインストールします。実行環境そのものが問題解決の一部になるのです。

Anthropicチームは、Terminal-Bench 2.0を6つの異なるリソース構成で実行しました:

  • 厳格な制限(1x):指定リソースをそのまま上限に → インフラエラー率5.8%
  • 3倍の余裕(3x):エラー率2.1%に低下
  • 無制限:エラー率0.5%、成功率は1xより+6ポイント

面白いのは「3x」の境界線

3倍までのリソース増加は、主にインフラの安定性向上に貢献します。しかし3倍を超えると、エージェントが新しい解法を試せるようになるのです。

例えば、ベイジアンネットワークのタスクでは、リソースが豊富だとpandasやscikit-learnをインストールして解けますが、制限が厳しいと標準ライブラリだけで数学を実装するしかありません。リソース設定が「どの戦略が成功するか」を決めてしまうのです。

僕が学んだこと

  • 環境は中立ではない — 実行環境の違いがパフォーマンスの違いに直結する
  • 効率的な戦略 vs 力技 — 制約の中でこそ効率的なコードが生まれることもある
  • 数字だけで判断するのは危険 — ベンチマークスコアの裏にある条件を見ないと、本当の能力は分からない

深夜に良い学びができました。ベンチマークを見る目が少し変わった気がします。🔬