「プログラミング言語」は今後不要になるのか ソフトウェア開発者の業務、半分はAIで自動化可能に
言語生成AIが持つプログラミングコードの生成能力は驚異的なものです。ソフトウェア開発における生成AIの導入は、3つの形態に分けられます。
この記事は、『生成AIで世界はこう変わる』(今井翔太著、SBクリエイティブ)に掲載された内容に、編集を加えて転載したものです(無断転載禁止)。
ソフトウェア開発における生成AIは、私自身が積極的に利用していることもあり、定量的な研究成果に加え、当事者の生の声もお伝えしたいと思います。この部分に関しては主観的な記述も多くなりますが、その点はご留意ください。
「ChatGPT以前のソフトウェア開発は石器時代だった」とは、ある開発者の言葉です。言語生成AIが持つプログラミングコードの生成能力は驚異的なものです。ChatGPT登場当日、私が最も驚き、「これは本当にすごい」と確信したきっかけは、このプログラミングコードの生成能力を目の当たりにしたことでした。
ここからの話は、生成AIの導入が最も良い方向に作用した場合にはこれほどの効果がある、という事例として参考にしていただければと思います。
ソフトウェア開発の生成AI活用 3つの形態とは?
ソフトウェア開発における生成AIの導入は、以下の3つの形態に分けられるでしょう。
(1)逐次的にコードの続きを提案してくれるシステム
(2)対話的にコードを生成してくれるシステム
(3)指示を出すと実行結果を含め、全部のコードを生成してくれるシステム
(1)は、Microsoft社傘下のGitHub社というプログラミングコード共有システムの企業が開発した、プログラミング支援ツール「GitHub Copilot」というものが該当します。
図3-7は、GitHub Copilotを用いて私が作成したプログラムコードです。とはいえ、実際に書いたのは「def」の部分までであり、続きから「return Q」までは全てCopilotに搭載された生成AIが提案しています。この提案を受け入れると、提案内容がそのまま書き込まれますし、提案を無視して自分で続きを書くこともできます。
(2)はいわゆるChatGPTのような対話的生成AIシステムです。プログラミングに関する自然言語のプロンプトを入力してコードを生成、ユーザー側でコードを実行して、そのフィードバックをユーザーが「エラーが出た」などと入力し、再びコード生成、実行と繰り返すような使用を想定しています。
(3)のレベルまでできる生成AIシステムの例はまだあまりありませんが、OpenAI社が2023年7月に公開したChatGPTのプラグイン「Advanced Data Analysis」が該当します。
開発者の仕事、半分は生成AIで自動化
(1)については、GitHub Copilotがプログラマーの生産性をどれだけ向上させたかに関して、長期にわたって調査した報告と研究論文があります。2021年のテクニカルレビュー期間から、GitHub社は定期的にCopilotの使用状況に関する統計データを発表していますが、ここでは2023年前半に公開されたデータを参照します。
Copilotユーザーが書いたプログラムは、その約半分(46%)がAIの提案をそのまま受け入れたものであるという結果が出ています。つまりCopilotの導入により、開発者の仕事のほぼ半分が自動化されたことになります。この割合はプログラミング言語によって異なりますが、Javaの開発に関しては60%を超えており、もはや人間よりもCopilotが書いたコードの割合が高いという驚異的な結果になっています。
図3-8は、生産性に関わる要素について、開発者視点の評価を示しています。ほとんどの項目で7割以上の開発者から高い評価を得ています。
また、GitHubがMicrosoft社やMIT(マサチューセッツ工科大学)と共同で行った研究では、開発者をCopilotを使う/使わないの2つのグループに分け、あるプログラミング言語を使ってサーバープログラムを開発するというタスクを行わせました。この結果、Copilotを使わなかったグループの開発者が平均161分でタスクを完了させていたのに対し、Copilotを使ったユーザーはその半分以下の平均71分でタスクを完了させたという結果が出ています(図3-9)。つまりCopilotを使うことで、生産性が2倍以上アップしていることになります。
プログラミング言語を使わなくてもプログラミングが可能に?
ChatGPT登場以降は、ChatGPTに「ブラウザで遊べるブロック崩しゲームのコードを書いてください」といったプロンプトを入力し、コードを出力させる開発者が増えています。Copilotと異なり、人間の自然言語の要求に対し、その要求を満たすコードをまとめて書いてくれます。
自然言語を使うという性質から、まったくのプログラミング初心者でもある程度の作業が可能な使い方です。「これからの主要なプログラミング言語は自然言語になり、誰でもできるようになるだろう」と言う人も存在します。
対話形式という性質を利用すれば、エラーが出た場合は修正を求めることができ、コードが足りない場合は続きを要求することもできます。また、ChatGPTの高速な読解力と広範な知識を生かして、単なるコードの生成以外にも「他人のコードの読解」「エラー箇所の指摘」「計算効率が高いコードへの変換」「別のプログラミング言語への変換」といった用途でも使用できます。
これらは従来、人間の開発者がどれだけ知識を持っていても、人間の脳の処理能力の限界から、どうしても時間がかかる作業でした。しかし、ChatGPTは数秒でこなすことができます。
また、2023年7月に実装された「Advanced Data Analysis」にいたっては、実装したいものの要求とデータを渡せば、プログラムの実行結果も含めて必要な全ての作業を自動でやってくれます。
実際にどれくらい生産性が上がったのか、定量的に表すのは難しいのですが、どれだけ低く見積もっても2倍以上、5倍、10倍という数字でも納得できるレベルです。開発者を100人、1000人と雇っている企業であれば、全体としての恩恵はすさまじいものになるでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
窓際でゲームざんまい……働かない高給取り「ウィンドウズ2000」が存在するワケ
「ウィンドウズ2000」「働かない管理職」に注目が集まっている。本記事では、働かない管理職の実態と会社に与えるリスクについて解説する。日本人はなぜこれほどまでに「学ばない」のか 背景にある7つのバイアス
学びの習慣があまりにも低い日本の就業者の心理をより詳細に分析すると、学びから遠ざかる「ラーニング・バイアス(偏った意識)」が7つ明らかになった。日本人はなぜこれほどまでに「学ばない」のか。2カ月は「働かずに勉強に専念」 KDDI流・本気のDX人材育成法
大量のデータでSuicaが超進化! 改札で「タッチ不要」が異次元のインパクトをもたらすワケ
ピッ!――駅の改札で、もうこの音を聞くことがなくなるかもしれない。東日本旅客鉄道(以下、JR東)は、Suicaの大幅なアップデートを予定している。このアップデートにより、Suicaをタッチしなくても改札を通り抜けられるようになるという。【マネーフォワード、フリーを徹底比較】なぜ、市場評価の明暗が分かれた?
マネーフォワードとフリーは、上場後も海外機関投資家から400億円以上を資金調達し、赤字を継続しながらも事業成長を実現させた。両社はコロナ禍で世界が激変する中で、両社は機関投資家とどう向き合ったのか。「管理職になりたくない」 優秀な社員が昇進を拒むワケ
昨今は「出世しなくてもよい」と考えるビジネスパーソンが増えている。若年層に管理職を打診しても断られるケースが見受けられ、企業によっては後任者を据えるのに苦労することも。なぜ、優秀な社員は昇進を拒むのか……。「ホワイトすぎて」退職って本当? 変化する若者の仕事観
「ホワイト離職」現象が、メディアで取り沙汰されている。いやいや、「ホワイトすぎて」退職って本当? 変化する若者の仕事観を考える。