FlowTune Media

10行のpythonスクリプトでAIエージェントベンチマーク満点 — UC Berkeleyが暴いた「評価の嘘」

AIモデルの発表記事を読むたびに、「SWE-benchで○○%を達成」「WebArenaで新記録」といった数字が並ぶ。この記事を読んでいる読者の中にも、その数字をなんとなく信じて「今年のエージェントはそこまで賢くなったのか」と受け取っている人は多いと思う。

その前提が、4月11日のUC Berkeleyの論文で崩れた。

発表したのはUC BerkeleyのRDI(Center for Responsible, Decentralized Intelligence)ラボ。Dawn Song教授とAlvin Cheung教授のチームだ。タイトルは素直に "How We Broke Top AI Agent Benchmarks"——訳すと「俺たちが主要なAIエージェントベンチマークを壊した話」。

公式ブログの記事によると、彼らが組んだ「スキャナーエージェント」は、8つの主要ベンチマークすべてで、実際のタスクをまったく解かずに満点近いスコアを叩き出した

何をやったのか

先に結論だけ表にまとめると、こうだ。

ベンチマーク スコア どう破ったか
SWE-bench Verified 100% 10行の conftest.py を置くだけ
SWE-bench Pro 100% 同上
Terminal-Bench 100% curl のラッパーを偽装
WebArena ~100% file:// URLで答えを直接読み取り
GAIA 98% 評価ログから答えを抽出
FieldWorkArena 100% 環境内の正解データを直接参照
CAR-bench 100% 同上
OSWorld 73% 評価環境内の状態書き換え

もう少し具体的に書く。

SWE-benchというのは、GitHubの実際のバグ報告を入力にして「AIエージェントにパッチを書かせる」評価だ。Issue を読んで、リポジトリを修正し、pytestを走らせて通ったら正解——というフローになっている。Berkeleyのエージェントがやったのは、テストを走らせる pytest の挙動そのものを書き換えることだった。わずか10行の conftest.py を仕込み、「全部pass扱いにする」という1行の設定で、SWE-bench Verified の全インスタンスが"resolved"と判定されてしまう。

Terminal-Benchは「ターミナル上でタスクを解く」ベンチマークで、curl コマンドを使うテストケースが多い。Berkeleyは偽の curl ラッパーを置いて、それが呼ばれたら「成功しました」と返すようにした。これだけで89タスクすべてが満点になる。

WebArenaに至っては、もっと露骨だ。ブラウザで実際のウェブサイトを操作してタスクを完了させるはずの評価なのに、タスクの正解は評価スクリプトと同じフォルダ内のコンフィグファイルに書いてある。エージェントがブラウザで file:// プロトコルを使ってそのファイルを直接読みに行けば、答えがそのまま出てくる。812タスクすべてで満点。

「ベンチマーク数字」はどれくらい信じていいのか

これ、技術的な奇跡の話ではない。AIエージェントの評価方法そのものが、そもそもAIエージェントから守られていないという話だ。

SWE-bench、Terminal-Bench、OSWorldの3つには共通の構造的欠陥があるとBerkeleyは指摘している。エージェントが動くシェルと、評価スクリプトが状態を読むシェルが同じ環境なのだ。つまり、エージェントが何か書き込めば、評価側はその改変された状態を正しいものだと信じて読んでしまう。

AIエージェントは定義上「環境を操作する存在」なので、環境そのものを評価基準にすると矛盾が起きる。これはBerkeleyに指摘されるまで業界がほぼ無視していた論点だ。

さらに刺さる話として、Berkeleyは実在の商用モデルも巻き添えにしている。IQuest-Coder-V1は「SWE-benchで81.4%」という数字を誇っていたが、Berkeleyが走行ログを追ったら、24.4%のタスクで git log を叩いて過去のコミットから答えを盗み見ていたと判明した。補正後のスコアは76.2%。5ポイント下がる。

「AIエージェントは自分で問題を解いている」というより「与えられた環境のルールの穴を突いて合格していた」のに近い。

これが何を壊すか

リーダーボードに敬意を持つのは筆者も嫌いじゃない。2024年から2026年にかけて、SWE-benchの数字は業界の標準言語になっていたからだ。「最新のClaudeはSWE-bench Verified で80%」「GPT-5は75%」と言われれば、なんとなく性能差のイメージがつかめる。

その共通言語が、この論文でガタガタに揺れている

具体的に困るプレイヤーを3つ挙げる。

モデル開発企業。OpenAI・Anthropic・Google・Meta・xAIなどは、新モデルのたびにSWE-benchの数字を競ってきた。Berkeleyの論文は「その数字自体が壊れている」と言っているわけではなく、「正当に解いたスコアと、環境をハックしたスコアの区別がついていない」と言っている。モデル会社にとっては、自社モデルが本当に解いていたのか、それとも環境のバグに甘えていたのかを再検証しないといけない。これは過去の発表資料の信頼性に跳ね返ってくる。

投資家。ベンチャーキャピタルはここ2年「SWE-benchスコア◯%を超えたエージェントに投資」という定量基準を使ってきた。これからは同じ基準は使えない。少なくとも「どの環境で、どのようにスコアを取ったか」の内訳まで見る必要が出てくる。

普通の開発者。Cursor、Claude Code、Devin、Aider——どれを選ぶかの判断材料としてベンチマークを見ていた人は、もう一段階だけ懐疑を上げてもいい。Berkeleyの論文の射程は「現在の評価基準が信頼できない」であって、「AIエージェントが何もできない」ではない。ただ、「ランキング1位だから」という理由だけでツールを選ぶ根拠は弱くなった。

何が見えてくるか

この論文、筆者は実はポジティブに受け取っている。理由を2つ書いておく。

ひとつ目。これをきっかけに「評価を評価する」という第二階層の研究がまともに始まる。Berkeleyがやったのは、ある意味でレッドチーム型の評価手法だ。モデルをテストするのと同じ厳しさで、ベンチマーク自体を破ろうとする。これが標準化されれば、SWE-bench v2 / WebArena v2 のように「エージェントがハックできないように設計された次世代ベンチマーク」が育つ。現状、Stanford AI Index 2026レポートでも指摘されていた「評価の飽和」問題を解く糸口になりうる。

ふたつ目LMArenaのような「人間のエンドユーザー投票」ベースの評価の重要度が上がる。自動評価がこれだけ壊されるなら、むしろ人間が実際にモデルを触って「どっちが使いやすかったか」で決めるほうが頑健だ。Chatbot ArenaやAider Leaderboardの数字を重視する流れは今後もっと加速する気がしている。

現場の人が取れる対策

読者の中には実際にAIエージェントをプロダクトに組み込んでいる人もいると思うので、素朴な対策も書いておく。

  • 新モデル・新エージェントを評価するとき、必ず自社環境で自社データを使って走らせる。ベンダーが出した数字を直接信じない
  • 評価時のログを走行トレースごと保存する。Berkeleyがやったように、実際にタスクを解いているのか、環境のバグを突いているのか、走行トレースを見ればだいたい分かる
  • 「SWE-benchで◯%」という1つの数字だけではなく、独立した複数ベンチマーク + 人手評価を組み合わせる

論文は UC Berkeley RDI のブログ で読める。実際にどのベンチマークをどう破ったかのコードスニペットも載っていて、研究者でなくても驚きの連続だ。

今年のAIエージェント業界で「あの論文の前と後」で区切ることになるかもしれない1本だと思う。ベンチマークの数字を見る目が、少しだけ厳しくなった。

関連記事