近年はAIの進歩によって、いろいろなものがプロンプトとボタン一つで生成できるようになってきました。
プログラミングも例外ではありません。
「AIでコードを作れるのだからプログラミングスキルはいらない」というような声もあります。
実際のところそれは本当なのでしょうか。そして、この時代にプログラミングを学ぶというのはどんな意味を持つのでしょうか。
今回はそれについて考えてみます。
AI時代に「エンジニアにスキルは不要」と言われる理由
AIだけで「それらしいもの」は簡単に作れる時代になった
AIというものは本当に便利になりました。少し前までは、プログラムを作るには当然、専門技術が不可欠でした。
ですが今は違います。
AIに「こういうサイトを作りたい」「こういう機能が欲しい」と伝えるだけで、かなり形になったものが返ってきます。
極端な話、セオリーのはっきりしたものであれば簡単なプロンプトひとつで一式のコードは作ってくれます。
「テトリスを作って」と一言書くだけで、それなりのものをつくるのは可能でしょう。
コードを書く作業の価値は確かに変わる
なので「もう人間が細かくコードを書く時代ではない」という感覚自体は、自然なものと思います。実際、コードを書く作業の価値は、これから下がっていくでしょう。
そのため、「AI時代にプログラミングを学ぶ意味はあるのか?」という疑問が出てくるのも当然です。
ただ、これでプログラミング知識が不要になると思うのには、落とし穴があります。
AIはコードの正しさを保証してくれない
AIは「それらしいもの」が作れる「だけ」
ここでAIのウイークポイントについて話しておきましょう。AIは、一見人間のように受け答えをしているように見えますが、実際に何か考えているわけではありません。
受け取った入力に対し、統計的な情報から「たぶんこれが正しいであろう」というものを答えているだけです。
なので、厳格な「正しさ」を追求するというのは、逆にAIの苦手分野です。
AIのコードで問題が起きた場合、どうする?
さて、プログラミングの話に戻ります。AIは指示された内容に対し、「たぶんこんな感じでいいだろう」というコードを返します。
実装してみると、8割くらいはそれらしい動きをするでしょう。ただ、どこか想定外の動きをするところがあったとします。
この修正はどうやって行えばいいでしょうか。
AIに「こういう問題が起きてるから直して」とプロンプトを送って直してもらうとします。
また「たぶんこんな感じだろう」とAIがコードを作ります。別の問題が起きるかもしれません。そもそもAIは何が問題で何が原因なのか理解はしていないので、何度言っても直らない可能性もあります。
また、AIは指示と全然関係ない所を変更することもままあります。最初エラーになった機能と全く別の所でエラーが起きるということもあるわけです。
こうしたことは生成AIの仕組みそのものが抱える問題で、構造が変わらない限り、精度が上がっても根本が改善するわけではありません。
AIによるコーディングでこれらのような不具合が起きた場合、「コーディングはAIに任せておけばいい」としてきた人には、対処のしようがなくなってしまいます。
AI時代ほど「コードを理解できる人」が仕事場で求められる
AIで生成したコードを動かすのには、知識のある技術者が必要
AIで作ったコードに問題があった場合どうすればいいか。これはシンプルに、コードを理解できる人が読んで、デバッグをする他にありません。
コードを読んで理解し、問題点がどこにあるかを突き止める。それを修正する。また、他に問題がないか確かめられるように、過不足ないテストを行う。
こういったスキルは実際にコーディングについてきちんと学び、実践を踏まなければ身に付きません。
この文はどんな意味があるか。
こうすることでどう動作するのか。
このエラーはどんな間違いによって起こるのか。
そうしたことを理解していて始めて、AIのコードを問題なく動かすことができます。
AIは、技術を持つ人が時短するツールになっていく
もちろん、AIは不要というわけではありません。地道にコードを書く作業が、AIによって大幅に時間短縮ができる、というのは事実です。
その上で、人間がコードに問題がないかを精査し、問題点は修正し、完成品に仕上げる。
こうした流れが主流になっていくでしょう。
プログラミングスクールにもAI活用を掲げているスクールはありますが、その場合もこれを踏まえています。
正しい知識を使って、より効率的なAIの活用方法を学んでいるということですね。
AIでしかプログラミングを作れない人は不要になる
こうしたことをふまえると、AI頼みでプログラムを作っていた人は不要になる、ということが分かると思います。AIで生成する工程は、修正を行う人がやればすむ話だからです。
生成したものがどんな意味を持つかわからない、という人をわざわざ雇う理由はありません。
こうした人の生成するコードは、問題点がわかっていないので問題が多く、手間をかえって増やしている可能性さえあります。
何にしても、現場に求められる理由はないでしょう。
現場で求められるのはやはり、確かなプログラミングスキルを持つ人です。
プログラミングを学ぶ価値は、かえって高まっていると言ってもいいでしょう。
まとめ―AI時代だからこそ、プログラミングを学ぶ必要性がある―
AIの進化によって、コードを作ることはAIが簡単にやってくれる時代になりました。ですがその一方で、AIが作ったものを理解し、問題を見抜き、完成品として仕上げられる人の重要性はむしろ高まっています。
AIは非常に便利な道具です。
ただ、道具だけでは品質は保証されません。
だからこそ今後は、「AIを使える人」ではなく、「AIを理解しながら使いこなせる人」が強くなっていきます。
そして、その土台になるのがプログラミング学習です。
AI時代だからこそ、技術を理解する価値はむしろ大きくなっているのかもしれません。
