LoopsBench は、コーディングエージェントのループエンジニアリング層を長期にわたって評価するためのベンチマークである。 LoopsBench:コーディングエージェント評価におけるハーネスエンジニアリングからループエンジニアリングへ で導入された。各タスクは有向非巡回グラフであり、ノードはソースに根拠を持つ開発単位、エッジは前提関係である。 これにより中間の単位を個別にテストでき、ループの最終状態だけでなく、その進捗、順序付け、そして先行する作業の 保持を観察できる。
内容
このベンチマークは 112 件のタスク — PR Sequences 29 件、Course Labs 57 件、Research Evolutions 26 件 — を含み、 9 つのドメインと 8 つのプログラミング言語にまたがり、依存関係の深さの中央値は 6、開発単位は 5,300 を超える。 開発単位は、要件、ファイルまたはシンボルのスコープ、前提となる単位の集合、参照パッチへの寄与分、そして固有の テストを持つ。各タスクは自己完結したディレクトリであり、Dockerfile(マルチサービスのタスクでは docker-compose ファイルも)、テストのエントリポイントスクリプト、参照解、DAG トポロジーを含むタスクメタデータ、単位ごとの要件 ファイルと単位ごとのテストディレクトリ、そして解が適用されるベースコードベースを備える。評価対象のループは、 全体の指示、単位のマニフェスト、付属するテストを見ることができるが、参照パッチ、その時点で着手可能な単位の フロンティア、スコアリングの状態は評価者側だけが保持する。
付属のランタイムは、ある単位のテストをその前提がすべて合格したときにのみ公開し、完了した単位のテストを リグレッションの義務として引き続き適用し、別のコンテナから一定の間隔でワークスペースをサンプリングし、 ループのトレースを記録する。このトレースから、解決率、テスト合格率、依存関係の深さ、リグレッション率、参照 DAG に 対する計画の忠実度といった指標が算出される。有効なトポロジカル実行順序であれば、どれでも受け入れられる。
来歴
元となる成果物は 3 種類の公開資料から得られた。30 の大学の公式な授業ページとその課題公開の公開ミラーから 収集された大学のプログラミング課題、活発にメンテナンスされている 56 の GitHub リポジトリのコミット履歴と マージ済みプルリクエスト、そしてオープンソースの公式実装を持つ高被引用論文 212 本と、それらが引用する先行研究 および後続の引用論文である。候補は(一部は Claude Code ベースの抽出・分類ステップによって)タスクへと正規化され、 2.5 か月以上にわたり、最低限の解の規模を満たすものだけが残された。依存関係のエッジは曖昧さのない証拠 — 同じ ファイル内で重なり合うハンク、または先行する単位が導入した定義のインポート、呼び出し、サブクラス化 — がある場合に のみ認められ、頻繁に変更されるファイルや生成された成果物に由来する見せかけの連鎖を防ぐための拒否リストが 用いられた。タスクの指示は、Claude Opus 4.7 を用いた Claude Code ベースのステップによってゴールド diff から 生成され、このステップは実装の道筋を隠し、リポジトリ名、授業の識別子、論文タイトル、著者の帰属情報を取り除いた うえで受け入れ条件を記述する。単位テストは、解決可能性、非自明性、識別力のチェックを経たうえでのみ採用された。 著者らは、すべてのタスク、開発単位、実行可能なテストを公開していると述べており、コードは microsoft/Loopsbench に ある。
用途
導入論文は、このベンチマーク上でフロンティアモデルと 6 つのループ実装を評価し、最良の解決率が 25.00% であった と報告している。その知見は論文のページにまとめられている。