Tree-of-Thought Reasoning
Nikola Balic (@nibzard)· established
问题
线性思维链推理在处理复杂问题时可能陷入僵局,无法想到替代方案或进行回溯。
方案
构建基于中间“思考”的搜索树进行探索,而非采用单条链式结构。Agent会扩展多个可能的步骤,在确定最终路径前对部分解决方案进行评估。
队列 = [根问题]
while 队列不为空:
思考节点 = 队列.pop()
for 步骤 in expand(思考节点):
评分 = evaluate(步骤)
队列.push((评分, 步骤))
select_best(队列)
如何使用
适用于那些能从探索多种潜在策略中获益的任务——例如谜题、代码生成或规划类任务。可采用启发式方法或价值函数来剪枝前景不佳的分支。
权衡
- 优点:覆盖更多可能性;提升困难任务的可靠性。
- 缺点:计算成本更高;需要优质的评分方法来引导搜索。
参考文献
关键词:
思维树(Tree of Thoughts)、大语言模型、审慎问题解决,该文献提出了面向大语言模型的审慎式问题解决框架。
直译:
- 《思维树:基于大语言模型的审慎问题解决》 https://arxiv.org/abs/2305.10601
来源摘要
正在获取来源并生成中文摘要…