Chain-of-Thought Prompting
Chain-of-Thought(CoT)プロンプティングがAIの推論を強化する仕組みを探ります。タスクを論理的なステップに分解することで、Ultralytics YOLO26のコード生成を改善する方法を学びます。
思考の連鎖 (CoT) プロンプティングは、プロンプトエンジニアリングにおける高度な手法であり、大規模言語モデル (LLMs) が複雑な推論タスクを中間的な論理ステップに分解して解決できるようにします。モデルに即座に最終回答を提示するよう求めるのではなく、CoTは人間の問題解決を模倣する「思考の流れ」をシステムに生成させます。この段階的な推論により、算術、記号論理、常識推論に関するタスクの性能が大幅に向上し、人工知能 (AI) システムとの関わり方が変わります。
推論の仕組み#
標準的な言語モデルは、入力から出力へ単一のパスで直接対応付けようとするため、複数ステップの問題に苦戦することがよくあります。この「ブラックボックス」方式では、特に論理的な飛躍が大きい場合に誤りが生じる可能性があります。思考の連鎖プロンプティングは、入力された質問と最終出力の間に推論ステップを挿入することで、この問題に対処します。
このプロセスは、一般的に次の2つの方法で機能します。
- Zero-Shot CoT: ユーザーが「一歩ずつ考えてみましょう」のような単純なトリガーフレーズをプロンプトに追加します。これにより、具体的な例を必要とせずに、モデルが潜在的に持つ推論能力を引き出します。
- Few-Shot CoT: プロンプトに、質問とその段階的な解答を組み合わせた少数の例(模範例)を含めます。これにより、few-shot learning を活用して、新しい問題に取り組む前に論理の構成方法をモデルに正確に示します。
中間的な推論を明示的に生成することで、モデルは自らを修正する機会が増え、結論に至った方法の透明性が向上します。これは、モデルが誤った事実を確信を持って述べてしまう可能性のある LLMsにおけるハルシネーション を低減するうえで重要です。
実世界での利用例#
思考の連鎖プロンプティングは、当初はテキストベースの論理のために開発されましたが、コンピュータービジョンやコード生成など、他のAI分野と組み合わせることで強力な応用が可能になります。
1. コンピュータービジョン向けコード生成の強化#
開発者はCoTを使用して、物体検出 などのタスク向けに複雑なソフトウェアスクリプトを記述するようLLMsを誘導します。「車を見つけるコードを書いて」のような曖昧な依頼ではなく、CoTプロンプトでは次のように依頼を構成できます。「まず、必要なライブラリをインポートします。次に、事前学習済みモデルを読み込みます。3番目に、画像ソースを定義します。最後に、予測ループを実行します。」この構造化されたアプローチにより、YOLO26 のようなモデル向けに生成されたコードが、構文的に正しく、論理的にも妥当であることが保証されます。
2. 自律的な意思決定#
自動運転車 の分野では、システムが視覚データを処理し、安全性に関わる重要な意思決定を行う必要があります。思考の連鎖アプローチにより、システムはその論理を説明できます。「横断歩道の近くに歩行者を検出しました。歩行者は道路の方を向いています。信号は私に対して青ですが、歩行者が道路に出てくる可能性があります。したがって、減速して停止に備えます。」これによりAIの意思決定が解釈可能になり、説明可能なAI (XAI) の原則に沿うようになります。
実際の思考の連鎖#
CoTは主に自然言語の手法ですが、ビジョンモデルとの一貫したやり取りを確保するためにプログラムで実装できます。次のPython例では、開発者が Ultralytics Platform 向けの有効な推論コードをLLM(ここではシミュレーション)に生成させるために、プロンプトを構成する方法を示します。
# Example of structuring a Chain-of-Thought prompt for an LLM
# This prompt guides the model to write a valid YOLO26 inference script
cot_prompt = """
Task: Write a Python script to detect objects using YOLO26.
Chain of Thought:
1. Import the YOLO class from the 'ultralytics' library.
2. Load the 'yolo26n.pt' model weights (the latest nano model).
3. Load a sample image using a URL or local path.
4. Run the predict() function and save the results.
Based on these steps, generate the Python code below:
"""
# In a real application, you would send 'cot_prompt' to an LLM API
print(f"Structured Prompt for LLM:\n{cot_prompt}")関連する概念との違い#
思考の連鎖プロンプティングと、機械学習 (ML) 分野における類似用語を区別することが重要です。
- Prompt Chaining: これは、複数の独立したモデル呼び出しを接続し、あるステップの出力を次のステップの入力にする方法です。CoTは内部推論を引き出すために 単一 のプロンプト内で行われるのに対し、プロンプトチェイニングは複数のやり取りにまたがるワークフローをオーケストレーションします。
- Retrieval-Augmented Generation (RAG): RAGは、外部データ(ドキュメントやデータベースなど)を取得して、モデルの知識の根拠とすることに重点を置きます。CoTは 推論プロセス 自体に重点を置きます。多くの場合、RAGで事実を取得し、CoTでそれらについて推論するという形で、両者は組み合わせて使用されます。
- Prompt Tuning: これは、学習中に連続的なソフトプロンプト(ベクトル)を最適化する、パラメーター効率の高いファインチューニング手法です。CoTは、リアルタイム推論 時に適用される離散的な自然言語戦略であり、モデルの重み を変更しません。
今後の展望#
基盤モデル が進化し続ける中、思考の連鎖プロンプティングは、その潜在能力を最大限に引き出すための標準的なベストプラクティスになりつつあります。Google DeepMind などの研究グループによる研究では、モデルの規模が大きくなるにつれて、CoT推論を実行する能力が劇的に向上することが示唆されています。この進化により、ヘルスケアから スマート製造 まで、さまざまな業界で複雑なワークフローに対応できる、より信頼性の高い自律エージェントへの道が開かれています。









