ベンチマーク · coding

RepoBench

0 結果 0 モデル

RepoBench は Python と Java を対象としたリポジトリレベルのコード自動補完ベンチマークで、ファイル内コンテキストと同一リポジトリ内の他ファイルからのクロスファイルコンテキストの両方を用いて、コードの次の1行を予測できるかを測定します。検索(RepoBench-R)、次行補完(RepoBench-C)、エンドツーエンドのパイプライン(RepoBench-P)の3つのタスクからなり、主に Exact Match と Edit Similarity で、検索タスクでは検索精度で評価されます。

詳しく見る
ソースファイルの先行する数行に加え、同一リポジトリの他ファイルから抜き出したコード断片(例えば補助関数やクラスを定義するモジュール)が与えられたとき、唯一の次の1行のコードを予測する——通常は他ファイルで定義された何かを呼び出す、あるいは参照する行です。
採点方法
補完(RepoBench-C と -P):予測された次行を正解行と Exact Match(完全一致した行の割合)および Edit Similarity(0–100 のスコア = 1 − 正規化 Levenshtein 編集距離)で比較します。CodeBLEU も報告されます。検索(RepoBench-R):accuracy@k——正解のクロスファイル断片が上位 k 件の検索候補に含まれる項目の割合です。
検証方法
採点は自動かつ参照ベース(コード実行なし)です。モデルの出力行を正規化し、元のリポジトリから取り除かれた本物の次行と文字列照合します。Exact Match では、補完が正解行と1文字も違わない場合にのみ正解とみなされ、Edit Similarity は部分点を与え、検索は正解断片が上位 k 件に現れたときに受理されます。
重要な理由
実際のコーディング支援は、開いているファイルだけでなくリポジトリ全体にわたって推論しなければなりません。RepoBench はクロスファイルコンテキストのモデリング——正しいコンテキストの検索と、それに依存する次行の予測——を切り出して評価するため、リポジトリ対応かつ長コンテキストのコードモデルの標準的な試験場となりました。
解説付きの例
課題
クロスファイルコンテキスト(helpers/formatting.py): def to_title(text): return text.strip().title() ファイル内コンテキスト(report.py): from helpers.formatting import to_title def make_heading(raw): 次の1行を予測してください。
解答
return to_title(raw)
解説
取り除かれた次行は、クロスファイル断片で定義され冒頭でインポートされた補助関数 to_title を関数の引数に対して呼び出しており、これは元のリポジトリコードがここで行っていたことそのものです。他ファイルを無視するモデルは to_title が正しい呼び出しだと知りようがありません。採点:正解行との Exact Match に加え、Edit Similarity が近い一致に部分点を与えます。

このベンチマークの検証済みスコアはまだありません。