LLMエージェントが自律的にプルリクエストを作成・提出するケースが増えています。しかし、長期的な保守性の観点ではどうなのでしょうか。そして、人間のレビュアーはAI生成コードをどのように受け止めているのでしょうか。

背景
ソフトウェア開発の現場では今、大きな変化が起きています。
少し前までは「人間が書いたコードをAIが補完してくれる」くらいの立ち位置でした。それが今では、GitHubのIssueを読んで、コードを書いて、プルリクエストまで出してくれるLLMエージェントが登場しています。
となると気になるのが、「AIが書いたコードは、品質的にどうなのか?」という話です。よく使われる評価方法は、テストが通るかどうか。でも、テストが通ることと、後から読みやすいか・直しやすいかは、また別の問題です。
なかでも厄介なのが「コードの重複」です。プロジェクト内にすでに似たような処理があるのに、AIがそれを知らずに同じようなコードを新しく書いてしまう。こういう重複があると、あとでバグを直すときに片方だけ修正してもう片方を見落とす、といったことが起きやすくなります。
そこで本記事では、AIが書いたコードにどんな特徴があるのか、そして人間のレビュアーがそれをどう受け止めているのかを大規模に調べた研究を紹介します。