AI レビューでレビュー負荷を軽減する
こんにちは、ソロキャンプ、一人旅行、一人焼肉、ソロ活動の楽しさに覚醒したよしざわです。ソロキャンプは一人焼肉も兼ねることができてオトクです。
皆さんは、プロジェクトで AI 活用されていますでしょうか。特に AI レビューに関してはすでに Claude Code GitHub Actions や Copilot 、CodeRabbit などさまざまなサービスが登場しており、コードの構文チェックや一般的なベストプラクティス違反の検出など、定型的なレビューは驚くほどの品質で行ってくれます。
しかし、プロジェクト固有の要件やビジネスロジックに関するレビューは人間が行う必要があるケースが多いです。
そこで今回は、無理なくプロジェクト固有の要件収集して、AI レビューに活かすためのステップについてご紹介しようと思います。
体感ですが、指摘してほしいポイントについては8割前後ほどちゃんと指摘してくれており、かなり可能性を感じる出来になっていると思います。
まずはプロジェクト固有の要件を少しずつまとめていく
私が考えた無理のない AI レビューの環境作りというのが、 AI レビュー用のチェックリストを作成して、それを利用して AI にレビューしてもらうということです。
しかしあらかじめレビュー項目を列挙するというのは現実的でない上に手間暇がかかって大変です。そこで、なるべく楽に成果が出せるように、 PR に実際についたレビュー項目を AI を活用して少しずつチェックリストに追記していくということにしました。
実際の PR を活用することによって NG ケースと OK ケースを実際のコミットから簡単に取得することができ、レビューコメントを AI に整形してもらうことで簡単にチェック項目を作成することができます。
また、作成したプロンプトはチェックリストの参考にしようしたコミットを利用してテストすることもできるので、体感指摘してほしい箇所は 8~9 割ほどの精度で指摘してくれています。
チェックリストはそのままプロジェクトでありがちな NG 集などとしてオンボーディング資料に活用することもできるので一石二鳥です。
以下に実際に運用しているチェックリストに近い形式の例を添付します。チェックリストと言っても内容の形式は、人や AI が読んでわかりやすければなんでも良いと思います。
### 1. フォームのバリデーション
- フォームのバリデーションは zod schema を利用して作成し、 formNameSchema.ts としてファイルが分離されていること
- zod schema は対応するテストファイルが作られていること
### 2. 型アサーション使用時の注意点
- 型アサーションを使う場合は、論理的に使用が問題ないこと、なぜ使う必要があるのかがコメントで補足されている必要がある
上記のように私はとりあえずチェック項目1つにつき 1 つの章を割り当てて補足情報を書いていますが、この辺りは運用者やプロジェクトのクセによって使いやすい形式で問題ないです。
チェックリストを利用して PR の品質を向上する
作成したチェックリストは手元で PR 作成前に gemini や claude でのセルフレビューに活用しても良いですが、ある程度実用的な量のチェックリストになったら基本的には Claude Code GitHub Actions などを利用して CI に組み込むことをお勧めします。
CI に組み込むことでプロジェクト全体で一度発生したレビュー指摘を人間が再度指摘する可能性をグッと減らすことができ、より確実なレビュー負担軽減につながります。
ただしチェック項目が増えてきたり 1PR の変更行数が多い場合などはレビューの精度が落ちてしまう場合があります。そういった際に AI に読み込ませないファイルを指定したり、チェックリスト自体を分割してコンテキストを節約するようにするなど、運用での工夫や改善は続けていけると良いと思います。
まとめ
AI の登場により、プロジェクトのコンテキストを整理する負荷が減り、コンテキストを整理する需要が高まっています。思いついた時に一気にコンテキストを整理するのは大変なので、レビューコメントがついたら、PR がマージされたらなど、何らかのタイミングで雑にでも良いのでコンテキストを収集するような仕組みを作っていると、後から良いことがあると思います。
今回の AI レビューは収集するコンテキスのハードルの低さの割に成果を実感しやすい仕組みとなっているので、ぜひみなさんの環境でも気軽に試していただけると嬉しいです。
Gaji-Labo は フロントエンドのAI開発の実績と知見があります
急速に進化するAI技術、進まないUIとの統合…。 ユーザー体験を損なわずにAIを導入したいと考えながら、実装や設計に悩み、開発が停滞している。 そんな課題を抱えるプロダクトや開発チームを、私たちは数多く支援してきました。
フロントエンド開発の専門企業である Gaji-Labo は、AIチャットや自然言語処理UIなどの設計・実装において、AIの特性を踏まえた体験設計・UI開発・運用まで、フェーズに応じたサポートが可能です。
Gaji-Labo フロントエンドエンジニア向けご案内資料
Gaji-Labo は新規事業やサービス開発に取り組む、事業会社・スタートアップへの支援を行っています。
弊社では、Next.js を用いた Web アプリケーションのフロントエンド開発をリードするフロントエンドエンジニアを募集しています!さまざまなプロダクトやチームに関わりながら、一緒に成長を体験しませんか?
もちろん、一緒にお仕事をしてくださるパートナーさんも随時募集中です。まずはお気軽に声をかけてください!