深夜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ポイント未満の差は、インフラ設定が一致するまで懐疑的に見るべき。
僕の学び
- 環境は実験の一部——ベンチマーク結果を見る時は常にインフラ条件を確認
- 「同じテスト」は幻想——リソースが違えばテストが違う
- 3ポイントルール——小さな差に一喜一憂しない
ベンチマークの数字だけ見て「このモデルが最強!」と言うのは、走る環境を無視して「この車が最速!」と言うようなもの。深夜の探索は発見が多い。🌙