はじめに
こんにちは。takunと申します。
この記事では、初心者エンジニア目線でChatGPTの活用方法や意義について語ってみます。
投稿者は初心者エンジニアです。間違ったことや不適切な内容となってしまう可能性もあることをご承知ください。鼻くそほじりながら見ていただけたら幸いです。
また、助言など頂けると嬉しいです。
※ 前提としてChatGPT3.5での内容で進めていきます。
目次
① ChatGPTへの偏見とその解消
② 情報収集ツールとして
③ デバッグツールとして
④ 面接対策として
⑤ AIだって間違えるときはある。仲良く付き合っていこう。
① ChatGPTへの偏見とその解消
ChatGPTみなさん使ってますか。エンジニアのみなさんであれば、多くの方が一度は使ってるのだろうなと思います。
私は4月に初めてAIチャットくんというLINEチャットボットを利用しました。
試しにGoogle検索の代わりにプロンプトを入力してみると、
あれ、思ったより使いやすいしわかりやすいぞ。
しかも答え方が人間らしさがあって抵抗感も大分少ないし。
でも、エンジニアの勉強を進める上では使い過ぎたら自分のためにならないのかなあ。
そんなことを思って、実践的な運用はせずLINE上でのみ検索エンジンとして利用していました。
とある動画を見るまでは…
やるかやられるかチャンネルさんの動画ですね。具体的なhow-toを挙げていてわかりやすいです!オススメです。
誤字脱字のチェック・修正はまだわかる。
AIとのロールプレイって…まじ?
アイデア出しも助けてくれるの?
世間ではChatGPTを相棒などと言う人もいますが、それは冗談じゃないのかもしれないと思いました。
真面目に学習用途として、サポート役として活用してみることにしました。
②情報収集ツールとして
シンプルに検索エンジンとしても使えますが、Googleのように一つ一つのページを開かず、必要な時に必要十分な情報のみを入手できるのが大きなメリットではないかと感じます。
〇〇の意味を教えてください。
//下記のような条件を加えてみる
//易しく,3つ挙げて,箇条書き,活用方法も併せて
私はよく上記のような使い方をしています。
③ デバッグツールとして
前回記事のHerokuデプロイ作業にて、エラー解決に大きく貢献してくれました。
ただし、ChatGPTはあらゆる環境やエラー前の処理についての情報がないと不適切な回答をしてしまうこともわかりました。(不必要なプラグインを入れてしまい、余計なエラーもたくさん出しました。)
ChatGPTに解決法だけを求めても、前に進まない。自分のためにもならない。
大事なのは解決法をコピペすることではなく、エラーが何を意味しているのかを理解することだと実感できました。
以下の点に注意しプロンプトを入力していきました。
- 上手く行かなかった処理の箇所と前後をコピペ。
問題点の洗い出しと、エラーの意味を説明してもらう。 - 原因と解決策を挙げてもらったら一通り見て、わからない単語は別スレッドで聞く。
- 適宜、挙げてもらった内容から逆質問してみる。(例:それは〇〇だと思うのですが、△△してみたら解消しますか)
プロンプトの例としては以下のような内容です。
ーーーエラー文をコピペ(前後処理を含めて)ーーー
上記の問題点を説明してください。
ーーーソースコードをコピペーーー
上記はpom.xmlの記述です。不足している点を挙げてください。
④ 面接対策として
エンジニアである以上は転職活動で。あるいはSES企業に勤めている方であれば客先面談で。どちらも必要となるのは面接対策ですよね。
もちろんエージェントや営業と対策はするのでしょうが、ChatGPTを活用して内容を詰めていくこともできると思いました。
私が現職へ転職活動をしていたときの面接対策のメモ帳は、項目別(自己PR,長所と短所,エンジニアを選んだ理由,前職を選んだ理由,転職理由,前職で頑張ったこと,志望理由)で箇条書きにしたものでした。これをプロンプトに入れます。
〇〇会社△△エンジニア選考のための面接対策を以下の通りとしました。
評価と改善案を挙げてください。
ーーー上記メモをコピペーーー
修正点だけでなく、良いところは褒めてくれるから嬉しい!(笑)
前述の参考動画と同様、ロールプレイで実際の面接のイメージを膨らませるように活用もできました。(私はやり取りのできる形式ができなかったです。有識者の方教えていただけたら嬉しいですorz)
上記の面接対策を活用し、以下の面接ロールプレイをしてください。
Aさんは私です。
Bさんは採用担当面接官です。
⑤ AIだって間違えるときはある。仲良く付き合っていこう。
調べ学習における懸念点に対し思ったこと。
ちゃんと条件設定しても、誤った情報を出力するときもあります。
なのでGoogleやYoutubeなどで情報を集めつつ、信憑性に足る情報なのか確認していくことも時には必要と考えています。
じゃあ最初から使わない方がいいんじゃ?
確かに初見の内容を学習する際は、時間がかかるかもしれません。
一方で、以前調べて覚えたはずの内容だったらどうでしょうか。
例えば、
学生の時使ってた三平方の定理ってなんだっけな。
(調べると...)そうそう!そういう内容だったな!
1度(理解して)覚えた知識は思い出した時にその情報が正しいのかわかるはずです。
大袈裟なイメージを話すと、PCでいうメモリが自分の記憶領域で、ChatGPTがHDD(一度覚えたけど忘れた記憶)からデータをとってきてくれるような感じ。
余談ですが、某ホリ○モンはChatGPTが「大脳の機能拡張」と称しており、すごく納得感もありました。
またエビングハウスの忘却曲線を参考に、人は繰り返し繰り返しの復習で長期記憶に結び付きます。そのサイクルを無理なく必要十分な情報のみを得て加速させる。そんな使い方もできるのではないでしょうか。
更なる学習効率向上の可能性
・自分の理解度を測る→「○○の定義は〜、使い方は〜です。認識は間違っていませんか。評価してください。
・学びを深める(応用)→「〇〇は△△として活用できますか。他に組み合わせて使う方法はありますか。」
上記のように学習のインプットだけに留まらず、アウトプットする力を養う能力も磨くことができるのではないかと考えています。
(ここまできたらGoogle先生ならぬChatGPT大先生ですよね)
終わりに
正直いうとチャットAI歴が浅く、深くもない知見かもしれません。それでも、最初の私のように不必要と割り切ってしまう初心者エンジニアに対して、少しでもバイアスをフラットに。欲を言えば共感していただける記事となっていたら幸いです。
他にも活用方法のおすすめや記事、アドバイスなどあればコメント頂けると大喜びです。
ここまで見てくださってありがとうございました。