Lewati ke isi

Bab 6: Chain of Thought (CoT)

"Mari kita pikirkan langkah demi langkah." — 7 kata yang bikin AI mendadak jago di matematika dan reasoning.

Selamat datang di Bagian 2 — Teknik Lanjutan. Sampai Bab 5, kita pelajari cara bertanya yang baik. Mulai Bab 6, kita pelajari cara mengarahkan cara berpikir AI.

Setelah Bab 6, kamu akan bisa:

  • Memahami kenapa LLM gagal di reasoning task
  • Pakai Chain of Thought (CoT) untuk problem matematika & logika
  • Membedakan zero-shot CoT vs few-shot CoT
  • Tahu kapan CoT membantu vs kapan tidak

6.1. Masalah: LLM Lemah di Reasoning

Tanya LLM math sederhana:

Roger punya 5 bola tenis. Dia beli 2 kaleng bola tenis,
masing-masing kaleng isi 3 bola. Berapa total bola tenis Roger sekarang?

LLM bisa salah — terutama model lebih kecil. Output kadang langsung "11" (benar) atau "13" (salah).

Kenapa? Ingat Bab 1 — LLM adalah prediktor kata. Saat kamu tanya math, dia tidak benar-benar "menghitung". Dia memprediksi kata yang paling probable muncul setelah pertanyaan itu di teks training.

Kalau di training data kebanyakan "5 + 6 = 11", dia jawab 11. Kalau ambigu, dia tebak.

6.2. Solusi: Force Step-by-Step Thinking

Trick simpel yang revolusioner: tambahkan kalimat "Mari kita pikirkan langkah demi langkah" ke prompt.

Roger punya 5 bola tenis. Dia beli 2 kaleng bola tenis,
masing-masing kaleng isi 3 bola. Berapa total bola tenis Roger sekarang?

Mari kita pikirkan langkah demi langkah.

Output sekarang:

Langkah 1: Roger awalnya punya 5 bola tenis.
Langkah 2: Dia beli 2 kaleng, masing-masing 3 bola.
Langkah 3: Total bola dari kaleng = 2 × 3 = 6 bola.
Langkah 4: Total bola sekarang = 5 + 6 = 11 bola.

Jawaban: 11 bola tenis.

Akurasi naik drastis — dari research, akurasi math problem bisa naik dari 18% jadi 79% dengan CoT (di model GPT-3 era 2022).

6.3. Kenapa CoT Bekerja?

flowchart TB
    subgraph Direct["Tanpa CoT (langsung jawab)"]
        D1["Pertanyaan kompleks"]
        D2["🧠 LLM<br/>tebak jawaban<br/>langsung"]
        D3["Output:<br/>angka, sering salah"]
        D1 --> D2 --> D3
    end

    subgraph CoT_["Dengan CoT (think step-by-step)"]
        C1["Pertanyaan kompleks"]
        C2["🧠 LLM<br/>uraikan langkah"]
        C3["Step 1: ...<br/>Step 2: ...<br/>Step 3: ..."]
        C4["Output final:<br/>jawaban benar"]
        C1 --> C2 --> C3 --> C4
    end

    style Direct fill:#141414,stroke:#ef4444,color:#a1a1a1
    style CoT_ fill:#141414,stroke:#10b981,color:#a1a1a1
    style D1 fill:#1a1a1a,stroke:#6e6e6e,color:#a1a1a1
    style D2 fill:#1a1a1a,stroke:#6e6e6e,color:#a1a1a1
    style D3 fill:#1a1a1a,stroke:#ef4444,color:#fafafa
    style C1 fill:#1a1a1a,stroke:#6366f1,color:#fafafa
    style C2 fill:#1a1a1a,stroke:#f59e0b,color:#fafafa
    style C3 fill:#1a1a1a,stroke:#ec4899,color:#fafafa
    style C4 fill:#1a1a1a,stroke:#10b981,color:#fafafa

Cara baca diagram

Diagram ini menjelaskan kenapa CoT bekerja dari sudut pandang mekanisme LLM.

Tanpa CoT (atas, merah):

LLM dapat pertanyaan, tebak jawaban langsung dari pola yang dia pelajari. Untuk pertanyaan yang mirip dengan banyak data training, ini OK. Tapi untuk problem unik atau kompleks, dia menebak — sering salah.

Dengan CoT (bawah, hijau):

LLM diminta uraikan proses berpikir step-by-step. Tiap step adalah text yang conditioning step berikutnya. Jadi:

  • Step 1 dia tulis fakta yang jelas dari soal
  • Step 2 dia tulis operasi yang jelas dari step 1
  • Step 3 dia tulis kombinasi step 1+2
  • ...sampai jawaban final

Insight kunci: tiap step adalah token tambahan yang LLM "lihat" sebelum dia generate token berikutnya. Lebih banyak konteks intermediate = lebih akurat token akhir.

Analogi manusia: kalau kamu disuruh hitung 847 × 23 di kepala langsung, kemungkinan salah. Tapi kalau kamu tulis di kertas step-by-step, akurasi jauh naik. CoT adalah versi LLM-nya.

Tidak semua task untung: untuk tanya fakta sederhana (ibu kota negara, dll), CoT cuma tambah token tanpa benefit. Reserve CoT untuk task yang benar-benar butuh reasoning.

6.4. Zero-Shot CoT

Cara paling simpel: tambahkan trigger phrase di akhir prompt.

[PERTANYAAN]

Mari kita pikirkan langkah demi langkah.

Atau dalam bahasa Inggris (yang lebih reliable karena training data lebih banyak):

Let's think step by step.

Variasi yang bekerja:

  • "Mari kita uraikan langkah demi langkah."
  • "Pikirkan dengan teliti dan jelaskan reasoning-mu."
  • "Sebelum kasih jawaban, jelaskan logika di baliknya."

Eksperimen — phrase berbeda kasih hasil sedikit berbeda di model berbeda.

6.5. Few-Shot CoT — Lebih Kuat

Kombinasi few-shot + CoT = power tool.

Q: Tomi pinjam 5 buku dari perpustakaan. Setelah seminggu,
   dia balikin 2 buku dan pinjam 3 lagi. Berapa buku yang dia pegang?

Reasoning:
- Awal: 5 buku
- Balikin 2: 5 - 2 = 3 buku
- Pinjam 3: 3 + 3 = 6 buku

Jawaban: 6 buku

Q: Sari beli 4 kotak donut, masing-masing 6 donut. Dia kasih ke 3 teman,
   masing-masing 5 donut. Berapa donut yang sisa untuk Sari?

Reasoning:
- Total donut: 4 × 6 = 24 donut
- Diberi ke teman: 3 × 5 = 15 donut
- Sisa: 24 - 15 = 9 donut

Jawaban: 9 donut

Q: {{ pertanyaan_baru }}

Reasoning:

LLM ngikut pola reasoning yang ditunjukkan, lalu jawab pertanyaan baru dengan format yang sama.

6.6. Kapan Pakai CoT?

✓ Bagus untuk CoT

  • Math problems (aritmatika, word problem)
  • Logic puzzles
  • Multi-step planning
  • Code debugging ("ini kode salah, jelaskan kenapa")
  • Strategic decisions ("opsi A vs B, mana lebih baik?")
  • Causal reasoning ("kenapa X terjadi?")

✗ Tidak Perlu CoT

  • Factual recall (ibu kota Indonesia, definisi)
  • Translation
  • Simple classification
  • Style/tone tasks (penulisan kreatif)
  • Yes/no questions dengan jawaban langsung

Untuk task tanpa reasoning, CoT cuma tambah token — output lebih panjang, tidak lebih akurat.

6.7. CoT untuk Decision-Making

CoT bagus untuk business decisions:

[KONTEKS]
Saya owner kafe di Jakarta. Lagi mau ekspansi ke kota lain.
3 opsi:
1. Bandung: traffic mahasiswa, kompetisi ketinggian
2. Surabaya: market besar, pricing customer beda
3. Yogya: budget rendah, market lebih kecil

Saya punya budget ekspansi Rp 500jt.

[TASK]
Mana opsi terbaik? Pikirkan langkah demi langkah:
1. Analisis pro-cons tiap kota
2. Faktor budget — mana yang fit
3. Risiko vs reward
4. Kesimpulan dengan rekomendasi

Output: analisis terstruktur dengan reasoning yang bisa kamu evaluate.

6.8. CoT + Self-Reflection

Trick advanced: minta CoT, lalu minta review reasoning sendiri.

[PERTANYAAN]

Pikirkan step-by-step. Setelah kasih jawaban, **review apakah ada step yang salah atau bisa diperbaiki**.

Output:

Reasoning:
Step 1: ...
Step 2: ...
Jawaban: X

Review: Setelah dipikir lagi, di step 2 saya tidak pertimbangkan [Y]. 
Jawaban yang lebih akurat: Z.

Jawaban final: Z

Self-correction ini tambahan akurasi tanpa kamu harus prompt ulang.

6.9. Common Mistakes

❌ Pakai CoT untuk Task Sederhana

Q: Ibu kota Indonesia? Mari kita pikirkan langkah demi langkah.

Cuma boros token. Untuk fakta langsung, jawab langsung.

❌ Trigger Phrase di Awal, Bukan Akhir

Pikirkan step-by-step.

[PERTANYAAN]

Trigger phrase paling efektif di akhir prompt — jadi kalimat terakhir sebelum LLM generate output.

❌ Tidak Verifikasi Output

CoT tidak menjamin benar. Reasoning yang kelihatan logical bisa salah di salah satu step. Always verify untuk task kritis (math, financial, medical, legal).

❌ Pakai CoT tapi Tidak Baca Reasoning

CoT memperlihatkan kerja AI. Kalau kamu cuma baca jawaban final, kehilangan benefit utamanya: debugging logic.

6.10. Project: Reasoning Tutor

Bikin AI yang ngajarin matematika dengan CoT untuk siswa.

[ROLE]
Kamu adalah tutor matematika untuk siswa SMP yang sabar.

[PEDAGOGI]
Untuk setiap soal:
1. Pertama, **jelaskan apa yang ditanyakan** dengan kata sederhana
2. Identifikasi **informasi yang relevan** dari soal
3. Pilih **strategi/rumus** yang dipakai
4. Hitung **step-by-step**, tunjukkan setiap operasi
5. **Verifikasi** dengan estimasi atau cara alternatif
6. Kasih **jawaban final** dengan unit yang jelas

[FORMAT]
Pakai numbered list untuk tiap step.
Setiap step kasih 1 kalimat penjelasan.

[SOAL]
{{ soal_dari_siswa }}

Pakai untuk anak/adik yang lagi belajar matematika — AI menjelaskan dengan reasoning yang clear, bukan cuma kasih jawaban.

6.11. Latihan

6.1 — Math Problem

Tanya AI 5 word problem matematika SMP. Coba tanpa CoT, lalu dengan CoT. Bandingkan akurasi.

6.2 — Logic Puzzle

Cari logic puzzle online (Einstein's riddle, dll). Solve dengan CoT.

6.3 — Business Decision

Pakai pattern decision-making di section 6.7 untuk decision di hidup kamu (job offer, beli rumah/mobil, dll).

6.4 — Few-Shot CoT

Bikin prompt few-shot CoT untuk task spesifik di pekerjaan kamu (misalnya: prioritize bug list, evaluate vendor).

6.5 — Tantangan: CoT Verifikasi

Bikin prompt yang minta CoT + self-review + alternative reasoning. Test di problem yang punya jawaban known. Apakah self-review ngecek error dengan benar?

Trigger Phrase

  • "Mari kita pikirkan langkah demi langkah."
  • "Let's think step by step." (lebih reliable)
  • "Pikirkan dengan teliti, jelaskan reasoning-mu."

Lokasi Trigger

Akhir prompt, sebagai kalimat terakhir sebelum output.

Kapan Pakai CoT

✓ Math, logic, multi-step ✓ Decision-making ✓ Code debugging ✓ Causal reasoning

Kapan Skip

✗ Factual recall ✗ Translation ✗ Simple classification ✗ Creative writing

Few-Shot CoT Pattern

Q: [contoh question]
Reasoning:
- step 1
- step 2
Jawaban: [hasil]

Q: [contoh question 2]
Reasoning:
- step 1
- step 2
Jawaban: [hasil]

Q: {{ baru }}
Reasoning:

Self-Review CoT

"Setelah jawab, review reasoning-mu — ada step yang salah?"

← Bab 5 Lanjut Bab 7 →

Diadaptasi dari modul "Chain of Thought" dari Learn Prompting. Berdasarkan paper "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" (Wei et al., 2022). Dilisensikan Apache 2.0.