AIへの指示の出し方:プロンプト入門
Chain of Thoughtとは?プロンプトでAIの推論力を引き出す方法
「答えだけ教えて」と書いた瞬間、間違えはじめる
次の問題を AI に投げてみてください。
リンゴを 5 個持っていました。3 個買い足し、2 個を友だちにあげ、残りの半分を食べました。今、何個ありますか。答えだけ教えてください。
「答えだけ」と書くと、驚くほどあっさり間違えます。ところが、この一文を消して代わりに「順を追って考えてください」と書くだけで、正解する回が増えます。問題文もモデルも、何ひとつ変えていません。
途中を書かせると、その途中が材料になる
AI は次に来る語を、それまでに出てきた語から決めます。「答えだけ」と書いてしまうと、AI が使える材料は問題文しかありません。5 個、3 個、2 個、半分という条件を、いきなり 1 つの数字へ縮める必要があります。
途中を書かせると、材料が増えます。「5 + 3 = 8 個」と一度書かせれば、その 8 という数字が次の計算の入力になります。頭の中で持っておく代わりに、紙に書き出させているようなものです。この、途中の考えを出力させてから結論を出させるやり方を Chain of Thought と呼びます。
実務では、算数よりも手順の指定として使うほうが効きます。
プレーンテキスト
このコードがなぜ落ちるのか調べてください。次の順で書いてください。
1. エラーメッセージから、どの行で落ちているかを特定する
2. その行に渡っている値が、どこで作られたかをさかのぼる
3. 想定と実際が食い違っている箇所を 1 つ挙げる
4. 修正案を出す
(コード)「順を追って考えてください」の一言に任せず、踏ませたい順番を自分で書きます。AI が勝手に決めた順番は毎回変わりますが、書いておけば固定されるので、出力のばらつきが減ります。
実務で効くのは、正答率より「どこで間違えたかが見える」こと
答えだけが返ってくると、外れていたときに打つ手がありません。プロンプト全体を書き直して、また当たるかどうかを試すことになります。
途中が書いてあれば、3 番目の手順で前提を取り違えた、と特定できます。直すのはそこだけです。AI の出力を仕事に使うなら、正答率が数ポイント上がることより、外れたときに直せることのほうが効きます。
一方で、途中を書かせるぶん出力は長くなり、待ち時間も伸びます。翻訳や誤字の指摘のように、手順が 1 つしかない仕事に付けても意味はありません。手順が 2 つ以上あって、途中で数や条件を持ち回る仕事に絞って使ってください。
もう 1 つ、最近のモデルは何も言わなくても途中の手順を書いてくることが増えました。その場合、「順を追って考えて」と足しても差は出ません。効いていないと感じたら、一言を足すのではなく、上の例のように踏ませたい手順を自分で書く側へ切り替えてください。汎用の一言より、その仕事に固有の順番のほうが効きます。
復習ミニクイズ
AIに「Chain of Thought (CoT)」を用いて指示を出す際、最も期待できる効果はどれですか?