Decision Framework
# What kind of problem am I solving?
Multi-step with clear sequence
→ Basic CoT (Ch 4)
"Think step by step"
Big problem with distinct sub-parts
→ Decomposition
"Work through these phases: ..."
Design decision with multiple options
→ Tree-of-Thought
"Brainstorm 3 approaches, evaluate, pick"
Quality-critical output
→ Self-Reflection (3-pass)
"Generate → Critique → Rewrite"
Any reasoning task
→ Add the Verifier
"Now check your work"
High-stakes, must be correct
→ Self-Consistency (Ch 4) + Verifier
"5 runs, majority vote, each verified"
Real-World Combinations
Code review: Decomposition (list inputs → trace flows → find vulnerabilities → rate severity → suggest fixes)
Architecture design: ToT (3 approaches → evaluate → select) + Verifier
Technical writing: Self-reflection (draft → critique → rewrite)
Migration planning: Decomposition (schema → breaking changes → migration SQL → rollback → validation)
Cost estimation: CoT + Verifier (calculate step by step, then verify each line item)
The Effort vs Impact Trade-off
Low effort, high impact: Verifier (1 line)
Medium effort, high impact: Decomposition (structured steps)
Medium effort, medium impact: ToT (for design decisions)
High effort, high impact: Self-reflection (3 passes, 3x tokens)
Start with the Verifier on everything. Add decomposition for complex tasks. Use ToT for decisions. Reserve self-reflection for quality-critical output.
Key insight: You now have a complete reasoning toolkit: basic CoT (Ch 4) for simple multi-step problems, decomposition for complex ones, ToT for decisions, self-reflection for quality, and the Verifier for everything. The best prompt engineers don’t just use one technique — they combine them based on the problem.