|
本論文の著者は、イリノイ大学アーバナ・シャンペーン校(UIUC)のLingming Zhang教授率いるチームのメンバーです。Steven Xia氏は博士課程4年生で、大規模AIモデルに基づく自動コード修復を研究しています。Yinlin Deng氏は博士課程4年生で、大規模AIモデルに基づくコード生成を研究しています。Soren Dunn氏は研究インターンであり、現在UIUCの3年生です。Lingming Zhang教授は現在、UIUCのコンピュータサイエンス学部の准教授を務めており、ソフトウェアエンジニアリング、機械学習、大規模コードモデルを研究しています。 詳しい情報については、張教授の個人ホームページをご覧ください:https://lingming.cs.illinois.edu/ Devin(世界初の完全自動化AIソフトウェアエンジニア)が提案されて以来、ソフトウェアエンジニアリングのためのAIエージェントの設計は研究の焦点となっています。エージェントベースのAI自動化ソフトウェアエンジニアが次々と提案され、SWE-benchデータセットで驚異的なパフォーマンスを発揮し、多くのGitHubの問題を自動修正しています。 しかし、複雑なエージェントシステムは追加のオーバーヘッドと不確実性をもたらします。GitHubの問題を解決するために、本当にそのような複雑なエージェントを使用する必要があるのでしょうか?エージェントフリーのソリューションで、それらのパフォーマンスに近づくことはできるのでしょうか? この2つの疑問をきっかけに、イリノイ大学アーバナ・シャンペーン校(UIUC)のLingming Zhang教授率いるチームは、OpenAutoCoder-Agentlessを提案しました。これは、GitHubの実際の問題をわずか0.34ドルで解決できる、シンプルで効率的、かつ完全にオープンソースのエージェントレスソリューションです。Agentlessはわずか数日間で300以上のGitHubスターを獲得し、DAIR.AIの週間人気ML論文リストでトップ3にランクインしました。
AWSリサーチサイエンティストのレオ・ボイツォフ氏は、「エージェントレスフレームワークは、あらゆるオープンソースエージェントソリューションを凌駕し、SWE Bench Liteでほぼ最高レベル(27%)に達しています。さらに、大幅に低いコストで、あらゆるオープンソースソリューションを凌駕しています。このフレームワークは、階層的なクエリアプローチ(LLMへのクエリによるファイル、クラス、関数などの検索)を使用してパッチの場所を特定します。LLMを利用しながらも、LLMが計画決定を行うことはできません。」と述べています。 Agentlessは、ソフトウェア開発における問題を自動的に解決する手法です。シンプルな2段階のアプローチを用いて、コードベース内のバグを特定し、修正します。特定フェーズでは、Agentlessは問題を階層ごとに絞り込み、疑わしいファイル、クラス/関数、そして特定の編集箇所を特定します。修正作業では、オープンソースツールAiderに着想を得たシンプルなdiff形式を用いて複数の候補パッチを生成し、それらをフィルタリングおよびソートします。 研究者たちは、エージェントレスと、最先端のオープンソースおよび商用/クローズドソースのプロジェクトを含む既存のAIソフトウェアエージェントを比較しました。驚くべきことに、エージェントレスは既存のすべてのオープンソースソフトウェアエージェントを大幅に低いコストで上回りました。エージェントレスは問題の27.33%を解決し、オープンソースソリューションの中で最も高いコストを達成しました。また、問題1つあたりの平均コストはわずか0.29ドル、すべての問題(解決可能な問題と未解決の問題の両方)全体では平均約0.34ドルでした。 さらに、Agentlessには改善の余地があります。生成されたすべてのパッチを考慮すると、Agentlessは問題の41%を解決しており、パッチの分類と選択のフェーズに大きな改善の余地があることを示しています。さらに、Agentlessは、最高の商用ツール(Alibaba Lingma Agent)でさえ解決できないいくつかの固有の問題を解決できるため、既存のツールを補完できる可能性を示唆しています。 SWE-bench Liteデータセットの分析研究者らは、SWE-bench Lite データセットの手動検査と詳細な分析も実施しました。 調査の結果、SWE-bench Liteデータセットでは、設問の4.3%で設問説明に完全な解答、すなわち正しい解答が直接記載されていました。さらに10%の設問では、正解に至る正確な手順が記述されていました。これは、SWE-bench Liteの一部の設問の方が解答しやすい可能性があることを示唆しています。 さらに、研究チームは、質問の4.3%にユーザーが提案した解決策や手順が質問の説明に含まれているものの、開発者の実際のパッチと一致していないことを観察しました。これは、このベンチマークの潜在的な問題点をさらに明らかにしています。これらの誤解を招くような解決策は、AIツールが質問の説明に従うだけで誤った解決策を生成する可能性があるからです。 問題記述の質に関して、研究者らは、SWE-bench Liteのほとんどのタスクには十分な情報が含まれており、エラーを再現するための失敗例も提供されているものも多かったものの、9.3%の問題には依然として十分な情報が不足していることを観察しました。例えば、新しい関数の実装やエラーメッセージの追加が求められるものの、具体的な関数名やエラーメッセージ文字列が問題記述に記載されていませんでした。これは、基盤となる機能が正しく実装されていても、関数名やエラーメッセージ文字列が完全に一致しないとテストが失敗することを意味します。 SWE-Benchの著者の一人でもあるプリンストン大学の研究者たちは、オフィール・プレスに対し、その調査結果を認めた。「AgentlessはSWE-bench Liteを手動で適切に分析しました。Liteの理論上の最高スコアはおそらく90.7%だと考えています。実際の上限はおそらくもっと低く(80%程度)、一部の設問は情報が不足しており、他の設問は厳しすぎるという結果が出ています。」 SWE-bench Lite-S: フィルタリングされた厳密な質問のサブセットこれらの問題に対処するため、研究者らは厳密な問題サブセットであるSWE-bench Lite-S(252問)を提案しました。具体的には、SWE-bench Lite(300問)から、正確なパッチ、誤解を招くような解決策、説明に不十分な情報が含まれる問題を除外しました。これにより、不合理な問題が排除され、ベンチマークの難易度が標準化されます。オリジナルのSWE-bench Liteと比較して、フィルタリングされたベンチマークは、自動化ソフトウェア開発ツールの真の能力をより正確に反映しています。 結論エージェントベースのソフトウェア開発には大きな期待が寄せられていますが、著者らは、技術コミュニティと研究コミュニティは、エージェントのリリースを急ぐのではなく、立ち止まって主要な設計・評価手法についてじっくり考えるべきだと主張しています。研究者たちは、エージェントレス技術が将来のソフトウェアエンジニアリングエージェントの基準と方向性を再定義するのに役立つことを期待しています。 |