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

来源摘要

正在获取来源并生成中文摘要…

来源: https://arxiv.org/abs/2305.10601

← 返回社区