Chain-of-Thought Prompting
AIの推論を強化するためのChain-of-Thought (CoT) プロンプトを探索しましょう。タスクを論理的なステップに分割することが、Ultralytics YOLO26のコード生成をどのように改善するかを解説します。
Chain-of-Thought (CoT) プロンプティングは、大規模言語モデル (LLM) が複雑な推論タスクを中間的な論理ステップに分解して解決できるようにする、プロンプトエンジニアリングの高度なテクニックです。モデルに即座の最終回答を求めるのではなく、CoTは人間の問題解決を模倣した「思考の連鎖 (train of thought)」を生成するようシステムを誘導します。この段階的な推論により、算術、記号論理、常識的推論を伴うタスクのパフォーマンスが大幅に向上し、私たちが人工知能 (AI) システムとやり取りする方法が変革されます。
推論のメカニズム#
標準的な言語モデルは、入力から出力へ一度にマッピングしようとするため、多段階の問題に苦戦することがよくあります。この「ブラックボックス」的なアプローチは、論理的な飛躍が大きすぎる場合に特にエラーを引き起こす可能性があります。Chain-of-Thoughtプロンプティングは、入力質問と最終出力の間に推論ステップを挿入することで、この問題に対処します。
このプロセスは、一般的に2つの方法で機能します。
- Zero-Shot CoT: ユーザーは「ステップバイステップで考えてみましょう」といった単純なトリガーフレーズをプロンプトに追加します。これにより、具体的な例を必要とせずにモデルの潜在的な推論能力が活性化されます。
- Few-Shot CoT: プロンプトには、質問とそれに対応する段階的な解答の例 (エグゼンプラー) がいくつか含まれています。これにより、少ショット学習 (few-shot learning) を活用して、新しい問題に取り組む前にモデルにその論理の構築方法を正確に示します。
中間的な推論を明示的に生成することにより、モデルは自己修正の機会を増やし、結論に至った経緯の透明性を提供します。これは、モデルが自信を持って不正確な事実を述べてしまう可能性がある LLMにおけるハルシネーション を削減するために極めて重要です。
実社会での応用#
当初はテキストベースの論理向けに開発されましたが、Chain-of-Thoughtプロンプティングは、コンピュータビジョンやコード生成といった他のAI領域と組み合わせることで強力な応用が可能になります。
コンピュータビジョン向けコード生成の強化#
開発者は、物体検出 などのタスク向けの複雑なソフトウェアスクリプトを記述する際にLLMを誘導するため、CoTを使用します。「車を見つけるコードを書いて」というような曖昧な要求ではなく、CoTプロンプトでは「最初に、必要なライブラリをインポートします。2番目に、事前学習済みモデルをロードします。3番目に、画像ソースを定義します。最後に、予測ループを実行します」というように要求を構造化することができます。この構造化されたアプローチにより、YOLO26 などのモデル向けに生成されたコードが構文的に正しく、論理的に健全であることが保証されます。
自律的な意思決定#
自動運転車 の分野では、システムは視覚データを処理し、安全性に関わる重要な決定を下す必要があります。Chain-of-Thoughtアプローチにより、システムは「横断歩道の近くに歩行者を検出しました。歩行者は道路の方を向いています。信号機は私にとって青ですが、歩行者が飛び出してくる可能性があります。したがって、速度を落とし、停止の準備をします」というように自身の論理を明確に表現できます。これにより、AIの決定が解釈可能になり、説明可能なAI (XAI) の原則と一致します。
実践におけるChain-of-Thought#
CoTは主に自然言語のテクニックですが、ビジョンモデルとの一貫したやり取りを確実にするためにプログラムで実装することもできます。以下のPythonの例は、Ultralytics プラットフォーム の有効な推論コードを生成する際に、開発者がどのようにプロンプトを構造化して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) の領域における同様の用語とChain-of-Thoughtプロンプティングを区別することが重要です。
- プロンプトチェーニング (Prompt Chaining): これには、複数の独立したモデル呼び出しを接続することが含まれ、1つのステップの出力が次のステップの入力になります。CoTは単一のプロンプト内で発生して内部推論を引き出すのに対し、プロンプトチェーニングは複数のインタラクションにわたってワークフローをオーケストレーションします。
- 検索拡張生成 (RAG): RAGは、モデルの知識を裏付けるために外部データ (ドキュメントやデータベースなど) を取得することに焦点を当てています。CoTは*[推論プロセス]* 自体に焦点を当てています。多くの場合、これらは組み合わせて使用されます。つまり、事実を取得するためにRAGを使用し、それらについて推論するためにCoTを使用します。
- プロンプトチューニング (Prompt Tuning): これは、トレーニング中に連続的なソフトプロンプト (ベクトル) を最適化する、パラメータ効率の高いファインチューニング手法です。CoTは、モデルの重み を変更することなく、リアルタイム推論 時に適用される離散的な自然言語戦略です。
今後の展望#
基盤モデル が進化し続けるにつれて、Chain-of-Thoughtプロンプティングは、そのポテンシャルを最大限に引き出すための標準的なベストプラクティスになりつつあります。Google DeepMind などのグループからの研究によると、モデルの規模が大きくなるにつれて、CoT推論を実行する能力が劇的に向上することが示唆されています。この進化は、ヘルスケアからスマートマニュファクチャリング に至るまでの産業で複雑なワークフローを処理できる、より信頼性が高く自律的なエージェントへの道を切り開いています。






