最近、AWS AI Labsは、AIプログラミングアシスタントの評価のためのより包括的なフレームワークを提供することを目的とした、多言語対応のオープンソースベンチマークであるSWE-PolyBenchを発表しました。

大規模言語モデル(LLM)の進歩に伴い、ソフトウェアコードの生成、修正、理解が可能なAIプログラミングアシスタントの開発は目覚ましい進歩を遂げています。しかし、現在の評価方法は多くの限界があり、多くのベンチマークはPythonなどの単一言語に焦点を当てていることが多く、実際のコードベースの構造と意味の多様性を完全に反映することはできません。

QQ_1745456662909.png

SWE-PolyBenchは、21個のGitHubコードリポジトリを網羅し、Java、JavaScript、TypeScript、Pythonの4つの一般的なプログラミング言語をサポートし、バグ修正、機能実装、コードリファクタリングなど2110個のタスクを提供します。従来のベンチマークとは異なり、SWE-PolyBenchは実際のプルリクエスト(PR)を使用しており、これらのPRは実際の問題を解決し、関連するテストケースが用意されているため、検証可能な評価が可能です。さらに、迅速な実験をサポートするために、タスクと言語の多様性を維持したより小さな階層的サブセットであるSWE-PolyBench500も公開されています。

QQ_1745456674846.png

技術的な構造と評価指標に関して、SWE-PolyBenchは実行ベースの評価プロセスを採用しています。各タスクには、コードベースのスナップショットと、GitHubの問題から派生したタスクの説明が含まれています。システムは、JavaのMavenやJavaScript/TypeScriptのnpmなど、特定の言語エコシステム用に構成されたコンテナ化されたテスト環境で、関連する実際の修正パッチを適用します。評価結果は、失敗から成功(F2P)と成功から成功(P2P)の2種類の単体テストを使用して測定されます。

QQ_1745456685896.png

プログラミングアシスタントをより詳細に評価するために、SWE-PolyBenchは、ファイルレベルとノードレベルの検索スコアを含む、具体的な構文木(CST)に基づく指標を導入しました。これにより、プログラミングアシスタントがコードベースの関連部分の検索と修正を行う能力を評価します。今回の評価では、AnthropicのClaude 3.5モデルを使用し、ベンチマークの多言語とコードベースの要件を満たすように調整された、Aider、SWE-Agent、Agentlessの3つのオープンソースプログラミングアシスタントが採用されました。

評価の結果、プログラミング言語とタスクの種類によってパフォーマンスに大きな違いがあることが示されました。たとえば、Pythonタスクの成功率は最大24.1%に達しましたが、TypeScriptはわずか4.7%でした。タスクの複雑さに関しては、単一機能またはクラスの修正タスクの成功率は40%に達しましたが、複数のファイルの変更を含むタスクでは著しく低下しました。

github: https://github.com/amazon-science/SWE-PolyBench

要点:

🌟 AWSがSWE-PolyBenchを発表。AIプログラミングアシスタントのための包括的な評価フレームワークを提供します。

🔧 ベンチマークは21個のGitHubコードリポジトリを網羅し、Java、JavaScript、TypeScript、Pythonの4つの言語をサポートしています。

📈 評価結果によると、言語とタスクの種類によってパフォーマンスに大きな違いがあり、Pythonタスクの成功率が最も高くなっています。