In Tree of Thought, when do you sample candidate thoughts independently instead of proposing them in one call?
answer
- two ways to fill a branch
- one call or k calls
- does the space collapse on repeat draws?
- later candidates can see earlier ones
- i.i.d. sampling vs sequential proposal
basics
~20 sSample independently when the thought space is rich and open-ended, because separate draws naturally differ. Propose all candidates inside one call when the space is small and constrained, so each new candidate can see the earlier ones and avoid repeating them.
solid answer
~50 sTree of Thought needs several candidate next steps per state, and there are two ways to get them. **Independent sampling** issues the same generation prompt k times, so the candidates are statistically independent draws; the calls run concurrently, and in a wide open space — say the next paragraph of a story that must still satisfy a pre-written plan — independence alone produces real variety. **Sequential proposal** asks for all k candidates inside a single call, so each one is written conditioned on the ones already produced and the model can be told explicitly to make them differ. That conditioning is what you need in a narrow space, such as filling a five-letter crossword answer for a given clue, where independent draws collapse onto the same one or two obvious options. Proposal costs one call; sampling costs k parallelizable calls but avoids the quality decay that often shows up in the fourth or fifth item of a single enumeration.
go deeper
Know that a Tree of Thought needs several candidate next steps per state, and that you either ask the model k separate times or ask once for a list of k. Be able to say that plainly.
Explain the mechanical difference: independent draws cannot see each other, a single enumeration conditions each candidate on the previous ones. Tie the choice to whether the space of reasonable next steps is wide or narrow.
Show you have watched this fail in production: duplicate candidates in a constrained space, padded low-quality tail items in a long enumeration, and the call-count blow-up when breadth times depth is large. Say which you would measure first.
Own the budget argument. Generation dominates the token bill of a branching search, so frame sampling versus proposing as a cost-per-unit-of-real-coverage decision, and be willing to say the task does not justify branching at all.
## What thought generation has to produce Tree of Thought turns reasoning into a search. At every state in the tree — a partial solution so far — something has to produce several *candidate next steps*, called thoughts. Those candidates are the branches. If generation returns one usable option, the search degenerates into a single line of reasoning with extra overhead; if it returns k genuinely different options, the rest of the machinery has something to work with. Generation is therefore the part of the loop that decides what the search is even allowed to find. There are two standard strategies for producing those k candidates, and the choice is the first design decision you make. ## Independent sampling (i.i.d. draws) Here you build one generation prompt — the task, the current partial state, an instruction to produce *one* next step — and you run it k times. Each run is an independent draw from the model's distribution over next steps. Nothing in the fourth call knows what the first three produced. Properties worth stating in an interview: - **Parallelism.** The k calls have no ordering dependency, so wall-clock latency is roughly one call, not k. That matters when a tree of depth d and breadth b already costs on the order of b·d generations. - **No positional bias.** Every candidate is written as if it were the only one, so none of them is a grudging afterthought. - **Diversity is a property of the space, not of the prompt.** In a rich, open-ended space — the next paragraph of a short story that must land a plan point, a design approach, a hypothesis for an outage — the distribution is broad enough that independent draws land in different places on their own. - **No duplicate control.** Nothing prevents two draws from being the same or near-identical, because neither one can see the other. ## Sequential proposal (enumerate in one call) Here a single call is asked to produce all k candidates at once: "list four possible next steps." Because the model writes them into one continuation, candidate three is conditioned on candidates one and two. You can also instruct the model directly — "each option must differ from the previous ones" — and that instruction actually has something to bind to. Properties: - **Built-in de-duplication.** The conditioning is the whole point. In a constrained space this is the difference between four options and one option repeated four times. - **Cheaper and simpler.** One request, one response, one parse; the shared prefix (task and state) is written once rather than k times. - **Quality decay down the list.** Models tend to spend their strongest options first and then pad. The fifth item is often weaker or more contrived than the first, which distorts what the search sees. - **Serial by construction.** Latency is one long generation, and a truncation or a malformed list costs you every candidate at once. ## Choosing between them The deciding question is: *how big is the space of reasonable next steps, and would independent draws collapse?* - **Small, constrained, enumerable-ish spaces → propose.** Filling a crossword slot where only a handful of words fit the clue and the crossing letters; picking among a short list of legal operations. Independent draws here waste calls rediscovering the top-probability answer. - **Large, open-ended, generative spaces → sample.** Continuing a story under a plan constraint; drafting alternative outlines. Independent draws are already varied, and you avoid the list-padding artifact. A third consideration is *how many* candidates you want. For k of two or three, proposal's decay is mild and its cheapness wins. For larger k, sampling scales better because you never ask one continuation to carry the whole set. ## Hybrids The two strategies compose. A common pattern is to run the propose call a small number of times independently and take the union — each call internally avoids duplicates, and the independent runs cover different regions — then drop near-identical candidates before expanding. Another is to sample independently and then feed the batch back with an instruction to add one option unlike any of them, filling gaps in coverage. ## What this is not Generation only decides *what the options are*. Deciding which candidates look promising, and which branch to expand next, are separate stages with their own designs; conflating them is the most common muddle in an answer. Keep the claim narrow: sampling versus proposing is a statement about how candidates are drawn and whether they can see each other.
- What actually goes wrong if you use independent sampling on a narrow, constrained thought space?The draws concentrate on the same high-probability option, so you pay for k generations and get an effective branching factor near one. The tree looks wide on paper and is a single line in practice, and the wasted calls compound at every level of depth. A proposal call, where each candidate is conditioned on the earlier ones, is the direct fix.
- Why is the fifth candidate in a single propose call often much weaker than the first?The model emits its most plausible options first; once those are spent, continuing the list pushes it into padding — contrived, low-probability, or subtly malformed steps produced mainly to satisfy the requested count. The practical response is to keep k small for proposal, or to switch to independent sampling when you genuinely need many candidates.
- Can you combine the two strategies?Yes, and it is common. Run the propose call two or three times independently: each call de-duplicates internally, while the separate runs land in different regions of the space. Take the union, drop near-identical candidates, and expand what remains. You get proposal's duplicate control and sampling's coverage, at the cost of a few extra calls.
saying these in an interview costs you the question
- Thinks more branches automatically means more diverse reasoning
- Assumes independent draws cannot produce identical candidates
- Claims k independent calls must take k times as long
- Confuses generating candidates with ranking or choosing them
- Treats one enumeration call as always cheaper and equally good