「GitHub Copilot」とは
企業での試験導入が進む「GitHub Copilot」は、GitHubがChatGPTの開発元であるOpenAIと共同開発したサービスだ。Copilot(コパイロット)とは副操縦士の意味だが、どのような特徴があるのか。
「生成AI以前から、プログラマー向けの開発ツールには入力を補完したり、書き方のヒントを出したりする支援機能がありました。GitHub Copilotはその延長にあるサービスといえるものですが、自然言語で対話しながら使える機能を取り入れるなど、AIを活用することで次の段階に進化しつつあります」(同)
ChatGPTに指示を出すようにプログラマーが日本語で作業内容を伝えることができる半面、新たな業務を求められる可能性もあるという。
「AIに指示を出すのは意外と難しく、思い通りの結果を得るには指示の出し方を学ぶ必要があります。これまでのプログラマーとしての仕事が減る一方で、新しい業務が増えることも考えられます」(同)
自然言語で作業を依頼できるとなれば、プログラマーでなくても指示を出すことが可能になる。しかし、AIの提案を採用するかどうかを決めるのは人間であり、その成果物をチェックするには高度な知識を持った人材が欠かせない。
「生成AIへの効果的な指示の出し方を探る『プロンプトエンジニアリング』という分野が盛り上がっていますが、そこまでやるなら自分でコードを書いたほうが早いという場合もあるでしょう。また、プログラミングではシステム全体の整合性も重要になるため、AIによる提案の良し悪しを判断できない人が扱うことは難しいです」(同)
AI導入のメリット・デメリット
生成AIによるプログラミング支援サービスの普及は、プログラミングの世界にどのような影響や変化を与えると予想されるのだろうか。
「プログラミングではコピー&ペーストや繰り返しの作業も多く、ベテランは省力化の工夫をしてきましたが、生成AIがあればそうしたスキルの底上げを図れる可能性があります。また生産性の向上という面では、『GitHub Copilotを使用した開発者は、同サービスを使用しなかった開発者より55%も早くタスクを完了した』というGitHubによる調査もあります」(同)
AIに仕事を任せることによって生産性が上がる可能性はあるものの、その一方で、本格的に導入するためには数々の問題をクリアしなければならないようだ。
「ChatGPTが不正確な文章を出してくる場合があるように、プログラミングにおいても生成AI特有の間違いには注意が必要です。また、学習元となったデータの権利関係に加えて、プログラミングではオープンソースソフトウェアにおけるライセンスの問題もあり、完全には解決していません。AIを活用することが前提になれば、プログラミング教育にも変化が生じるでしょう」(同)