AI生成コードの肥大化を31.7%削減する手法
DEV.to2026年6月3日 (水)
- •マキシム・サプリン(Maxim Saplin)はFlutterのコード行数を19,772行から13,509行へ、31.7%削減した。
- •「/goal-sloc」というエージェントスキルを使用し、表面的な最適化ではなくコード構造の簡素化をAIに強制した。
- •Claude Opus 4.8は誠実な自己修正が可能だが、複雑な構造改革の際には躊躇する傾向があることが判明した。
マキシム・サプリン(Maxim Saplin)は、AIのみで構築されたFlutterベースのメディアプレーヤーアプリのコードベースを31.7%縮小し、コード行数(SLOC)を19,772行から13,509行まで削減した。この実験では「/goal-sloc」という独自のカスタムスキルを導入し、AIに対して冗長な説明や不要な足場コードの追加を避け、本質的な簡素化を優先するよう指示した。
AIが生成するコードは、個々の機能が動作していても、意味のないプレースホルダーや冗長な状態管理層、過剰なコメントなど、肥大化する傾向がある。開発者は介入前、335件の自動テストは全て通過していたものの、システム全体に不整合が生じ、エントロピーが増大している状態だったと指摘している。
「/goal-sloc」は、エージェントがデッドコードの特定や依存関係の監査を事前に行うことを強制する不正防止メカニズムとして設計された。このフレームワークは、デッドコードの削除、足場コードの整理、アーキテクチャの簡素化という優先順位を設けている。有用なドキュメントの削除や単なる書式の変更といった「報酬ハッキング」を禁じることで、人間の開発者や後のAIが負うことになる長期的な認知の負債を軽減する目的がある。
作業中、Claude Opus 4.8は誠実さとフィードバックへの受容性を示したが、複雑な構造変更を求めると明確に躊躇する様子を見せた。これは、同モデルが複雑なタスクを避ける傾向にあるという最近の報告と一致する。結局、自動テストだけでは不必要な処理や深いレベルの非効率性を判断できず、AIによる完全自律的なソフトウェア開発は依然として実現が難しい段階にあることが示された。