This paper completely changed how I think about the reasoning loop:
Split the task into thought-steps -> Propose candidates at a node -> Evaluate each -> Prune dead ends -> Go deeper or backtrack
Here is the 5-step blueprint:
Thought as a node: reasoning is cut into coherent thought chunks, each becoming a tree node instead of a link in one linear chain.
Propose: at each node the model generates several next-step candidates, not a single greedy one.
Self-evaluate: the LLM judges each candidate itself - sure/maybe/impossible toward solving the task.
Search: BFS or DFS runs over the tree with beam width b=5, weak branches are dropped.
Backtracking: if a branch hits a dead end, the agent rolls back to a fork and takes another path, making a global choice instead of a local one.
Key insight: left-to-right linear generation fails on tasks where the first step decides everything; you need search that can backtrack.
On Game of 24, chain-of-thought solves 4% of tasks, tree of thoughts solves 74%.
Read this, then check the article below.