生成 AI で僕らのプログラミング勉強はどうなるのか？

# 生成 AI の登場によって、僕らはプログラムを書く時代が終わりに近づいている？！

2023 年に OpenAI 社が発表した ChatGPT は、特に僕ら IT エンジニアにとって衝撃な発表だったのではと思います。
今まで、ググったり、参考書をもとに実装したり、GitHub などからコードを参考にして実装していたものが、「テキストだけ」で実装できるほどになりました。

## 生成 AI を用いたサービスやツールの登場

ChatGPT の GPTs や LLM、これらを用いたプロジェクトが研究・開発されたり、オリジナル GPT を作成して業務の効率化を図ったり、僕らの仕事は大きく変わっていきました。
また、プログラミングが全くわからなくても、プロンプトのみでいろいろなことができるようになりました。
ビジネスシーンで非エンジニアという方々にも、導入が進んでいるのではないでしょうか？

僕がウォッチしている TikTok でも、生成　AI　を用いた投稿の作り方や稼ぎ方、のような動画はたくさん見る機会が増えました。若い世代にも少しずつ浸透しているようです。

もはや IT エンジニアだけがプログラムを書く時代も終わりに向かうのでしょうか？


## 僕らって、生成 AI のおかげでコーディング時間、減ってる？

僕の普段のお仕事では、かなりコーディングの時間は減っています。
今まで、Python で自動化させて楽に仕事しようとしたとき、まずはコーディングするという時間が発生しました。自動化を図るために時間を何時間溶かしていたのだろう...
生成 AI が使用できるようになってからは、劇的にコーディング時間が減りました。
自動化したい処理は頭の中で設計して、プロンプトを入力し、コードを生成させる、そして多少の修正は僕自身が行っています。70% くらいは時間の削減ができていると思います。

趣味の Kaggle でも、ほとんどは ChatGPT にコード生成させ、細かい調整や修正は僕が実施するという協力プレーでやっております。
ChatGPT がなかったら、ググって、参考書探して、ひたすらデバッグしていたかもしれません。
こちらもかなり時間の短縮ができています。

現場によっては、セキュリティ関係の問題で導入できないところも多いでしょう。
このセキュリティ問題が今後、どう変化していくかによって、IT エンジニアの働き方も変わってくるでしょう。

僕、あまり IT エンジニアって表現、しっくりこなくて好きくないですが、「エンジニア」と明確にわけるために記載しています。

## 生成 AI でプログラミングの勉強のハードルが低くなりました？

これは本当にそうだと感じます。
毎日勉強をしているのですが、論文を読んだりコードでよくわからない部分を ChatGPT に教えてもらいながらやっています。
たまに違うことを教えてくれるので、そのときはググったりしているのですが、それでもかなり勉強が効率よく進むようになりました。
ちなみに毎日勉強してますが、 5 分のときもあれば数時間やってますよ（盛った）。

# プログラミング初心者にとっても勉強ハードルは低くなった？

今回のメインはこちらのお題です。
僕らがプログラミングを勉強し始めたときって、ネットで情報を集めてきたり、参考書を購入して写経していたと思います。最初に読んだ参考書、覚えていますか？
Hello World からスタートして、FizzBuzz や、うるう年の計算など、いろいろ演習問題と戦ってきて今があるのではないかと思います。

では、生成 AI が登場してから勉強を始めた方がいたら、教えていただきたいのですが
おそらく上記に記載したような、手と頭を動かすような、ちょっと苦しい時間、過ごしたことはあるでしょうか？
これは僕の想像なのですが、プロンプトの練習から始めて、コードを生成させるという学び方へ変わっているのではと思います。

かなり効率的に勉強することができるようになったのではと思います。
難しいコードも、理論を抑えてしまえば、プロンプトを工夫するだけでいい感じのコードを生成してくれると思います。

ここに僕は、闇を感じてしまいました。

## よくわからないけど動作するコードを実装できる、でもコードの中身がわからないのでエラー対応などが厳しい問題

**初学者がつまづきそうなポイント第一位、エラーの対応がなかなかできない（翡翠観点）。**
エラー文を読むのではなく、そのまま ChatGPT へ送信しているのではないかと予測しています。
それ自体に問題はないのですが、そもそもエラー文読むと解決する問題を ChatGPT に入れてしまうことで余計な修正方法の提案をしてきて、解決医に時間がかかっているところを見る機会がありました。
読んでわからなかったら、ChatGPT に聞きましょう。聞くときのポイントも大切だと思ます。
エラー分だけ送信しても ChatGPT ・人間も解決するのは難しいパターンもあります。どんなコードを書いて、どんなエラーが出たのかをセットで質問できるようになるといいなと思っています。

僕らは自然とあたりを付けて解決できてしまうので、初学者見落としポイントだと思ってます。

## エラーは出ないけど、思った通りに動いていないっぽい問題

エラーは出てないけど、思った出力とちがうんですよねみたいな話を聞きます。
一番厄介や問題ですね。おかしい部分からどんどん遡ってコードを確認しないと解決も難しいです。
全コードを ChatGPT に投げて修正やリファクタリングできればいいのですが、原因がわからないと「〇〇なので、修正してください」という抽象的な依頼しかできません。そうすると ChatGPT も何かしらコードを返してくれますが、こちらが意図しているものと全く異なるものが返ってきて、余計に混乱してしまう問題があります。
これは、ひとつひとつ、処理したい実装になっているかを確認しながらコードを書いていくしかないのかな？と思ってます。いい方法を知っている方はぜひ教えてほしいです。


## ChatGPT にコード書いてもらった！コードの意味などはわからぬ問題。

テキストプログラミングであれば、特に意味がわからなくてもいいかもしれませんが、これからプログラミングを学んで活用を検討している方であれば、自分我実装したコードの内容を解説できるくらいまで理解をしてくれると嬉しいなと思います。
僕が新人のときはコードレビュー会で「これは何をしている処理ですか？」なんてたくさん聞かれました。
コピペして書いても全然 OK だと個人的に思っていて、ただ、書いたならそれは理解しておこうねというマインドです。
ChatGPT に頼ってもいいと思うのですが、わからない部分は 1 行ずつ解説してくださいなど、依頼できると良いかと思います。
わからないを積み重ねていくと、どこかで躓いたときにどこまで戻ればいいのか、僕には検討がつきません。
これも誰か良い意見がありましたら教えていただきたいです。



## さいごにぼやき

生成　AI　が誕生して、確かに仕事は効率良くなりましたが、まだまだ僕らのお仕事を奪ってくれないみたいです。
できることはかなり広がったのですが、生成 AI のレビューという仕事が増えました。
まだまだ精度が良くないときもあるので、「僕のお仕事は生成 AI のレビューと修正かよ...」なんて感じるときもあります。
もう少し、賢くなってくれると嬉しいのですが、僕的にどういう原理で動いているのかわからないものを使用するのはちょっと...まだまだ慣れていないということですね。

僕は論文読みが早くなったので、嬉しいし、自分で Python コードを実装するよりも効率良くなったので勉強効率も上がりました。
お仕事の効率もあげて、残業ゼロでアフター 5 を楽しみたいですね。もちろん、kaggle やりますよ（宣言）。


まだまだ人間によるプログラミングは奪われないようなので、もう少しこの業界でお仕事できるかなと思ってます。
奪われちゃったら、OpenAI にでも転職しましょうか（冗談）。