メインコンテンツへスキップ

AI活用戦略

「一歩ずつ考えて」は、なぜ効いたのか。CoTからo1へ、AIへの頼み方を考える

CoTの基礎から2022年の研究、o1の推論訓練までをたどり、正答率を高める工夫と、個々の回答を採用する根拠を分けて考える。

段階的に積み上がる石のステップと、思考のつながりを表す真鍮の線

記事本文

ChatGPTに条件の多い相談をすると、もっともらしい答えが返ってきたのに、よく見ると大切な条件が一つ抜けている。計算を頼んだときも、答えだけを見せられると、どこまで信用してよいか迷うのではないでしょうか。 たとえば、社内研修の会場選び。人数、予算、設備の条件を伝えたはずなのに、勧められた会場では全員が座れない。文章が丁寧なだけに、読み流してしまいそうになるかもしれません。 そんな場面で使われてきたのが、「一歩ずつ考えて」と添える工夫です。その背景にあるCoTという考え方を知ると、なぜこの一言が注目されたのか、そして今も同じように使えばよいのかが見えてくるでしょう。 とくに転機となったのが、2024年に発表されたOpenAIのo1でした。答える前に推論するよう訓練されたモデルに対して、人は何を伝えるべきなのか。まずはCoTの意味を押さえ、原論文の図を読みながら、この変化をたどっていきましょう。 その際に分けて考えたいのが、「AIが正解に近づくための工夫」と「人がその答えを確かめるための説明」です。CoTは両方に関わるものの、一方で効果が出たことが、もう一方の十分な証拠になるとは限りません。この区別ができると、プロンプトに何を足すかだけでなく、返ってきた答えをどう判断するかも変わってくるでしょう。

CoTとは何か。答えに至る途中の段階を言葉にする

「答え」と「そこへ至る手順」を分けてみる

CoTは、Chain of Thoughtの略で、日本語では「思考の連鎖」などと訳されます。ここでは、最終的な答えに至るまでの、中間の推論を言葉でつないだものと考えてください。人間と同じ意識や思考を持つ、という意味ではありません。Weiらの論文 身近な計算で見てみましょう。次は、説明用に作った例です。

会議に18人が参加します。1箱に6本入った飲み物を買います。全員に1本ずつ配り、予備を4本用意するには、何箱必要でしょうか。 答えだけなら「4箱」で終わり。しかし、どう計算したかまで確かめるなら、次のように整理できるでしょう。 必要な飲み物は18+4=22本。3箱では18本なので足りず、4箱なら24本になる。したがって、必要なのは4箱。 人数と予備を足す、箱数に直す、不足しないように切り上げる。この途中のつながりがあれば、「予備を忘れていないか」「端数をどう扱ったか」を読み手も確認しやすくなります。

CoT prompting:途中の手順を出すよう、入力を工夫する

一方、CoT promptingは、こうした中間の推論を生成するように、AIへの入力を工夫する方法です。「CoTという途中の推論」と、「それを促すプロンプトの技法」を分けておくと、後でo1との違いを理解しやすくなるでしょう。 2022年、Weiらは、問題と答えだけでなく、その間の推論を含む見本を入力に置く方法を検証しました。モデル自体をその場で再訓練する必要はなく、渡す見本の書き方を変える取り組みでした。Weiらの論文・第2節

原論文の図で見る。「正解の見本」に何を足したのか

図1:見本の途中にある、青い部分に注目する

標準プロンプトとCoTプロンプトの比較。途中の計算を示すことで正答に至る例(Weiほか、Figure 1) 図1:Wei et al., “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models,” Figure 1, p.1, arXiv v6。原論文PDFから図とキャプションを切り出し。配色・内容は原図のまま。原図CC BY 4.0 まず、左右の上段を見比べてみてください。どちらも、テニスボールの問題を見本として見せてから、リンゴの問題を解かせる構成です。 左の見本には「答えは11」という結論だけ。右の青い部分には、「3個入りの缶を2缶買うと6個増える。もともとの5個と合わせて11個」という途中の計算も入りました。 その後に尋ねるのは、「23個あったリンゴを20個使い、6個買い足すと何個になるか」という別の問題。図の下段では、左が27個と誤答したのに対し、右は23−20=3、3+6=9と段階を踏み、9個と答えました。 ここで見せたのは、リンゴの問題そのものの正解ではありません。別の問題を使い、答えに至る手順の示し方を伝えたところに、この方法の工夫がありました。Weiらの論文・Figure 1 少数の見本を添えることをfew-shot promptingと呼びます。その見本に途中の推論まで含めたものが、few-shot CoT prompting。普段の仕事に引き寄せるなら、完成した数字だけでなく、その数字を出すまでの短い計算例も渡す感覚に近いでしょう。

図2:文章題の正答率は、どう変わったのか

ただし、成功例が一つあるだけでは、方法として役に立つかは判断できません。そこで、論文の成績を比較した図も見てみましょう。 GSM8KにおけるPaLM 540Bの正答率。標準プロンプト18%、CoTプロンプト57%(Weiほか、Figure 2) 図2:Wei et al., 同論文Figure 2, p.2, arXiv v6。原論文PDFから図とキャプションを切り出し。数値は原図の丸め表記。原図CC BY 4.0 縦軸は、算数の文章題を集めたGSM8Kという評価用問題集の正答率です。右側の黄色とオレンジの棒を比べてみてください。同じPaLM 540Bというモデルで、標準的なプロンプトは18%、CoTを用いたプロンプトは57%という結果でした。 この実験では、途中の推論を含む見本を8問分用意しました。左側の2本は、比較対象となる別の手法の成績。4本すべてを「同じモデルに違う指示を出した結果」と読まないようにしましょう。Weiらの論文・Figure 2、第3.1節 読み取れるのは、当時のこのモデルと文章題の条件で、見本の与え方によって大きな差が出たことです。現在のChatGPTや、会場選びの正答率が57%になるという意味ではありません。

正答率の改善と、説明を信用できる範囲を分ける

では、この結果から「途中の説明が詳しいほど、その答えは信用できる」と考えてよいのでしょうか。 図2で測ったのは、問題に正解した割合でした。説明が内部の計算をどこまで忠実に映しているかを測った図ではありません。Weiらも、途中の推論は誤りを探す手掛かりになると述べる一方、答えを支えるモデル内部の計算を完全に説明することは未解決としています。Weiらの論文・第2節 この違いを、先ほどの飲み物の例に戻して考えてみてください。「22本必要で、4箱なら24本になる」という説明は、自分でも計算し直して確かめられる。信用の根拠にできるのは、説明が長いことよりも、人数や箱の本数と照合して正しいと確認できる部分でしょう。 したがって、仕事に取り入れる際にも、二つの確認を分けるとよさそうです。そのプロンプトで正しい答えが増えるか。そして、個々の答えについて何を照合すれば正しさを確認できるか。正答率が改善したという研究結果だけでは、目の前の一つの答えまで確認済みにはなりません。

「一歩ずつ考えて」だけでもよいのか。見本を省く研究へ

Zero-shot CoT:見本の代わりに、短いきっかけを置く

途中の推論を含む見本を、質問のたびに用意するのは少し手間ではないでしょうか。2022年のKojimaらの研究では、見本なしで推論を引き出すZero-shot CoTが検証されました。 そこで使われたのが、次の一文でした。

“Let’s think step by step” 日本語にすれば、「一歩ずつ考えてみましょう」。 zero-shotは、この場合、解き方の見本を入力に置かないという意味です。質問への回答を始める箇所にこの一文を置き、途中の推論を生成させる方法でした。Kojimaらの論文

論文の実験は、推論と答えの取り出しを分けていた

ただし、論文で使った手順にはもう一段階ありました。まず推論の文章を生成し、それを含む入力から、数値などの所定の形式で答えを取り出す、2段階の構成です。 当時のOpenAIのモデル、text-davinci-002を使ったGSM8Kの実験では、通常のzero-shotが10.4%、Zero-shot CoTが40.7%でした。「一言を添えれば、どのAIでも同じだけ賢くなる」と一般化できる結果ではありません。Kojimaらの論文・第3節、Table 1 それでも、利用者が試せる工夫としては取り入れやすかったはずです。正解の見本を用意する前に、段階を踏んだ回答を促してみる。うまくいかなければ、条件や例を補う。そんな試し方を考えるきっかけになるでしょう。 ここで前の論文とつながるのは、「途中の推論を引き出すために、どこまで入力を用意する必要があるか」という問いです。見本を含む方法の有効性に続き、見本を省いた方法にも効果が示されました。ただし、先ほどの57%と今回の40.7%は、使用モデルや手順が異なる実験の数字。これだけで「見本を渡す方が優れている」と順位を付けることはできません。

o1では何が変わったのか。推論を促す工夫から、推論を学ぶモデルへ

2024年の転機:途中の推論を、訓練によって磨く

ここまでの二つの研究は、主に入力を工夫してモデルの能力を引き出す話でした。o1との接続を考える際には、もう一つ、モデルがどのように訓練されたかに目を向けてみましょう。入力の工夫が必要かを判断するには、モデルがすでに何を学んでいるかも関わるためです。 OpenAIは2024年9月12日、o1シリーズの初期版としてo1-previewを公開しました。o1-previewの発表 同日の研究発表では、大規模な強化学習によって、CoTを活用した推論をモデルに学ばせたと説明しました。強化学習とは、ここでは、結果への評価を手掛かりに振る舞いを改善する訓練方法です。OpenAIは、o1が間違いの修正や難しい問題の分解、別の方法の試行を学ぶと報告しています。OpenAIの研究発表「Learning to reason with LLMs」 つまり、o1を「最初から『一歩ずつ考えて』と書いてあるだけのモデル」と理解するのは適切ではありません。入力で推論を促すことと、推論の仕方を訓練で改善することには、違いがあるためです。 二つをつなぐのは、中間の推論を活用して答えを改善するという着眼点です。ただし、2022年の論文が、そのままo1の訓練方式や成果を実証したわけではありません。ここまでの資料から読み取れる変化は、利用者が入力で働きかける工夫に加えて、開発側が訓練で推論を改善する取り組みが示されたこと。その違いを踏まえて、現在の入力の指針を読む必要があるでしょう。

考えるための計算と、利用者に見せる説明は別のもの

OpenAIは、訓練に使う計算量に加え、回答時の推論に使う計算量を増やすことでも性能が改善したと報告しました。また、o1の生のCoTを、そのまま利用者へ表示しない方針も示しました。OpenAIの研究発表・推論とCoTの表示方針 この点は、使う側にとっても大切な区別でしょう。回答までに推論することと、画面に長い解説を表示することは同じではありません。「長い説明が出たから、内部の推論をすべて確認できた」とは受け取れないのです。 原論文ではモデル内部の計算を完全に説明することが未解決であり、o1では生のCoTをそのまま表示しない。この二つは異なる理由ですが、利用者が表示された文章を内部推論の完全な記録として扱えない、という点でつながります。だからこそ、回答を受け取る側は、表に出た計算や根拠を何と照合するかを決めておくとよいでしょう。内部を全部見られなくても、必要な金額や条件への適合は個別に確かめられるはずです。 なお、ここで参照したo1の資料は、OpenAIによる研究発表です。前半のCoT論文と同じ種類の学術論文として扱わず、訓練の説明も公表されている範囲で読んでください。

いま使うなら、何をプロンプトに書けばよいのか

推論モデルには、目的と条件をまっすぐ伝える

では、推論するように訓練されたモデルにも、毎回「一歩ずつ考えて」と付けるべきなのでしょうか。 OpenAIの推論モデル向けガイドは、簡潔で直接的な指示を勧めています。段階的に考えるよう求めるCoTプロンプトは不要で、性能が改善しない場合や、妨げになる場合もあるとの説明です。まず見本なしで試し、必要に応じて見本や条件を追加する方針も示されています。推論モデルのプロンプト指針 この指針を、前半の研究と矛盾すると読む必要はありません。前半は当時のモデルへ推論を促す方法を検証したもので、後半は推論するよう訓練されたモデルへの指針。対象と前提が異なるため、同じ一言の役割も変わり得るのです。 ここから導く実務上の提案は、推論を促す定型句が必要かどうかと、確認できる答えを求めることを分けるというものです。「一歩ずつ考えて」が不要でも、何のための判断なのか、予算はいくらか、不明な点をどう扱うかは伝えなければなりません。さらに、出力された計算や参照箇所を求めておけば、読み手が答えを点検する材料になるでしょう。

会場選びの例:確認できる結果の形まで伝える

冒頭の会場選びを、架空の条件で試してみましょう。

社内研修の会場を1つ選んでください。

条件:
・参加者は18人。全員が着席できること。
・予算は合計5万円以内。
・プロジェクターが必要。

候補:
・A会場:定員20人、会場費4万円、プロジェクター代5千円。
・B会場:定員16人、会場費3万円、プロジェクター代は込み。
・C会場:定員24人、会場費4万8千円、プロジェクター代は不明。
金額はすべて税込みで、記載のない追加料金はないものとします。

出力:
・現時点で条件を満たす会場と、その判断理由を短く。
・各会場の人数条件、合計費用、予算条件を比較表に。
・不明な金額は推測せず、確認が必要な項目として明記。

この例で確認したいのは、A会場が合計4万5千円で条件を満たすこと、B会場は定員不足であること、C会場は設備代を確認するまで予算内か確定できないことです。 とくに見たいのは、C会場の扱いでしょう。会場費だけなら予算内でも、設備代が不明なままでは「合計5万円以内」という条件を確認できません。「Cは予算内」と断定した回答なら、計算が丁寧に書かれていても、採用前に修正が必要です。逆に「設備代の確認が必要」と残した回答は、この条件では判断を保留すべき箇所を示したことになります。 単に「よく考えて」と頼むよりも、結果のどこを確かめればよいかが明確になったのではないでしょうか。比較表や合計費用を求めるのは、人が判断を確認するため。内部の思考を一字一句出すよう要求する必要はありません。 社内でそのまま使うなら、実際の見積書で料金や定員を照合してみてください。AIの説明が自然でも、入力した情報そのものが古ければ、現実の会場選びは誤るかもしれません。

同じ仕事で確かめる:文章の詳しさと、条件の扱いを別々に見る

ここまでの区別を使えば、プロンプトを改善するときの比較もしやすくなるでしょう。同じモデル、同じ会場情報、同じ出力条件で、「一歩ずつ考えて」を添えた場合と添えない場合を試してみてください。説明の長さとは分けて、合計費用、定員不足、不明な設備代の三点を正しく扱ったかを見る方法です。これは研究結果の再現実験ではなく、自分の用途で指示を選ぶための小さな比較です。 さらに試すなら、C会場の設備代を1千円にした場合と、3千円にした場合を比べてみましょう。合計はそれぞれ4万9千円と5万1千円になり、予算内に収まる場合と超える場合に分かれます。条件を変えても同じ説明を返していないか、判断が金額に対応して変わったかを確かめてください。 この数例だけで、別の仕事や未知の条件でも正しく判断できると保証はできません。それでも、どこで回答を採用し、どこで確認を挟むかを考える材料にはなるでしょう。複数回、いくつかの条件で確かめ、実際に直す必要があった点を残しておくと、単に「説明が丁寧だった」という印象より具体的に比較できます。

おわりに:答えを改善する工夫と、答えを採用する根拠を分ける

CoTの研究が示したのは、途中の推論を促すことで、一定の条件下で正答率を改善できることでした。o1の発表では、その推論を訓練によって磨く取り組みが示されました。一方、どちらの話も、表示された説明を読むだけで個々の答えが確認済みになる、という意味ではありません。 次に依頼を作るときは、「正しい答えが増える頼み方か」と「この答えを採用するために何を照合するか」を分けて考えてみてください。前者は同じ課題での比較、後者は資料や計算、条件との照合。CoTからo1への変化を読む意味は、この二つを混同せず、自分の仕事で確認すべき点を選べるようになることにあるでしょう。 最後までお読みいただき、ありがとうございました。

参考文献・資料

CoTの原論文

OpenAIの発表・利用指針

Prompthing編集部Field Notes 編集部

生成AIを現場の業務へ組み込み、継続的に改善するための設計・運用ノウハウを発信しています。

公開基準、表現、出典、更新、訂正に関する編集統制は、Prompthing株式会社 代表取締役 西本 政夫が行います。