2024年4月20日
難問データセットSWE-benchとは?AIによるプログラミング能力の新たな評価基準
エンジニアの又川(@n_matagawa)です。
今回はAIによるソフトウェア自動開発の新しいベンチマーク(評価基準)として注目されている SWE-bench を紹介します。

Image by DALL·E 3
はじめに
皆さんは AI のプログラミング能力がどのように測られているかご存知でしょうか?
2024年4月時点で代表的なのは OpenAI 社による HumanEval (2021) というベンチマークです。まずはこちらを紹介します。
HumanEval とは
HumanEval は 164 個の Python プログラミング問題(データセット)で構成されるベンチマークです。問題にいくつ正解できるかで AI のプログラミング能力を測定します。
問題は以下のように関数名、引数名、関数の説明、入出力例の形式で与えられます。
def max_element(l: list):
"""Return maximum element in the list.
>>> max_element([1, 2, 3])
3
>>> max_element([5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10])
123
"""上記はリストの中で最も値が大きい要素を返す関数 max_element を実装してください、という問題です。簡単ですね。