1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

生成AIを利用した自動プルリク(PR)レビューを試してみた

Last updated at Posted at 2024-05-02

一人開発をしている時に書いているコードに問題がないか気になったことはありませんか?
チーム開発しているときに、PRレビューが遅すぎて、モチベーションが下がったことはありませんか?
PRレビューの概要を作成するのが面倒だと思ったことはありませんか?
PRレビューでタイポなど基本的なことの指摘が面倒ではありませんか?

私は全部あります。
そこで今流行りの生成AIを利用したPRレビューをやろうと思い、感想を記事にしました。

Bedrock × Claude3 で自動レビューする

下記の記事の内容をほとんどそのまま利用しました。
https://tmokmss.hatenablog.com/entry/introducing_bedrock_ai_review

なお、いくつか自分用にカスタマイズするため、コードやyamlを修正しました。
具体的には以下を変更しています。

  • OpenAPIなどを利用し自動生成するコードをレビューから除外する
  • developブランチがソースブランチの場合はレビューしない

結果

PRの概要

スクリーンショット 2024-05-02 11.11.16.png
複数の目的があるプルリク(そもそも1つの目的にしろというのはおいといて)でもそれぞれの意図を読み取ってサマライズしてくれています。
特に、「新機能」「機能改善」「リファクタリング」のように内容を分類してくれているのでとても分かりやすいです。
(私が書いているように見えますが、すべて自動で生成されています(generatedとなってます))

ウォークスルー

スクリーンショット 2024-05-02 11.11.40.png
変更されたファイルの一覧とそれぞれの内容のサマリーがまとめられています。
これも驚くほど、精度高くまとまってました。すごい。。。

コードコメント

スクリーンショット 2024-05-02 11.24.00.png
すべて「コメント」として書かれます。LGTM のようなあまり意味のないコメントから、コードに対する肯定的なコメント(「適切です」のようなコメント)、改善提案のコメントなどいくつかのコメントの種類があるようです。
人によって意見の分かれるところではありますが、改善提案以外のコメントはちょっと邪魔かなと思いました。
(思っていたよりもコメントがたくさん書かれたため)
この点はAIレビュー自体のコードを変更し、対応するのが良さそうです。
一方で、簡単なタイポやエラー処理の対応漏れなどはかなり有用そうでした。

感想

rails、vuejs、reactjs、python、golang のプロジェクトで試してみましたが、かなり良いレビューがされていました。
特に単純なミスは自動PRレビューを使うことで、人に指摘される前に修正できそうです。
個人的にはサマリーが分かりやすくまとまっており、細かなレビューを行う前に全体を把握できるため、便利でした。
チームの反応も良かったため、このまま利用する予定です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?