• 会員限定
  • 2024/01/31 掲載

ChatGPT以前のソフトウェア開発は「石器時代」、プログラミングが劇的大変化のワケ

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
  • icon-close-snsbtns
記事をお気に入りリストに登録することができます。
生成AIの登場により、プログラミングの世界が劇的に変化している。この変化については「ChatGPT以前のソフトウェア開発は石器時代だった」と評されるほどだ。『生成AIで世界はこう変わる』を上梓した東京大学 松尾研究室に所属する今井 翔太氏も「これは本当にすごい」と確信したという。今井氏は生成AIのプログラミング活用を(1)コードの提案、(2)対話的生成、(3)全コードの生成という3つの形態に分類。ここでは今井氏自身の経験と学術調査をもとに、どのようにソフトウェア開発者の作業が変革されているのかを紹介する。
photo
生成AIはプログラマーに劇的な効果をもたらしたようだ(後ほど詳しく解説します)
※本記事は『生成AIで世界はこう変わる』を再構成したものです。

「これは本当にすごい」と確信したきっかけ

 ソフトウェア開発における生成AIは、私自身が積極的に利用していることもあり、定量的な研究成果に加え、当事者の生の声もお伝えしたいと思います。この部分に関しては主観的な記述も多くなりますが、その点はご留意ください。

 「ChatGPT以前のソフトウェア開発は石器時代だった」とは、ある開発者の言葉です。

 この言葉の通り、言語生成AIが持つプログラミングコードの生成能力は驚異的なものです。ChatGPT登場当日、私が最も驚き、「これは本当にすごい」と確信したきっかけは、このプログラミングコードの生成能力を目の当たりにしたことでした。

 ここからの話は、生成AIの導入が最も良い方向に作用した場合にはこれほどの効果がある、という事例として参考にしていただければと思います。

 ソフトウェア開発における生成AIの導入は、以下の3つの形態に分けられるでしょう。

  1. 逐次的にコードの続きを提案してくれるシステム
  2. 対話的にコードを生成してくれるシステム
  3. 指示を出すと実行結果を含め、全部のコードを生成してくれるシステム

 1は、マイクロソフト傘下のGitHub社というプログラミングコード共有システムの企業が開発した、プログラミング支援ツール「GitHub Copilot」というものが該当します。

 下の図は、GitHub Copilotを用いて、私が作成したプログラムコードです。とはいえ、実際に書いたのは「def」の部分までであり、続きから「return Q」まではすべてCopilotに搭載された生成AIが提案しています。この提案を受け入れると、提案内容がそのまま書き込まれますし、提案を無視して自分で続きを書くこともできます。

画像
「Copilot」の自動生成機能を活用したコード

 2は、いわゆるChatGPTのような対話的生成AIシステムです。プログラミングに関する自然言語のプロンプトを入力してコードを生成、ユーザー側でコードを実行して、そのフィードバックをユーザーが「エラーが出た」などと入力し、再びコード生成、実行と繰り返すような使用を想定しています。

 3のレベルまでできる生成AIシステムの例はまだあまりありませんが、OpenAI社が2023年7月に公開したChatGPTのプラグイン「Advanced Data Analysis」が該当します。

プログラマーの生産性向上についての長期調査結果

photo
『生成AIで世界はこう変わる』
画像をクリックすると購入ページに移動します
 1については、GitHub Copilotがプログラマーの生産性をどれだけ向上させたかに関して、長期にわたって調査した報告と研究論文があります。2021年のテクニカルレビュー期間から、GitHub社は定期的にCopilotの使用状況に関する統計データを発表していますが、ここでは2023年前半に公開されたデータを参照します。

 Copilotユーザーが書いたプログラムは、その約半分(46%)がAIの提案をそのまま受け入れたものであるという結果が出ています。つまりCopilotの導入により、開発者の仕事のほぼ半分が自動化されたことになります。この割合はプログラミング言語によって異なりますが、Javaの開発に関しては60%を超えており、もはや人間よりもCopilotが書いたコードの割合が高いという驚異的な結果になっています。

 下の図は、生産性に関わる要素について、開発者視点の評価を示しています。ほとんどの項目で7割以上の開発者から高い評価を得ています。

画像
「Copilot」による生産性向上についての開発者視点の評価
【次ページ】プログラミング言語を使わなくてもプログラミングが可能に?

関連タグ タグをフォローすると最新情報が表示されます
あなたの投稿

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます