PostgreSQL码农集散地

AI论文解读 | 图思维, Graph of Thoughts

本期播客

AI论文解读 | 图思维, Graph of Thoughts

1 前置知识

读懂《Graph of Thoughts: Solving Elaborate Problems with Large Language Models》前的基础知识讲解


1. 大语言模型(Large Language Models, LLM)

定义
LLM是一种通过大量文本数据训练的大型深度神经网络,能够理解和生成自然语言(如GPT、PaLM等)。

简图

[输入] → [大语言模型] → [输出]  

2. Prompt(提示)与 Prompt Engineering(提示设计)

Prompt
给模型下达的“指令”或“问题”,引导模型生成内容。

Prompt Engineering
通过巧妙设计输入方式,让模型表现得更好。


3. Chain-of-Thought(CoT,思维链)推理

定义
让模型像人一样“分步思考”,把推理的中间过程写出来。

图示

[问题] → [思考1] → [思考2] → ... → [答案]  

4. 多步推理与复杂问题(Multi-step/Complex Reasoning)

定义
问题需要经过多个步骤、不同角度、甚至多种方法综合考虑,才能得出答案。

举例
解数学应用题、做逻辑推理、规划路线等。


5. 图(Graph)和节点(Node)基础

图结构
“图”是由“节点”和“边”组成的数据结构。

  • 节点(Node):代表一个实体、问题、子任务等
  • 边(Edge):代表节点间的关系或依赖

图示

  (A)───(B)  
   │     │  
  (C)───(D)  

每个节点可以是一个小问题,边表示它们之间有联系。


6. 子任务分解(Decomposition)

定义
把一个大问题拆成若干个小问题(子任务),分别求解后再合成最终答案。

图示

[大问题]  
   ↓  
[子任务1] [子任务2] [子任务3]  
   ↓       ↓        ↓  
 [结果1]  [结果2]  [结果3]  
   ↓       ↓        ↓  
    [综合最终答案]  

7. 并行与串行思考(Parallel & Sequential Reasoning)

  • 串行(Sequential):一步接一步地思考。
  • 并行(Parallel):多个子问题同时思考,互不干扰。

图示

串行:A → B → C  
并行:A → {B, C, D}  

8. Agent(智能体)思想

定义
Agent是具备自主决策和行动能力的AI。它能判断需要解决哪些子任务,如何组合答案。


9. 任务规划(Task Planning)

定义
合理安排解决复杂问题的顺序和策略(比如先做什么、后做什么,哪些可以一起做)。


10. 可组合性(Compositionality)

定义
复杂问题可以由多个简单部分组合而成。LLM需要具备把简单子问题答案组合成复杂解答的能力。


小结

理解《Graph of Thoughts》论文前,你需要掌握:

  • 大语言模型及其生成方式
  • Prompt与提示工程
  • Chain-of-Thought分步推理
  • 图结构及其在任务分解中的应用
  • 子任务分解与答案合成
  • 并行与串行推理方式
  • Agent智能体和任务规划思想
  • 可组合性理念

如有某一部分想深入了解,欢迎随时提问!

2 解读论文

通俗解读《Graph of Thoughts: Solving Elaborate Problems with Large Language Models》


一、论文核心问题

传统的大语言模型(LLM,如GPT)解决复杂问题时,常用“思维链(Chain-of-Thought, CoT)”——让AI一步步推理。但遇到特别复杂、需要多角度或多种方法协作的问题时,线性推理就不够灵活,容易卡壳。

Graph of Thoughts (GoT) 提出:让思考不局限于“直线”,而是像“知识网络”一样,多个想法可以分支、合并、并行、循环,互相补充,最终汇聚为答案。


二、GoT的基本思想

1. 线性思维链 vs. 思维图

  • 思维链(CoT):
    一步接一步,像“流水线”。

    [问题] → [步骤1] → [步骤2] → [步骤3] → [答案]  
  • 思维图(Graph of Thoughts):
    多个想法可以分开发展,也能合并。像“网状结构”。

        ┌─> [想法B] ──┐  
    [问题]             ──> [合成新想法] → [答案]  
        └─> [想法C] ──┘  

2. 为什么用“图”?

  • 现实复杂任务常常需要并行尝试、分解再合成。
  • 图结构可以灵活表达并行、选择、反馈、循环等多种推理关系。

三、GoT框架的工作流程

  1. 分解大问题
    把复杂问题拆成多个子任务/角度(节点)。

  2. 并行/串行思考
    每个节点可以用不同方法推理,多个节点可以同时推进。

  3. 节点间可相互依赖
    某些子问题的答案可以作为别的子问题的输入。

  4. 合成与反馈
    多个思考结果汇总、对比、合成,甚至回头修正前面的节点。

图示:GoT推理流程

        [问题]  
          │  
     ┌────┴─────┐  
 [子任务1]   [子任务2]  
     │           │  
 [子解1]     [子解2]  
     └────┬─────┘  
        [合成]  
          │  
       [答案]  

四、GoT的关键要素

1. 节点(Node)

  • 代表一个子思路、子问题或中间推理。
  • 可以有自己的Prompt和推理方法。

2. 边(Edge)

  • 连接节点,表示信息流动或依赖关系。
  • 比如A节点的结果会影响B节点的推理。

3. 并行与合成

  • 并行:多条思路同时探索。
  • 合成:把多个子思路结果结合,得出更完善的答案。

4. 反馈与循环

  • 某些节点可以根据合成结果再次调整,形成循环优化。

五、GoT的实际案例

例子:写一篇多角度分析的短文

问题:请写一段介绍人工智能优缺点的短文。

GoT流程:

  1. 节点A:列出人工智能的优点
  2. 节点B:列出人工智能的缺点
  3. 节点C:分别扩展A、B的细节
  4. 节点D:将优缺点合成一段平衡的短文

图示

      [问题]  
        │  
 ┌──────┴──────┐  
[A:优点]   [B:缺点]  
   │          │  
[C:扩展优点][C:扩展缺点]  
   └────┬─────┘  
     [D:合成短文]  

六、GoT与传统方法对比

方法
特点
局限/优势
CoT
步骤线性、易懂
容易卡在某一步,难并行
GoT
网状、灵活、可并行与合成
结构更复杂、设计更灵活

七、GoT的优势与意义

  • 更强的问题分解与组合能力:适合复杂任务、多领域、多步骤协作。
  • 并行探索、避免思路局限:不同子思路可以互补。
  • 更易于自动化和优化:每个节点都可独立调整和优化。

八、总结

一句话总结:
Graph of Thoughts让AI像“专家团队”一样多角度协作思考,而不是“单线程”独自推理,从而大大提升了复杂问题的解决能力。


如需对论文实现细节、实验结果或具体算法进一步讲解,可随时提问!

3 术语

《Graph of Thoughts: Solving Elaborate Problems with Large Language Models》重要术语详解


1. Graph of Thoughts(思维图)

定义
将复杂问题的解决过程表示为“图”结构:每个节点是一个子思路/子任务,节点之间通过边连接,表示依赖或信息流动。

图示

    [问题]  
      │  
 ┌────┴────┐  
[思路A] [思路B]  
   │        │  
   └──┬───┬─┘  
     [合成]  
       │  
    [最终答案]  

2. Node(节点)

定义
图中的每个点,代表一个子问题、子思路或计算单元。每个节点可有自己的输入、处理和输出。

图示

[节点A] → [节点B] → [节点C]  

A是B的输入,B是C的输入。


3. Edge(边)

定义
连接两个节点的“线”,表示它们之间的信息流、依赖关系或任务顺序。

图示

[节点A] ──(边)──> [节点B]  

B依赖A的输出。


4. Decomposition(分解)

定义
把复杂问题拆解成若干简单子问题(节点),分别处理后再合成答案。

图示

[大问题]  
   ↓  
[子问题1][子问题2][子问题3]  

5. Composition(合成)

定义
将多个子问题的结果(不同节点的输出)合并,得到最终答案。

图示

[子解1] [子解2]  
    └───┬───┘  
    [合成节点]  
        │  
     [答案]  

6. Parallelism(并行)

定义
多个节点(子问题)可以同时进行,无需依赖彼此,提升效率与多样性。

图示

     [问题]  
   /   |    \  
[节点1][节点2][节点3]  

三条线代表三个子任务并行进行。


7. Sequential Reasoning(串行推理)

定义
节点间有严格的先后顺序,后续节点依赖前面节点的结果。

图示

[节点1] → [节点2] → [节点3]  

8. Feedback/Iteration(反馈与迭代)

定义
某些节点的输出可以反过来影响图中上游的节点,实现循环优化和自我修正。

图示

[节点A] → [节点B] → [节点C]  
   ↑                  │  
   └───────反馈───────┘  

9. Prompt Engineering(提示工程)

定义
为每个节点设计合适的提示(Prompt),让LLM在每个子任务上都能发挥最佳能力。


10. Agent(智能体)

定义
在GoT框架中,Agent负责规划、分配、协调各节点的任务和信息流,可以动态调整推理图结构。


如需对某一术语举更多例子或深入解释,可随时提问!

参考

https://arxiv.org/pdf/2308.09687

https://edu.aliyun.com/course/3126500/lesson/342570389

https://github.com/AlibabaCloudDocs/aliyun_acp_learning/blob/main/%E5%A4%A7%E6%A8%A1%E5%9E%8BACP%E8%AE%A4%E8%AF%81%E6%95%99%E7%A8%8B/p2_%E6%9E%84%E9%80%A0%E5%A4%A7%E6%A8%A1%E5%9E%8B%E9%97%AE%E7%AD%94%E7%B3%BB%E7%BB%9F/2_6_%E7%94%A8%E6%8F%92%E4%BB%B6%E6%89%A9%E5%B1%95%E7%AD%94%E7%96%91%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%9A%84%E8%83%BD%E5%8A%9B%E8%BE%B9%E7%95%8C.ipynb

 以上内容基于DeepSeek、QwQ及诸多AI生成, 轻微人工调整, 感谢杭州深度求索人工智能、阿里云等公司. 

 AI 生成的内容请自行辨别正确性, 当然也多了些许踩坑的乐趣, 毕竟冒险是每个男人的天性.