0% read

Gemma 4 Thinkingモード:何をするか・いつ使うか

4月 7, 2026

Gemma 4には答えを出す前にモデルが「声に出して考える」組み込みthinkingモードがあります。数学の問題で誰かに作業を見せるように頼むようなもの — 追加のステップがしばしばより良い答えにつながります。

しかし常にトレードオフに値するわけではありません。いつ使うか、いつスキップするか分解しましょう。

Thinkingモードとは?

Thinkingモードでは、Gemma 4は最終的な答えを出す前に推論のチェーンを生成します。モデルは本質的に、問題をステップバイステップで処理する内部スクラッチパッドを持っています。

Thinkingなし:

User: What's 17 × 23?
Gemma 4: 391

Thinkingあり:

User: What's 17 × 23?
Gemma 4: <think>
17 × 23
= 17 × 20 + 17 × 3
= 340 + 51
= 391
</think>
391

Thinkingは<think>タグ内で発生します。アプリケーションはこの推論をユーザーに表示するか、除去して最終的な答えだけを使用できます。

Thinkingモードを有効にする方法

Ollamaで

# モデルのthinkingバリアントを使用
ollama run gemma4:26b-thinking

またはbudget tokenパラメータでAPI経由:

import requests

response = requests.post("http://localhost:11434/api/chat", json={
    "model": "gemma4:26b",
    "messages": [
        {"role": "user", "content": "Solve: If 3x + 7 = 22, what is x?"}
    ],
    "options": {
        "num_predict": 2048,  # thinkingに十分なトークンを許可
    },
    "stream": False,
})

print(response.json()["message"]["content"])

システムプロンプトで

システムプロンプト経由でもthinking動作をトリガーできます:

messages = [
    {
        "role": "system",
        "content": "Think step by step before answering. Show your reasoning in <think> tags, then provide the final answer."
    },
    {
        "role": "user",
        "content": "A train leaves Chicago at 9 AM traveling 60 mph. Another leaves New York at 10 AM traveling 80 mph toward Chicago. The distance is 800 miles. When do they meet?"
    }
]

Budgetトークン

一部の実装では、モデルがどれだけthinkingするかをbudgetで制御できます:

# より多いbudget = より多いthinking = 遅いが良い
response = requests.post("http://localhost:11434/api/chat", json={
    "model": "gemma4:26b",
    "messages": [{"role": "user", "content": "Complex reasoning task here..."}],
    "options": {
        "num_predict": 4096,  # thinkingの余地のための高いbudget
    },
})

Thinkingモードが役立つ時

Thinkingモードは多段階推論を要するタスクで輝きます:

数学と論理問題:

Thinkingなし:"答えは42"(時々間違っている)
Thinkingあり:ステップバイステップの作業 → 正しい答え

複雑なコーディング:

Thinkingなし:正しく見えるが微妙なバグがあるコードを生成
Thinkingあり:エッジケース、データフローについて推論し、よりクリーンなコードを生成

分析と比較:

Thinkingなし:表面的な答え
Thinkingあり:複数の角度を考慮し、トレードオフを検討

同じ問題での実用的な比較:

問題タイプThinkingなしThinkingあり改善
基本数学 (2+2)正しい正しいなし
多段階数学約70%正しい約90%正しい大幅
論理パズル約50%正しい約80%正しい大きい
コードデバッグ明らかなバグを発見微妙なバグを発見大幅
シンプルなQ&A高速、正確遅い、正確なし(悪化:遅い)
翻訳良い同じ品質なし
クリエイティブライティング自然な流れ考えすぎに感じる可能性悪化

Thinkingモードをスキップする時

以下にthinkingモードを使わない:

  • シンプルなQ&A:「フランスの首都は?」にはchain of thoughtは不要
  • 翻訳:thinkingモードは翻訳品質を改善せずにレイテンシーを追加
  • クリエイティブライティング:追加の推論は出力を硬く、計画されすぎに感じさせる可能性
  • チャット会話:自然なやり取りは形式的な推論から恩恵を受けない
  • データ抽出:テキストから名前、日付、数字を取得するのはパターンマッチングで、推論ではない
  • 高スループットアプリケーション:何千ものリクエストを処理する場合、2-3倍の遅延が問題。バッチ処理ガイドを参照。

パフォーマンスへの影響

Thinkingモードには実際のコストがあります:

指標ThinkingなしThinkingあり
生成トークン100-500300-2000
回答時間1-5秒3-15秒
VRAM使用量ベースライン同じ(わずかに多いKVキャッシュ)
回答品質(推論)良いより良い
回答品質(シンプル)良い同じ

モデルはthinkingモードで2-5倍のトークンを生成します — 推論を書き出しているからです。Apple Silicon Macでは、これは:

  • M2 Pro 16GB:シンプルな答え2秒 → Thinking答え6-8秒
  • M4 Max 64GB:シンプルな答え1秒 → Thinking答え3-4秒

インタラクティブチャットでは、遅延が目立ちます。バッチ処理では、処理時間が2倍または3倍になる可能性があります。

実用例:ありとなし

実際の問題を見てみましょう:

プロンプト: "I have 3 red balls, 5 blue balls, and 2 green balls in a bag. If I draw 2 balls without replacement, what's the probability both are blue?"

Thinkingなし:

The probability is 5/10 × 4/9 = 20/90 = 2/9 ≈ 0.222

正しいですが、問題がより難しければ、モデルはステップを飛ばして間違える可能性があります。

Thinkingあり:

&lt;think>
Total balls: 3 + 5 + 2 = 10
Blue balls: 5

Probability of first ball being blue: 5/10
After drawing one blue ball:
- Remaining balls: 9
- Remaining blue: 4

Probability of second ball being blue: 4/9

Combined probability: 5/10 × 4/9 = 20/90 = 2/9
&lt;/think>

The probability of drawing 2 blue balls is 2/9, or approximately 22.2%.

同じ答えですが、thinkingバージョンは各ステップで状態を明示的に追跡するため、より難しい問題のエラーを捉える可能性が高いです。

Thinkingを他の機能と組み合わせる

Thinking + JSON出力: 推論にthinkingモードを使用してから、構造化JSONを出力:

messages = [
    {
        "role": "system",
        "content": """Think through the problem in <think> tags.
Then output your final answer as JSON (no other text after the JSON):
{"answer": number, "confidence": number, "reasoning_summary": string}"""
    },
    {"role": "user", "content": "Complex problem here..."}
]

構造化出力の詳細については、JSON出力ガイドをご覧ください。

Thinking + ファインチューンモデル: 特定のドメイン用にGemma 4をファインチューンした場合、thinkingモードは複雑なドメイン特有の問題で推論品質をさらに改善できます。

次のステップ

gemma4 — interact

Stop reading. Start building.

~/gemma4 $ Get hands-on with the models discussed in this guide. No deployment, no friction, 100% free playground.

Launch Playground />
Gemma 4 AI

Gemma 4 AI

Related Guides

Gemma 4 Thinkingモード:何をするか・いつ使うか | ブログ