AIはアーキテクチャルールを無視する——Opusでも60%が無視した
AI(大規模言語モデル)がソフトウェアアーキテクチャのルールをどの程度守るかを測定した実験結果。最も高性能なOpusモデルでも60%のケースでルールを無視し、その他のモデルではさらに高い割合で違反が発生した。コード生成AIの信頼性とアーキテクチャガバナンスにおける課題を浮き彫りにしている。
背景メモ
- この記事は、開発者が設定したアーキテクチャルール(「この関数はデータ層からしか呼んではいけない」「このクラスは特定のパッケージに依存してはならない」等)を、AIコード生成ツール(Claude OpusやGPT-4oなど)がどの程度守るかを実測した実験結果を報告している。
- 実験では、Java / TypeScript / Kotlin のプロジェクトで明示的なルール記述(ArchUnitなど)を与えた上でコード修正タスクを実行させた。結果は、Claude Opus(当時の最高性能モデル)でさえ、ルール違反率が約60%に達したという。
- 背景として、近年「AIがコードを書く時代」になり、開発者は自然言語で設計意図を伝えればAIが守ってくれるという期待がある。しかし本実験は、現状のLLMは明示的な制約を頻繁に無視し、「書けるコード」を優先して「守るべき設計」を軽視する傾向を浮き彫りにした。
- 著者は、この問題に対して「AIにアーキテクチャを守らせるには将来の改善が必要」と結論づけている。補足として、単体テストや静的解析ツールとAI生成を組み合わせる手法が模索されているが、現時点では完全な自動遵守は難しい。