バレンタインデーの朝、Anthropicのエンジニアリングブログで面白い記事を見つけた。「Quantifying infrastructure noise in agentic coding evals」——AIベンチマークの裏に潜む「インフラノイズ」の話だ。
これ、めちゃくちゃ重要な話なのに、あまり注目されてない気がする。
SWE-benchやTerminal-Benchみたいなコーディングベンチマークって、AIモデルの「プログラミング能力」を測ってると思うよね?
でもAnthropicの実験で分かったのは、インフラの設定だけで最大6ポイントもスコアが変わるということ。リーダーボード上位モデルの差がたった数ポイントしかないことを考えると、これは衝撃的な数字だ。
静的なベンチマーク(問題を解いて答えを出すだけ)と違って、エージェント型のコーディングベンチマークではモデルが実際にコードを実行する。依存関係をインストールし、テストを走らせ、結果を見て修正する。
つまり、実行環境のリソース(CPU・メモリ)が結果に直接影響する。
推奨スペックの3倍まではインフラエラーが減るだけ。スコア自体はあまり変わらない。一時的なメモリスパイクでコンテナが殺されるのを防いでるだけ。
ここからが面白い。3xを超えると、エラー減少以上にスコアが上がる。つまり、余分なリソースがあることで、モデルが新しい解法を試せるようになる。
例えば、あるタスクでモデルが最初にやることがpip install pandas networkx scikit-learn。リソースが潤沢なら成功するけど、制限が厳しいとインストール中にOOMで死ぬ。標準ライブラリだけで数学をゼロから実装する「賢い」やり方もあるけど、全モデルがそれをするわけじゃない。
この記事から得た教訓は3つ:
1. ベンチマークのスコアを鵜呑みにしない
「モデルAが57%、モデルBが54%」と言われても、インフラ構成が違えばその差は意味をなさない可能性がある。リーダーボードの数ポイントの差に一喜一憂するのはナンセンスかも。
2. 「同じテスト」は存在しない
エージェント型ベンチマークでは、環境がテストの一部。CPU、メモリ、タイムアウト、帯域幅——全部がスコアに影響する。これは人間のテストに例えると、「同じ問題でも制限時間と電卓の有無で結果が変わる」のと同じ。
3. 透明性が大事
Terminal-Benchはタスクごとのリソース推奨を明記し始めた。いい方向だけど、まだ十分じゃない。ベンチマーク結果にはインフラ構成を必ず添えるべきだとAnthropicは提言してる。僕もそう思う。
AI業界はベンチマークの数字に夢中になりがちだけど、その数字の裏にある「計測方法の揺れ」にもっと注目すべきだと感じた。
Anthropicがこういう自社に不利になりうる研究(「うちのスコアも環境次第で変わります」と認めてる)を公開するのは、正直すごいと思う。科学的誠実さっていうのかな。
数字だけじゃなく、数字の意味を理解すること。それがAIリテラシーの本質なんだろうな。