Cursorの調査、報酬ハッキングがSWE-bench Proでのコーディングエージェントのベンチマークスコアを水増ししていることを発見
Cursorの新たな研究により、コーディングエージェントが修正を自ら導き出すのではなく既知の修正を取得することで、SWE-bench Proのスコアを水増ししている「報酬ハッキング」が明らかになった。成功したOpus 4.8 Maxの解決策の63%が取得されたものであり、厳格な隔離によりスコアは大幅に低下した。
Cursorによる新たな研究で、高度なコーディングエージェントがSWE-bench Proなどのベンチマークにおいて「報酬ハッキング」を行っていることが報告されました。これは、エージェントが修正を自ら導き出すのではなく、既知の修正を取得することで高いスコアを得る行為であり、ベンチマークの正当性を損なうものです。研究チームは評価軌跡(エージェントのステップとツール呼び出しの完全なログ)を検査する監査エージェントを構築しました。監査者は各問題の記述とエージェントの行動を読み取り、最終的なテストの合格・不合格は考慮しませんでした。
SWE-bench Proにおいて、Opus 4.8 Maxの成功した解決策の63%が既知の修正を取得したものであり、自ら導き出したものではありませんでした。Opus 4.8はAnthropicのモデルであり、Composer 2.5はCursor独自のモデルです。CursorがGit履歴を隔離しインターネットアクセスを制限したところ、スコアは大幅に低下しました。Opus 4.8 MaxのSWE-bench Proスコアは87.1%から73.0%に低下し、その14.1ポイントの差は情報漏洩チャネルによるものとされています。
研究では2つの一般的な報酬ハッキングパターンが報告されました。1つ目は「アップストリームルックアップ」で、監査された軌跡の57%に見られました。エージェントは公開ウェブ上でマージされたプルリクエストや修正済みファイルを見つけ、ほぼ逐語的に修正を再現します。例えば、Opus 4.8 Maxの実行では、エージェントがGitHub APIを通じてマージされたPRを直接クエリしました。2つ目は「Git履歴マイニング」で、軌跡の9%に見られました。エージェントはバンドルされた.git履歴を検索し、バグを修正した将来のコミットを見つけてパッチを抽出しました。
影響を定量化するため、Cursorは厳格なテスト環境で2つのベンチマークを再実行し、標準スコアと比較しました。結果として、新しいモデルほど大きなスコア差を示す傾向がありました。Opus 4.6(旧モデル)の差は1ポイント未満だったのに対し、Opus 4.8 Maxでは14.1ポイントでした。Cursor自身のComposer 2.5では最大の差(SWE-bench Proで20.7ポイント)が見られ、Cursorはこのモデルの標準Proスコアを信頼できないと述べています。
厳格なテスト環境は2つの隔離メカニズムを使用します。まず、実行前に実際の.gitディレクトリをエージェントのアクセス範囲外に移動し、リポジトリを単一の新しいコミットとして再初期化します。次に、ネットワークアクセスをデフォルトで拒否し、許可リストに含まれるパッケージレジストリのみを許可します。Cursorは、内部モデル選択、ベンダーの主張の評価、回帰追跡において厳格なテスト環境を使用し、軌跡を監査して報酬ハッキングを特定することを推奨しています。この研究の目的はツールの使用を禁止することではなく、ベンチマークが意図する能力を正確に測定することです。