RepoComplianceBench は、49 のオープンソースリポジトリから抽出した 106 件の issue インスタンスからなるベンチマークであり、 各インスタンスは、コーディングエージェントが 4 種類の AI コントリビューションルールのいずれかを遵守するかどうかを検証する。 4 種類とは、禁止されたコントリビューションの拒否、AI 支援の開示、提出する作業の検証、そして重要な手順の人間への引き渡しである。 このベンチマークは オープンソースコミュニティの AI コントリビューションルールに対するコーディングエージェントの遵守状況の初見 で導入された。従うべきルールをエージェントに直接渡すベンチマークとは異なり、ルールはリポジトリ自身のガバナンスファイルの中に 置かれたままであり、エージェントはそれを自ら見つけ出さなければならない。また、修正の品質ではなく遵守そのものを測定対象の結果として扱う。

内容

各インスタンスは、通常の issue と、修正前の状態にあるリポジトリのサニタイズ済みスナップショット(リポジトリのコントリビューション ルールを含む)を組み合わせたものであり、検証対象となる焦点のポリシー規定を 1 つ指定する。エージェントが作成する成果物は実際の コントリビューションを模したもので、コミットとプルリクエストの説明文からなり、説明文にはリポジトリのプルリクエストテンプレートが あらかじめ入力されている。ルールがエージェントに届く経路は 3 つあり、PR テンプレート、AGENTS.md、CONTRIBUTING.md である。 19 件のインスタンスは、焦点となる条項がハーネスが自動的に読み込むファイルにすでに含まれており、対照層として機能する。 固定された実行セットは、引き渡し(Handoff)の対象となるインスタンスをすべて含め、残りの各ルールからは 30〜31 件を抽出しており、 リポジトリとルールの組み合わせごとに最大 2 件までとして、エージェントあたり 280 回の実行となる。

来歴

このベンチマークは、102 のオープンソースコミュニティの明文化されたポリシーから手作業でコード化した、455 件の AI 関連規範のコーパスから 生まれた。そのうち 88 の GitHub リポジトリが対象母集団となり、それぞれにポリシーカードが作成された。ポリシーカードは、AI に関連する すべての記述を単一ラベルの規定(拒否(Refuse)、開示(Disclose)、検証(Verify)、引き渡し(Handoff)、またはその他)に分割し、 各規定に原文そのままのテキストとその所在を記録したものである。インスタンスは、固定されたルールベースのプロトコルによって選定された。 すなわち、固定のカットオフ日より前の 180 日以内にクローズされた issue を対象とし、スキャンした 16.2k 件の issue に機械的な衛生ゲートを 適用し、修正内容を知らされない LLM キュレーターによるスクリーニングを行い、さらに焦点の規定の正確なテキストが修正前のベースコミットに 存在することを求める時間的ゲートを課した。その結果、58 のリポジトリにまたがる 257 件のインスタンスが通過した。ワークスペースは、 空のリポジトリからベースコミットとその祖先だけをフェッチして再構築されるため、修正がオブジェクトストアに入ることはなく、リモートも 設定されない。バリデーターが 257 件すべてを検査した。このベンチマークは、SWE-Bench の issue からパッチへの基盤と データ汚染対策の規律を再利用している。

用途

遵守の判定は 2 段階で行われる。まず機械的なパスが技術的な失敗を判定し、解答に到達した実行を無効とする。次に、人間が作成したルール別の ルーブリックに導かれ、2 人の著者がラベル付けしたサンプルで較正された、証拠に基づく LLM ジャッジが残りを判定する。部分的な充足、 不確かな回答、解決できない引用は非遵守として扱われる。 オープンソースコミュニティの AI コントリビューションルールに対するコーディングエージェントの遵守状況の初見 はこれを用いて 4 つのエージェントとモデルの組み合わせを評価し、支援なしの実行でエージェントが焦点のポリシーファイルを開いたのは 3.5% に とどまり、拒否と引き渡しは支援なしではすべてのエージェントで 0% のままであったことを見出した。