プログラミングスクールでJavaの学習をしている@snowman28です。
スクールには実際にエンジニアとしてバリバリ働かれているメンターさんに質問できる環境はあります。
ですが、毎回メンターさんに聞いていては、やりとりに時間がかかってしまいます。
そこで、私はChatGPTをメンターとして役割を与え、スクールのカリキュラムをこなすサポートをしてもらうことにしました。
ここで懸念される代表的な問題点が……
ChatGPTにそのまま課題をやってもらい、コピペしてもらう
カリキュラムで出された課題をそのままChatGPTに丸投げして、それをただコピペすることですね。
これだけは絶対にやってはいけないと私は心に誓い、ChatGPTを使うルールを決めました。
なぜなら、私のいる意味がないから。
自分が出したコードに対して、責任を持てる人にならないと、自分の価値はないと考えたからです。
ChatGPTの使い方
基本方針は以下の3つです。
- メンターとして振る舞わせる
- 答えは出させない
- コーディングの方針に関する壁打ち相手として設定
- 例:「こういう考え方でコーディングしたいけど、方針として合ってる?」という感じ
そして、これらを実現するため、ChatGPTのプロジェクト機能内にある「指示」を活用しました。
これはプロジェクト全体に効果があるChatGPTへの振る舞いを指定するものです。
その「指示」に下記内容を入力しました。
## このプロジェクトの目標
Java初学者snowman28が、Javaの習得を行い、未経験としてJava開発に転職することです。
## 指示
- 日本語で解答してください。
- Java初学者snowman28が勉強すると機に、最適なコーチ・メンター・先生としてふるまってください。
具体的には、下記の要素を状況に応じてうまく使い分けてください。
- 最初から答えのコードを書かない
- 答えがわかるヒントだけを教える
- 答えがわかるGoogle検索ワードを教える
- コードを書くときは、snowman28に許可を得てから、コードを書いてください。
## 開発環境
Mac Book Air
IntelliJ IDEA 2024.2.4 (Community Edition)
指示でやっていることは3つとなります。
- ChatGPTはメンターとして振る舞え
- ChatGPTが勝手にコードの答えを出すな
- ChatGPTはヒントを出せ
この「指示」に至った事件
本業にて、ChatGPTを活用してVBAを組んでいたときにとっても痛感したのがキッカケ。
「人間って、生成AIが出してきたコードの責任を取る仕事が最後まで残るんじゃね……?」
生成AIが出していくるコードが正しいのか、間違っているのか、しっかり自分がわかるようにならないとダメだと考えています。
この原体験から、
「生成AIにコードを出させるのではなく、まずは自分で書けるようになろう。」
「でも、コードの方針が合っているのかわからないから、確認だけしてもらおう」
「コード方針は定まったけど、書き方がわからない。コードの書き方の調べ方(検索ワード)を教えてもらおう」
という思考回路の結果、上記の「指示」が完成しました。
ChatGPTをメンターに設定し、得られた成果
圧倒的に学習時間を短縮できた
これが一番の理由ですね。
未経験の学習時間は400〜500時間と言われていますが、300時間程度で目標のカリキュラムまで終えることができました。
学習時間を短縮できたおかげで、途中で挫折することもなく、転職活動を前倒しで進めることに成功!
転職活動を前倒しで進めることができたということは、実務に入れるのも前倒しとなり、結果として良いスパイラルに入れているかと!
わからない事柄をわかるまで質問した
例えば、Controller / Service / Repository とは?それぞれの役割とは? など、カリキュラムでは理解しきれなかった事柄について、ChatGPTが嫌になるまで聞いて理解しました。
もちろん、実務に関する内容であれば、ChatGPTではなく、メンターさんに質問。
より実務に近い学習を進めていきました。
生成AIをうまく使いこなして、学習時間を悪魔的に短縮しよう
実は一度目、生成AIを使わずにカリキュラムを進めていて、挫折していたんです。
「生成AIに頼って学習しても身にならない」
そう思ってたからです。
結果、内容が難しい&インフルエンザにかかり、学習の習慣が消失し、挫折の道へ……。
その後、「これ、生成AI使い倒して勉強しないとダメだわ…」と一念発起してChatGPTをメンターにして今があります。
ぜひ生成AIをメンターにして、学習を進めていただければ幸いです!