1.5K Views
July 31, 25
スライド概要
サーバーサイドエンジニアをしています
コードレビューにGitHub Copilotを活用している話 2025/7/31(木) 生成AI実際どう? 株式会社find 宮下陽介 1
2
3
4
findの技術スタック Vue3, Nuxt3, TypeScript AWS Amplify(Gen2) AppSync, Lambda, DynamoDB, S3, Cognito, SES etc. OpenSearch VSCode + Dev Containers 5
アンケート コードレビューにAIつかってますか? 6
今日のテーマ コードレビューにGitHub Copilotを活用している話 新米チームリーダーである私が、コードレビューについて抱えていた課題をGitHub Copilotで解消したしていきたい話 7
今日のトークの流れ コードレビューについての課題感 GitHub Copilotをコードレビューに使用する方法 運用の工夫 運用してみた感想 8
コードレビューに関しての課題感 9
私のチームの状況 もともと1チームだった開発部だが、組織体制変更によりチーム制に 私が改善チームのリーダーに。私のチームは参画したてのメンバーばかり →私がコードレビューしていくことに 10
コードレビューをしてみたが…… コードレビューに時間がかかる 仕様理解・技術理解の不足 (前任者と比較して)レビュー品質の低下 仕様認識誤り、コーディング面の考慮漏れ →テスト工程でのバグ検出数増・ 本番でのバグ発生 コード規約を浸透させたい 新規メンバーに「findっぽいコード」を書いてほしい → AIの活用で解決できないか? 11
AIツール選定 AIツール、何を使う? PR-Agent?CodeRabbit?Cursor?Kiro?Claude Code?Gemini CLI? 「GitHub Copilotの補完機能なら使ったことがあるなあ」 →GitHub Copilotを活用することに 12
GitHub Copilotを選んだ理由 すでに導入済みのため、新規のツール導入や課金が必要なく、導入が気軽 各ツールで大きな性能差はなさそう? 日々新しいツールが出てくる中で、将来どのツールがベストになるのか予測 が難しい GitHub, VSCode等の既存ツールとの相性の良さ VSCodeはAI系の機能追加も多く、機能面はCursor等と遜色なくなりつつある 状況(私見) 13
GitHub Copilotをコードレビューに使用する方法 14
GitHub Copilotをコードレビューに使用する方法 Webで使用する PRのレビュアーにアサインするだけでレビューしてくれる VSCode(Copilot Chat)で使用する チャット機能にて、PRの情報を渡して、「レビューして」と依頼する PRを指定してワンクリックでレビュー依頼、みたいな機能は現時点ではなさ そう 15
WebでGitHub Copilotにレビューを依頼する PRのレビュアーとしてCopilotをアサインするとレビューしてくれる 差分を見て内容のサマリとレビューコメントをくれる。質問や対話はできな い 特に仕様等渡さなくても結構ちゃんと見てくれてる。 細かいコードの書き方 やパフォーマンス面・セキュリティ面など。これだけでも悪くない メンバーにセルフチェック用に使ってもらうのも良さそう 16
WebでGitHub Copilotにレビューを依頼する PR作成時点で自動でレビューを走らせることもできる Organizationのルールセットの設定で"Request pull request review from Copilot"を有効にする ドラフトPRでも作られてしまう レビューコメントを日本語で書いてもらうには、PRの説明欄にて「レビューは日 本語で」と指定する。 参考: GitHub CopilotのPRレビューを日本語で受ける方法 copilot-instructions.mdに書いても日本語化してくれなさそう? 17
VSCodeでGitHub Copilotにレビュー を依頼する 1. VSCodeにGitHub MCPサーバの設定を追加 PRのURLを渡すと差分を見てくれる 2. Copilot Chatでレビューを依頼 18
Copilot ChatでのMCPサーバ使用を有効化 VSCodeの設定でchat.mcp.enabledをオンに OrganizationでCopilotを契約している場合は、OrganizationのCopilot設定でMCPの 使用を許可しておく必要がある Organization設定 > Copilot > Policies > MCP servers in Copilot 19
VSCodeのMCP設定にGitHubのMCPサーバーを追加 https://code.visualstudio.com/mcp から1クリックで追加! 20
Copilot ChatでGitHubのMCPサーバーを利用 プロンプトを入力すると、特に明示しなくても必要に応じてMCPサーバーを呼ん で処理を行ってくれるようになる。 使用するツールを明示する場合は # をつけて指定する。 #get_pull_request とか。 21
運用方法の検討 22
Web?VSCode? 主にVSCode(Copilot Chat)を使っていく AIと対話しながらPRについての理解を深めたいので 気軽に依頼できるので、Webも併用 レビュアーが多いに越したことはないので 23
Copilot Chatでレビュー依頼してみた 要件と異なる実装をしたPRをレビューしてもらう 結果: 要件を把握しきれなかったのか、PRの内容を雰囲気でLGTMしてしまう 24
運用方法を工夫する GitHub Copilotに渡すコンテキスト情報を整備する 要件理解→レビューの2ステップで進める 25
コンテキスト情報を整備する copilot-instructions.mdをプロジェクトに追加する GitHub Copilotに対してリポジトリのコンテキスト情報を渡すファイル Webでの使用時も読んでくれる 現時点では補完機能では読んでくれない VSCodeの機能で自動生成もできる 26
copilot-instructions.mdを整備 自動生成で叩き台作成 プロジェクトのコーディング規約を追記 27
自動生成で叩き台作成 1クリックで自動生成できる! README.md等のドキュメント類をもとにリポジトリ説明を作ってくれる Cursor, Windsurf, Cline, Claudeなどのrulesファイルも読んでくれる Copilot Chatが開くので対話しながら追記・修正依頼できる 正直余計な情報も多く、項目を取捨選択(捨が多め……) 28
コーディング規約の追記 もともとあったコーディング規約を整理してファイルに追加 Copilot Chatでリポジトリから自動でルールを生成してもらったけど微妙だった #codebase を渡して「このリポジトリの特徴的なコーディング方法を抽出 し、コーディング規約に起こして」と依頼 個別具体的すぎる内容や、find固有ではない内容 29
要件理解→レビューの2ステップで進める 1. 要件理解 まずAIに仕様を渡し、修正方針を考えてもらう AIと対話しながらタスク内容把握と修正方針のイメージをすり合わせる 2. 要件を踏まえてレビュー 「修正方針案を踏まえた上でレビューして」 →それぞれのステップのプロンプトはファイルに保存して呼び出し(後述) 30
例のPRを再度レビューしてもらう コンテキスト情報整備 & 2ステップでのレビューの結果…… →想定通りの回答をくれるようになった! この方法で運用してみる 31
プロンプトファイル (Prompt Files) プロンプトをファイルに保存し、コマンドでプリセットしたプロンプトを渡せる https://code.visualstudio.com/docs/copilot/copilot-customization#_prompt-filesexperimental 都度プロンプトを書いたり、過去のプロンプトを参照したりせずにすむ 32
運用してみた感想 33
コードレビューの精度は上がっている、と思う 細かい指摘をしてくれることで、見落としが減った気がする。気づけなかった観 点もAIがフォローしてくれている 世の中のベストプラクティスに沿っているか、公式のやり方に沿っている か、のチェック タスク理解・周辺仕様理解のスピードアップ 34
ドメイン知識は弱い 影響範囲を正しく理解できていなかったり、用語が誤っていたり。 仕様書を与えられてないので当たり前 仕様やコンテキストをいかにAIに理解させながらコーディングしていくかが課 題…… 仕様書をGit管理、PR説明欄にタスク説明を記載するなど、AIに渡しやすくす る方法を模索中 35
アシスタントが付いたような感覚 主は人間、AIはアシスタント AIが見てるからOK、にはまだ遠い 特にドメイン知識面 技術的負債が生まれるのを防ぐには、人間のレビューは必須 人間が読んで理解できるか、という観点が必要 いつかはコード理解はAIに聞けばいいから不要、になるのか……? 36
まとめ GitHub Copilotを活用することで、コードレビューの効率と精度が向上した AIによる指摘で見落としが減り、タスク理解もスピードアップ ただし、ドメイン知識や仕様の伝達は人間側の工夫が必要 AIはあくまでアシスタント。最終的な判断や責任は人間が担うべき 今後は、AIにより多くのコンテキストを渡せるよう運用・ドキュメントを整備して いきたい 37
ご清聴ありがとうございました! findではエンジニア積極採用中です! 38