複雑な修正がレビューを通してわずか1行に、原因は「コードの意図・背景への理解不足」
小林氏はレビュー負荷増加の要因として「コミュニケーションコストの発生」と「自分が持つ知識以上のコードの出現」を挙げ、それぞれの具体事例を紹介した。
前者の事例は、Androidアプリのボトムシート(画面の下部から上にスライドして表示するUI要素)の実装で発生したトラブルだ。コンテンツのスクロール時に、意図せずボトムシート全体が隠れてしまう不具合に直面した小林氏は、自力での解決を断念し生成AIの力を借りた。
「ボトムシートを実装していて内部のコンテンツのみをスクロールさせたいのにボトムシートが動いてしまう。どう解決すればよいか」という質問に対し、AIは複雑な処理を使った解決策を提示した。
動作確認で問題なく動いたため、小林氏はそのままプルリクエストを作成したが、レビュアーとの間で長いやり取りが発生した。レビュアーは「このような問題はAndroid開発でよくあることなので、ネット上にも同様の事象がありますが、確認されましたか」と指摘。最終的に判明したのは、わずか1行の修正で済む内容だったということだ。
小林氏は「検索すれば答えは見つかったはずですが、私は生成AIに依存するばかりで検索が不十分でした」と振り返る。
後者の事例は、レビュアーになったときに発生した問題だ。生成AIが出力する「やや複雑で、初見では読み解きにくい構造」や「見慣れないAPIや文法が使われている」コードに直面した際、「このコードはどのような意図なのだろうか」「何からチェックすればよいのか全く見えない」という状態になり、結果として見落としが発生してしまった。
小林氏は両事例の共通点として「コードの意図・背景への理解不足」を指摘し、「レビューは動作するかどうかだけでなく、なぜそう書いたのかが問われる場です。AIでコードを書くことは珍しいことではなくなりましたが、レビューの場ではAIが実装したコードに対して、人間が実装したコードと同様にその意図と背景を理解することは必須です」と注意を促した。

