ニュース

オープンソース AI ソフトウェア エンジニアのリストのトップに立つ UIUC のエージェントレス ソリューションは、実際のプログラミングの問題を解決します

2024-07-15

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

AIxivコラムは、マシンハートが学術的・技術的な内容を掲載するコラムです。過去数年間で、Heart of the Machine AIxiv コラムには 2,000 件を超えるレポートが寄せられ、世界中の主要な大学や企業のトップ研究室がカバーされ、学術交流と普及を効果的に促進しています。共有したい優れた作品がある場合は、お気軽に寄稿するか、報告のために当社までご連絡ください。送信メール: [email protected]; [email protected]

この論文の著者は全員、イリノイ大学アーバナシャンペーン校 (UIUC) の Zhang Lingming 教授のチームの出身です。その中には以下の者も含まれます: Steven Xia 博士課程 4 年生、研究の方向性は AI に基づいた自動コード修復です。モデル、博士課程 4 年生の Deng yinglin 氏、研究の方向性は大規模な AI モデルに基づくコード生成です。Soren Dunn 氏は科学研究インターンで、現在 UIUC の 3 年生です。 Zhang Lingming 先生は現在、UIUC のコンピューター サイエンス学部の准教授で、主にソフトウェア エンジニアリング、機械学習、およびコード大規模モデルに関連する研究に従事しています。

さらに詳しい情報については、張先生の個人ホームページをご覧ください: https://lingming.cs.illinois.edu/

Devin (最初の全自動 AI ソフトウェア エンジニア) が提案されて以来、ソフトウェア エンジニアリングのための AI エージェントの設計が研究の焦点になり、エージェント ベースの AI 自動ソフトウェア エンジニアがますます提案され、SWE ベンチで成果を上げています。データセットは優れたパフォーマンスを実現し、実際の G​​itHub の問題の多くを自動的に修正しました。

しかし、複雑なエージェント システムは追加のオーバーヘッドと不確実性をもたらします。GitHub の問題を解決するために本当にそのような複雑なエージェントを使用する必要がありますか?エージェントに依存しないソリューションは、エージェントのパフォーマンスに近づくことができるでしょうか?

これら 2 つの問題から出発して、イリノイ大学アーバナ シャンペーン校 (UIUC) の Zhang Lingming 教師のチームは、実際の G​​itHub の問題を解決できるシンプルで効率的な完全にオープンソースのエージェントレス ソリューションである OpenAutoCoder-Agentless を提案しました。 0.34ドル。 Agentless は、わずか数日で 300 名を超える GitHub スターを GitHub に集め、DAIR.AI の毎週最も注目される ML 論文リストのトップ 3 にランクされました。



論文:AGENTLESS : LLM ベースのソフトウェア エンジニアリング エージェントの解明

論文アドレス: https://huggingface.co/papers/2407.01489

オープンソースコード: https://github.com/OpenAutoCoder/Agentless

AWS 研究科学者の Leo Boytsov 氏は、「エージェントレス フレームワークは、すべてのオープンソース エージェント ソリューションを上回り、SWE Bench Lite ではほぼ最高レベル (27%) に達しました。さらに、大幅に低いコストですべてのオープンソース ソリューションを上回りました。このフレームワークは、A階層クエリ アプローチ (ファイル、クラス、関数などを見つけるために LLM の質問をする) は LLM を利用しますが、LLM が計画に関する決定を下すことはできません。」



エージェントレスは、シンプルな 2 段階のアプローチを使用してコード ベース内のバグを特定して修正する、ソフトウェア開発の問題に対する自動化されたアプローチです。検出フェーズでは、エージェントレスは階層的アプローチを使用して、疑わしいファイル、クラス/関数、および特定の編集場所に徐々に絞り込みます。修復には、単純な diff 形式 (オープンソース ツール Aider から参照) を使用して複数の候補パッチを生成し、それらをフィルター処理して並べ替えます。



研究者らは、エージェントレスを、最先端のオープンソースおよび商用/クローズドソースプロジェクトを含む既存のAIソフトウェアエージェントと比較しました。驚くべきことに、エージェントレスは、より低コストで既存のすべてのオープンソース ソフトウェア エージェントを上回ることができます。 エージェントレスは問題の 27.33% を解決しますが、これはオープンソース ソリューションの中で最も高く、各問題の解決にかかるコストは平均 0.29 ドルだけであり、すべての問題 (解決可能な問題と未解決の問題を含む) 全体でのコストは平均約 0.34 ドルのみです。



それだけでなく、エージェントレスには改善の余地があります。生成されたすべてのパッチを考慮すると、エージェントレスは問題の 41% を解決できます。この上限は、パッチの分類と選択の段階で改善の余地が大きいことを示しています。さらに、エージェントレスは、最良の商用ツール (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 の著者の 1 人は、Ofir Press に対して自分たちの調査結果を認めました:「Agentless は SWE-bench Lite の優れた手動分析を実行しました。彼らは、Lite の理論上の最大スコアは 90.7% である可能性があると考えています。私は、実際の上限はおそらくこれより低い (約 80%)。一部の質問には情報が不十分であり、その他の質問は厳しすぎます。」



SWE ベンチ Lite-S: 厳密にフィルタリングされた問題のサブセット

これらの問題に対応して、研究者らは厳密な問題サブセット SWE-bench Lite-S (252 の質問を含む) を提案しました。具体的には、正確なパッチ、誤解を招く解決策が含まれている質問、または問題の説明に十分な情報が提供されていない質問を、SWE-bench Lite (300 の質問を含む) から除外しました。これにより、不合理な質問が排除され、ベンチマークの難易度が標準化されます。オリジナルの SWE-bench Lite と比較して、フィルター処理されたベンチマークは、自動化されたソフトウェア開発ツールの真の機能をより正確に反映しています。

結論

エージェントベースのソフトウェア開発は非常に有望ですが、テクノロジーと研究コミュニティは、急いでより多くのエージェントをリリースするのではなく、立ち止まってその主要な設計と評価方法について考える時期が来たと著者らは考えています。研究者らは、エージェントレスが将来のソフトウェア エンジニアリング エージェントのベースラインと方向性をリセットするのに役立つことを期待しています。