プロンプトテクニック: Chain-of-Thought Prompting(連鎖思考プロンプティング)

Prompt Engineering

Chain-of-Thought Prompting(連鎖思考プロンプティング)は、プロンプトエンジニアリングと呼ばれるテクニックの一つです。
これは、人工知能(AI)モデルを使って複雑な推論や情報取得を行うテクニックです。

Chain-of-Thought Promptingの基本

Chain-of-Thought Promptingでは、単純な一つの質問ではなく、質問や指示を連鎖的につなげることで、より詳細で複雑な情報を取得しようとします。

例:恐竜についての情報を知りたい場合

あなたがAIモデルに恐竜について質問したいとします。
単純な質問として「恐竜の大きさは?」と聞くこともできますが、
Chain-of-Thought Promptingを使ってもっと詳細な情報を得ることができます。

Chain-of-Thought Promptingのステップ

a. 最初のプロンプト:「恐竜の大きさは?」
b. AIが答えたら、次のプロンプトを考えます:「最大の恐竜は何ですか?」
c. さらに詳細な情報が必要なら、次のプロンプト:「最大の恐竜の名前は?」
d. そして、最後の質問:「最大の恐竜はどれくらい大きかったですか?」

なぜ連鎖的な質問が役立つのか?

連鎖的な質問を使うことで、最初の質問の答えに基づいて次の質問を考えることができます。
これにより、より深い情報を得ることができます。
単純な質問だけでは分からなかった詳細な情報がわかることがあります。

つまり、Chain-of-Thought Promptingは、情報を段階的に掘り下げていく方法で、
複雑な質問に対してもっと良い答えを得る手助けをします。

Chain-of-Thought Promptingを意識したプロンプトの例1

最初のプロンプト:
"恐竜の中で最も有名な恐竜は何ですか?"

AIの応答に基づく次のプロンプト:
"最も有名な恐竜の名前を教えてください。"

次の情報について尋ねるプロンプト:
"その恐竜はどの時代に生きていたのですか?"

恐竜の時代について詳細を知りたい場合のプロンプト:
"恐竜の時代についてもっと詳しく教えてください。"

特定の恐竜の大きさについて尋ねるプロンプト:
"この時代の恐竜の中で最も大きな恐竜は何ですか?"

最大の恐竜の名前を知りたい場合のプロンプト:
"最大の恐竜の名前を教えてください。"

最大の恐竜の大きさについての詳細を知りたい場合のプロンプト:
"最大の恐竜はどれくらい大きかったですか?"

上のプロンプトを順番にAIの回答ごとに挟んでいきます。

最初に有名な恐竜に関する情報を取得し、それを元にさらに詳細な情報を段階的に聞き出すことができます。
AIモデルは前の回答に基づいて次の質問を理解し、より詳細な情報を提供してくれます。

Chain-of-Thought Promptingを意識したプロンプトの例2

Q:次のグループの中にある奇数をすべて足し合わせると、奇数か偶数のどちらになりますか?
5,32,10,2,1,54,31
A:グループの中の奇数は、[5,1,31]です。それらを足すと37です。37は奇数なので、答えは奇数です。

Q:次のグループの中にある奇数をすべて足し合わせると、奇数か偶数のどちらになりますか?
105,322,130,26,18,547,3141
A:

すると答えは以下です。

グループの中の奇数は、[105,547,3141]です。それらを足すと3793です。3793は奇数なので、答えは奇数です。

このように、思考のプロセスを参考資料として出してあげると、その思考のプロセスをマネすることで正確な回答に導いたり、思っている方向の回答を得やすくなります。

Zero-shot CoT

以下の質問に回答してください。
回答はステップごとに出力してください。
Q:奇数をすべて足し合わせると、奇数か偶数のどちらになりますか?
5,32,10,2,1,54,31

A:

例がないので、Zero-shotですが、
このようにしても、上のように段階を踏んだ回答を得られるようになります。
Zero-shotとは?となる場合、プロンプトテクニックのFew-Shot Prompting / Zero-Shot Promptingを参考にしてみてください。

まとめ

Chain-of-Thought Promptingは、情報を段階的に掘り下げていく方法です。
複雑な質問に対してもっと良い答えを得る手助けになるので、ぜひ活用していきましょう。