脱初心者なら知っておきたい一歩先をいくChatGPTの使い方 - Chain of Thought -

最近、どっぷりLLMにハマっているsonesuke( https://twitter.com/sonesuke )です。

# TL;DR

1. Chain of Thoughtの考え方を図解してみた
2. この記事には続きがあります

https://qiita.com/sonesuke/items/b8ff4193ae08a499b671

# ChatGPT限界?

![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/354e74cb-d272-5f46-9409-d540e929b972.png)


普通のChat GPTの使い方に飽きてきたことはありませんか？

- 返答が無難すぎておもしろくない。
- 最近のことを知らない。
- 間違っていることを自然に返す。

こういうやつを、うまく使う方法って意外に難しいのよねーとか、考えていませんか？
しかし、冷静に考えてみると、人間だって知らないことに関する情報は、そんなふうになってません？

- 知らないという状態をうまく隠しながら、当たり障りのないことを無難に答える。
- 自分の知っていることをつなぎ合わせて答える。

どこか身に覚えのある話でしょう。ChatGPTの中でも似たようなことが起きています。
ChatGPTは2021年9月までの情報しか学習していません。しかも、全てのウェブページを学習したわけでもありません。

# 知らないとき、あなたならどうする？

ところで、みなさん、知らない話題が出てきたら、どうしてます？
ネットで調べて、2, 3個を記事を読んで、概要を掴んでから喋ったりしませんか？
それ、ChatGPTでもできませんかね？ つまり、こういうふうに3ステップでやってみてはどうでしょうか？

![Untitled 1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/d9b61026-5ddc-c9fa-610d-439b643213fc.png)

では、まずベースラインとしてChatGPTに2022年の出来事を聞いてみましょう。
お題は「2022年にアニメ化されたチェンソーマンについて」でいきましょう。

![Untitled 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/0f54646a-5f2d-63a4-aee0-3fc8dbea5180.png)

スーパー嘘つきです。チェンソーマンのアニメは、2022年の10月開始です。2022年1月ではありませんし、過去のことなので予定ではありません。

では、さっきの手順にそって聞いてみましょう。

## ステップ1: 質問から「調べること」を抜き出す

![Untitled 3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/48d6377b-6255-770b-3d21-81539e8f8130.png)

「チェンソーマン」「アニメ」「スタート」が抜き出されました。

## ステップ2: 「調べること」をググって関係ありそうなことを抜き出す。

ステップ1で抜き出したキーワードでググってみます。

![Untitled 4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/097434da-032f-4e12-952e-831b4e8feecb.png)


ググった一番トップのURL([https://chainsawman.dog/](https://chainsawman.dog/))にアクセスして全選択コピペでコンテンツを貼り付けて、関係ありそうな情報を抜き出します。

![Untitled 5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/9ded2475-67bb-3159-2921-ba488e6542d9.png)


不発っぽいですね。ページが、ほとんど絵なので、意味のあるテキストがほとんどないせいでしょうか？
では2つめのURL([https://chainsawman.dog/onair/](https://chainsawman.dog/onair/))に取り掛かりましょう。コンテキストが長いのでキャプチャを2分割にします。

![Untitled 6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/0152bcbe-97ac-4df5-c18f-6f3c5fe50555.png)
![Untitled 7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/a8b4708a-d3c1-3cdc-7538-868faac2d23d.png)

おぉ、いい感じですね。まさにドンピシャなページだし、きちんとテキストがあるので、良いヒントになったのでしょうか。最後に3つめのURL([https://www.tv-tokyo.co.jp/anime/chainsawman/](https://www.tv-tokyo.co.jp/anime/chainsawman/))です。こちらもコンテキストが長いのでキャプチャを2分割です。

![Untitled 8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/c249ab55-a06a-417c-45f5-f52a9d44f156.png)
![Untitled 9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/76ab6da9-fe40-7e43-85b5-47750ba2059f.png)

うーん、不発っぽいですね。横のニュース情報にやたらとポケモンのコンテンツがあったため、ポケモンページだと思ったみたいです。

## ステップ3: 「調べたこと」をまとめて質問の答えをつくる

ステップ2で出力させた箇条書き連結し、新たなコンテキストとして入力して、もう一度答えさせてみましょう。

![Untitled 10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/42d6c1d3-89fd-6da6-b674-68b89cea7fe8.png)


おぉ、きちんと2022年10月11日からのスタートという答えにも辿り着いています。また、放送局や時間帯などの情報もついて、いい感じです。
後半の「このウェブサイトは〜」のくだりは、ちょっと意味が分かりませんが、満足できる結果になったのではないでしょうか？

# Chain of Thought

いかがだったでしょうか？ え？ まて、Chain of Thought の説明がまだだって？
さっきのが、Chain of Thoughtです。図解するとこういうことです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879/d7a4eebb-0420-259c-a520-0d193709eba5.png)

赤字、緑字のところをみると質問が、連鎖していることがわかります。
今回は、説明するために、全部、手作業でやりましたが、あれをユーザーに見せずにやったら、「考え中」みたいに見えますよね。つまり、Chain of Thought (思考の鎖) です。

やっていることはシンプルで

- 質問に関してやるべきこと(サブタスク)を列挙する
- サブタスクを処理する
- サブタスクの結果をみて、最初に質問に答える

まぁ・・・・人間がやっていることと同じですね。

「え、でも、お前ググったよね？」
「コピペしてるときに答え見えてたじゃん？」
「めんどくせー」
・・・・そう、思った人。これを手でやってたら、めんどくさいんです。

勘のよいあなたなら気づいたと思います。つまり、コード化すれば良いのです。
次回は、これのコード化にトライします。

https://qiita.com/sonesuke/items/b8ff4193ae08a499b671