スタンフォード大学、プリンストン大学、コーネル大学、テュービンゲン大学、Meta AI の著者らによる この論文は、ソフトウェアエンジニアリング向けの AI システムが、通常評価されている設定を超えて汎化 するかを問う。SWE-Bench は Python リポジトリのみを題材としており、論文によれば、 ユーザーインターフェース設計、ゲーム、データ可視化など、ソフトウェア開発の多くの領域が視覚的な アセットに依存しているにもかかわらず、画像を含むタスクは全体の 5.6% にすぎない。これを調べるため、 著者らは SWE-bench Multimodal(SWE-bench M)を構築した。これはユーザー向けの JavaScript ライブラリの現実の GitHub イシューから作られ、すべてのタスクが問題文またはテストに画像か 動画を含むようにフィルタリングされ、人間のアノテーターによって確認されている。
著者らは次に、SWE-bench リーダーボード上位のオープンソースシステムをこのベンチマークで動かそうと 試みる。一部のシステムは Python と SWE-bench に特化しすぎていて適応できなかった。AutoCodeRover と Moatless は Python 固有のプログラム解析に依存しているため、著者らはこれらをベンチマークしないことに し、Agentless は JavaScript パーサーを一から書く必要があった。著者らは RAG、 SWE-Agent の 3 つの構成(Base、JavaScript に適応させたエディタ、ブラウザ・ スクリーンショット・画像閲覧を備えたマルチモーダル版)、そして適応させた Agentless JS を、GPT-4o と Claude 3.5 Sonnet で評価している。
対話的な SWE-agent の構成は他を明確に上回っており、論文はここから設計上の結論を導く。すなわち、 ソフトウェアエンジニアリングのための汎化可能な LM ベースのシステムは、固定された問題解決ワーク フローではなく対話を重視し、問題解決の負担を、手作業で設計された言語固有のパイプラインではなく LM に委ねるべきだ、というものである。
要点
- SWE-bench M は 17 の JavaScript リポジトリから集めた 619 件のタスクインスタンスを含み、12 リポジトリからの 517 件のテストセットと、5 リポジトリからの 102 件の開発セットに分かれている(アブストラクトでは 617 件とされている)。
- 問題文に画像を含む 557 件のインスタンスのうち 83.5% で、人間のアノテーターはタスクを解くのに画像が必要だと判断した。
- アノテーターは、SWE-bench M のタスクは SWE-bench のタスクより解くのに時間がかかると見積もっており、その参照解はより多くのファイル、関数、行を編集する。参照解の 28% は 2 種類以上のファイルタイプを変更している。
- SWE-bench の主要システムのいくつかは、位置特定のステップが Python 専用の構文解析に依存しているため、大がかりな再設計なしには適応できなかった。論文は、こうした硬直的なワークフローはわずかな分布シフトでも破綻すると主張している。
- テストセットでは、SWE-agent の構成がタスクの 9.2〜12.2% を解決したのに対し、Agentless JS は 3.1〜6.2%、RAG は 5.0〜6.0% だった。
- 主要な結果では、基盤となる LM を入れ替えても、SWE-agent に JavaScript 固有のツールやマルチモーダルなツールを追加しても、全体の解決率にはほとんど差がなく、著者らはマルチモーダルなツールの効果を全体として曖昧だと述べている。
- 入力から画像を取り除くと、開発セットにおいて RAG と SWE-agent JS の両方で性能が低下し、特にアノテーターが画像を必要と判断したタスクで顕著だった。
- 時間的な分析では、モデルの学習データに解答が漏洩していたことがテストセットで有利に働いたという証拠は見つからなかった。
補足
論文の関連研究の節は、SWE-bench M をリポジトリレベルのソフトウェアエンジニアリングベンチマークと マルチモーダルなコード生成の交点に位置づけ、Web ナビゲーションのエージェントとソフトウェア エンジニアリングのエージェントはこれまで別々に研究されてきたと論じている。著者らは限界として、 ベンチマークが JavaScript のみを対象とし、メディアのうち画像と動画のみを扱い、領域も限られている こと、そしてタスクの追加には多大な労力がかかったことを挙げている。また実務者に対して、開発 スプリットで反復し、テストスプリットでの評価はアプローチが確定してから一度だけ行うよう求めている。 マルチモーダル版の SWE-agent は、エージェント・コンピュータ・インターフェース の考え方をブラウザと 画像のツールで拡張したものである。