Hacker Newsで注目のSWE-CI、長期コード保守を測るcoding agent benchmark

最近Hacker Newsで注目を集めたSWE-CIは、既存のcoding benchmarkが見えにくかった問いを正面から扱う。agentは単一のpatchを当てるだけでなく、時間がたってもcodebaseを健全に保てるのか、という点だ。論文はHumanEval、LiveCodeBench、SWE-benchのような既存benchmarkが主にsnapshot性能を測っていると指摘する。しかし実際のsoftware開発では、要求は順番に到来し、interfaceは変わり、初期の設計判断が後続の変更コストを大きく左右する。

SWE-CIはその現実をbenchmark設計に直接組み込む。データセットは68個の実リポジトリから切り出した100 taskで構成される。各taskはbase commitとより後のtarget commitを結び、平均で233日、71個の連続commitにまたがる。評価はbase codeから始まり、analysis、implementation、testを繰り返しながらtarget側へ近づく形だ。つまり、issueを一度のpatchで解くのではなく、Continuous Integration loopそのものをなぞる。

評価プロトコルも特徴的だ。Architect agentがfailing testを読み、原因を整理し、短いhigh-level requirement文書を書く。Programmer agentはその文書を受け取って次の変更を実装する。中間状態はEvoScoreというfuture-weighted metricで評価される。拡張しやすいcodeは報われ、technical debtやregressionを積み上げるcodeは不利になる。論文が強調するのは、maintainabilityは単一時点の正誤では見えず、連続した修正の中でしか観測できないという点だ。

初期結果も実務的だ。著者らは8 providerの18 modelを対象に、総計100億token超の実験を行ったと説明する。同一provider内ではnewer modelほど高い傾向があり、Claude Opus系が最上位に立ったという。ただしより重要なのは限界の方だ。長期保守の全過程でregressionが一度も起きないsample比率、すなわちzero-regression rateは大半のmodelで0.25未満だった。単発のpatch benchmarkを解けることと、長期のcode maintenanceを安定して回せることはまだ別問題だと分かる。

だからこそHacker Newsで反応が出たのも自然だ。SWE-CIは単なる新しいleaderboardではなく、評価対象を短期のfunctional correctnessから長期のcode qualityへ移そうとする提案である。coding agentがdemo patchから実際の保守業務へ進むなら、この種のbenchmarkが本当の限界を先に露出させる可能性が高い。

原文: SWE-CI論文
コミュニティ出典: Hacker News discussion
プロジェクトリンク: GitHub, dataset