Lewati ke isi

Bab 8: Tree of Thoughts (ToT)

Manusia tidak berpikir lurus dari A ke Z. Kita explore beberapa cabang, evaluasi, kembali kalau salah. Tree of Thoughts bikin AI ngikutin pola yang sama.

Setelah Bab 8, kamu akan bisa:

  • Memahami beda CoT (linear) vs ToT (branching)
  • Pakai ToT untuk problem dengan multiple valid path
  • Tahu kapan ToT membantu vs overkill

8.1. Limitasi CoT

CoT bagus untuk problem dengan path linear (step 1 → 2 → 3 → jawaban). Tapi banyak problem nyata punya multiple branches yang harus dieksplorasi:

  • "Strategi marketing untuk produk baru" — banyak approach valid
  • "Solusi konflik tim" — multiple way out
  • "Game move planning" — banyak kemungkinan

CoT bakal "stuck" di path pertama yang LLM pikirkan, tanpa explore alternatif.

8.2. Solusi: Tree of Thoughts

ToT = LLM diminta:

  1. Generate multiple options (branches)
  2. Evaluate tiap option
  3. Pilih yang terbaik, atau explore deeper dari option terbaik
flowchart TB
    Problem["Problem"]

    Op1["Option A"]
    Op2["Option B"]
    Op3["Option C"]

    Eval1["Evaluasi A:<br/>Pros: ...<br/>Cons: ...<br/>Score: 7/10"]
    Eval2["Evaluasi B:<br/>Pros: ...<br/>Cons: ...<br/>Score: 9/10"]
    Eval3["Evaluasi C:<br/>Pros: ...<br/>Cons: ...<br/>Score: 5/10"]

    Best["Pilih: Option B<br/>(score tertinggi)"]

    Detail["Explore deeper<br/>Option B"]

    Problem --> Op1
    Problem --> Op2
    Problem --> Op3

    Op1 --> Eval1
    Op2 --> Eval2
    Op3 --> Eval3

    Eval1 --> Best
    Eval2 --> Best
    Eval3 --> Best

    Best --> Detail

    style Problem fill:#1a1a1a,stroke:#6366f1,color:#fafafa
    style Op1 fill:#1a1a1a,stroke:#6e6e6e,color:#a1a1a1
    style Op2 fill:#1a1a1a,stroke:#10b981,color:#fafafa
    style Op3 fill:#1a1a1a,stroke:#6e6e6e,color:#a1a1a1
    style Eval1 fill:#1a1a1a,stroke:#f59e0b,color:#fafafa
    style Eval2 fill:#1a1a1a,stroke:#f59e0b,color:#fafafa
    style Eval3 fill:#1a1a1a,stroke:#f59e0b,color:#fafafa
    style Best fill:#1a1a1a,stroke:#10b981,color:#fafafa
    style Detail fill:#1a1a1a,stroke:#ec4899,color:#fafafa

Cara baca diagram

Diagram ini menunjukkan alur Tree of Thoughts.

3 fase:

  1. Generate (atas) — dari satu problem, AI generate 3+ option/approach yang berbeda. Branching.
  2. Evaluate (tengah) — tiap option di-evaluate dengan kriteria yang sama: pros, cons, skor.
  3. Pilih & Deep Dive (bawah) — option dengan evaluasi terbaik dipilih, lalu eksplorasi lebih dalam (atau langsung implement).

Beda dengan CoT:

  • CoT linear: A → B → C → jawaban (tidak mempertimbangkan alternatif)
  • ToT branching: pertimbangkan A, B, C — lalu pilih yang terbaik

Analogi: pikirkan menyusun strategi catur. Pemain lemah cuma lihat 1 langkah ke depan (CoT). Grandmaster lihat 3-4 kemungkinan langkah, evaluasi tiap kemungkinan respons lawan, pilih path optimal (ToT).

Trade-off:

  • ToT lebih akurat untuk problem multi-path
  • Lebih boros token (3x output minimal)
  • Lebih lama latency

Pakai untuk decision-heavy task, skip untuk execution-heavy task.

8.3. Pattern Sederhana

[PROBLEM]
{{ problem }}

[INSTRUKSI]
1. Generate 3 pendekatan/solusi yang berbeda untuk problem ini.
2. Untuk tiap pendekatan, evaluasi:
   - Pros (3 poin)
   - Cons (3 poin)
   - Risk level (rendah/sedang/tinggi)
   - Estimated success rate (%)
3. Pilih pendekatan terbaik berdasarkan evaluasi.
4. Jelaskan kenapa itu pilihan optimal.

8.4. Contoh: Marketing Strategy

[PROBLEM]
Saya owner toko buku online di Indonesia. Sales turun 30% bulan terakhir.
Budget marketing terbatas Rp 50jt.

[ToT INSTRUCTION]
Generate 3 strategi berbeda untuk recover sales. Untuk tiap strategi:
- Hipotesis: kenapa ini akan bekerja
- Action plan: 3-5 step concrete
- Estimated cost
- Expected impact (% sales recovery)
- Risk: apa yang bisa salah

Setelah evaluasi, rekomendasikan strategi terbaik dengan reasoning.

Output: 3 strategi terstruktur (misalnya: discount campaign, content marketing, partner collaboration), evaluasi masing-masing, lalu rekomendasi final.

Jauh lebih useful dari single-path CoT.

8.5. Pattern Lebih Advanced: Multi-Level ToT

Untuk problem sangat kompleks, branching bertingkat:

Level 1: Generate 3 high-level approach
Level 2: Untuk approach terbaik, generate 3 implementation tactics
Level 3: Untuk tactic terbaik, generate detailed step-by-step plan

Pattern ini disebut juga hierarchical planning. Sangat powerful untuk strategic planning, complex coding tasks, atau multi-stage research.

8.6. Latihan

8.1 — Career Decision

Pakai ToT untuk problem nyata kamu (career change, startup idea, dll). Generate 3 path, evaluasi, rekomendasi.

8.2 — Code Architecture

Tanya AI: "Bangun aplikasi X. Generate 3 architecture approach (monolith, microservices, serverless). Evaluasi tradeoff."

8.3 — Tantangan: Multi-Level

Pilih problem complex (misal "scale startup dari 100 → 1000 customer"). Pakai 3-level ToT untuk strategic planning.

ToT Pattern

1. Generate N options (3-5)
2. Evaluate tiap option (pros/cons/score)
3. Pilih terbaik
4. (Optional) Deep dive

Kapan Pakai ToT

✓ Strategic decisions ✓ Multi-path problems ✓ Architecture design ✓ Creative brainstorming dengan kriteria

Kapan Skip

✗ Execution tasks ✗ Linear math/logic ✗ Time-sensitive

Multi-Level ToT

  • Level 1: high-level approach
  • Level 2: tactics dari approach terbaik
  • Level 3: detailed steps

← Bab 7 Lanjut Bab 9 →

Diadaptasi dari modul "Tree of Thoughts" dari Learn Prompting. Berdasarkan paper "Tree of Thoughts: Deliberate Problem Solving with Large Language Models" (Yao et al., 2023). Dilisensikan Apache 2.0.