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:
- Generate multiple options (branches)
- Evaluate tiap option
- 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:
- Generate (atas) — dari satu problem, AI generate 3+ option/approach yang berbeda. Branching.
- Evaluate (tengah) — tiap option di-evaluate dengan kriteria yang sama: pros, cons, skor.
- 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