AIを使いながらコーディングしている

はじめに

最近は、プログラミング学習でもAIを使うのがかなり当たり前になってきたように感じます。ChatGPTやClaudeだけでなく、CursorやCodex、VSコードの拡張機能など、コードを書く場所そのものにAIが入ってくるようになりました。

分からないコードを貼り付けて、「この処理はどういう意味ですか?」と聞けば、かなり分かりやすく説明してくれます。CSSのプロパティ、JavaScriptのメソッド、WordPressの関数、API、JSON、バイナリなど、学習中に出てくる知らない言葉も、その場で聞けばすぐに答えが返ってきます。

これは本当に便利です。昔なら本を開いたり、検索していくつもの記事を読み比べたりしないと分からなかったことが、今は数秒で返ってきます。私も学習中からAIにはかなり助けられてきましたし、実務に入ってからもAIがあるのとないのとでは、安心感がまったく違うと感じています。

ただ、便利だからこそ、使い方は少し考えた方がいいと思っています。

学習でのAIの使い方 ―― 説明してもらい、自分の言葉で返す

私が学習でAIを使うときに意識していたのは、AIに説明してもらったことを、そのまま分かった気にならないことでした。たとえば、AIが「このコードはこういう意味です」と説明してくれたら、今度は自分の言葉で「つまりこれは、こういう時にこう使うということだよね?」とAIに返してみるんです。

そうすると、自分がどこまで理解できているかが分かります。うまく説明できないところは、まだ理解が曖昧なところです。AIに「少し違います」と正されることもあります。でもそれが大事なんですよね。間違いに気づけるからです。

人に説明できないことは、たいてい自分でもまだ整理できていません。だからAIを先生として使うだけでなく、会話の相手として使い、自分の理解を確認する。この使い方は、かなり学習に向いていると思います。

代表的なAIには、ChatGPTClaudeGoogle Geminiがあります。

AIにコードを全部書かせると、力はつきにくい

一方で、初学者がAIにコードを全部書かせるのは、少し危ないとも感じています。たとえばポートフォリオを作る時に、HTMLもCSSもJavaScriptもほとんどAIに書いてもらう。見た目は立派なものができるかもしれません。でも、それで本当に力がついたかというと、かなり怪しいと思います。

数学の応用問題を考えると分かりやすいかもしれません。難しい問題は、答えを見れば「ああ、そういうことか」と思うことがあります。でも、答えを見ただけでは自分で解けるようにはなりません。何度も考えて、似たような問題を解いて、ようやく頭の中に回路ができていくような感覚があります。

プログラミングも同じだと思います。手を動かして、エラーにぶつかって、戻って、また書いて、少しずつ理解が深まっていきます。その面倒な工程を全部AIに肩代わりしてもらうと、見た目の成果物はできても、自分の中に基礎が残りにくいのではないでしょうか。

AIは「包丁」より「重機」に近い

私は、AIは包丁というより重機に近いと思っています。

包丁も便利な道具ですし、使い方を間違えると危ないものです。でも、気を付ければ家庭でも扱えます。ところが重機はそうはいきません。建設現場で、経験のない人がいきなり大型の重機を動かしたら危険ですよね。便利なだけでなく、動かせる範囲も影響も大きいからです。

実務でAIを使うときに気をつけること

仕事でAIを使う感覚は、それに少し近いと思います。AIは短時間で大量の作業を進めてくれます。WordPressの関数を書いてくれたり、HTMLをテーマ化する流れを整理してくれたり、自分一人では時間がかかることを一気に進めてくれます。

でも、その出力を何も分からないままコピペするのは怖いです。特に実務では、会社のルール、セキュリティ、個人情報、クライアント情報など、気を付けないといけないことがたくさんあります。AIに渡してはいけない情報もありますし、AIが出したコードを採用した責任は、最終的には自分にあります。

だからこそ、初学者のうちは「AIに全部やってもらう」のではなく、「AIに説明してもらう」「ヒントをもらう」「エラーの原因を一緒に探す」「環境構築で詰まった時に助けてもらう」くらいの使い方がちょうどいいのではないかと思います。

実務に入ってから実際にAIにどう助けられたかは、別の記事(未経験コーダーにとってAIは頼れる相棒でした)にも書いています。

環境構築はAIに頼ってもいい。でも基礎は飛ばさない

環境構築などは、最初からすべて理解しようとすると本当に疲れます。依存関係やバージョンの違いで時間を取られて、肝心の学習に入る前に消耗してしまうこともあります。そういう部分はAIに助けてもらって、今の自分が本当に学びたい部分に集中するのも、私は悪くないと思います。

ただし、基礎は飛ばさない方がいいです。HTML、CSS、JavaScript、WordPressの基本的な仕組み。ここが曖昧なままだと、AIが出したコードが正しいのか、危ないのか、自分で判断しにくくなります。

家でも、基礎が傾いていると上にどれだけ立派なものを作っても不安定になりますよね。プログラミングも同じで、基礎が弱いと後で苦しくなると思います。だからAIを使うことと、自分で手を動かすことは、どちらか一方ではなく両方必要なのだと思います。

AIとの接し方について

もう一つ、AIとの接し方についても考えることがあります。

AIには感情がないと言われます。だから、どんな言い方をしても傷つかないのかもしれません。でも、AIに対して乱暴な言葉を使ったり、奴隷のように命令したりしていると、そういう話し方が自分の中に染みついてしまうのではないかと思うことがあります。

何も言い返さない相手に、自分がどんな態度を取るのか。それは、自分より立場の弱い人や、年下の人、部下にどう接する可能性があるのかを映している面もあるかもしれません。

少し大げさに聞こえるかもしれませんが、私はAIをただの道具というより、相棒のように扱った方がいいのではないかと思っています。もちろん人間ではありません。でも、自分を助けてくれる存在に対して、雑に接する必要はないですよね。

まとめ ―― 便利な相棒として、重機を扱う慎重さも

AIは、これからの学習や仕事において、かなり大きな存在になっていくと思います。だからこそ、初学者のうちから上手に付き合っていくことが大切です。

分からないことを聞く。説明してもらう。自分の言葉で言い直す。手を動かす。AIの答えを疑って確認する。会社や周囲のルールを守る。そして、AIに頼りながらも、自分の基礎を少しずつ積み上げていく。

それが、今の時代のプログラミング学習では大事なのではないでしょうか。

AIを使えば、学習はかなり楽になります。でも、成長そのものをAIに代わってもらうことはできません。面倒なところ、しんどいところ、自分で考えるところを全部飛ばしてしまうと、後で自分が困ることになると思います。

AIを怖がりすぎる必要はありません。でも、軽く見すぎるのも違う気がします。

便利な相棒として、でも重機を扱うような慎重さも忘れずに。そんな距離感でAIと付き合っていけたら、学習も仕事もかなり心強くなると思います。

ティエラ

40歳を目前に、未経験からプログラミングの学習を始めました。今はフルリモート・フルフレックスのコーダーとして働いています。遠回りした失敗も含めて、正直に記録しています。