GitHub Copilot Free(無料版)、みんな使ってる? 実際にリアルな開発で活用し、その実力を検証! AIアシストはどこまで使える? ソフトウェアエンジニアの仕事はどう変わる? そして、AI時代に求められるスキルとは? AIエージェントの可能性も交えつつ、未来の開発を好き勝手に語ります。
皆さん、こんにちは! もしくは、はじめまして! @ITのDeep Insider編集長、一色(いっしき)です。今回から、新連載 『Deep Insider編集長のネタ帳』を始めます。
この連載では、私が日ごろの情報収集や開発、執筆・編集を通じて得た“技術的な気付き”や“新たな発見”を自由気ままに綴(つづ)っていきます。データ分析を試したり、AI・機械学習で迷走したり、Pythonやツール活用について語ったりと、思いついたときに好き勝手なこと(=ムダに威厳を込めて言うならオピニオン)を書くスタイルです。
Deep Insiderでは、教科書のように生真面目な“学び”コンテンツを中心に展開していますが、この連載では「そんな学びに疲れたときの息抜きに、短時間で楽しく読める、気軽な内容」を目指します。これは私自身のリラックスも兼ねています😅。
さて、記念すべき初回の記事は「Visual Studio CodeでGitHub Copilot無料版が使える!」です。この無料版は、2024年12月に登場しましたが、意外と話題になっていない気がするんですよね。私自身が実際に使ってみたら「生産性が爆上がりして感動!」だったので、「まだ使っていない人には、ぜひ試してほしい!」と思いました。今回の記事では、その体験と気付きをシェアします! 少しでも多くの人に届けばうれしいです。
GitHub Copilotは、AIを活用してコーディングを支援し、自動化してくれるコーディングアシスタントです。GitHubが提供しており、Visual Studio CodeをはじめとするIDEやコーディングエディタ上で動作します。
GitHub Copilotを使えば、コードを書いている途中で、次に書くであろう内容を推測し、適切な補完や関数の提案をしてくれます(GitHub Copilot Suggestions機能)。さらに、自由に質問して回答を得られるだけでなく(チャット機能)、ユーザーの指示に従ってコードを加筆/修正することも可能です(Copilot Edits機能)。これらの機能により、開発の効率が大幅に向上します。
ちなみに、ソフトウェア開発向けのAIアシスタントにはGitHub Copilotの他にもCursorなどがありますが、本記事ではGitHub Copilotに焦点を当ててお伝えします。
筆者はGitHub Copilotの全機能を知り尽くしているわけではありませんが、今回の体験で特に便利だと感じた3大機能(上記の太字を参照)を、Visual Studio Codeでの実際の操作画面とともに紹介します。
1. GitHub Copilot Suggestions機能
コードやコメントの一部を入力すると、AIが続きを予測して、次に書くべきコードを提案してくれる、いわゆるコード補完機能です。図1はその例で、Visual Studio Codeで「if」とコードを書き始めると、AIが次に書くコードを提案(Suggestions)してくれました。
本稿は機能解説をするのが目的ではないので、使い方をより詳しく知りたい方は公式ドキュメントを参照してください。以下のように、対象ページへのリンクを掲載しておきます。
2. チャット機能
説明不要と思いますが、ChatGPTのようなチャットボットと同じで、何でも質問できます。わざわざChatGPTなど別サイトなどを開かなくてよいので、コーディングに集中できるのがメリットですね。
チャット機能を使うには、図2のように上部にあるGitHub Copilotアイコンをクリックして、表示されるメニューから[チャットを開く]を選択すると、ウィンドウの右側にチャットが開かれます。
3. Copilot Edits機能
先ほどのチャット機能は、チャット内で回答が得られるだけで、エディタ上のコードには自動で適用されません。提案されたコードは手動で適用できますが、すぐに反映してほしい場合もありますよね。これを実現するのが、Copilot Edits(=編集)機能です。
Copilot Edits機能を使うには、上部にあるGitHub Copilotアイコンをクリックして、表示されるメニューから[Copilot Editsを開く]を選択すると(前掲の図2を参照)、ウィンドウの右側にCopilot Editsが開かれます。
図3で確認できるように、Copilot Editsの下にある[作業セット]欄に[+ファイルの追加]ボタンがあり、任意のファイルをコードの分析と生成の対象に含めることができます。あとは指示するだけです。例えば「ファイル名を全て小文字に置き換えるPythonスクリプトを作成して」といった日本語などの自然言語で指示するだけで、新しいコードを自動生成したり、既存のコードを修正したりしてくれます。
このように、現在のGitHub Copilotには、ユーザーの指示に従ってコードを編集する編集モードが用意されています。そして、この編集モードから切り替えて使用できる形で、新たにエージェントモードが追加されようとしています(2025年2月13日現在)。
エージェントモードでは、ユーザーの指示に従い、必要なタスクを洗い出し、その作業を自律的に計画し、関連ファイルを作成してコーディングまで自動化してくれます。ターミナルでのコマンド実行が必要な場合は、ユーザーに確認を求めます。また、問題が発生すると、適切な追加アクションを繰り返し実行してくれます。このように、コーディングの自動化がかなり進むと考えられます。
ただし現在、エージェントモードは、誰もが利用する安定版には達しておらず、早期導入者(early adopters)向け(=不安定でも試したい人向け)のVisual Studio Code Insidersでのみ提供されています。そのため、今回の体験では試していません。ちなみに@ITでエージェントモードのニュース記事を公開しています。
その他の機能について
以上で特に便利な3大機能を紹介しましたが、もちろん他にも機能(例えばプルリクエスト概要機能など)はあります。より詳しく知りたい方は、公式ページもチェックしてみてください。
近年、ChatGPTやGitHub CopilotのようなAI支援ツールは、プログラミングでは「当たり前のツール」になりつつあるように思います。
実際、JetBrainsが公開している「2024年開発者エコシステムの現状」レポートの「AI」セクションによると、開発者の69%が「コーディングやその他の開発活動でChatGPTを試したことがある」と回答しています(49%が日常的に利用)。GitHub Copilotについては、試用経験が40%、日常利用が26%です(図4)。
このアンケート調査は、2024年5月~6月に実施されたものです。現在(2025年2月)から半年以上前のデータなので、AI支援ツールの普及はさらに進んでいる可能性が高いでしょう。
ちなみに、自分の所属会社の開発者の間でも、以前は「使わない」と否定的な声しかなかったのですが、気付けばAIの便利さを評価する声も増えてきました。
もう一つ、アンケート調査レポートを紹介します。Google Cloudで公開されている、DORAの「Accelerate State of DevOps Report 2024」によると、「データサイエンティストと機械学習スペシャリストは、他の全ての職種の回答者よりもAIを活用する傾向が高いこと」が示されていました(ただし、文章での説明のみで、グラフなどのデータは掲載されていませんでした)。
このアンケート調査の結果は、私にとって少し意外でした。しかし、GitHub CopilotのようなAIツールは、「普段はプログラミングをしないが、一時的に作業が集中する職種にこそ適している」と、あらためて気付きました(もちろん、これは私の体験に基づく考えであり、全てのユースケースを想定しているわけではありません)。
プログラミングは毎日やらないとAPIなどを忘れやすいですからね。だからこそ、一時的にコーディング作業が集中するAIエンジニアやデータサイエンティストにとって、特に有用なツールだと言えるでしょう。ぜひ皆さんも、可能ならうまく活用していきましょう!
このように有用なGitHub Copilotは、これまで有料プランのみでしたが……2024年12月、ついに無料版(GitHub Copilot Free)が登場しました! 🎉 もちろんVisual Studio Code上でも無料で利用可能です。
皆さん、知っていましたか?(知らなかった人、意外と多いのでは……?) 無料版登場は“神アプデ”だと思いますが、冒頭でも書いたように、思ったほど話題になっていないので、あらためてこの記事でアピールしてみました。ちなみに@ITでニュース記事として取り上げています。
ただし、無料版には幾つかの制限があります(※2025年2月13日現在の情報です。厳密には公式ページを参照してください)。
これらの制限に達した場合、Copilot Proなどの上位サブスクリプションプランにアップグレードすれば、引き続き、GitHub Copilotを使用できます(GitHub Copilotの設定ページから、30日間のCopilot Pro無料試用もできます)。
とはいえ、筆者と同じように一時的に集中してプログラミングする作業スタイルなら、多くの場合、アップグレードなしでも無料版(Copilot Free)の範囲で十分だと思います。
さて、ここからは私の体験談と気付きについてお話しします。
今の私は、@IT内でDeep Insiderフォーラムの運営担当をしています。実はその前には、Build Insiderという「次世代Web&デバイス技術を活用する開発者のための情報サイト」を2018年まで運営していました。このサイトは元々、動的なCMS(コンテンツ管理システム)で構築され、Microsoft AzureのWeb App ServiceとAzure SQL Databaseで動作していました。
2025年になり、2018年から7年が経ちました。技術情報も陳腐化し、リアルタイムな更新が不要になったため、サイト全体をアーカイブ化(つまり、当時の状態で保存し、将来も閲覧できるように)し、運営方式も静的なファイル配信に切り替えることにしました。そこで2024年末の冬休みに、AWSのAmazon S3ストレージ+Amazon CloudFront(CDN)へ移行したわけです。
この作業をPythonスクリプトで行いました。AzureやAWSのプログラミング経験はあるため、大まかな流れは把握していましたが、普段はインフラ関連のコーディングはしていないため、学び直しに時間がかかるのが課題でした。そこで、ふと「そういえばGitHub Copilotが無料で使えるようになったよね!」と思い出しました。
実際にGitHub Copilot無料版を使って、次の2つのPythonスクリプトを作成しました。
その作成過程で、体感では全体の7~8割のコーディングをGitHub Copilotが支援してくれました。特に、boto3などのライブラリやその使い方に悩むことなく、スムーズに開発できたのが大きなメリットでした。
「何が一番役立ったか」と言うと、Copilot Edits機能です。言葉で指示した通りに、コードを書いたり修正したりしてくれました。正直、あまり期待していませんでした。「どうせ大したことないだろう」と。
というのも、以前にChatGPTの「編集」機能でコーディングや文章執筆を試した際、不要な部分まで修正されたり、逆に手間が増えることが多かったからです。だから、「GitHub Copilotもどうせこのレベルで使い物にならないだろう」と思っていました。
しかし、Visual Studio Code上でのCopilot Editsは予想以上にスムーズで、指示するだけで、自然にコーディングできました。これには驚きました。もはやAIアシスタントなしの新規開発やプロトタイプ作成は考えられないぐらいです(苦笑)。
ここまでの話を聞くと、「AIがコードを自動生成してくれるなら、もはや人間がプログラミングする必要はないのでは?」と思うかもしれません。しかし、実際にCopilot Edits機能を使ってみると、システム設計やロジックの組み立て、試行錯誤しながら仕様を調整し、より良い実装を模索するプロセスといった、プログラミングの流れ自体は変わらないことに気付きました。
私の場合、通常のプログラミングでは、
といった流れで開発を進めます。Copilot Editsを使っても、この流れは変わりませんでした。違うのは、コードを「手で書くか」→「自然言語で生成させるか」だけです。
この流れの雰囲気を、実際のコードを交えて説明します。
まず、「1. 基本的な構造を作る」~「2. コア機能を実装する」段階では、boto3のクライアントを作成し、それを使ってファイルをアップロードすることにします。
手作業でコーディングする場合は、リスト1のようなコードを書くことになります。Copilot Editsでは、「boto3のクライアントを作成して、ファイルをアップロードする」という指示を与えるだけで、基本的なコードを自動生成してくれます。ただし、指示の内容によっては期待通りのコードが生成されないこともありますが、より具体的に指示を出し直すことで調整できます。
import boto3
s3_client = boto3.client(
's3',
aws_access_key_id='aws_access_key_id',
aws_secret_access_key='aws_secret_access_key',
region_name='aws_region'
)
s3_client.upload_file('file_path', 's3_bucket_name', 's3_key')
次に、「例外処理やログ出力を追加する」段階では、例外処理(try~exceptブロック)とログ出力(logging.info()関数やlogging.error()関数)を追記していきます。ここまで基本構造を作ってきましたが、ここからはエラー対応や動作の可視化といった実用的な仕上げに入ります。
これも手作業でコーディングする場合、リスト2のようなコードを書くことになります。Copilot Editsでは、「例外処理とログ出力を追加して」のように指示すると、既存のコードに対して必要な修正を加えてくれます。
import boto3
import logging
try:
s3_client = boto3.client(
's3',
aws_access_key_id='aws_access_key_id',
aws_secret_access_key='aws_secret_access_key',
region_name='aws_region'
)
logging.info('S3クライアントの初期化に成功しました。')
except Exception as e:
logging.error(f'S3クライアントの初期化中にエラーが発生しました: {e}')
exit(1)
try:
s3_client.upload_file('file_path', 's3_bucket_name', 's3_key')
logging.info(f'ファイルをアップロードしました: {file_path} -> s3://{s3_bucket_name}/{s3_key}')
except Exception as e:
logging.error(f'ファイルのアップロード中にエラーが発生しました: {file_path} -> s3://{s3_bucket_name}/{s3_key}, エラー: {e}')
exit(2)
最後に、「4. 使い勝手を向上させる機能を組み込む」段階では、例えばアップロードに失敗したファイルだけを、次回実行時に自動でリトライする機能を追加するなどの工夫をします。実際にCopilot Editsを使ってそのような機能を実装しましたが、コードは省略します。
この段階になると、自然言語での指示だけでは細かな調整が難しくなり、自分でコードを書いたり修正したりする方が効率的と感じることが多くなってきます。結果として、体感では2~3割は手作業でコーディングすることになりました。
以上の一連の作業工程を見ると、プログラミングの流れ自体は変わっていませんよね? 「手でコードを書くか」「自然言語で指示するか」の違いだけではないでしょうか?
Copilot Editsで作業を大幅に効率化できるメリットは大きいですが、それを生かすためには、本質的な開発スキルやプログラミング能力が依然として求められるのだ、と筆者は確信しました。だからこそ、「AI時代は、今まで以上に実践的な開発スキルが重要になっていくだろう」と予測します。
単に「Pythonの文法を知っている」「ライブラリの使い方を覚えた」といった表面的なスキルを身に付けるだけでは不十分です。それだけでは、生成AIと同じレベルでしか作業できず、AIに取って代わられる可能性が高くなります。
GitHub CopilotなどのAIツールによって、プログラミングの効率は飛躍的に向上します。しかし、「AIがあるから何も考えなくていい」というわけではありません。むしろ、これからの時代、システム全体を見通し、「何をどう作るべきか?」を深く考えて適切に判断し、それを実践して開発をリード(推進)する能力(=考え抜き、推進する力)こそ、「プログラミングに携わる人」に求められるスキルとなるのではないでしょうか。
開発現場でAIによる効率化が進めば、単純な実装業務はますます自動化され、人が関わる部分は「考え抜き、推進する力」を発揮できる領域にシフトしていく可能性が高いと予想しています。例えば最近、DeNAは「AIを活用することで開発者を半分に減らし、新規事業へ配置転換する」と発表し、話題になりました(参考記事)。このような流れを見ても、開発者に求められるスキルは確実に変化していくはずです。
さらに、最近ではAIエージェントに作業を丸投げし、実際に成果を上げる事例も登場し始めています。例えば、DevinというAIエージェントに「Dockerコンテナイメージのサイズ削減」を任せることで、開発者は他の作業を進めている間に、最適化がほぼ自動で完了するという事例が報告されています(参考記事)。このように今後、AIエージェントが進化すれば、より多くの作業をそれに任せられるようになり、開発の進め方自体が大きく変わっていく可能性があります。
いずれにしても、やはり本稿で“本質”とも表現した「考え抜き、推進する力」――つまり、課題を整理し、最適な手段を選び、開発を適切に進める力を鍛え続けることが、今後ますます重要になっていくはずです。
初心者向け、データ分析・AI・機械学習・Pythonの勉強方法 @ITのDeep Insiderで学ぼう
Copyright© Digital Advantage Corp. All Rights Reserved.
Deep Insider 記事ランキング