ニーリーアドベントカレンダー 8日目を担当する増田(ますた)です。
文章力に乏しいため、AIに助けてもらいながらこの記事を書きました。 去年に続きススメシリーズです。
コードレビューで「こうした方がいい」と指摘したのに、意図が伝わらず違う方向に修正されてしまった——皆さんそんな経験はありませんか?
本記事では、今年私の中でハマっている手法である「AI巻き込み型レビュー」を通じてこの問題を解決するアプローチを紹介します。
コードレビューにおける「伝える難しさ」
コードレビューは単なるコードのチェックではありません。「なぜこう書くべきか」という意図や背景を、レビュイーに正確に伝える必要があります。
しかし、これがなかなか難しいんですよね。
指摘の理由をうまく言語化できず、結果としてレビュイーが意図を曲解し、誤った方向に修正してしまう。そして再レビュー、再修正……。この手戻りは、チーム全体の生産性を下げる大きな要因です。
特にチーム内で経験やスキルセットに差がある場合、一つのコメントですべてのコンテキストを伝えるのは至難の業です。丁寧に説明しようとすれば時間がかかり、簡潔に書けば意図が伝わらない。このジレンマに悩んでいる方も多いのではないでしょうか。
CodeRabbitとは
CodeRabbitは、GitHubやGitLabのプルリクエストに対してAIが自動でコードレビューを行ってくれるサービスです。弊社も今年導入して非常に助かっています。
私のチームではCodeRabbitの指摘を全て解決してからレビューを回すようにしています。そのお陰で導入前と比較して格段にメンバー全員のアウトプットの質が向上しました。
主な機能として以下があります。
- プルリクエストの自動レビューとサマリー生成
- コードの問題点や改善提案の指摘
- レビューコメントに対する対話的なやり取り
これらの機能の中で、今回の話において特に注目したいのはレビューコメントに対する対話的なやり取りです。CodeRabbitはコメント欄で @coderabbitai とメンションすることで、AIと対話的に議論をすることができます。
AI巻き込み型レビューという選択肢
私が最近実践しているのは、レビューコメントの末尾に一言加えるというシンプルなアプローチです。
ここは〇〇のパターンを使った方が良さそうです。 @coderabbitai
たったこれだけです。
するとCodeRabbitが私の指摘に対して意見を返してくれます。
Coderabbitは指摘を読み取って、今回の修正範囲だけでなくリポジトリ内のコードを読み取り適切にコンテキストを理解した上で、修正案を提示してくれたり指摘自体に誤りがある場合は反論をしてくれたりします。
その応答に対してさらに質問したり、別の観点を聞いたりすることで、オープンな場で議論が展開されます。
この議論の過程がそのままレビュイーへの説明になるのです。

なぜこれが有効なのか
言語化の限界を補える
レビュアーが頭の中で考えていることを、一発で完璧に言語化するのは難しいものです。「なんとなくこうした方がいい」という感覚はあっても、それを論理的に説明しようとすると言葉に詰まることがあります。 また、それをうまく伝えようと文言を考えることでレビュアーの時間を奪うこともあります。
AIとの対話を通じて、自分の考えを段階的に言語化できます。AIからの質問や反論に答える過程で、自分自身の思考も整理されていきます。
経験・認知の差を埋められる
チームメンバーの経験やバックグラウンドは様々です。ベテランにとっては当たり前のことでも、経験の浅いメンバーには馴染みのない概念かもしれません。
AIとの議論では、前提知識の説明や具体例の提示が自然に行われます。この過程がそのまま、異なるレベルのメンバーへの橋渡しになります。
曲解による手戻りを防げる
短いコメントは誤解を生みやすく、長いコメントは読まれません。
AIとの対話形式なら、複数のやり取りを通じて多角的に意図を伝えられます。レビュイーは議論の流れを追うことで、指摘の背景にある文脈を理解しやすくなります。
修正をAIに任せる際のコンテキストになる
CodeRabbitには、指摘に基づいてコードを修正してもらう機能もあります。
ここで威力を発揮するのが、オープンディスカッションの存在です。AIに修正を依頼する際、それまでの議論がそのままコンテキストとして渡されます。「なぜこう修正すべきか」という背景を理解した上でAIが修正を行うため、より正確なアウトプットが得られやすくなります。
レビュー → 議論 → 修正という流れがシームレスにつながる。これも、オープンな場で議論を行うメリットの一つです。
心理的なメリット
レビュアー自身の誤りに気づける
正直に言えば、レビュアーも間違えることがあります。
AIに意見を求めることで、レビュイーに指摘する前に「実はこの指摘、的外れかも?」と気づけることがあります。これは恥ずかしい誤指摘を防ぐセーフティネットになります。
対立構造を緩和できる
コードレビューは時として「レビュアー vs レビュイー」という対立構造になりがちです。指摘する側・される側という関係は、どうしても緊張感を生みます。
AIを議論に巻き込むことで、「一緒にAIの意見も聞いてみよう」という協調的な雰囲気を作れます。第三者の視点が入ることで、建設的な議論がしやすくなります。
具体例
ほとんどお見せすることはできませんが、チーム内で実際に使っている場面を少し紹介したいと思います。




まとめ
AI巻き込み型コードレビューは、レビューコメントに @coderabbitai と一言加えるだけのシンプルなアプローチでありながら絶大な効果を発揮していると日々効果を実感しています。
- 言語化の限界を対話で補う
- 経験・認知の差を議論の過程で埋める
- 曲解による手戻りを多角的な説明で防ぐ
- レビュアー自身の誤りに事前に気づく
- 対立構造を協調的な雰囲気に変える
皆さんもぜひAI巻き込みレビュー試してみてください!
明日のニーリーアドベントカレンダーもお楽しみに!