一つ前の記事で写経は必要か?ということについてお話しました。
GPT時代の初学者プログラマーに写経は必要か?という疑問
こちらを読むと少し捉えやすいかもしれません。
「コーディング(ここでは手打ちで組んでいくことを指します)」の「わからない」に関して
こちらは単純明快で、「どうしてこの組み方だと動かないのか?」「関数の定義の仕方がおかしいのかな?」「変数が途中で書き換わってるけど変なことしちゃったかな」と具体的にわからないことがわかります。
実際にデバッグするときも、大体どの辺りでおかしくなっているのか想定できるので、対象の部分にブレークポイントを貼って動かせば解決も早いです。
「コード生成後」の「わからない」に関して
GPTやその他生成AIでコードを生成し、コピペでガンガン進めていくと「なんで動いているのか」「どのような実装にしたのか」「バグが潜む可能性」「似たような処理の関数があるかどうか」わからないことがわからなくなります。
部分的に生成し、どのようなロジックで動いているのか、実現できるのかを確認してから実装する場合は特に問題ないでしょう。
この手順をすっ飛ばして、「コード生成してもらったしコピペで動かしたろ!w」って感じになると収集がつかなくなっていきます。(実体験です、私だけなのかな)
GPTなどの生成AIが生まれる前と生まれてからで、「わからない」の質が変わってきたように思います。
それはやはり、言語理解も当然そうですが、生成AIを使うか生成AIに使われるかの違いだと認識しています。
生成AIにひたすら要望を投げてガンガン開発を進めて、感覚的には生成AIを使っているように思うかもしれもせんが、いつの間にか「AIに作ってもらってばかりになったせいで手が付けられなくなった」という状態になってしまっては、生成AIに使われているといっても過言ではありません。
デバッグするにしても、機能追加、仕様変更するにしても、生成AIにお伺いを立てる日々が始まります。
それが、「わからないことがわからない」という状況だと考えています。
どんなことでも基礎が大事、ということを念頭に置いて研鑽していこうと思います。
生成AIとは程よい距離感で依存しすぎず、うまく付き合っていきたいですね。

コメント