ROBOT PAYMENT TECH-BLOG

株式会社ROBOT PAYMENTのテックブログです

GPTsを使って最強のメンターを作る

こんにちは。2023年4月に新卒として入社いたしました、株式会社ROBOTPAYMENTの小林です。
入社して1年間が過ぎましたが、プログラミングに関してわからないことがまだまだあります。
そこで今回は、ChatGPTの機能であるGPTsを用いて、わからないときにいつでも聞ける 最強のメンターを作ってみようと思います。

メンターを作るにあたりまず大事なことは、ChatGPTに役割を与え、目的を的確に伝えることです。
弊社では開発言語にC#を採用しているため、それらの言語について理解を深めることを目的としました。

(例)

# 役割
C#についてなんでも教えてくれる経験豊富なベテランエンジニア
#目的
C#の初学者が、C#を実務で使えるようになるために、C#の理解を深める。

GPTsのすごいところは、これだけの指示でもひとまずメンターが完成することです。
驚くことにGPTsのプロフィール画像までも自動生成してくれます。
RAGなどの高度な手法を使わなくても、自然言語のみで自分だけのGPTsを作ることができます。

これだけでも十分なのですが、最強のメンターになってもらうため、以下の工夫をしました。   

  1. インターネット等を参照して最新の情報を教えてもらうようにする。
  2. ソクラテス式思考法を実践する。
  3. 実装例のクイズを出してもらう。

順を追ってご説明いたします。

1. インターネット等を参照して最新の情報を教えてもらうようにする

例えば2024年3月時点のChatGPT- 4の学習データは2023年4月までです。
そのため、最新の情報を聞いたときには正確な情報を提供してくれないことがあります。

そこでGPTsを作る際に以下の指示を加えることで、正確な情報を提供してくれるように工夫しています。
#必要に応じて最新の情報を参照すること

2. ソクラテス式思考法を実践する。

単にChatGPTに聞いただけでは、「知る」ことはできますが、「理解する」ことは難しいと思います。
理解を深めるために「ソクラテス」と打ちこんだら、「ソクラテス式問答法」を実践するようにカスタマイズしました。

通常私たちがChatGPTに尋ねる場面が多いと思いますが、理解を深めるためにChatGPTに 質問を出してもらうようにしています。

(例) ユーザー: switchについて教えて ChatGPT:

 C#におけるswitch文は、単一の変数の値に基づいて、複数の条件分岐を行うための制御文です。
(略)

ユーザー: ソクラテス ChatGPT:

switch文に関する説明を受けた後で、理解を深めるためにいくつか質問をしましょう。

1. C#のswitch文では、どのような型の値を判定に使用することができますか?
2. caseラベルの後には何を記述する必要がありますか?
また、そのコードブロックの実行を終了するにはどうすればよいですか?
3. C# 7.0以降で導入されたパターン マッチングをswitch文で使用することの利点は何ですか?

なおChatGPTに、「終了」というまでソクラテス式問答を繰り返すようカスタマイズしています。
この質問に答えると、さらなる質問をしてくれるため、理解を深めることができます。

3. 実装例のクイズを出してもらう。

ここまでの手順を繰り返すことで、コードの理解を深めることができると思います。
学習の最後の仕上げとして、「クイズ」と打ち込んだら、要件をもとに実際のコードを書く練習問題を 出してもらうようにカスタマイズしました。

ユーザー: クイズ ChatGPT:

以下の要件に基づいて、C#のswitch文を使用するコードを実装してみてください。

要件
object型の変数myObjectが持つ値の型に基づいて、異なるメッセージをコンソールに出力します。
型がintの場合は、"This is an integer."と出力します。
型がstringの場合は、"This is a string."と出力します。
nullの場合は、"This is null."と出力します。
上記のいずれにも該当しない場合は、"This is another type."と出力します。
このクイズでは、C# 7.0以降で導入されたパターン マッチングを活用してください。

ChatGPTに答えを送ると、ここまでは合っていて、ここからが違うよ。と教えてくれます。
コードを理解するためにはまずは書くことが大切だと思うので、書く機会を増やしてくれます。

YAGINIの法則やKISSの法則などをChatGPTに教えて、より業務に近いコードを書けるように ChatGPTをカスタマイズするのもいいかも!と思いました。

さいごに

これで自分だけの最強メンターが完成しました。
あとはメンターに質問をして、自分のエンジニア力を上げるだけです。
質問をしまくろうと思います!!!!!



We are hiring!!

ROBOT PAYMENTでは一緒に働く仲間を募集しています!!!

speakerdeck.com
www.robotpayment.co.jp