8月27日、Stuart Spence氏が「Why I'm declining your AI generated MR」と題したブログ記事を公開した。この記事では、AIを使ったコード生成について、著者自身が「場合によってはコードレビューにすら値しない」と強い姿勢を示し、議論を呼んでいる。
著者がレビューを拒否する理由
Spence氏はAIを全面的に否定しているわけではなく、AIを活用して100万件以上のインストールを持つプロジェクトを運営するなど、実務経験も豊富である。それでもあえて「AI生成コードのマージリクエスト(MR)はレビューに値しない場合がある」と述べるのは、AIの限界を現場レベルで体験しているからだ。
著者は AI生成コードがコードレビューの目的を根本から損なう と警告する。具体的には以下のようなケースを挙げている。
- 不要なコードがそのままになっている
例:組織で使わないOS向けセットアップスクリプト。削除した方がよいコードを残したまま提出することで、レビューアの負担を増やす。 - プログラム言語の基礎を理解していない
作者が自分の提出したコードを理解していない場合、レビューは「AIへのフィードバック」に堕してしまい、開発者自身の学びを阻害する。 - ドキュメントスパム
内容の重複した文書を複数形式で自動生成するなど、無駄に文章量を膨らませ、レビューアの時間を浪費させる。 - コードに一貫性が欠如している
ログ処理やテストに異なるフレームワークを持ち込むなど、プロジェクト全体の複雑性を増やし、理解のハードルを不必要に上げる。 - エッジケースへの対応が過剰
「全ケースに対応する」ように見えるが、実際には未検証の例外処理を増やすことで、品質を逆に低下させる。 - 不明瞭・不要な依存関係が追加される
「なぜ導入するのか」を説明できないまま古いライブラリを加えることは、チームに誤った知識を広めるリスクになる。
これらはすべて、コードレビューが本来果たすべき「学習機会の提供」「妥当性確認」「認知負荷の低減」「プロジェクトの改善」といった目的を損なうと筆者は論じている。
AI生成コードが許容されるケース
ただしSpence氏は、AI生成コードをすべて拒絶しているわけではない。次のような状況であれば、受け入れる余地があるとする。
- 一時的なスクリプトや短命な解析コードなど、長期的に保守する必要がない場合。
- プルリクエストの中で「なぜAIを使ったのか」「どの程度使ったのか」「どのように検証したのか」が明示されている場合。
- プロジェクトの中核ではなく、周辺的な機能である場合。
つまり、AIの誤用を強く批判しながらも、「正しい場面での限定的な活用」については柔軟な立場を取っている。
チーム運営上の葛藤
記事の最後で著者は、指導者としての悩みも吐露している。
若手がAI生成コードを提出したとき、それを「効率化のための賢い判断」とみなすべきか、それとも「怠慢」として拒絶すべきかは容易に判断できない。
彼自身も「線引きはまだ模索中だ」と述べ、AI時代における教育・指導の難しさを認めている。
SNS・開発者コミュニティの反応
この記事はHacker Newsなどで大きな議論を呼んだ。以下に、実際のコメントを英文のまま引用し、情報源リンクを併記する。
- 肯定的な反応
"I have, and I have declined them all. Prompting an LLM and pointing it to somebody else's repo is not helpful, it's distracting and disrespectful…"
「私も同じ経験があるが、すべて却下してきた。他人のリポジトリに対してLLMで生成したコードを投げるのは役に立たないし、注意を逸らすだけで失礼だ。」
— Hacker News
"I got a MR the other day that should be 40 lines of code but it was 1000. It 'mostly' worked. Do I pick apart this slop? Why should I? It's bad for the team and for the project."
「先日40行で済むはずのMRが1000行で送られてきた。『一応動く』が、このスロップを細かく確認すべきだろうか?なぜそんなことを?チームやプロジェクトにとって有害でしかない。」
— Hacker News
- 冷静な評価
"From the comments I was expecting a less well reasoned post. However, while I don't agree with some of his rationale, generally they seem reasonable."
「もっと感情的な記事を想像していたが、思ったより筋が通っていた。いくつかの理由には同意しないが、全体としては妥当だと思う。」
— Hacker News
- 懐疑的な反応
"I feel like the overemphasis on AI generated ones is kind of posturing."
「AI生成コードばかり批判するのは、少し違うのでは?(品質の低いコードなんてざらにある)」
— Hacker News
まとめ
Stuart Spenceの主張は、AI開発に精通した人物が「AI生成コードはコードレビューに値しない」と強く断じた点に最大のインパクトがある。
それは、AIの有用性を認めつつも「どこで線を引くか」という難題を真正面から提示しており、開発者コミュニティに賛否両論の議論を巻き起こしている。
詳細はWhy I'm declining your AI generated MRを参照していただきたい。