MENU

【IT技術者が語る】ChatGPTが登場してもプログラマーが不要にならない5つの理由

ChatGPTに指示を出すだけで、あっという間にプログラムを自動生成してくれる——そんな便利な時代が到来しました。

この流れを受けて、「もうプログラミングの知識はいらないのでは?」「いずれプログラマーの仕事はなくなるのでは?」といった声も聞こえてきます。

では本当に、これからの時代にプログラミングを学ぶ意味はないのでしょうか? プログラマーという職業は消えてしまうのでしょうか?

そんな不安を抱えている方にこそ、ぜひ知っていただきたいことがあります。

この記事では、ChatGPTを実際の業務に取り入れている現役エンジニアの視点から、「なぜプログラミングスキルはこれからも重要なのか」について、具体的な理由をお伝えしていきます。

目次

プログラマー不要論は、ChatGPTやプログラミングをよく知らない人の主張

「プログラマーはもう不要だ」と唱える人の多くは、ChatGPTやプログラミングについての知識が浅いか、ChatGPTに簡単なプログラムしか書かせたことがない人です。

実際にIT業界でシステム開発を行っている私のようなシステムエンジニアやプログラマーにとって、ChatGPTは次のように捉えられています。

  • いずれプログラマーが不要になる時代が来るかもしれないが、それは「今」ではなく、もっと先の将来の話である
  • ChatGPTにプログラムを依頼するには、依頼する側にもプログラミングの知識が不可欠
  • ChatGPTをうまく業務に活用することで、プログラマーの生産性は大きく向上する

確かに、ChatGPTはこれまで人間が行ってきた多くの作業を肩代わりしてくれますが、2023年4月時点ではまだ完全とは言えません。

シンギュラリティ(技術的特異点)を迎えた後の世界がどうなるかは分かりません。しかし、少なくともここ数年でプログラマーが不要になると考えている現場の技術者はおらず、10年先であっても完全に不要になるとは考えにくいのが現実です。

もっとも、プログラマーに求められるスキルは今後変化していくことが予想されます。その点については後述します。

プログラマーが不要にならない5つの理由

ChatGPTやBingAIなどの大規模言語モデルを用いたチャットは、私も実際の日常業務で利用しており、プログラミングをする上でとても重宝しています。

しかし、使えば使うほどプログラミングに関する知識の必要性を痛切に感じます。

常に最適なプログラムを生成するとは限らない

ちょっとしたプログラムであれば、ChatGPTは正しく動作するプログラムを自動生成してくれます。

例えば、「CSVの1列目に日付が含まれているので、年月単位で2列目と3列目を合計するPythonプログラムをpandasを使って作成して」とお願いすると、意図通りに正しく動作するプログラムを生成してくれました。

誤って「年月単位」を「年月単」と指示していますが、特に指摘されることなく自動で「年月単位」に読み替えてくれています。

しかし、ちょっと待ってください。Pythonでプログラムを組んでいる人なら、ちょっと違和感を覚えるはず。なぜなら、pandas というライブラリを使えば、もっと簡単に出来ることを知っているからです。

そこで、「今度はpandasを使って」というキーワードを含めて指示してみました。今度はわずか4行で同じことが出来ました。

左が先ほどChatGPTが作成した結果、右が「pandasを使って」という一文を含めて指示した結果です。

確かにどちらも正しく動作することに違いはありませんが、分かりやすく効率が良いのは明らかに「pandas」を使う右のプログラムです。

この様に、ChatGPTが常に最良のプログラムを生成してくれるとは限りません。

常に動作するプログラムを生成するとは限らない

今度は、「価格.com の液晶テレビの製品一覧ページから、価格、順位、登録日、画面サイズ、画素数、電気代を抜き出し、CSV形式で出力する Pythonのプログラムを作成して」とお願いしてみました。

ChatGPTは見事にそれっぽいプログラムを生成してくれました。しかし、いざ動作させてみると・・・エラーで動きません。

やりたいことは、価格.com から液晶テレビの情報を抜き出し、CSVに保存するという単純なことなのです。

しかし、これを実現するには価格.comのページ構造(HTML)を理解し、価格、順位、登録日などの抜き出し方の知識が必要となります。

このように一見単純に見えても、実はもっと中身を理解しないと出来ないことも多く、現段階でのChatGPTでは正しく動作するプログラムが生成できません

ChatGPTへの指示、生成するプログラムの長さに制約がある

先ほどのプログラムも、ChatGPTに対して細かく指示をしてあげれば、おそらく動作するプログラムを自動生成してくれると思います。

ただ、ChatGPTへ指示する(ChatGPTへの入力)にも上限が決まっており、一定以上(数千文字)を超える長いテキストを一度に入力できません。

逆もしかりで、ChatGPTが自動生成するプログラムサイズ(ChatGPTの出力)も上限が決まっており、上限を超えると途中で切れてしまいます。

これはChatGPTの有料プランに加入したり、ChatGPTの進化によって緩和されはしますが、それでも何万行ものプログラムを自動生成することはできません

ChatGPTはシステム全体の設計と開発が出来ない

優秀なプログラマーは、システム全体を俯瞰的に見て、共通性を見出したり、生産性を高めるためにプログラムを部品化します。

また、要件に合わせてシステムをいくつかの役割に分割し、それらを連携する仕組みを考えたりします。

いわゆるシステム設計、プログラム設計と呼ばれる作業ですが、ChatGPTにはこれが出来ません

もちろん、大量のソースコードをChatGPTに読み込ませて、「部品化して」と指示すると部品化はしてくれますが、これは人間が依頼したからであって、自ら進んで行動は起こしません。

ChatGPTはあくまでも指示された仕事をこなすだけなので、システム設計、プログラム設計はプログラマーが率先して行う必要があります。

ChatGPTはプログラムの運用保守が出来ない

システム開発は最初に何千万や何億もの開発費が投入されるため、おいそれと破棄することが出来ません。

必然的に長期間使い続けされるため、様々な事情に合わせて定期的に改善が行われます。

定期的な改善では、既存プログラムへの機能追加や不具合修正が行われますが、事前に影響範囲は変更箇所の特定、変更方法について吟味します。

そして、実際にプログラムを改修し、動作確認(テスト)を行い、顧客と日程を調整して新しいプログラムをリリースするという手順を踏みます。

これら一連の作業を行うためには、システム全体に精通しており、かつ他人が書いたプログラムを理解する能力が求められます。

仮に対象システムに関するすべての設計書、すべてのプログラムコードを学習させればプログラマーは不要になるかもしれませんが、現実的にそのようなことは不可能ですし、仮にChatGPTだけで出来たとしても、その結果が100%信頼できない限り、だれかが正当性をチェックしなければなりません。

つまり、システムの運用保守においては、まだまだプログラマーの存在が必要となります。

プログラマーにとってChatGPTは敵ではなく、強力な武器

これまでの内容から、ChatGPTは現時点でプログラマーの仕事を奪うほどのレベルには達していないことがお分かりいただけたかと思います。

もちろん、これは2023年4月時点の話であり、シンギュラリティ(技術的特異点)に代表される今後の進化によって、いずれはプログラマーという職業そのものが不要になる可能性を完全に否定することはできません。

しかし、RPAによる自動化ノーコード/ローコードツールの台頭、さらには「30歳定年説」など、これまでにもプログラマーの未来が危ぶまれる局面は何度もありました。それでも現在においてはむしろエンジニア不足が叫ばれるほど、技術者の需要は高まっています。

ChatGPTは、プログラマーを駆逐する敵ではなく、生産性を飛躍的に高めるための強力なパートナーと考えるべきです。

プログラマーは“不要”ではなく“進化”が求められる

これからのプログラマーには、ChatGPTに対して的確な指示(プロンプト)を出し、再利用可能なサンプルプログラムをいち早く生成させるスキルが求められます。

すべてのプログラマーが同じ「武器(=ChatGPT)」を持つ時代において、その武器をどう使いこなすかが成果を左右するのです。

同時に、ChatGPTが出力したコードが適切かどうかを見極める力、そして必要に応じて手を加えるスキル(=プログラミング力)も、これまでと変わらず重要です。

つまり、「プロンプトスキル」「プログラミングスキル」は互いに補完し合い、相乗効果を生み出す関係にあります。

 プログラマーの価値 = プロンプト × プログラミングスキル

このように、ChatGPT時代におけるプログラマーの価値は、単なるコード記述力だけでなく、「AIを使いこなす力」と「コードを読む・直す力」の掛け算で決まると言っても過言ではありません。

まとめ

今回は、「ChatGPTの登場によりプログラマーは不要になる」という話題について、日々の業務で実際に活用している立場から私の見解をお伝えしました。

ChatGPTやプログラミングに対する理解が浅い人ほど、「もう人間がコードを書く必要はない」と言いがちですが、実際に業務で使ってみると、まだまだ課題が多く、改善の余地があると痛感します。なぜなら、システム開発はそれほど単純ではなく、数多くの要件や前提が複雑に絡み合っているからです。

近年は、プログラミングを効率化する便利なツールが数多く登場し、以前よりも簡単にアプリケーションが作れるようになった反面、求められる要件は高度化し、システム自体も複雑化しています。

ChatGPTはあくまで「道具」であり、それをどう使いこなすかがカギです。道具の性能を最大限に引き出すためには、使い手に相応の知識と技術が求められます。つまり、ChatGPTを使いこなすためにも、プログラミングスキルは必要不可欠なのです。

これからの時代、プログラミングスキルは“不要になるもの”ではなく、“AI時代における強力な武器”です。この記事を通じて、プログラミングを学ぶ意義を再確認していただけたなら幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次