Devin Reviewがレビュー疲れの人を助けてくれるかも
こんにちは。
1月21日、Devin Reviewという仕組みがDevinに実装されました。
自分は普段の業務でPRレビューを数多く行うのですが、そんな自分にとって、とてもありがたい機能だと感じ、ぜひ紹介したいと思ったので、記事を書きます。
課題
この記事を少し前に読み、自分も深く共感しました。普段プロダクト開発チームでレビュアーを担当していますが、AIによってアウトプット量が著しく増えた影響で、コードレビューにかかる時間が非常に増え、脳のリソースを使う割合が増えました。
自分は毎日最低5個程度のPRをレビューするので、まさにレビュー疲れを体験している一人です。
そしてこの課題感はCognitionも感じていたようで、以下の記事でもAIによって増えたアウトプット量によってレビューが停滞(stagnation)するということについて言及しています。
皆さんの感覚としても、生成AIが現場に浸透していくにつれ、各メンバーのアウトプットは増えるものの、その品質保証に悩んでいる、という方は多いのではないでしょうか。
まさにコードレビューがソフトウェア開発のボトルネックになりつつあります。
Devin Reviewとは
そのような問題を解消するためにDevin Reviewができたようです。以下、記事より。
That's why we built Devin Review, a code review tool that uses state-of-the-art AI + UX to scale human understanding of ever-more-complex code diffs—whether authored by a human, or an agent.
(意訳)だからこそ私たちはDevin Reviewを開発しました。これは最先端のAIとUXを駆使したコードレビューツールであり、人間が書いたものであれエージェントが作成したものであれ、ますます複雑化するコード差分に対する人間の理解を拡張します。
とうとうコードレビューの分野にも本格的に乗り出してきたかと言う感じで、嬉しさ半分恐ろしさ半分という感じですね。
ただ「コード差分に対する人間の理解を拡張」という部分に関してはとても共感しました。あくまで人間の代替を目指しているわけではないということだと解釈しています。
コードレビュー(あるいは品質保証)はまだ人間の役割だと思っていますし、AIが完全に取って代わるのはかなり先だと自分も思っています。つまりAIはレビューという場面においてはあくまで補助ツール。
そこを明示的に謳っているという点で、自分はすごく好感を覚えました。
そこで実際にDevin Reviewを現場で早速使い、日常のPRレビューに利用してみました。
Devin Reviewの紹介
早速画面を紹介します。
まず中央にファイルの変更差分、左に分析結果のタブが見えます。
Devinがバグや注意事項として立てたフラグや、意味単位でまとまったファイル群(後述)が見えます。
また画面下には「Ask Devin」があり、DevinにチャットでPRについての質問を投げられます。

実際に使っていくと、レビュー負荷を大きく軽減してくれる工夫があったので、紹介していきます。
変更が意味的にまとまって見える
最高に良いと思ったのがこちらです。ファイルが意味単位でまとまっているのです。また、おそらくですが、重要度の高いものから順に並べてくれています。
例えばデータベーススキーマの変更は最も上に来ます。自分は、レビューをするときはもっともクリティカルなところであるDB設計をまず見ます。それが真っ先に上に来るのはすごくありがたいですし、またコードレビューを「分かっている」と感じました。もちろんファイル名をクリックするとファイル差分が見えます。

この意味単位でのファイル分割は、まさにDevinのようなAIプラットフォームがやる価値がある機能だと思いました。
わからないことは雑に(スピーディーに)AIに聞ける
次に素晴らしいと思ったのがこちらです。
例えば特定のリファクタタスクで、以前の実装と違わないかどうかを知りたい時、雑に聞くと差分を調べて答えてくれます。驚いたのはその速さで、おそらくPRの差分に関する知識がすでにDevinに取り込まれているのか、差分に関することは体感5秒もかからずに出してくれます。

素晴らしいですよね? 毎日大量のレビューをしていると、毎回ブランチをチェックアウトして手元に持ってきてClaude Codeに聞いたり、GitHub ActionsでClaude Code Actionに聞いたりしていると時間と手間がかかってしまって少し億劫だったのですが、これだとこの環境にアクセスしたらすぐに聞けるので、PRレビューのお供としてすごく良いなと感じました。
自動でレビューしてくれる
特定の状況の時にDevinの自動レビューが走るように設定もできます。
特にGitHub Actionsなど定義せずとも、Devinの設定画面でポチポチするだけで設定完了です。

今だと自分がレビュアーにアサインされた時、自動でDevin Reviewが走るようにできます。通常Devin Reviewをするには、まずPRをDevin Reviewに登録しないと解析が走らないようなのですが、自動レビューにしていると勝手に解析が走るので、自分がいざレビューする時には解析が終わった状態でレビューが始められるので、快適です。
レビューの結果、バグだと判定された(赤サイン)場合、自動でPRに投稿がされます。

こちらについては良し悪しあって、確かになというところもあれば、別に対応しなくて良い、というところもあって、精度は半々という感じです。この辺は巷のAIレビューの精度問題と同じ課題感ですね。逆にいうと50%ぐらいの確率で正しいことを言う時もあるので、レビューする時の参考にはなります。
GitHubのレビュー体験と変わらない操作感
おそらくGitHubのレビュー体験を意識しているのか、ほとんどGitHubでレビューするのと同じ操作感でレビューができます。コード行に対してコメントができます。

また、レビューを提出する時にはGitHubと同じようにComment, Approve, Request Changesを選べます。

これが自分の場合とても嬉しかったです。基本的にGitHub上でコードを確認してコメントを打つことが多いので、その操作感と同じであると言うだけで、すごくとっつきやすかったです。
とはいえ
いいところばかり紹介したのですが、課題に感じている点も多いです。と言うかまだベータ版なので、色々と足りないところがあって当たり前ではあるのですが。
- 日本語対応していない(?)。プロジェクトやナレッジの設定で変わるのか未検証
- レビューコメントでのコードサジェストができない
- チャットからのレビューコメント投稿に対応していない
- チャットしていたらバグがあることが判明したのでそのままレビューコメントへ流したい時が多々あるが、それができない

まとめ
「変更が意味的にまとまって見える」「わからないことは雑に(スピーディーに)AIに聞ける」という2点が、毎日大量にレビューをする自分としては非常に嬉しい機能でした。
とはいえまだDevin Reviewに完全に移行してはおらず、GitHubのレビューやVSCodeでチェックアウトしてのレビューとを並行してレビューしています。ただDevinに雑に聞ける環境はとてもありがたいので、これからも普通に使い続ける気がします。
もっとGitHubでのレビュー体験に近くなってくれれば最高です。
レビューはソフトウェア開発においてボトルネックになりつつあります。この機能が、そんな今の状況の助けになってくれるのではないかと、今回Devin Reviewを触っていて感じました。
この記事が皆さんの参考になれば幸いです。
Discussion
DevinReviewの記事、すごく参考になりました。ありがとうございます!
実はそれにインスパイアされて、AsyncReview というOSSを自分でも作って公開してみました。まだ実験的な段階ではあるのですが、もしお時間のある時にでも触ってみていただけたら嬉しいです。