GitHubから、「GitHub Copilot」という新サービスが発表されました。(2021年6月29日)
これは「プログラマーが書いた関数やコメントから、AIが続きのコードを予測して、ソースコード自動補完する」という機能だそうです。
大量のソースコードを教師データとして保有しているので、「いつかGitHubからこういうAI自動補完機能出そうだなー」って思っていまいたが、ついに来ました!
GitHub Copilotの公式ページは以下
GitHub Copilotの概要
GitHubの公式Twitterで、GitHub Copilotが動いている様子が見れます。
上記の動画の例では、「send_tweet_with_image…」という関数名を入力しただけで、Twitter APIを認証して、API経由でTweetができるソースコードを自動補完してくれています。
動画を見ていると、結構良い精度が出ているように見えます。
ちなみにGitHub CopilotのCopilotは「副操縦士」という意味があるようです。
「your AI pair programmer」というキャッチフレーズの通り、力強いペアプロのパートナーとなりそうです。
動作環境について
GitHub Copilotは、現在Visual Studio Code拡張機能として利用できます。
まぁ、GitHubはMicrosoft傘下だし、そりゃそうかという感想…
ただし、現在はテクニカルプレビュー版であり、申し込みをして、招待を受けないと使用ができません。(2021年7月現在)
対応言語について
GitHub Copilotは、幅広いフレームワークと言語のセットで動作するようです。
テクニカルプレビューは、Python、JavaScript、TypeScript、Ruby、およびGoで特に効果的ですが、数十の言語を理解し、ほとんどすべての言語に対応しているようです。
個人的にはJavaの精度が高いのかどうか気になります。
しかしながら、流石AIと言うだけのことがあり、単純なプログラミングの文法に対応出来るというチープな内容ではなく、フレームワークにも対応しているようです。
どうやったら使えるの?
2021年7月現在は、テクニカルプレビューなので、プレビューへの申込みが必要です。
プレビューは公式ページから申し込めますが、申込みには上限があるようです。
GitHub Copilotによって開発の未来はどうなる?
ここからはGitHub Copilotの発表を見て、私が感じた感想です。
GitHub Copilotによって、どんな未来が起こりそうか予想してみたいと思います。
最低限求められるスキルセットが変わる
コメントや関数名から、プログラマーが書きたいと思っているコードを予想して、自動補完してくれるというGitHub Copilot。
実際にGitHub Copilotが動いている動画を見ても、なかなかの精度が出ているように思えます。
これの精度が今よりももっと良くなっていくと、最低限必要なスキルセットも変わっていきそうです。
例えば、現在は最低限プログラムが書ければ、設計は他の方にお任せして、設計書の通りにコードを書けるということでも現場で働くことが出来ると思います。
しかし、GitHub CopilotのようなAIが良い感じにコードを生成してくれるとなると、コーディングができるだけでは現場で活躍ができなくなりそうです。
今後は、以下のような人が今よりももっと重要視されるし、多くの人にスキルセットとして求められそうです。
- パフォーマンス効率とか業務要件やコストに応じて、全体的なアーキテクチャを描ける人。
- プログラムを使って、どうやって世の中に価値を提供していくかを考えられる人。
時代は「How(どのように)よりも、What(何を)、Why(なぜ)作るのか」という方向にどんどんとシフトしていっているように思えます。
アイデアをすぐに試せる
GitHub Copilotは、コメントでもソースコードを生成出来るということで、気になるのは詳細設計レベルの設計を済ませたら、あとはソースコードの自動生成ができるのか。
いやいや、もっとこちらの意図を組んでくれて、外部設計レベルで詳細なコメントを書かなくても、ソースコードの自動生成をしてくれるのかという点が非常に気になります。
それによって、ジャストアイデアレベルの話をコメントとして書き込むと、ソースコードが自動生成されるなんてことになったらどうでしょう?
PoCをする頻度がかなり高くなりますし、プログラミングが出来ないからアイデアを試せないという起業家の人がすぐに自分のアイデアを試せるようになると思います。
上手く使えばイノベーション待ったなし…!?
ソースコードの著作権はどうなるのか?
GitHub Copilotは、AIがソースコードを自動で生成しているため、生成されたコードが著作権的に抵触する場合、どのような判断が下されるのだろうかと、関心があります。
おそらく、プログラマーの人は自分で開発したわけではないので、著作権的に問題があるコードが生成されていると認識が出来ないと思います。
このへんもライセンスフリーのソースコードからソースコードを考えてくれる等、GitHub Copilotが考慮してくれるのかな…?
追記
APIキーを含んだコードを自動生成してしまった事例が発生したようです。
GitHubでは原因の追求・対応を行っているようです。
詳しくは以下の記事に記載されています。
https://fossbytes.com/github-copilot-generating-functional-api-keys/
GitHub Copilotはすごい!
ここまでGitHub Copilotの概要とこれから起こりそうな未来について、自分なりに整理してみました。
ともかく、問題も発生しているけれども、GitHub Copilotは凄そうだという印象を私は持ちました。
AIに負けないように、自分のキャリアプランやスキルセットを磨きながら、現場でGitHub Copilotを使える日を楽しみに待ちたいと思います。
コメント