未経験・初学者の方はAIを使っていますか?
というよりAIしか使っていないはずです。
AIを使うと自力がつかないから、研修期間中はやめにしよう!と思うものの、期限までに結果を出さなければならないとなると、AIに頼ってしまうのは当然のことだと思います。(私もそうです。)
最近のAIは○○を作ってください。と単一ファイルを作成させるような指示であれば、かなりの精度で作成してくれます。
しかし、既存のアプリケーションのエラーを直そうと思った時、AIに話してエラーが解決された経験って多いですか?
これ未経験者や初学者の方だったら、かなり少ないはずです。
(私もまだ少ない方なので、言えたもんじゃないですが...)
実際に働いているエンジニアですら、こんな記事を上げるほど難しいそうです!(@ku-sukeさん記事拝借します。)
後半はAI=プログラミングというわけではなく、様々な角度でAIを使うことを考慮しなければならないという点は、ものすごく共感できました。
技術力じゃなくて忍耐力があがった
特に私が大学生のころは、既存システムのエラーを直すことは大の苦手でした。大学生の時はVibe Codingをしていて、言われるがままにアプリケーションやフロントエンドのモックを作っていました。
アプリケーションを作っていた時には、明確に指示をしているにもかかわらず、エラーを起こします。
その時に私の対処法(プロンプト)は
1\.作りたいor直したい機能の設計をプロンプトに入力して
どうやって開発するかを一度出力させる
2 エラーが出たら
「○○の時に指示した~が間違っていると思うので、
見直してください。」
です。
これの何が悪いかというと、データ構造に目を向けているものの、具体的な指示ではないため、どの部分でどうエラーが出ていて、どう直せばよいかがAIには理解できないのです。
具体的に言えば、質問をするときに「○○について知りたいです。▲▲が間違っていると思うのですが...」というものです。
これだと、いい返答は帰ってこないですよね。
なぜなら、何に困っているかを特定しづらいためです。
もうこうなってしまったら大学生の私が取る方法はひたすらAIが正解を出すまで、修正ガチャを回すことでした。
当然修正ガチャなんて精度の良いモデルを使用したとしても、かなりの低確率でしか、エラーを直さないです。
これは技術力ではなく、耐久力です。
実際技術力ない人がVibe Codingするのはめっちゃしんどいです。
(生成AI活用研究部さん記事引用させていただきました!)
AIは万能ではなく、使い方が大事であるということがこの記事より学べます。
経験者の実例
それに、先輩や友達に
「なんでエラーが出たのか?」を説明することができず、見当もつきません。
そのため、エラー処理が面倒となってしまい、誰も相手してくれない。むしろ、実力がないやつだと思われたかもしれません。
しかし、弊社に入ってからAIを使う経験者がどのようにAIを使うのかを見てみました。
すると、
「○○というデータが△△に□□という形式で入ってくるので、
★★を返答するように作成していただきたいです。」
とプロンプトを入れていました。
私と違う点は
どんなデータが入ってくるかを指示していること
でした。
この指示を入力できると、AIがデータが入ってくる前提でアプリケーション作成をしてくれるため、どんなエラーが出ているかをAIが検討しやすくなります。
それで仮にエラーが出たとしても、データの流れを抑えているため、間違っている部分を即座に指摘したり、先輩にすぐに頼れる体制ができています。
大事なこと
未経験・初学者に求められていることは
「AIに正しく頼れる能力」
または
「ダメだった時にすぐに助けを求められる体制づくり」
だと思っております。
となると、いきなりAIに任せるのではなくて、AIに任せる準備から始める必要があります。
その準備こそが直したいシステムのデータ構造を理解することだと思っております。
現に私もINとOUTを意識した指示をしたら、想像通りの出力をAIが返しやすくなりました。
ただ、一番の成果は先輩や同期にすぐに頼れるように準備ができたことです。
今までは「○○について知りたいです。▲▲が間違っていると思うのですが...」みたいな質問をしてしまっていました。
ですが、「○○の▲▲が間違っています!」と断定できるレベルまで持っていけるため、回答者が質問の方向性を理解しやすいですよね。
そのため、求めていた回答が返ってきたり、先輩の時間を奪わなかったりと良いこと尽くしでした!
私は以上の体験から、データ構造を理解することから始めることを推奨します!
データ構造を理解できない方は、コードを読ませて「これは何をしている?」というふんわりした質問からでも、データ構造を理解するところから始めることが良いと思います!
最後に
他にもAIの使いこなし方に関する方法や重要な要素はあると思いますが、あくまで一例であって、初学者が自覚しづらい要素だと思い、自戒の念を込めて執筆に至りました。
意見がありましたら、Qiitaのコメント欄にてお願いします!