最良の学習方法「人に教える」にChatGPTを活用する

# はじめに
学習におけるChatGPTの活用方法といえば、「ChatGPTから教えてもらう」ということが多いと思います。
実際、私もそうです。
本記事は逆に **「ChatGPTに教える」** という使い方もありではないかという内容になります。

# 目次
- [何でChatGPTに教えるの？](#何でchatgptに教えるの)
- [「人に教える」ことで記憶への定着率が高くなると感じた経験](#人に教えることで記憶への定着率が高くなると感じた経験)
- [実際にChatGPTに教えてみる](#実際にchatgptに教えてみる)
- [さいごに](#さいごに)

# 何でChatGPTに教えるの？
**「学習にはアウトプットが重要」** ということを耳にしたことがある人は多いかと思います。

主なアウトプットには、次のような手法があります。
- Qiitaなどに技術記事を書く
- 勉強会で発表する
- 人に教える

**自分のこれまでの経験を振り返ってみてもアウトプットをしていると記憶への定着率が高いです。**
**特に「人に教える」という行為は、記憶への定着率が高まると感じています。**

ただ、双方向のやりとりが必要となるこの行為は、一人ではできないため、実現のハードルが他のアウトプットよりも高いという問題点があります。

「ChatGPTを使えば、一人でも双方向のやりとりができるんじゃね？」と、ふと思ったのが、この記事を書こうと思ったきっかけです。

# 「人に教える」ことで記憶への定着率が高くなると感じた経験

### 例１

私はエンジニアになる前、公務員として働いていました。

「今日から○○法の担当です。」と言われ、本庁の担当者になりました。
担当初日であっても、前年度から担当している出先機関の担当者（当然自分より知識がある）から「このケースで困っています。どう対応しましょうか？」という相談が来ます。
初めの頃は「確認して、折り返し連絡しますね。」という返事ばかりでしたが、次第にその場で回答ができるようになってきます。

1年が終わる頃には「まだ担当になって1年経ってないんでしたっけ？すごく詳しいですね！」と言われるレベルに到達しているということがありました。

質問を受けるたびに **関係法令を読み込む（＝インプット）、それを自分の言葉で相談者に説明する（＝アウトプット）ということを繰り返す** ので、記憶が定着していったのだと思います。

### 例２

お次はエンジニアになってから、勉強会で発表したときの経験です。
この時、アウトプットには次の3つの段階がありました。
1.発表スライドの作成
2.発表
**3.発表後の質疑応答**

うまく発表できるように、スライドに盛り込む内容を考えたり、実際話す練習をしたりします。
そのため、上記3項目のうち時間的には、1、2が大半を占めます。
でも **時間が経っても覚えているのは3の内容** です。

自分がどんな流れで発表をしたかという詳細はあまり覚えていなくても、「誰から」「どんな質問をされて」「こう答えたな」ということは覚えていたりします。

自分より上級者の方が確認の意味を込めて、質問してくださっていたので、「教える」というと語弊がありそうですが、「自分の言葉で説明する」という行為としては同じだと思います。

# 実際にChatGPTに教えてみる

さて、ここからが本題です。

「データベースの内部結合、外部結合」を題材に「ChatGPTに教える」を実演してみます。

![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1581554/75f7cdd6-b179-e0d4-c44c-47a787ebb3cb.png)
まずはChatGPTへの依頼から始めます。
私は、２点お願いをしました。

> 質問はひとつずつでお願いします。

一度に5、6個の質問を投げかけられて、やりとりがしにくかったので依頼しました。

>質問内容は発表を掘り下げる内容とし、発表内容を繰り返すことになる質問は避けてください。

こちらの説明内容をそのまま繰り返すだけの質問をされたので、依頼しました。

さて、これで依頼が済んだので、説明に入っていきます。
（「これから発表を始めます。」ぐらい、入れておけばよかった…）

---

![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1581554/05212c4f-e8ae-6935-54e8-fec4fb3de491.png)
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1581554/9d83c9a7-8638-c56a-90cc-0149a0f1bf5c.png)

これまで`LEFT JOIN`と`RIGHT JOIN`の違いは学習していましたが、具体的な使いどころまでは考えることができていませんでした。（ただインプットしただけで、使いこなせない典型例ですね…）

あらためて`RIGHT JOIN`の使いどころを考えてみますが思いつかず、「`LEFT JOIN`で書き換えれば、使うことってほぼない」という結論に自分の中ではなってきました。

軽く調べてみるも、自分と同じ意見も結構あるようです。
（学習のためにやっているので、調べて回答してもOKです！）

では、質問者（ChatGPT）に回答します。
あわせて、質問者の見解も聞いてみます。

---

![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1581554/fe4b5e68-93ea-43cf-14be-afad11534466.png)

しっかりと使用例を解説してくれました。
やりとりしている感があっていい感じです。

> データベース内での関連付け方向が重要な場合：

具体的なテーブルの例がないとイメージしにくいと感じましたが、これ以上掘り下げると長くなりそうなので、今回はそのまま進めて行きます。

> クエリの可読性と保守性を考慮する場合：

こちらはありそうな感じがしましたが、具体例はすぐに思いつきませんでした。
今後、SQLを書くときに、この視点を持ちながら書いて行こうと思います。

---

![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1581554/3ba6b11f-f629-00a0-2c58-7f8af3bfd082.png)

> それでは次の質問で最後にしたいと思います。

終わりがなさそうなので、ここで宣言しておきます。

---

![6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1581554/b6d03f51-aef4-cedd-e515-68a76208e92f.png)
![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1581554/21f2507f-7742-5a4b-e135-e590f57cba18.png)

> もちろんです。最後の質問をお待ちしております。

「待ってるのは、こっちだけどな」と思いつつ、若干おかしい日本語はスルーします。

すぐに具体例が思いつかなかったので、ここで一旦中断。
隙間時間などで、具体例を考えつつ、次の日に再チャレンジしました。

時間に関係なく、途中から再開できるのもChatGPTの魅力ですね。

---

![8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1581554/eb1f2dec-ac44-09ec-410b-f242aae3bd8e.png)

もう少しツッコミがくるかと思っていたのですが、ベタ褒めされて終わってしまいました。
私が、最後の質問と伝えていたからかもしれませんね。

ただ、これまでのやりとりだけでも、単にインプットするだけに比べて気づきがあったように感じるので、効果は十分あったと感じています。

# さいごに

対話ができるというのがChatGPTの最大の魅力だと思います。

この魅力を最大限に活かすためには、単に教えてもらうだけでなく **「教える」** というのもありではないでしょうか。
「教えるのが大事なのは知ってるけど、相手がいないよ〜」という方は、ぜひ試してみてください！

ちなみに、私は無課金なのでGPT-3.5を使っています。
GPT-4に教えたら全然違うなどありましたら、ぜひコメント欄で教えてください！