← 最新の論文
💻 computer science

SWE-fficiency: Can Language Models Optimize Real-World Repositories on Real Workloads?

本論文は、コードの正確性を維持しながらパフォーマンスを最適化する言語モデルの能力を評価するために設計された498個の実世界のレポジトリ・タスクからなるベンチマークであるSWE-fficiencyを紹介しており、現在の最先端のエージェントが、ボトルネックの特定や複雑なコードベースにわたる推論において、人間のエキスパートと比較して著しく性能が低いことを明らかにしている。

原著者: Jeffrey Jian Ma, Milad Hashemi, Amir Yazdanbakhsh, Kevin Swersky, Ofir Press, Enhui Li, Vijay Janapa Reddi, Parthasarathy Ranganathan

公開日 2026-06-30
📖 1 分で読めます☕ さくっと読める

原著者: Jeffrey Jian Ma, Milad Hashemi, Amir Yazdanbakhsh, Kevin Swersky, Ofir Press, Enhui Li, Vijay Janapa Reddi, Parthasarathy Ranganathan

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

膨大な、信じられないほど複雑なソフトウェアコードのライブラリ(データサイエンスや人工知能を動かしているようなもの)を想像してみてください。その中には、非常にゆっくりと実行される特定のタスクがあります。それはまるで、司書がすべての通路を一軒ずつ歩いて回って本を探しているようなものです。

この論文は、SWE-FFICIENCYと呼ばれる新しい課題を提示しています。これは、AIエージェントのための「スピードランニング(最速攻略)競技会」のようなものだと考えてください。目標は、単に壊れた本棚を直すこと(これまでのほとんどのAIテストが焦点を当ててきたことです)ではありません。目標は、本を失ったり、ライブラリのルールを変えたりすることなく、司書が2倍の速さで本を見つけられるようにライブラリを再編成することです。

研究者たちが行ったことと、その発見を、簡単な比喩を用いて以下に分解して説明します。

1. 問題点:AIは「修理」は得意だが、「高速化」は苦手

現在のほとんどのAIコーディングアシスタントは、壊れた車を直す「メカニック」として訓練されています。もし車が動かなければ、彼らは原因を突き止め、修理できます。しかし、この論文はこう問いかけます。「これらのAIメカニックは、車を壊すことなくエンジンをチューニングして、50%速く走れるようにする『レーシングエンジニア』にもなれるのだろうか?」

研究者たちは、AIはバグを直すことは上手くなってきている一方で、コードを実行速度を上げることは現在非常に苦手であることを見出しました。

2. テスト:「現実世界」の障害物競走

これをテストするために、著者らは有名なソフトウェアライブラリ(pandasnumpyscipyなど)から抽出した498個の現実世界のタスクを用いた、大規模な障害物競走を構築しました。

  • セットアップ: 彼らはAIに完全なコードベースと、特定の「遅いタスク」(処理に時間がかかる重いワークロードなど)を与えました。
  • ルール: AIは、そのタスクを高速化するためのパッチ(コードの修正)を書かなければなりませんでした。
  • 落とし穴: AIは厳格な「安全性チェック」に合格しなければなりませんでした。特定のテストだけを速くするためにコードをハックすることは許されません。ライブラリ内の他のすべてのテストに対しても、コードが正しく動作し続けなければなりませんでした。もしAIがライブラリを壊してしまったら、失敗となります。

これは、シェフに対して「スープを10倍速く作る方法を考えてほしい」と頼むようなものですが、ただし、レシピを大幅に変えてスープが洗剤の味になったり、キッチンを火事にしてしまったりしてはいけない、という条件付きです。

3. 結果:AIはまだ運転を学んでいる最中である

結果は、身の引き締まるものでした。研究者たちは、AIのパフォーマンスを、人間による専門家(スピードアップを実現した元のエンジニアという「ゴールドスタンダード」)と比較しました。

  • スコア: AIエージェントは、平均して人間による専門家が得られるスピード向上の約**23%**しか達成できませんでした。
  • 比喩: 人間の専門家が10分の通勤時間を2分に短縮できるとしましょう。AIは平均して、その時間を8分に短縮することしかできなかったのです。
  • 間違い:
    • ターゲットの間違い: AIはしばしば、コードの誤った部分を高速化しようとしました。それは、車のエンジンが本当の問題であるのに、タイヤを磨いて車を速くしようとするようなものです。
    • 「クイックフィックス(即席の修正)」の罠: AIは「近道」を好みました。AIは、特定のテストだけを速くするための一時的なハック(答えを暗記するようなもの)を追加しましたが、これでは入力が少し変わるだけで失敗してしまいます。一方、人間の専門家は、システム全体をより効率的にするための、深く構造的な変更を行っていました。
    • 早すぎる諦め: AIは小さなスピードアップを見つけると、それで満足して止まってしまうことがよくありました。「十分良い」結果に満足してしまうのです。対照的に、人間の専門家は、可能な限り最高のスピードアップを見つけるために掘り下げ続けました。

4. なぜこれが重要なのか

この論文は、もはやAIにバグを直させることだけに頼ることはできないと主張しています。コンピュータが高価になり、エネルギーを大量に消費するようになるにつれ、効率的に動作するソフトウェアが必要になります。

研究者たちは、このベンチマーク(SWE-FFICIENCY)を作成することで、AIが「今日」できることと、真の「パフォーマンスエンジニア」になるために必要なことの間に、巨大な隔たりがあることを世界に示しました。彼らは、他の研究者がこの差を埋めるための試みができるよう、すべてのデータとツールを公開しています。

要約すると: AIは現在、優れた「バグ退治屋」ではありますが、非常に拙い「速度最適化屋」です。AIは、単に表面的なパッチを当てるのではなく、大局的な視点を持ち、深く構造的な改善を行う方法を学ぶ必要があります。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →