
はじめに
ひととりです。初投稿です! 皆さんはチーム開発を行う上でAIに書かせたコードをPRしてコードレビューで他者を困惑させたり、逆に人のPRについてコードレビューして「うっ」と感じた瞬間はありますか?
どちらのケースも経験したのでこの記事では反省と改善案を書きます
結論から言うと AIに書かせたコードをPull Requestする前にコミット内容は説明できるようにしよう! が私の意見です
自分がAIに書かせたコードをPRし、コードレビューで他者を困惑させたケース
デジタル庁法令ハッカソンで開発していた機能に一部バグがあり、原因把握と修正をClineに丸ごと投げてPRを作成してしまいました
ハッカソンでのMVP開発だったということもあり、「とりあえず動くようになったしいいか!」くらいの気持ちでPRを作成していました
コードレビューでは 「これって何が問題でどうやって修正したPRなんでしたっけ?」 とコメントされ、ハッとしました
自分がコードを説明できるだけの理解をしないまま軽率なPR出してしまっていたなと
動くからいいよね、程度の軽い気持ちでしたが、レビュアーの方を困惑させてしまっていました…
実装自体に漏れがある可能性や、不要なコードは相手を困惑させてしまうことにもっと慎重になるべきでした
改善案
AIにコードを生成させること自体は問題ありませんが、処理の流れと中身を開発者自身が理解している必要はあります
PRを作成する際はバグの原因や修正内容を正しく説明できるよう、理解に努めましょう
AIに書かせたコードを理解する必要性はこちらの記事でも説明されています
例えハッカソンでスピード重視だったとしても、コードの中身の理解をスルーしてしまうと結局チーム全体が「あれ? これ何?」な状態になってしまいます…!
自分がレビューを行なって困惑したケース
こちらはGIFTech2025ハッカソンでレビューしていたコードにどう考えても不要な処理が多数含まれており、困惑しながら処理内容についてPR作成者に質問した話です
生成AI自体は大量のコードを作成しますが、正直なところ不要なコードも多いためレビューが大変です…
レビューのためにコードを読み進めるたびに不要な処理が見つかり、一つ一つ「この処理は必要か」「APIレスポンスに不要と思われる値が含まれているがその意図は何か」といった質問を重ねてしまっていました
レビュイーは生成AIを使ってコードを書いていたとのことで指摘内容に関して私の意見に納得していました
後日、「あの時は鬼気迫っていた」とコメントされたので私の指摘の仕方も良くなかったと思います(自分のことは棚に上げておいて…)
改善案
レビュー文章を作成した後に少し寝かせ、文体を柔らかくする
鬼気迫ると指摘を受けたのは自分がコードをレビューし、その多くの処理が無駄であったことから多少モヤモヤしながらコメントを作成し、そのまま送信したことが理由ではないかと考えています
コメント作成後は送信ボタンを押す前に少しPCから離れてリラックスした後に文章を確認するのが良さそうです
ハッカソンなので楽しくプロダクト作れればそれでいいや、というスタンスですがこれでは意味がないので態度を改めるきっかけになりました
コードの中身を理解しないPRはチーム全体を「あれ? これ何?」な状態にしてしまいますが、レビュワーも言い方を誤るとチームにヒビが入る原因になるかもしれません…!
まとめ
AIはうまく使えば心強い味方ですが「AIが書いたから完璧!」と丸投げすると、自分もチームもAIに振り回されることになりかねません
AIに書かせたコードは自分で説明できるくらい噛み砕いてみるとレビューもスムーズになるし、自信を持って次の実装に進めます!
完璧な理解は時間もかかるし大変ですが、説明できる範囲を少しずつ広げていきましょう!
ここまでお読みいただきありがとうございました🙌