AIコードの「雑さ」を定量化する試み
原題: Measuring the sloppiness of code
なぜ重要か
コード生成AIの「正確さ」競争が一段落する中、保守性・可読性の定量評価が次の技術的課題として浮上しており、ツールベンダーや企業開発チームへの影響は大きい。
LLMが生成するコードは形式的な正確さをほぼ達成しているが、不要な抽象化・重複・設計上の悪判断(いわゆる「slop」)が残る問題が浮上している。Earendilのエンジニア Sebastian 氏が2026年9月、コードの雑さを測定するアプローチを体系的に検討したブログ記事を公開。AI審査・人間審査・LOC変化量・Verbosityなど複数の手法の有効性と限界を分析した。
LLMはコードの「正しさ」においてはほぼ完璧な水準に達した。テスト自動化によって明確な報酬シグナルを得られるためだ。しかし「雑さ(sloppiness)」の評価は全く別の話である。
EarendilのSebastian氏は物理学のバックグラウンドを持ち、定量的アプローチでこの問題に取り組んだ。まず業界と学術論文を広く調査したが、「End-to-end coding agents」「Human-level evaluation without human-level cost」といった宣伝文句が飛び交う一方、実態は「感覚頼り(vibes-based)」な評価が主流だと指摘する。
氏が検討した主な測定手法は以下の4つだ。
**AI-as-a-judge(AI審査)**:最も広く使われているが効果は低い。1〜10のスコアリングはほぼ乱数と同義。A/B比較でも、解答のラベルを変えるだけでモデルの判断が変わるという問題がある。ルーブリックやLLMによるテスト生成など洗練されたアプローチでも、slopを排除するには程遠い。
**人間による評価**:品質保証の観点では最善だが、エンジニアの能力にばらつきがあり、AIの大規模ベンチマーク用途にはスケールしない。
**LOC(コード行数)の変化量**:シンプルながら意外に有効な指標。ただし最適化対象にした瞬間に指標として意味を失うという皮肉な欠点がある(いわゆるグッドハートの法則)。
**Verbosity(冗長性)**:論文「SlopCodeBench」が提唱する手法で、既存のレガシーコードベースとLLM生成コードを区別できる点が有望とされる。
氏はさらに「vibe-codingを続けると機能追加のたびにLOCが爆発的に増加し、月間数百万行を超えるプロジェクトでは人間がコードを把握しきれなくなる」と警告する。エージェント自身もslopを処理できないと断言しており、問題の解決はAIだけに委ねられないと強調している。