0Pricing
AI Prompt Engineering · レッスン

推論モデルの違い

内部チェーン・オブ・ソートと標準モデルの違いが、プロンプト作成者にとって何を意味するかを学びます。

「推論モデルの違い」はCoddyKit上の無料AI Prompt Engineeringレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Prompt Engineering学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Prompt Engineeringコースには全4レッスンが含まれています。

推論モデルとは

推論モデルとは、応答を生成する前に、長時間の内部的な熟考を行うよう特別に学習・構成されたLLMです。例として、OpenAIのo1/o3/o4シリーズや、拡張思考を有効にしたAnthropicのClaudeがあります。

プロンプトから直接テキストをトークン単位で生成する標準モデルとは異なり、推論モデルはまず長い思考の連鎖を内部で生成し、それを最終的な回答に要約します。

標準モデルと推論モデル:見える違い

APIユーザーから見た違いは次のとおりです。

  • 標準モデル:入力 → 出力(高速、直接的)
  • 推論モデル:入力 → [内部思考、非表示またはストリーミング] → 出力(低速、難しい問題ではより正確)

思考プロセスは、モデル専用の非公開スクラッチパッドです。そこには、最終回答には現れない誤った試行、自己修正、中間計算が含まれることがあります。

OpenAI oシリーズ:APIの動作

OpenAIのo1/o3/o4モデルは内部で思考を処理するため、デフォルトでは推論トークンを見ることができません。使用量のメタデータで思考トークン数を確認することはできますが、その内容は確認できません。

import openai

client = openai.OpenAI(api_key='sk-...')

# o3 — reasoning happens internally
response = client.chat.completions.create(
    model='o3',
    messages=[
        {'role': 'user', 'content': 'Solve: A train leaves Chicago at 9am going 60mph. Another leaves NYC at 10am going 80mph. If the distance is 790 miles, when do they meet?'}
    ],
    # reasoning_effort='high'  # Optional: 'low', 'medium', 'high'
)

print(response.choices[0].message.content)
# Check how many tokens were used for thinking:
print('Input tokens:', response.usage.prompt_tokens)
print('Output tokens:', response.usage.completion_tokens)

Claudeの拡張思考:APIの動作

AnthropicのClaudeでは、APIを通じて拡張思考トークンを取得できます。モデルの推論プロセスをリアルタイムでストリーミングし、観察できます。思考の内容は最終応答の前に現れます。

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

# Enable extended thinking
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=16000,
    thinking={
        'type': 'enabled',
        'budget_tokens': 10000  # Max tokens for thinking
    },
    messages=[{
        'role': 'user',
        'content': 'What is the 100th prime number?'
    }]
)

# Response contains both thinking blocks and text blocks
for block in response.content:
    if block.type == 'thinking':
        print('THINKING:', block.thinking[:200], '...')
    elif block.type == 'text':
        print('ANSWER:', block.text)

思考トークンをストリーミングする

拡張思考をリアルタイムでストリーミングし、モデルの推論が進む様子を確認できます。これはUXに役立ちます。たとえば、「思考中」のアニメーションを表示したり、高度なユーザーが推論プロセスを観察できるようにしたりできます。

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

def stream_with_thinking(question):
    with client.messages.stream(
        model='claude-opus-4-5',
        max_tokens=16000,
        thinking={'type': 'enabled', 'budget_tokens': 8000},
        messages=[{'role': 'user', 'content': question}]
    ) as stream:
        current_block_type = None
        for event in stream:
            # Track which block type we're in
            if hasattr(event, 'type'):
                if 'thinking' in str(event.type):
                    current_block_type = 'thinking'
                elif 'text' in str(event.type):
                    current_block_type = 'text'
            # Print text delta
            if hasattr(event, 'delta') and hasattr(event.delta, 'text'):
                prefix = '[THINK] ' if current_block_type == 'thinking' else '[ANS] '
                print(prefix + event.delta.text, end='', flush=True)

stream_with_thinking('Explain why P != NP is unproven.')

内部で起きていること:スクラッチパッド

モデルの内部思考は、次のことを行えるスクラッチパッドです。

  • 最終決定の前に複数のアプローチを検討する
  • 計算を行い、正しさを検証する
  • 自分の誤りを特定して、前の段階に戻る
  • エッジケースを検討する
  • 複数ステップの解決策を計画する

この内部的な熟考があるため、推論モデルは難しい数学、コーディング、戦略立案において標準モデルを大幅に上回ります。つまり、文章を書く前に文献レビューを行っているようなものです。

budget_tokens: 思考の深さの制御

budget_tokens(Claude)または reasoning_effort(OpenAI)は、モデルがどの程度思考するかを制御します。思考量を増やすと、難しい問題に対する精度は高まりますが、コストとレイテンシーも増加します。

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

def ask_with_budget(question, budget):
    r = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=budget + 2048,  # must exceed budget_tokens
        thinking={'type': 'enabled', 'budget_tokens': budget},
        messages=[{'role': 'user', 'content': question}]
    )
    thinking_tokens = sum(
        len(b.thinking.split()) * 1.3  # rough estimate
        for b in r.content if b.type == 'thinking'
    )
    answer = next(b.text for b in r.content if b.type == 'text')
    return answer, int(thinking_tokens)

# Same hard question with different budgets
q = 'Prove that the square root of 2 is irrational.'
ans_small, tok_small = ask_with_budget(q, 1024)
ans_large, tok_large = ask_with_budget(q, 8000)
print(f'Small budget ({tok_small} thinking tokens): {ans_small[:100]}')
print(f'Large budget ({tok_large} thinking tokens): {ans_large[:100]}')

Temperatureと推論モデル

推論モデルは、temperatureの設定によって動作が異なります。

  • OpenAIのoシリーズでは、temperatureのデフォルト値は1で、常に変更できるとは限りません
  • Claudeの拡張思考では、通常、思考中のtemperatureは1に設定されます

推論モデルの動作を制御するためにtemperatureを使おうとしないでください。代わりに budget_tokens または reasoning_effort を使用してください。

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

# For Claude with extended thinking, temperature=1 is the default
# and best practice
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=10000,
    temperature=1,  # Required to be 1 when extended thinking is enabled
    thinking={
        'type': 'enabled',
        'budget_tokens': 5000
    },
    messages=[{
        'role': 'user',
        'content': 'Write a Python function to find all prime numbers up to N.'
    }]
)
print(response.content[-1].text[:300])

パフォーマンスベンチマーク: 推論モデルが優位な分野

推論モデルは、次の分野で標準モデルを大幅に上回ります。

  • 競技数学: AIME、AMC(o3は人間の専門家に近い性能)
  • 複雑なコーディング: 競技プログラミング(Codeforces)
  • 科学的推論: GPQA(大学院レベルの科学)
  • 多段階の論理: 順序立てた推論が必要な問題

単純なタスク(文法、要約、事実に関するQ&A)では、標準モデルが10~100分の1のコストで同等の性能を発揮します。

レイテンシーの実態

推論モデルは処理が遅くなります。推論の負荷が高い難しい問題では、30~60秒かかる場合があります。それに応じてUXを設計してください。

  • 「thinking...」などの進行状況インジケーターを表示する
  • ストリーミングを使い、利用可能になった部分的な結果を表示する
  • レイテンシーが重要なリアルタイムチャットには推論モデルを使わない
  • 既知の難しい質問については、推論モデルの出力を事前計算しておく
import time
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

def timed_reasoning_call(question, budget):
    start = time.time()
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=budget + 2000,
        thinking={'type': 'enabled', 'budget_tokens': budget},
        messages=[{'role': 'user', 'content': question}]
    )
    elapsed = time.time() - start
    answer = next(b.text for b in response.content if b.type == 'text')
    print(f'Latency: {elapsed:.1f}s | Answer: {answer[:100]}')
    return answer

# Hard problem — expect 20-45 seconds
timed_reasoning_call(
    'Design a database schema for a multi-tenant SaaS billing system.',
    budget=8000
)

推論モデルとシステムプロンプト

推論モデルは、標準モデルとは異なる方法でシステムプロンプトに応答します。回答前に内部で熟考するため、システムプロンプトに含まれる複雑な多段階の指示にも、より確実に従うことができます。

ただし、非常に長く制約の多いシステムプロンプトは、内部推論と衝突する可能性があります。ベストプラクティスは、推論モデルのシステムプロンプトを簡潔に保つことです。役割と出力形式を定義し、方針はモデルの内部推論に任せてください。

理解度チェック: 推論モデルの思考

プロンプトの作成者が提供するものと、推論モデルの内部で起こることの主な違いは何ですか。

まとめ: 推論モデルの違い

o1/o3のような推論モデルや、拡張思考を備えたClaudeは、応答前に内部のchain-of-thoughtを実行します。プロンプトの作成者は問題を提示し、モデルは内部で方針を検討し、複数のアプローチを試しながら自己修正したうえで、最終的な回答を生成します。思考の深さは、budget_tokens(Claude)または reasoning_effort(OpenAI)で制御します。推論モデルは、複雑な数学、コーディング、多段階の論理に優れていますが、標準モデルよりコストが10~100倍高く、処理も10~100倍遅くなります。UXでレイテンシーを管理するため、ストリーミングと進行状況インジケーターを使用してください。

よくある質問

「推論モデルの違い」レッスンは無料ですか?

はい。「推論モデルの違い」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Prompt Engineeringコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Prompt Engineeringコースには全4レッスンが含まれています。

「推論モデルの違い」で何を学びますか?

内部チェーン・オブ・ソートと標準モデルの違いが、プロンプト作成者にとって何を意味するかを学びます。 ブラウザで直接実行するハンズオンコードでAI Prompt Engineeringを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AI Prompt Engineeringを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAI Prompt Engineeringは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「推論モデルの違い」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAI Prompt Engineeringレッスンでコードを書いて実行できますか?

はい。すべてのAI Prompt Engineeringレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 推論モデルの違い
  2. Extended Thinkingに効果的なプロンプト
  3. 推論モデルと標準モデルの使い分け
  4. コストとレイテンシのトレードオフ
← AI Prompt Engineeringに戻る