0% read

Thinking Mode Gemma 4: Apa yang Dilakukan & Kapan Menggunakannya

Apr 7, 2026

Gemma 4 punya thinking mode bawaan yang memungkinkan model "bernalar dengan keras" sebelum memberimu jawaban. Ini seperti meminta seseorang menunjukkan pekerjaannya pada soal matematika — langkah ekstra sering mengarah ke jawaban yang lebih baik.

Tapi ini tidak selalu sepadan dengan trade-off-nya. Mari kita uraikan kapan menggunakannya dan kapan melewatinya.

Apa Itu Thinking Mode?

Dalam thinking mode, Gemma 4 menghasilkan rantai penalaran sebelum memproduksi jawaban akhir. Model pada dasarnya punya scratchpad internal di mana ia mengerjakan masalah langkah demi langkah.

Tanpa thinking:

User: Berapa 17 × 23?
Gemma 4: 391

Dengan thinking:

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

Thinking terjadi di dalam tag <think>. Aplikasimu bisa menampilkan reasoning ini ke user atau menghapusnya dan hanya menggunakan jawaban akhir.

Cara Mengaktifkan Thinking Mode

Dengan Ollama

# Gunakan varian thinking dari model
ollama run gemma4:26b-thinking

Atau via API dengan parameter budget token:

import requests

response = requests.post("http://localhost:11434/api/chat", json={
    "model": "gemma4:26b",
    "messages": [
        {"role": "user", "content": "Selesaikan: Jika 3x + 7 = 22, berapa x?"}
    ],
    "options": {
        "num_predict": 2048,  # Izinkan cukup token untuk thinking
    },
    "stream": False,
})

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

Dengan System Prompt

Kamu juga bisa memicu perilaku thinking melalui system prompt:

messages = [
    {
        "role": "system",
        "content": "Pikirkan langkah demi langkah sebelum menjawab. Tunjukkan reasoning-mu dalam tag <think>, lalu berikan jawaban akhir."
    },
    {
        "role": "user",
        "content": "Kereta berangkat Chicago jam 9 pagi dengan kecepatan 60 mph. Yang lain berangkat New York jam 10 pagi dengan kecepatan 80 mph menuju Chicago. Jaraknya 800 mil. Kapan mereka bertemu?"
    }
]

Budget Token

Beberapa implementasi memungkinkan kamu mengontrol berapa banyak thinking yang dilakukan model dengan budget:

# Lebih banyak budget = lebih banyak thinking = lebih lambat tapi lebih baik
response = requests.post("http://localhost:11434/api/chat", json={
    "model": "gemma4:26b",
    "messages": [{"role": "user", "content": "Tugas reasoning kompleks di sini..."}],
    "options": {
        "num_predict": 4096,  # Budget lebih tinggi untuk ruang thinking lebih banyak
    },
})

Kapan Thinking Mode Membantu

Thinking mode bersinar di tugas yang membutuhkan reasoning multi-langkah:

Masalah matematika dan logika:

Tanpa thinking: "Jawabannya 42" (kadang salah)
Dengan thinking: Pekerjaan langkah-demi-langkah → jawaban benar

Coding kompleks:

Tanpa thinking: Menghasilkan kode yang terlihat benar tapi punya bug halus
Dengan thinking: Bernalar tentang edge case, aliran data, lalu menghasilkan kode lebih bersih

Analisis dan perbandingan:

Tanpa thinking: Jawaban tingkat permukaan
Dengan thinking: Mempertimbangkan berbagai sudut, menimbang trade-off

Berikut perbandingan praktis pada masalah yang sama:

Tipe MasalahTanpa ThinkingDengan ThinkingPeningkatan
Matematika dasar (2+2)BenarBenarTidak ada
Matematika multi-langkah~70% benar~90% benarSignifikan
Teka-teki logika~50% benar~80% benarBesar
Debug kodeMenemukan bug jelasMenemukan bug halusSignifikan
Q&A sederhanaCepat, benarLebih lambat, benarTidak ada (lebih buruk: lebih lambat)
TerjemahanBagusKualitas samaTidak ada
Penulisan kreatifAlur naturalBisa terasa terlalu dipikirkanLebih buruk

Kapan Melewati Thinking Mode

Jangan gunakan thinking mode untuk:

  • Q&A sederhana: "Apa ibu kota Prancis?" tidak butuh chain of thought
  • Terjemahan: Thinking mode menambah latensi tanpa meningkatkan kualitas terjemahan
  • Penulisan kreatif: Reasoning ekstra bisa membuat output terasa kaku dan terlalu direncanakan
  • Percakapan chat: Bolak-balik natural tidak mendapat manfaat dari reasoning formal
  • Ekstraksi data: Menarik nama, tanggal, dan angka dari teks adalah pattern matching, bukan reasoning
  • Aplikasi throughput tinggi: Jika kamu memproses ribuan permintaan, perlambatan 2-3x penting. Lihat panduan batch processing kami.

Dampak Performa

Thinking mode punya biaya nyata:

MetrikTanpa ThinkingDengan Thinking
Token yang dihasilkan100-500300-2000
Waktu ke jawaban1-5 detik3-15 detik
Penggunaan VRAMBaselineSama (sedikit lebih banyak KV cache)
Kualitas jawaban (reasoning)BagusLebih baik
Kualitas jawaban (sederhana)BagusSama

Model menghasilkan 2-5x lebih banyak token dalam thinking mode karena menulis reasoning-nya. Di Mac dengan Apple Silicon, ini berarti:

  • M2 Pro 16GB: Jawaban sederhana dalam 2 dtk → Jawaban thinking dalam 6-8 dtk
  • M4 Max 64GB: Jawaban sederhana dalam 1 dtk → Jawaban thinking dalam 3-4 dtk

Untuk chat interaktif, delay-nya terasa. Untuk batch processing, bisa menggandakan atau melipatgandakan waktu pemrosesan.

Contoh Praktis: Dengan vs Tanpa

Mari lihat masalah nyata:

Prompt: "Saya punya 3 bola merah, 5 bola biru, dan 2 bola hijau di tas. Jika saya mengambil 2 bola tanpa pengembalian, berapa probabilitas keduanya biru?"

Tanpa thinking:

Probabilitasnya adalah 5/10 × 4/9 = 20/90 = 2/9 ≈ 0.222

Benar, tapi jika masalahnya lebih sulit, model mungkin melewatkan langkah dan salah.

Dengan thinking:

<think>
Total bola: 3 + 5 + 2 = 10
Bola biru: 5

Probabilitas bola pertama biru: 5/10
Setelah mengambil satu bola biru:
- Bola tersisa: 9
- Biru tersisa: 4

Probabilitas bola kedua biru: 4/9

Probabilitas gabungan: 5/10 × 4/9 = 20/90 = 2/9
</think>

Probabilitas mengambil 2 bola biru adalah 2/9, atau sekitar 22.2%.

Jawaban sama, tapi versi thinking lebih mungkin menangkap error pada masalah yang lebih sulit karena secara eksplisit melacak state pada setiap langkah.

Menggabungkan Thinking dengan Fitur Lain

Thinking + JSON output: Gunakan thinking mode untuk reasoning, lalu output JSON terstruktur:

messages = [
    {
        "role": "system",
        "content": """Pikirkan masalahnya dalam tag <think>.
Lalu output jawaban akhir sebagai JSON (tanpa teks lain setelah JSON):
{"answer": number, "confidence": number, "reasoning_summary": string}"""
    },
    {"role": "user", "content": "Masalah kompleks di sini..."}
]

Untuk lebih banyak tentang structured output, lihat panduan JSON output kami.

Thinking + model fine-tuned: Jika kamu telah fine-tune Gemma 4 untuk domain spesifik, thinking mode masih bisa meningkatkan kualitas reasoning pada masalah domain-spesifik kompleks.

Langkah Selanjutnya

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

Thinking Mode Gemma 4: Apa yang Dilakukan & Kapan Menggunakannya | Blog