Graph of Thoughts: Solving Elaborate Problems with Large Language Models


TL;DR

本文提出了一种名为“思想图谱 (Graph of Thoughts, GoT)”的新型提示框架,通过将大型语言模型 (LLM) 的思维过程建模为任意图结构,其中“思想”是节点,依赖关系是边,从而实现了超越链式或树状思维模式的、更复杂和强大的推理能力,尤其擅长聚合多个推理路径以生成协同的、更高质量的解决方案。

关键定义

相关工作

当前,提升大型语言模型 (LLM) 推理能力的主流提示工程 (Prompt engineering) 方法包括:

  1. 思维链 (Chain-of-Thought, CoT):通过引导 LLM 生成一系列中间推理步骤来解决复杂问题,但其线性结构限制了探索的广度。
  2. 自洽性思维链 (Self-Consistency with CoT, CoT-SC):通过生成多条独立的思维链并投票选出最佳答案,增加了鲁棒性,但各分支间无法交互。
  3. 思维树 (Tree of Thoughts, ToT):将推理过程建模为一棵树,允许在不同分支上进行探索、评估和回溯,比 CoT 更灵活。

然而,这些方法存在一个共同的瓶颈:它们的结构(链式或树状)过于刚性。它们无法自然地表达一种在复杂问题解决中至关重要的能力:合并或融合多个不同的推理路径。例如,人类在解决问题时,可能会探索一条思路,然后转而探索另一条,最后发现可以将两条思路中的优点结合起来,形成一个更优的解决方案。现有的提示方法无法实现这种“思想的聚合”。

本文旨在解决这一问题,通过引入图结构,提供一个更通用、更强大的推理范式,以释放 LLM 更复杂的推理潜力。

本文方法

本文的核心是提出了 Graph of Thoughts (GoT) 框架,它将 LLM 的推理过程从线性链条或树状结构推广到了通用的图结构,从而实现了更高级的思维操作。

GoT 核心思想

GoT 将整个推理过程形式化为一个元组 \((G, T, E, R)\),包含四个核心要素:

GoT与其他提示策略的比较 图1:GoT 与其他提示策略(IO, CoT, ToT)的比较。GoT 的图结构可以无缝地概括 CoT 和 ToT,并增加了聚合等新能力。

创新点:图驱动的思想变换

GoT 的图模型催生了新的思想变换能力,超越了以往的方法。

聚合与生成变换示例 图2:聚合(左)和生成(右)思想变换的示例。聚合将多个输入思想合并成一个,而生成则从一个思想派生出多个。

GoT 系统架构

为了将 GoT 思想付诸实践,本文设计了一个模块化的系统架构,确保了灵活性和可扩展性。 GoT 系统架构图 图3:GoT 的系统架构概览(蓝色部分)、模块 API(绿色部分)及示例(红色部分)。

该架构主要包括:

这个架构不仅实现了 GoT,也能够通过配置 GoO 来模拟 CoT、ToT 等现有方案,并支持方便地扩展新的思想变换和集成不同的 LLM 模型。

案例应用:排序任务

以排序任务为例,GoT 的应用流程如下:

  1. 定义 GoO:将排序任务分解为“分、治、合”三个阶段。
    • 分解:将一个长数字序列(如64个数字)分解成多个独立的子序列(如8个长度为8的子序列)。
    • 排序:并行地让 LLM 对每个子序列进行排序(这是一个LLM更容易解决的小任务)。
    • 合并:分层地、两两合并已排序的子序列,直到最终得到一个完全排序的序列。
  2. 执行:控制器根据 GoO 的规划,调用 LLM 完成每一步,并用评分函数评估中间结果的质量。

排序任务的GoO分解 图4:一个将64个数字排序任务分解为子任务的GoO示例。

通过这种方式,GoT 将一个 LLM 难以一次性完美解决的复杂任务,转化成了一系列 LLM 可以高质量完成的简单子任务,最后通过聚合操作得到高质量的最终解。

实验结论

本文通过在排序、集合交集、关键词计数和文档合并等多个任务上的实验,验证了 GoT 框架的有效性。

实验结果

排序任务结果 图5:排序任务中的错误数量与成本。GoT 在保证更低错误率的同时,成本也低于性能最好的 ToT 配置。

集合交集任务结果 图6:集合交集任务中的错误数量与成本。GoT 同样展现出最佳的性能与成本效益。

理论分析:延迟-体积权衡

本文还从理论上分析了不同提示策略的延迟(Latency)思想体积(Volume)之间的权衡。延迟指获得最终答案所需的最少推理步数,体积指最终答案能融合多少先前信息。

方案 延迟 体积
Chain-of-Thought (CoT) \(N\) \(N\)
Self-Consistency with CoT (CoT-SC) \(N/k\) \(N/k\)
Tree of Thoughts (ToT) \(log_k(N)\) \(O(log_k(N))\)
Graph of Thoughts (GoT) \(log_k(N)\) \(N\)

表格2:不同提示方案在延迟与体积权衡上的比较。

分析表明,GoT 是唯一能够同时实现低延迟(\(log_k(N)\))和高体积(\(N\))的方案。这得益于其独特的聚合能力,使得最终思想可以汇集来自整个推理图谱的信息,而不仅仅是一条路径或一棵子树。

最终结论

GoT 框架通过将 LLM 的推理过程建模为图,实现了对思想的聚合、提炼和生成等高级操作。它特别适用于那些可以被分解为子任务然后合并结果的复杂问题。实验和理论分析均表明,GoT 在提升解决方案质量和处理复杂问题方面,相比 CoT 和 ToT 等现有最先进方法具有显著优势,同时还能有效控制推理成本,代表了提示工程领域一个重要且更强大的范式。