🐷

三刀流のAIコードレビューを導入して、理解負債をAIに返済させる

に公開

はじめに

コードレビューは開発プロセスにおいて重要な品質保証の手段ですが、人間のレビュアーだけでは限界があります。特に大規模なPRや複雑な変更の場合、全てのコードを隅々まで確認するのは時間的にも人的リソース的にも困難です。

弊社では、レビュー負担を減らすために、CodexClaude CodeGemini Coding Assistantの3つのAIモデルを使って、GitHubのPRごとにコードレビューを行うようになりました。導入当初は人間のレビュアーの負担を軽減することが目的でしたが、実際に運用してみると、AIのレビューが非常に網羅的で精度が高いことがわかり、今では人間のレビューが補完的な扱いになっています。

3つのモデルを使ったコードレビュー

使用しているツールは以下の通りです:

  1. Codex (OpenAI)

https://openai.com/ja-JP/codex/?video=1148185404

  1. Claude Code (Anthropic)

https://code.claude.com/docs/ja/github-actions

  1. Gemini Coding Assistant (Google)

https://developers.google.com/gemini-code-assist/docs/review-github-code?hl=ja

各PRに対して、この3つのモデルに同じコードをレビューさせています。それぞれのモデルは異なるアプローチや視点でコードを分析するため、レビュー内容が被らず、多角的なフィードバックが得られます。

なぜ3つのモデルを使うのか

レビュー内容の多様性

3つのモデルを使う最大のメリットは、レビュー内容が被らないことです。同じコードでも、モデルによって異なる観点でレビューされます。これにより、1つのモデルだけでは見落としがちな問題を、他のモデルが発見してくれます。

人間では追いつかない網羅性

AIは人間のレビュアーでは追いつかないほど、コードを隅々まで見てくれます。特に以下のような点で威力を発揮します:

  • 全てのファイルを漏れなく確認: 人間がスキップしがちな小さな変更もチェック
  • 型の整合性: TypeScriptの型エラーや型の不整合を徹底的に検出
  • 命名の一貫性: プロジェクト全体の命名規則との整合性を確認

人間のレビュアーの役割の変化

導入当初は人間のレビュー負担を減らすことが目的でしたが、実際に運用してみると、AIのレビューが非常に網羅的で精度が高いことがわかりました。3つのモデルがコードを隅々までチェックしてくれるため、技術的な問題のほとんどはAIが発見してくれます。

その結果、人間のレビュアーは補完的な役割にシフトし、以下のような視点に集中するようになりました:

  • 仕様のずれ: 実装が要件や仕様と合っているかの確認
  • 認識の相違: 開発者とレビュアー間で認識がずれていないかの確認
  • ビジネスロジック: ドメイン固有の知識が必要な判断

技術的な細かい指摘はAIが担当し、人間はより高次の判断に集中できるようになったことで、レビューの質が向上しました。今では、AIのレビューをベースに、人間が仕様や認識の相違といった重要な点だけを確認するという、補完的な役割分担が確立されています。

レビュー文化の改善

書き方の好みによる宗教戦争が減った

AIがコードスタイルや書き方の好みに関する指摘をしてくれるため、人間同士で「この書き方の方が良い」といった議論が減りました。AIが客観的な基準でレビューするため、個人の好みによる意見の対立が少なくなりました。

コミュニケーションコストの削減

AIが基本的な問題を指摘してくれるため、以下のような人同士のコミュニケーションが減りました:

  • レビュー確認のやり取り: 「この部分を確認してください」といった確認依頼が減った
  • 指摘への説明: 基本的な問題はAIが指摘するため、人間同士での説明が不要になった
  • レビュー待ちの時間: AIが即座にレビューしてくれるため、レビュアーを待つ時間が短縮された

これにより、開発フローがよりスムーズになり、開発速度が向上しました。

注意点とベストプラクティス ~AIの指摘を盲信しない~

AIのレビューは参考意見として扱い、最終的な判断は人間が行います。特に以下の点に注意が必要です:

  • 文脈の理解: AIはコードの文脈を完全に理解しているわけではない
  • ビジネスロジック: ドメイン固有の知識が必要な判断は人間が行う
  • パフォーマンス: AIの提案が必ずしも最適とは限らない

まとめ

Codex、Claude Code、Gemini Coding Assistantの3つのAIモデルを使ってコードレビューを行うことで、人間では追いつかないほど網羅的なコードレビューが可能になりました。レビュー内容が被らないため、多角的な視点からコードを改善でき、理解負債をAIに返済させることができます。

導入当初は人間のレビュー負担を減らすことが目的でしたが、実際に運用してみると、AIのレビューが非常に網羅的で精度が高いため、今では人間のレビューが補完的な扱いになっています。AIが技術的な問題を徹底的にチェックし、人間は仕様のずれや認識の相違といった重要な判断に集中できるようになりました。
皆さんもぜひ、3つのモデルでレビューさせて見てください。

フィシルコム

Discussion