97
82

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

この記事はQiita Tech Festa 2025参加記事です。

突然ですが、皆様はGitHub Copilotを普段活用されていますか??
今のGitHub Copilotは、もはや単なるコード補完ツールではありません。24時間いつでも相談に乗ってくれる、最強の「AIペアプログラマー」です。

この記事は、

  • 会社でGitHub Copilotを付与されているけど、あんまり使ったことがない
  • そもそもどう使えばいいか分からない…
  • 個人開発でGitHub Copilotを使おうか悩んでいる

などと感じている方向けに、Copilotの概要や具体的な活用事例、Tipsを紹介します。

1:そもそもGitHub Copilotとは?

GitHub Copilot は AI コーディング アシスタントであり、コードをより速く楽に記述できるため、問題解決とコラボレーションにより多くのエネルギーを集中できます。

GitHub Copilot 公式ドキュメント

GitHub Copilotには様々な機能が搭載されていますが、代表的には下記が挙げられます。

✍️ リアルタイムコード補完

文字入力をするだけで、AIが文脈を読んで関数やクラス全体を提案。特に、フレームワーク特有のお決まりのお作法やコードを書く時間がほぼゼロになります。

💬 対話型インターフェース (Copilot Chat)

最も有名な使い方で、一番イメージしやすい機能です。
IDEのチャットでAIと直接対話できます。

  • 「この関数の役割を教えて」
  • 「このエラーの原因と修正方法を教えて」
  • 「このコードのテストを書いて」

まさに、24時間いつでも質問できる優秀なメンターがそばにいる感覚です。

🚀 Copilotを導入するメリット

  • 開発スピードの爆速化: 定型作業を自動化し、創造的なタスクに集中できます。Accenture社の調査では、コードレビューの合格率が15%向上したという報告も。
  • 最強の学習メンター: 知らない言語やフレームワークも、Copilotに聞けば即座に解決。エラー解決を通じて効率的にスキルアップできます。
  • コード品質の向上: ベストプラクティスに基づいたコードを提案し、一貫性のある綺麗なコードベースを維持しやすくなります。

2:具体的な活用法とは?(Copilot Chat編)

ここからは、私がよく実務の開発現場で使用しているCopilot Chatの例をいくつか紹介します。「まだ試したことないかも!」という事例があればぜひ試してみてください✨️

1. 設計・調査:「実装方針の壁打ち相手に」

プロンプト例
TypeScriptでユーザー認証機能を実装したい。セッション管理の方法として、JWT認証とセッションベース認証のメリット・デメリットを比較し、どちらが今回のケースに適しているか表形式で提案して。

2. 実装:「複雑な処理を一瞬で生成」

プロンプト例
日本の携帯電話番号(070, 080, 090で始まる11桁)にマッチする正規表現を生成して。

3. リファクタリング:「読みにくいコードを美しく」

プロンプト例
/explain
このネストが深いコードを、可読性を高めるようにリファクタリングして。早期リターンの原則を使ってください。

4. コード読解:「他人のコードへの理解」

プロンプト例
/explain
このコードブロックの処理内容を、初心者の私(or 中学生の私)にも分かるようにステップバイステップで説明して。

5. エラー解決:「バグとの格闘時間を短縮」

プロンプト例
このエラーの原因は何?考えられる原因を3つ挙げて、それぞれの解決策を具体的に提示して。

6. テストコード生成:「単純作業は効率化」

プロンプト例
/tests
この関数のテストコードを生成して。正常系、異常系、エッジケースを網羅するようにしてください。

7. ドキュメント生成:「未来の自分のために」

プロンプト例(ドキュメントを追加したいクラスを選択した状態で)
/doc
選択したクラスの全publicメソッドに、Javadoc形式で引数と返り値についてのコメントを日本語で追加して。

8. コードレビュー:「Copilotによるセカンドオピニオン」

プロンプト例
このコードに潜在的なバグやパフォーマンス上の問題がないかレビューしてください。改善点があれば具体的なコードを添えて提案して。

番外編:Copilotの活用Tips紹介

GitHub CopilotにはChatやコード補完以外にも、強力かつ便利な機能も続々と登場しています。ここでは、個人的に普段活用しているTipsをご紹介します。

🔍 1. GitHub Copilot レビュー

もはや、コードレビューは人間だけの仕事ではありません。
Pull Requestのレビュワーに @github-copilot を追加するだけで、AIがあなたのコードを客観的な視点でレビューしてくれます。

レビュー機能について 公式ドキュメント

  • 簡単な導入: レビュワーにCopilotを追加するだけで特別な設定は不要
  • 日本語にも対応: レビューコメントを日本語で受け取るように設定することも可能
  • レビュー観点のカスタマイズ: リポジトリのルートに .github/copilot/review.md というファイルを作成し、レビュー規則などの独自のレビュー指示を書き込むことが可能。これにより、Copilotをプロジェクト専属の優秀なレビュワーとして育成できる

(余談)GitHub上での"Ask Copilot"が地味に便利!

Pull Requestのレビュー中、わざわざローカルにコードを落としてIDEで開かなくても、GitHubのGUI(ブラウザ画面)上で直接Copilotに質問できるようになりました。

Screenshot (56).png

例えば、レビュー中のコードで気になる部分を選択し、

「この関数の呼び出し元をプロジェクト全体から探して」
「この複雑なロジックを、ステップバイステップで説明して」

とチャット形式で聞くことができます。
特に、私のような経験の浅いエンジニアが複雑なロジックを理解するのに時間がかかる場面では、本当に重宝します✨️

これにより、レビューのために行っていた「ちょっとした調査」の時間が大幅に削減されます。この"地味な便利さ"が、意外にも助かるのでぜひチェックしてみてください。

✏️ 2. コミットメッセージの自動生成

コミットボタンの上部にある星マークをクリックすると、自動で編集ファイルの内容を要約し、コミットメッセージを生成してくれます!

スクリーンショット 2025-06-23 23.07.21.png

チーム開発時は特にコミットメッセージをきちんと整備し第三者にも分かりやすいようにコミットするのが大事ですよね。その際に重宝される機能で、結構分かりやすく自動生成してくれるので、大枠を自動生成して少し手直しするくらいでサクッとコミットを打つことができます🙆

今まで「"修正"」のようなざっくりメッセージだった方は、ぜひ触ってみてください。笑

3:重要!Copilot活用時の心得

Copilotの能力を最大限に引き出し、かつ上手に利用するためには、いくつかの重要な作法があります。私個人がよく意識している心得や注意点をいくつかご紹介します。

3-1: 🧠 AIの精度を高める「4つの心得」

  1. 🎯 具体的かつ明確に指示する

    • 具体的で詳細な指示は、AIの理解度を格段に向上させます。
    • ❌ NG: ユーザー登録機能
    • ✅ OK: ユーザー名、メールアドレス、パスワードを引数に取り、パスワードをbcryptでハッシュ化してからデータベースに保存するユーザー登録機能を作成して。
  2. 📚 十分なコンテキスト(文脈)を与える

    • AIは開いているファイルやコード全体から文脈を読み取ります。
      • 関連ファイルを開いておくと、プロジェクトへの理解が深まります。
      • 無関係なファイルは閉じておくと、AIの混乱を防ぎ、精度が向上します。
  3. ✏️ 意味のある命名を心がける

    • 変数名や関数名が具体的であるほど、AIは意図を正確に汲み取り、的確な提案をします。
    • ❌ NG: let data = ...
    • ✅ OK: let fetchedUserList = ...
  4. 💬 対話を繰り返して育てる

    • 最初の提案が完璧とは限りません。対話を通じてコードを洗練させるのが重要です。
    • 対話の例:
      • 「この実装は冗長じゃない?」
      • 「もっとパフォーマンスの良い書き方は?」
      • 「このコードにエラーハンドリングを追加して。」

⚠️ 3-2: 注意点

生成されたコードは、必ず自分の目でレビューし、理解してから使うこと。

Copilotは超優秀なアシスタントですが、間違うこともあります。
生成されたコードには、バグや脆弱性、あるいはプロジェクトの要件に合わない実装が含まれている可能性を常に忘れてはいけません。(テストを通すために無理やり強引なコードを提案されることもあります笑)

コードの最終的な品質責任は、ユーザー自身にあります。

提案を鵜呑みにせず、必ずそのコードが「なぜそう動くのか」を理解し、テストした上で採用するようにしましょう。(自戒を込めて...)また、APIキーや個人情報などの機密情報をなるべくプロンプトに含めないことも徹底しましょう。

おわりに

GitHub Copilotは、もはや単なる生産性向上ツールではありません。

ユーザーのスキルを拡張し、学習を加速させる強力なAIパートナーです。私はまだエンジニア歴が浅いですが、そんな私だからこそ、このようなAIパートナーと上手く付き合っていくことが大事だと日々痛感しています。なんでもかんでもAIに任せるのではなく、メンターとして自分の学習にうまく利用していく視点が大事だと考えています。

これから、GitHub Copilot を使ってみたい方や、すでに使っている方も、是非参考になれば幸いです。この記事で紹介したテクニックは、ほんの一例でしかありませんので、ぜひ皆様もGitHub Copilotを活用して自分なりの活用法を見つけていただければと思います。

最後までお読みいただき、ありがとうございました!

97
82
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
97
82

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?