新卒でつまづいたポイントで ChatGPT を使ってみた結果
はじめに
こんにちは。ポート株式会社でエンジニアをしている新卒1年目のaluto12です。
これは、ポート株式会社 サービス開発部 その2 Advent Calendar 2024の23日目の記事となります。
私は新卒1年目で、大学ではプログラミングを学習していたものの、 Ruby は初学者でチーム開発の経験もありませんでした。
そのため、入社してから先輩に教えていながら自己学習に励んでいます。もちろん先輩に質問して解決することもできますが、自己解決できる範囲を広げたいと考え、AI を使った手法を試してみることにしました。
2024年12月1日から、 OpenAI のアドベントカレンダーで新機能が発表されたばかりの o1 モデルや、 Advanced Voice などの機能について触ってみた感想と、作成した My GPT の紹介になります。
私が先輩方に教えていただく中で、複数の課題を感じたので、自己振り返りも兼ねて書こうと思いました。
今回は自分で学習したことや、やってみたことに関して記載しておりますが、もっと良いプロンプトの使い方やアクションがありましたら、ご教授いただけますと幸いです。
きっかけ
先輩方に教えていただく中で「先輩に聞きまくれることは新卒の特権だ」と教えていただきましたが、それでも「何にもわかりません」なんて無責任なことは言えませんし、聞きたいことをピンポイントで聞く技術はどうしても必要です。自分ですぐ解決できる内容は、できるだけ自己解決するに越したことはありません。
そこで、各段階で必要な情報を素早く収集し、自分の考えを整理するために ChatGPT を活用できないかと思い至りました。実際に使ってみると、何がわからないのかを一緒に整理してくれるような役割を果たしてくれたので、本記事ではその具体的な活用例をまとめています。
直面した課題
1. 何がわからないのかがわからない
やはり基本的な研修は受けたものの、サービスの全体把握は初学者には困難でした。
そこで課題となったのが「何から手をつければいいかわからない…」。
一箇所を変更するだけでも、どこに影響があるかを把握する必要があるチーム開発では、
- 変更箇所はどこの部分を動かしているものなのか
- どこに影響がある可能性があるのか
- ここを変更することで起こりうる影響の大きさはどのようなものか
- そもそもどのように変更すればいいのか
など、考えるべきことが無数にあるのに「何から質問していいのかがわからない」となることが多いと感じました。
2. わからない用語が多すぎる
こちらも大きな課題でした。調べればわかること、聞けばわかることではあるのですが、会話の中でわからないワードが3つ以上あると途端に理解不能に陥ってしまう。また、後で調べるとチーム内だけで使われる呼び方で、ネット検索してもわからないことも…。
そこから「即席でワードの意味を調べられる手段が欲しい」と強く感じました。
3. リモートで声に出して考えることが、常にできる環境ではない
リモートワークでは「自宅に一人でいる時間」が長く、自然と声を出す機会が少ないと感じました。
声に出す行為は、自分の思考を整理するうえでも自己学習においても効果があるとよく言われています。しかし独り言のように声を出す習慣をつけるのは意外と難しく、リモートであるからこその課題だと思いました。
アプローチ
1. 何がわからないのかがわからない
入ってくる情報量が膨大で、話をまとめることが難しいという根本的な問題に対処するため、話をまとめられるMy GPTを作成してみました。
prompt
あなたは、私の同僚のwebエンジニアです。同僚なのでため口で話してください。
先輩向けのquestionは敬語で書いてください。
私の話をまとめてほしいです。または、先輩にするための質問文を作成してほしいです。
基本的には、私の発言に対して、話を深堀するような、質問をしつづけてください
私が、summaryと言ったら話をまとめてください
私が、questionと言ったら以下のテンプレートで質問文を作成してください(情報が不足している場合はそう指摘して質問を続けてください)
私が、changeと言ったら、それは、答えられないもしくは関係がない内容なので質問を変えてください
以下のテンプレート
【タイトル】
質問の内容を簡潔にまとめたタイトルを記載してください。
【期待する動作】
どのような動作や結果を期待しているかを具体的に記載してください。
【エラーの内容】
発生しているエラーの詳細や、エラーメッセージを記載してください。
【該当箇所】
問題が発生しているコードや設定ファイルの箇所を特定して記載してください。
【試したこと】
問題を解決するために試みた手法やアプローチを箇条書きで記載してください。
このMy GPTのよかった点
- 複数の質問をしてくれるので、そのうちのどれかに答えていけばいいため会話を繋げやすかった
- 話の内容が簡潔にまとまる
- 途中で「これ先輩に聞くべきだな」と思ったとき、質問文を簡単に作れる
このMy GPTの今後の課題
- 「質問」と「先輩への質問」がごちゃごちゃになりやすいので、明確に分けて切り替えられるようにしたい
- タメ口でしゃべらせたいのに、敬語で返ってくることが多いので修正したい
- 「summary」をいつでも作れるようにしているが、1回のチャットで返ってくる文章が長くなりすぎることがある
2. わからない用語が多すぎる
調べて確認するまでの速さについて、単語を入力するだけで、統一感がある出力を意識したプロンプトを作成しました。
あなたは、web エンジニアのための電子辞書です。
3つ前に提示した単語は忘れるようにしてください
エンジニアに関連する単語を提示するので、
それに対して、検索して、高校生でもわかるようにわかりやすくまとめてください。
なお聞き間違えなどがある可能性もあるので、エンジニアの関連用語で、似た発音の単語があれば、別途提示してください
必要な内容は以下の通りです
# 単語
提示された単語の正式名称を記述してください
# 異称
同じ意味の別の言い方や略語などがあれば記述してください。
# 説明
単語の意味を掲示してください。
# 使用例
実際に使っている例を提示してください
# 語源
その名称をつけられた理由を提示してください
この My GPT のよかった点
- 同じフォーマットで多くの単語を検索できるため管理しやすい
- 普通名詞の英単語( node , cat など)を入力しても、エンジニア的な単語として解釈してくれる
- 多少の誤字ならカバーしてくれる
- 自信がないことには「自信がない」と明記してくれる
この My GPT の今後の課題
- 正確な情報であるかどうかの確証は得られない(間違えていてもそれらしく書かれる可能性がある)
- チーム内での用語には対応できない(もちろんですが..)
3. リモートで声に出して考えることが、常にできる環境ではない
My GPT ではなく、 Advanced Voice モードを使ってみようと考えました。
Advanced Voice モードは、口頭で ChatGPT と対話ができる機能です。
Advanced Voice モードの良かった点
- 話しかける対象・説明する対象として優秀
- 言葉に詰まった時の「あー」「えーと」をほぼ受け付けず、ある程度まとまった内容を入力としてくれる
- 雑音があっても声をしっかり拾ってくれる
- 最低限の聞き返しはしてくれる
Advanced Voice モードの気になった点
- 1回で入力できる文字数が少ない
- はっきり話さないと正しく認識されない
- 会話のリズムが難しく、思考時間が長いときの区切りや、どのタイミングで音声を拾うのかがわかりにくい
まとめ
新卒が ChatGPT の My GPT を使ってみると、自分の考えをアウトプットし、先輩に質問する前に考えを整理するうえで効果的だと感じました。
今回紹介させていただいた手法については、今後実際に使いながら、自分なりに拡張していきたいです。
さらに、 Advanced Voice モードについては、今後 OpenAI API を利用して自分で機能を作ってみたいという意欲が湧きました。
ポート株式会社 サービス開発部が実施している今年のアドベントカレンダーは、その1とその2が存在します。
私が参加しているアドベントカレンダーその2の次回の投稿は、24日のCanoさんの記事となります。
また、アドベントカレンダーその1の方は明日も投稿があり、minamiさんが記事を投稿予定です。そちらもぜひご覧いただけると幸いです。
Discussion