レビュー負荷軽減へ、生成AIを「説明補助ツール」として活用
「コードの意図・背景への理解不足」を原因としたレビューの課題に対し、小林氏のチームが採用したのは「AIの説明能力を活用することでレビューしやすいプルリクエストを目指す」アプローチだ。
小林氏はレビュー時の課題を「AIでコードは書けても、何を理解したのかは伝えてくれません。だからこそ、人間側がレビュアーに意図を伝える仕組みをうまく作る必要があります」と分析する。
そこで同チームは、生成AIを「他者と協力するための説明補助ツール」として活用するために、ターミナル内で動作するエージェント型コーディングツール「Claude Code」と、GitHub Actionsワークフロー内でClaude Codeを実行可能にする「Claude Code Action」を導入した。
Claude Code Actionには以下の観点でチェック作業を指示している。「潜在的なバグがないか」「冗長な構造や不必要な分岐がないか」「コーディングガイドラインに違反していないか」。特にプロジェクト固有のガイドラインがある場合、それに基づいた違反箇所の洗い出しも可能だという。
重要なのは、AIがレビューを「代行する」のではなく「補助する」という考え方だ。小林氏は「レビューの経験が浅くても、AIの指摘をきっかけにコードの疑問点を絞り込むことができます。ガイドライン違反を機械的に洗い出すことで、レビューの観点漏れを防ぐことができます」と効果を説明する。
運用の流れは、まずClaude Code Actionがコードの内容を要約する。レビュアーはこの要約を読むことで、AIが生成した複雑なコードでも構造と意図の大枠を素早く把握することができる。一方、実装者は要約を確認し、「自分の意図とずれていないか」をチェックする。ずれがあれば補足コメントをプルリクエストに添える。
この運用により、レビュアーは「このページを参考にしましたか」「この機能は、別の場所に似た実装がありますよ」など、より具体的で建設的なフィードバックに時間を使えるようになった。
先に挙げたボトムシートの不具合修正の事例にあてはめてみよう。Claude Code Actionに実装を要約してもらい、レビュアーはその要約を見て実装の目的を把握する。それに対して実装者が「この仕様・機能を実現するために、この実装を行いました。私はこのような理解をしています」と補足することで、レビュアーは実装者の理解度を測ることができる。これにより、正解のコードに到達するまでの長いやり取りを削減し、コミュニケーションコストの削減につなげることができるのだ。
また、GitHub Actionsにより自動化ワークフローにAIレビュー機能を組み込み、コードの変更に対して自動的かつ継続的にレビューを実行する仕組みも構築している。これにより、新しいコミットが追加された際も差分のみを効率的に再評価することで、開発フローを阻害せずにレビューを支援できる。
レビュー観点は「コード品質とベストプラクティス」「アーキテクチャ準拠性」「セキュリティとパフォーマンス」「レビュー出力形式」の4項目に大別される。これらの観点から「ガイドライン違反を機械的に洗い出すことで、レビューの観点漏れを防ぐことができます」と、小林氏は自動化ワークフローへの導入効果を説明する。
一方、小林氏がレビュー負荷増加の要因として挙げた「知識以上のコードの出現」は、要約機能で対応している。AIが生成する複雑な構造のコードを要約して可視化することで、チーム全体のレビュー能力の底上げを図っている。
出力は具体的で実行可能なフィードバックとコードの改善提案を含み、かつ日本語版と英語版の詳細レビューを両方提供する形式で統一している。my routeの開発は多国籍チームのため、英語版も出力しているのだ。
小林氏は「この取り組みを始めたばかりで、発展途上」としながらも、既に手応えを感じているという。「レビューの負荷を減らして工数を削減することも、生産性向上につながると考えています」とその意義を改めて強調した。
同時に、根本的な解決策として「よほど特殊な作業環境でない場合は、どの現場でも実施されている取り組みだと思いますし、率直に申し上げて、レビュー負荷を下げるには、そもそも実装で最善を尽くすことに帰結すると思います」と話し、講演を締めくくった。

