算数の文章題をいきなり答えると間違えるが、途中式を書くと正解する——大規模言語モデルにも同じことが起こります。思考の連鎖を引き出すChain of Thoughtプロンプトの効果を解説します。
経験と勘に基づくヒューリスティックな知識

AIを知りたい
先生、「ヒューリスティックな知識」って、どういう意味ですか?なんとなく分かるんですけど、うまく説明できません。

AIエンジニア
そうですね。「ヒューリスティック」は「経験的に」とか「試行錯誤的に」という意味です。つまり、「ヒューリスティックな知識」とは、経験や試行錯誤によって得られた知識のことです。必ずしも正しいとは限らないけど、役に立つ場合もある知識、といったところでしょうか。

AIを知りたい
なるほど。じゃあ、たとえばどんな時に役に立つんですか?

AIエンジニア
そうですね。例えば、新しいウイルスを見つけた時、今までの知識では対処できないことがありますよね。そんな時、完全に正しい答えを出すにはすごく時間がかかります。でも、経験に基づいた知識を使えば、早く、ある程度の答えを見つけられるんです。これが「ヒューリスティックな知識」の良さです。
ヒューリスティックな知識とは。
人工知能で使われる『経験的な知識』について説明します。『経験的な知識』とは、試行錯誤によって得られた知識のことです。この知識を使う方法は、必ずしも正しい答えを導き出すとは限りません。しかし、例えば新しいウイルスが見つかったとき、これまでのウイルスの情報では対処できない場合があります。そのようなとき、正しい答えを出す方法はあるのですが、膨大な時間がかかってしまうことがあります。このような場合に、経験的な知識を使う方法は役に立ちます。
経験に基づく知恵

経験に基づく知恵とは、長年の経験や直感から得られる、論理的な証明よりも肌感覚を重視した知識のことです。例えるなら、ベテランの職人さんが、材料を見ただけでその品質を見抜いたり、熟練の漁師さんが、空模様や波の様子から魚群の居場所を予測したりするようなものです。これらの判断は、必ずしも科学的な根拠に基づいているわけではありません。長年の経験を通して、無意識のうちに様々な情報のパターンを認識し、直感的な判断を下しているのです。このような経験に基づく知恵は、ヒューリスティックと呼ばれ、必ずしも常に正しいとは限りません。しかし、情報が不足していたり、迅速な判断が必要な状況では、非常に役に立ちます。例えば、火災現場で消防士は、一刻を争う状況の中で、経験に基づいて人命救助の最善策を判断しなければなりません。また、医師が患者の症状から病気を推測する際にも、経験に基づく知恵が重要な役割を果たします。もちろん、最終的な診断には精密検査が必要ですが、初期段階での迅速な判断は、治療の開始を早め、患者の負担を軽減することに繋がります。さらに、経験に基づく知恵は、新しい発見や技術革新にも繋がる可能性を秘めています。例えば、科学の分野では、既存の理論では説明できない現象に遭遇することがあります。このような状況において、研究者はこれまでの経験や直感に基づいて新しい仮説を立て、それを検証することで、新たな知見を得ることがあります。このように、経験に基づく知恵は、私たちの生活の様々な場面で重要な役割を果たしており、論理や科学的根拠だけでは捉えきれない、人間の知性の奥深さを示すものと言えるでしょう。
| 特徴 | 説明 | 例 |
|---|---|---|
| 定義 | 長年の経験や直感から得られる、論理的な証明よりも肌感覚を重視した知識 | – |
| 別名 | ヒューリスティック | – |
| 信頼性 | 必ずしも常に正しいとは限らない | – |
| 有効性 | 情報が不足していたり、迅速な判断が必要な状況で非常に役に立つ | – |
| 活用例 |
|
– |
| 本質 | 論理や科学的根拠だけでは捉えきれない人間の知性の奥深さを示すもの | – |
試行錯誤による学習

人は、さまざまなことを学ぶとき、最初から完璧にできることはほとんどありません。多くの場合、試行錯誤を繰り返しながら、徐々にできるようになっていきます。この試行錯誤の過程こそが、経験に基づいた知識を身につけるための大切な方法なのです。この経験に基づいた知識のことを、私たちは「発見的な知識」と呼ぶこともあります。
自転車に乗ることを想像してみてください。初めて自転車に乗る人は、まずバランスを取ることが難しく、何度も転んでしまうでしょう。しかし、転ぶたびに、どのようにバランスを取れば良いのか、ペダルをどのように漕げば良いのかを考え、少しずつ調整していきます。最初はうまくいかなくても、何度も繰り返すうちに、自然とバランスを取れるようになり、スムーズにペダルを漕げるようになります。これはまさに、転ぶという失敗を繰り返しながら、自転車に乗るためのコツを掴んでいく、試行錯誤の学習過程です。
料理をするときも同じです。新しい料理に挑戦するとき、レシピ通りに作っても、自分の思った通りの味にならないことがあります。しかし、そこで諦めずに、材料の分量や火加減、味付けなどを調整することで、より美味しい料理を作ることができるようになります。これも、試行錯誤によって、料理のコツを掴んでいく過程です。
このように、試行錯誤は、発見的な知識を得るための非常に重要な方法です。成功や失敗を繰り返す中で、私たちは多くのことを学び、経験を積み重ねていきます。そして、その経験が、より深い知識へとつながり、私たちの生活を豊かにしてくれるのです。試行錯誤を恐れず、色々なことに挑戦することで、私たちは成長していくことができるのです。

迅速な意思決定

素早い判断が必要な状況では、経験に基づいた知識がとても役に立ちます。例えば、将棋や囲碁の世界を考えてみましょう。これらの盤上遊戯は、無数の打ち手があり、全ての可能性を一つずつ考えていくのは現実的に不可能です。熟練した棋士は、長年の経験から得た知識を使って、盤面の状態を把握し、最善と考える手を素早く選びます。これは、過去の対局で積み重ねてきた様々な局面の記憶や、それらを基にした直感的な判断によるものです。
このような、経験から得た知識による判断方法は、「発見的手法」とも呼ばれます。これは、必ずしも完璧な答えを導き出すとは限りませんが、限られた時間の中で有効な選択をするために役立ちます。
例えば、ある局面でどの駒をどのように動かすか、どの場所に新たな駒を置くかといった判断は、膨大な選択肢の中から行われます。熟練した棋士は、過去の経験から、特定の状況で有効な打ち方や、避けるべき打ち方を学習しています。これにより、全ての可能性を検討することなく、効率的に良い手を絞り込むことができます。
また、経験に基づいた知識は、状況の変化への対応にも役立ちます。対局中は、相手の打ち手によって状況は常に変化していきます。熟練した棋士は、変化する状況を素早く把握し、過去の経験に基づいて、臨機応変に最善の手を選びます。
このように、将棋や囲碁の世界では、発見的手法を用いることで、複雑な状況でも素早く的確な判断を下すことができるのです。限られた時間の中で最善の行動を選択するために、経験に基づいた知識は不可欠な要素と言えます。
| 状況 | 課題 | 解決策 | 手法 | 結果 |
|---|---|---|---|---|
| 素早い判断が必要な状況 (例: 将棋、囲碁) | 無数の選択肢から最善手を選ぶ必要がある。全ての可能性を検討するのは非現実的。 | 経験に基づいた知識を活用し、盤面の状態を把握し、最善手を選ぶ。過去の対局の記憶や直感的な判断を利用。 | 発見的手法 | 限られた時間の中で有効な選択をすることができる。複雑な状況でも素早く的確な判断を下せる。 |
限界と注意点

経験に基づく知識は、便利で効率的な問題解決方法となることがありますが、その限界を理解し、注意して使うことが重要です。
第一に、経験則は必ずしも正しいとは限りません。過去の経験から得られた知識は、その経験した状況に強く左右されます。状況が変われば、かつて有効だった方法も役に立たなくなる可能性があります。例えば、ある地域で長年農業を営んできた人が、その経験に基づいて作物の育て方を判断しても、気候変動などにより環境が変化すれば、これまでのやり方が通用しなくなるかもしれません。
第二に、経験則は、往々にして客観性に欠けるという側面があります。個人の経験は主観的なものであり、他の人にも当てはまるとは限りません。ある人が特定の方法で成功したとしても、別の人が同じ方法を試して同じ結果を得られるとは限りません。例えば、ある経営者が自分の直感で事業を成功させたとしても、他の経営者が同じ直感に従って成功するとは限りません。個人の性格や能力、置かれた状況など、様々な要因が影響するためです。
第三に、経験則は、複雑な問題を単純化してしまう危険性があります。物事を理解しやすくするために、複雑な要因を無視したり、重要な情報を軽視したりしてしまう可能性があります。例えば、医師が患者の症状だけを見て病気を判断する際、検査データなどの客観的な情報を軽視してしまうと、誤診につながる恐れがあります。
これらの限界を踏まえ、経験則はあくまでも補助的な手段として用いるべきです。重要な決定を下す際には、経験則だけでなく、客観的なデータに基づいた分析や検証を行うことが不可欠です。経験則だけに頼りすぎると、思わぬ落とし穴に陥る可能性があるため、注意が必要です。
| 限界 | 説明 | 例 |
|---|---|---|
| 必ずしも正しくない | 過去の経験は状況に依存し、状況が変われば通用しなくなる。 | 気候変動でこれまでの農業のやり方が通用しなくなる。 |
| 客観性に欠ける | 個人の経験は主観的で、他の人にも当てはまるとは限らない。 | ある経営者の直感が他の経営者にも有効とは限らない。 |
| 複雑な問題を単純化 | 物事を理解しやすくするために、重要な情報を軽視する可能性がある。 | 医師が患者の症状だけを見て誤診する。 |
活用事例

経験に基づく知識、すなわち経験則は、様々な場面で役立っています。例えば、お医者さんが患者の症状から病気を推測するのも、経験則に基づく判断と言えるでしょう。長年の経験から得られた知識は、迅速な診断と適切な治療方針の決定を可能にします。また、将棋や囲碁のような複雑なゲームにおいても、経験則は重要な役割を果たします。どの手を打つべきかを瞬時に判断するために、過去の対局で得た知識や定石を活用するのです。刻一刻と状況が変化する緊急時の対応においても、経験則は欠かせません。消防士が火災現場で迅速に人命救助を行うのも、訓練で培われた経験則に基づく判断があってこそです。
人工知能の分野においても、経験則は活用されています。専門家の持つ知識を規則化し、コンピュータに組み込むことで、高度な問題解決を支援するシステムを作ることができるのです。これは、熟練の技術者の技能を再現するロボットや、複雑な金融取引を自動化するシステムなど、様々な応用が考えられます。近年、急速に発展している深層学習も、大量のデータから法則性を学ぶという点で、経験則の獲得に似た側面を持っています。コンピュータが大量のデータからパターンを認識し、将来の予測に役立てるのも、一種の経験則と言えるでしょう。
このように、経験則は医療、ゲーム、緊急時対応、人工知能など、様々な分野で活用され、我々の生活を支えています。複雑な問題を迅速に解決するための助けとなるだけでなく、人間の知的能力を拡張し、より高度な課題に挑戦することを可能にするのです。今後も、経験則の活用はますます重要性を増していくと考えられます。
| 分野 | 経験則の活用例 |
|---|---|
| 医療 | 医師の診断、治療方針決定 |
| ゲーム (将棋、囲碁など) | 次の一手の判断、定石の活用 |
| 緊急時対応 | 消防士の火災現場での人命救助 |
| 人工知能 | 専門家の知識の規則化、深層学習による法則性学習 |
CoTプロンプト設計のベストプラクティス:5ステップのチェックリスト
Chain of Thought(CoT)プロンプティングは、LLMに段階的な推論過程を明示させることで回答精度を向上させる技術です。以下のチェックリストで効果的なCoTプロンプトを設計するための5つのステップを確認してください。
| ステップ | チェック項目 | 実践ガイド |
|---|---|---|
| 1. タスク分析 | タスクにCoTが有効かを判断する | CoTが効果を発揮するのは、算術推論・論理推論・複数ステップの判断が必要なタスク。単純な知識検索や翻訳にはCoTは不要で、かえって冗長になる場合がある |
| 入力と期待出力の形式を明確にする | 「自由記述で回答」「JSON形式で出力」「数値のみ回答」など出力形式を事前に定義し、推論ステップと最終出力を分離できるように設計する | |
| エラーパターンを事前に洗い出す | CoTなしで試行した際のよくある間違い(計算ミス、前提の見落とし、論理の飛躍)を分析し、CoTでどのステップを明示すべきかを特定する | |
| 2. ステップ分解 | 推論を具体的なサブステップに分解する | 「まず〇〇を確認し、次に〇〇を計算し、最後に〇〇を判断する」のように、各ステップで何を行うかを明文化する。ステップ数は3〜7が目安 |
| 各ステップの依存関係を整理する | ステップAの結果がステップBの入力になるような依存関係を明確にし、順序の入れ替えが不可能なことをプロンプト内で暗黙的に示す | |
| 中間結果の検証ポイントを設ける | 長い推論チェーンでは途中で「ここまでの結果を確認すると〇〇」と中間チェックを入れることで、誤った前提に基づく推論の連鎖を防止する | |
| 3. 例示(Few-shot)構成 | 2〜3個の具体的なCoT例を用意する | Zero-shot CoT(「ステップバイステップで考えてください」)よりも、具体的な推論過程を示すFew-shot CoTの方が精度が高い。ただし例が多すぎるとコンテキスト窓を圧迫するため2〜3例が最適 |
| 例の難易度を段階的に設定する | 簡単な例 → やや複雑な例 → 本番と同程度の複雑さの例、と段階的に提示することで、モデルが推論パターンを効果的に学習する | |
| 例の推論ステップに誤りがないか検証する | Few-shotの例に含まれる推論過程が正確であることを人手で検証する。例に誤りがあるとモデルは誤ったパターンを模倣してしまう | |
| 4. 出力検証 | 最終回答を推論過程と整合性チェックする | 「以上の推論から、最終回答は〇〇です」のように、推論過程の結論が最終出力に反映されていることをフォーマットで強制する |
| Self-Consistency(自己整合性)を活用する | 同じ問題に対して温度を上げて複数回推論を実行し、多数決で最終回答を決定する。CoT + Self-Consistencyの組み合わせが現時点で最も高精度 | |
| 推論ステップ数の妥当性を評価する | ステップが多すぎると途中で脱線するリスクが高まり、少なすぎると推論が浅くなる。タスクの複雑さに応じて3〜7ステップに収まるよう調整する | |
| 5. 反復改善 | 失敗ケースを収集・分析する | CoTプロンプトで誤答した事例を蓄積し、「どのステップで推論が誤ったか」を分析して、そのステップに対するより詳細な指示やガードレールを追加する |
| プロンプトのA/Bテストを実施する | 同一テストセットに対して異なるCoTプロンプト(表現の違い、例の数、ステップの粒度)を比較し、定量的に最も精度の高いバリエーションを選定する | |
| モデルバージョン更新時に再評価する | LLMのバージョンアップ時にCoTの効果が変化する可能性がある(より高性能なモデルではZero-shot CoTで十分な場合も)。モデル更新のたびにベンチマーク再評価を行う |
CoTプロンプト設計の最大のポイントは「モデルに考え方のテンプレートを教える」のではなく「モデルが自然に正しい推論経路を辿れるようにガイドする」ことです。過度に詳細なステップ指定はモデルの柔軟性を奪い、想定外の問題に対応できなくなります。逆に「ステップバイステップで考えて」だけでは推論の質にばらつきが出ます。2〜3の高品質なFew-shot例で推論の粒度と方向性を示しつつ、モデルが問題固有の思考を自律的に展開できる余地を残すバランスが理想的です。
