AI、データ活用、業務改善に関する最新情報やNexaflowの取り組みをお届けします
AIサマリー
Chain-of-Thought(CoT)は、AIに考えるプロセスを与えることで推論能力を大幅に向上させる手法で、従来の方法では複雑な問題で失敗していたLLMが、ステップバイステップで考えることで精度を大きく改善。GSM8Kでの精度が17.9%から58.1%に向上し、MultiArithでは17.7%から93.0%に達した。CoTは特に100B以上のモデルで効果が顕著であり、ReActなどの後続手法の基盤ともなっている。
AIに「考えるプロセス」を与えることで、複雑な推論タスクの性能が劇的に向上する。2022年にGoogleが発表したChain-of-Thought(CoT)プロンプティングは、現在のLLM活用における最も基本的かつ重要なテクニックの一つです。本記事では、CoT論文の内容を徹底解説し、なぜ「段階的に考えさせる」だけで性能が向上するのかを明らかにします。
関連記事: 本記事は「AIエージェント論文おすすめ9選」の詳細解説記事です。他の論文も合わせてご覧ください。
| 項目 | 内容 |
|---|---|
| タイトル | Chain-of-Thought Prompting Elicits Reasoning in Large Language Models |
| 著者 | Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter 他(Google) |
| 発表 | NeurIPS 2022 |
| arXiv | 2201.11903 |
CoTの核心は非常にシンプルです。**「答えを出す前に、考える過程を出力させる」**というだけのこと。しかし、このシンプルなアイデアがLLMの推論能力を大きく引き出しました。
Q: カフェでコーヒーを3杯とケーキを2個買いました。
コーヒーは1杯400円、ケーキは1個500円です。合計はいくらですか?
A: 2200円
LLMはいきなり答えを出そうとします。単純な問題なら正解できますが、複雑になると間違いやすい。
Q: カフェでコーヒーを3杯とケーキを2個買いました。
コーヒーは1杯400円、ケーキは1個500円です。合計はいくらですか?
A: まず、コーヒーの合計を計算します。
コーヒー3杯 × 400円 = 1200円
次に、ケーキの合計を計算します。
ケーキ2個 × 500円 = 1000円
最後に、全体の合計を計算します。
1200円 + 1000円 = 2200円
答え: 2200円
途中の計算過程を明示的に出力させることで、LLMは各ステップを正確に実行できるようになります。
Few-shot CoTは、推論過程を含む例を数個提示してからタスクを与える方法です。
[例1]
Q: ロジャーはテニスボールを5個持っています。
テニスボールが3缶入ったパックを2つ買いました。
各缶には3個のボールが入っています。彼は今何個のボールを持っていますか?
A: ロジャーは最初に5個のボールを持っていました。
各缶には3個のボールが入っていて、2缶買ったので、
3 × 2 = 6個のボールを追加で手に入れました。
5 + 6 = 11個
答え: 11個
[例2]
Q: (別の例題と推論過程)
[本題]
Q: あなたが解きたい問題...
「Let's think step by step」と一言添えるだけで、Few-shotの例なしでもCoTが発動する発見です(Kojima et al., 2022)。
Q: カフェでコーヒーを3杯とケーキを2個買いました。
コーヒーは1杯400円、ケーキは1個500円です。合計はいくらですか?
Let's think step by step.
これだけでLLMは自動的に段階的な推論を始めます。
| 観点 | Few-shot CoT | Zero-shot CoT |
|---|---|---|
| 準備コスト | 例題の作成が必要 | 一言添えるだけ |
| 精度 | より高い | やや劣る |
| 適用範囲 | 特定タスクに最適化 | 汎用的 |
| 推奨場面 | 重要なタスク | プロトタイプ・軽量な用途 |
論文では、複数の算術・推論ベンチマークで検証が行われました。
| 手法 | 精度 |
|---|---|
| Standard Prompting | 17.9% |
| Chain-of-Thought | 58.1% |
| 改善幅 | +40.2% |
| 手法 | 精度 |
|---|---|
| Standard Prompting | 17.7% |
| Chain-of-Thought | 93.0% |
| 改善幅 | +75.3% |
| 手法 | 精度 |
|---|---|
| Standard Prompting | 63.1% |
| Chain-of-Thought | 79.0% |
| 改善幅 | +15.9% |
興味深いことに、CoTの効果はモデルサイズが大きいほど顕著になります。
| モデルサイズ | Standard | CoT | 改善幅 |
|---|---|---|---|
| 8B | 4.5% | 5.3% | +0.8% |
| 62B | 12.3% | 33.0% | +20.7% |
| 540B (PaLM) | 17.9% | 58.1% | +40.2% |
小さなモデルではCoTの効果は限定的ですが、100B以上のモデルで劇的な効果が現れます。これは「創発的能力(Emergent Ability)」と呼ばれる現象の一例です。
人間が複雑な計算をするとき、紙に途中式を書きますよね。CoTも同じです。
LLMは生成したテキストを次のトークン予測に使えるため、途中結果を「外部メモリ」として活用できます。
複雑な問題を小さなステップに分解することで、各ステップは単純な処理になります。
複雑な問題: 「3杯 × 400円 + 2個 × 500円」
↓ 分解
ステップ1: 「3 × 400 = ?」 → 1200
ステップ2: 「2 × 500 = ?」 → 1000
ステップ3: 「1200 + 1000 = ?」 → 2200
途中経過が可視化されることで、モデル自身がエラーを発見・修正しやすくなります。
ステップ1: 3 × 400 = 1200 OK
ステップ2: 2 × 500 = 100 ...あれ、計算が間違っている
2 × 500 = 1000 OK
LLMの学習データには、教科書や解説サイトなど「段階的な説明」が多く含まれています。CoTプロンプトは、そうした学習データのパターンを引き出していると考えられます。
CoTは「推論」に特化したテクニックですが、これを行動(Action)と組み合わせたのがReActです。
| 観点 | CoT | ReAct |
|---|---|---|
| 対象 | 推論タスク | 推論 + 行動タスク |
| 外部ツール | 使用しない | 使用する |
| ループ | 一方向 | Thought-Action-Observation |
| 適用例 | 数学、論理問題 | 検索、計算、API呼び出し |
ReActの「Thought」部分は、まさにCoTの推論プロセスです。
[Thought] ユーザーは東京の明日の天気を知りたがっている。
天気APIを使って情報を取得する必要がある。
[Action] weather_api(location="Tokyo", date="tomorrow")
[Observation] 明日の東京: 晴れ、最高気温15度、最低気温8度
CoTが「考える力」を与え、ReActがそれを「行動する力」と結合したと言えます。
import openai
def cot_prompt(question):
prompt = f'''
質問: {question}
この問題をステップバイステップで考えてください。
各ステップで何を計算しているか説明し、最後に答えを出してください。
'''
response = openai.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}],
temperature=0
)
return response.choices[0].message.content
# 使用例
question = "ある店で、りんご5個とみかん8個を買いました。りんごは1個120円、みかんは1個80円です。1000円札で払うとお釣りはいくらですか?"
answer = cot_prompt(question)
print(answer)
ステップ1: りんごの合計金額を計算します。
りんご5個 × 120円 = 600円
ステップ2: みかんの合計金額を計算します。
みかん8個 × 80円 = 640円
ステップ3: 購入金額の合計を計算します。
600円 + 640円 = 1240円
ステップ4: お釣りを計算します。
1000円では足りないため、お釣りは出ません。
むしろ240円不足しています。
答え: 1000円札では240円不足するため、お釣りは出ません。
CoTを使うことで、「1000円では足りない」という重要な気づきも得られています。
いいえ。CoTが効果的なのは主に以下のタスクです。
単純な事実の検索や創作タスクでは効果が限定的です。
はい、効果があります。「ステップバイステップで考えてください」「順番に説明してください」などのフレーズで同様の効果が得られます。
はい。出力トークン数が増えるため、APIコストは増加します。ただし、精度向上による再試行の減少を考えると、総合的には効率的な場合が多いです。
100B以上のパラメータを持つモデル(GPT-4、Claude 3、PaLM 2など)で効果が顕著です。小さなモデルでは効果が限定的です。
Chain-of-Thought(CoT)は、LLMに「考えるプロセスを出力させる」というシンプルなアイデアで、推論能力を飛躍的に向上させた画期的な手法です。
主な成果:
実践のポイント:
LLMを活用する全ての人にとって、CoTは最初にマスターすべきテクニックです。
本記事はネクサフローのAI研究シリーズの一部です。
こちらの記事も参考にしてください

Epiplexityは計算制約のあるAIモデルの学習可能性を定量化する新しい情報理論の尺度であり、シャノンエントロピーの限界を克服します。特に、データ拡張、カリキュラム学習、LLMの汎用能力など、従来の理論では説明できなかった現象を統一的に解決します。Epiplexityは、データセット設計や事前学習の最適化に新たな指針を提供し、今後のAI研究において重要な概念とされています。

AGIは2030年前後に実現するとの予測があり、Sergey Brinは2030年前、Demis Hassabisは2030年直後と述べている。Deep Thinkという推論パラダイムが次のブレークスルーの一部であり、600 ELO以上の性能向上が確認されている。AGI実現にはスケーリングとアルゴリズムの両方が必要で、物理世界の理解が次世代AIの中心となる。Google Glassの失敗からの教訓を活かし、スマートグラスの再挑戦が期待されている。

MetaGPTは、複数のAIエージェントが協調してソフトウェア開発を自動化するフレームワークであり、各エージェントが特定の役割を持ち、標準作業手順(SOP)に従って作業を行います。HumanEvalで85.9%の高い性能を達成し、従来の手法に比べて大幅な品質向上を実現しています。プロトタイプ開発やドキュメント自動生成に応用可能で、商用利用も可能です。